@dhutaryan/ngx-mat-timepicker 16.0.2 → 16.2.0
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/lib/clock-dials.mjs +5 -3
- package/esm2022/lib/time-face-base.mjs +2 -2
- package/esm2022/lib/time-input-base.mjs +23 -3
- package/esm2022/lib/timepicker-actions.mjs +20 -10
- package/esm2022/lib/timepicker-base.mjs +4 -2
- package/esm2022/lib/timepicker-content.mjs +3 -3
- package/esm2022/lib/timepicker-input.mjs +4 -2
- package/esm2022/lib/timepicker-intl.mjs +5 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/dhutaryan-ngx-mat-timepicker.mjs +56 -17
- package/fesm2022/dhutaryan-ngx-mat-timepicker.mjs.map +1 -1
- package/lib/time-input-base.d.ts +1 -0
- package/lib/timepicker-actions.d.ts +3 -1
- package/lib/timepicker-intl.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -38,12 +38,14 @@ export class MatClockDials extends MatTimeFaceBase {
|
|
|
38
38
|
this._ngZone.runOutsideAngular(() => {
|
|
39
39
|
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
40
40
|
setTimeout(() => {
|
|
41
|
-
const activeCell = this._elementRef.nativeElement.querySelector('.mat-clock-dial-cell-active'
|
|
41
|
+
const activeCell = this._elementRef.nativeElement.querySelector('.mat-timepicker-content .mat-clock-dial-cell-active' // to avoid focus for inline mode
|
|
42
|
+
);
|
|
42
43
|
if (activeCell) {
|
|
43
44
|
activeCell.focus();
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
const activePoint = this._elementRef.nativeElement.querySelector('.mat-clock-dial-hand-point'
|
|
47
|
+
const activePoint = this._elementRef.nativeElement.querySelector('.mat-timepicker-content .mat-clock-dial-hand-point' // to avoid focus for inline mode
|
|
48
|
+
);
|
|
47
49
|
if (activePoint) {
|
|
48
50
|
// if no active cell we need to focus a small dot
|
|
49
51
|
activePoint.focus();
|
|
@@ -79,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
79
81
|
}] }, { type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { orientation: [{
|
|
80
82
|
type: Input
|
|
81
83
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2stZGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL2Nsb2NrLWRpYWxzLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi9jbG9jay1kaWFscy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixRQUFRLEVBR1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQWlCOUQsTUFBTSxPQUFPLGFBQ1gsU0FBUSxlQUFrQjtJQVkxQixZQUNTLEtBQXdCLEVBQ25CLFlBQTRCLEVBQ2hDLE9BQWUsRUFDZixXQUF1QjtRQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFMYixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUV2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFWakMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsd0NBQXdDO1FBQ3ZCLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBYyxPQUFPLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBd0IsWUFBWSxDQUFDLEtBQUssQ0FBQztJQVNwRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDM0MsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsWUFBWSxDQUFDLEtBQVksRUFBRSxJQUFpQjtRQUMxQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakQsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQzFDLDZCQUE2QixDQUM5QixDQUFDO29CQUVKLElBQUksVUFBVSxFQUFFO3dCQUNkLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDbkIsT0FBTztxQkFDUjtvQkFFRCxNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQzFDLDRCQUE0QixDQUM3QixDQUFDO29CQUVKLElBQUksV0FBVyxFQUFFO3dCQUNmLGlEQUFpRDt3QkFDakQsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUNyQjtnQkFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLHNCQUFzQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixjQUFjLENBQUMsRUFDYixJQUFJLEVBQ0osVUFBVSxHQUFHLEtBQUssR0FJbkI7UUFDQyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQXZGVSxhQUFhO2tHQUFiLGFBQWEsZ09DbkMxQiw0OERBOERBLHVxQ0Q3QmMsQ0FBQyxtQkFBbUIsQ0FBQzs7MkZBRXRCLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0UsaUJBQWlCLFlBR2pCLGVBQWUsbUJBQ1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixJQUFJLEVBQUUsTUFBTTt3QkFDWixLQUFLLEVBQUUsaUJBQWlCO3FCQUN6QixjQUNXLENBQUMsbUJBQW1CLENBQUM7OzBCQWlCOUIsUUFBUTswRkFWRixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgTmdab25lLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUaW1lQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlcic7XG5pbXBvcnQgeyBNYXRUaW1lRmFjZUJhc2UgfSBmcm9tICcuL3RpbWUtZmFjZS1iYXNlJztcbmltcG9ydCB7IHdpdGhaZXJvUHJlZml4TWVyaWRpZW0gfSBmcm9tICcuL3RpbWUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBNYXRUaW1lcGlja2VySW50bCB9IGZyb20gJy4vdGltZXBpY2tlci1pbnRsJztcbmltcG9ydCB7IFRpbWVwaWNrZXJPcmllbnRhdGlvbiB9IGZyb20gJy4vb3JpZW50YXRpb24nO1xuaW1wb3J0IHsgZW50ZXJMZWF2ZUFuaW1hdGlvbiB9IGZyb20gJy4vY2xvY2stZGlhbC1hZG5pbWF0aW9uJztcblxuZXhwb3J0IHR5cGUgTWF0RGlhbFZpZXcgPSAnaG91cnMnIHwgJ21pbnV0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtY2xvY2stZGlhbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2xvY2stZGlhbHMuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nsb2NrLWRpYWxzLnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdtYXRDbG9ja0RpYWxzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnZGlhbCcsXG4gICAgY2xhc3M6ICdtYXQtY2xvY2stZGlhbHMnLFxuICB9LFxuICBhbmltYXRpb25zOiBbZW50ZXJMZWF2ZUFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdENsb2NrRGlhbHM8VD5cbiAgZXh0ZW5kcyBNYXRUaW1lRmFjZUJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAvKiogTGF5b3V0IG9yaWVudGF0aW9uLiAqL1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogVGltZXBpY2tlck9yaWVudGF0aW9uO1xuXG4gIGlzSG91cnNWaWV3ID0gdHJ1ZTtcblxuICAvKiogU3BlY2lmaWVzIHRoZSB2aWV3IG9mIGNsb2NrIGRpYWwuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hdERpYWxWaWV3PignaG91cnMnKTtcbiAgcHJpdmF0ZSBfdmlld1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgX2ludGw6IE1hdFRpbWVwaWNrZXJJbnRsLFxuICAgIEBPcHRpb25hbCgpIF90aW1lQWRhcHRlcjogVGltZUFkYXB0ZXI8VD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcihfdGltZUFkYXB0ZXIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdmlld1N1YnNjcmlwdGlvbiA9IHRoaXMuX3ZpZXcuc3Vic2NyaWJlKFxuICAgICAgKHZpZXcpID0+ICh0aGlzLmlzSG91cnNWaWV3ID0gdmlldyA9PT0gJ2hvdXJzJylcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fdmlld1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl92aWV3U3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIC8qKiBDaGFuZ2VzIGNsb2NrIGRpYWwgdmlldy4gKi9cbiAgb25WaWV3Q2hhbmdlKGV2ZW50OiBFdmVudCwgdmlldzogTWF0RGlhbFZpZXcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuX3ZpZXcubmV4dCh2aWV3KTtcbiAgfVxuXG4gIGZvY3VzQWN0aXZlQ2VsbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlQ2VsbDogSFRNTEVsZW1lbnQgfCBudWxsID1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAnLm1hdC1jbG9jay1kaWFsLWNlbGwtYWN0aXZlJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChhY3RpdmVDZWxsKSB7XG4gICAgICAgICAgICBhY3RpdmVDZWxsLmZvY3VzKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgJy5tYXQtY2xvY2stZGlhbC1oYW5kLXBvaW50J1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChhY3RpdmVQb2ludCkge1xuICAgICAgICAgICAgLy8gaWYgbm8gYWN0aXZlIGNlbGwgd2UgbmVlZCB0byBmb2N1cyBhIHNtYWxsIGRvdFxuICAgICAgICAgICAgYWN0aXZlUG9pbnQuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgX3dpdGhaZXJvUHJlZml4KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgcmV0dXJuICcwMCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpdGhaZXJvUHJlZml4TWVyaWRpZW0odmFsdWUsIHRoaXMuaXNNZXJpZGllbSk7XG4gIH1cblxuICAvKiogSGFuZGxlcyBob3VyIHNlbGVjdGlvbi4gKi9cbiAgX29uSG91ckNoYW5nZWQoe1xuICAgIGhvdXIsXG4gICAgY2hhbmdlVmlldyA9IGZhbHNlLFxuICB9OiB7XG4gICAgaG91cjogbnVtYmVyO1xuICAgIGNoYW5nZVZpZXc/OiBib29sZWFuO1xuICB9KTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZVZpZXcpIHtcbiAgICAgIHRoaXMuX3ZpZXcubmV4dCgnbWludXRlcycpO1xuICAgIH1cbiAgICB0aGlzLl9vbkhvdXJTZWxlY3RlZChob3VyKTtcbiAgfVxufVxuIiwiPG1hdC10aW1lcGlja2VyLWNvbnRlbnQtbGF5b3V0XG4gIFt0aXRsZV09XCJfaW50bC5kaWFsc1RpdGxlXCJcbiAgW29yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uXCJcbj5cbiAgPGRpdlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJtYXQtY2xvY2stZGlhbC12YWx1ZVwiXG4gICAgaG91cnNcbiAgICBbY2xhc3MubWF0LWNsb2NrLWRpYWwtdmFsdWUtYWN0aXZlXT1cImlzSG91cnNWaWV3XCJcbiAgICAoY2xpY2spPVwib25WaWV3Q2hhbmdlKCRldmVudCwnaG91cnMnKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwib25WaWV3Q2hhbmdlKCRldmVudCwgJ2hvdXJzJylcIlxuICA+XG4gICAge3sgX3dpdGhaZXJvUHJlZml4KHNlbGVjdGVkSG91cikgfX1cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIGNsYXNzPVwibWF0LWNsb2NrLWRpYWwtdmFsdWVcIlxuICAgIG1pbnV0ZXNcbiAgICBbY2xhc3MubWF0LWNsb2NrLWRpYWwtdmFsdWUtYWN0aXZlXT1cIiFpc0hvdXJzVmlld1wiXG4gICAgKGNsaWNrKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQsJ21pbnV0ZXMnKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwib25WaWV3Q2hhbmdlKCRldmVudCwnbWludXRlcycpXCJcbiAgPlxuICAgIHt7IF93aXRoWmVyb1ByZWZpeChzZWxlY3RlZE1pbnV0ZSkgfX1cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlIG1hdC10aW1lLXBlcmlvZCBbbmdJZl09XCJpc01lcmlkaWVtXCI+XG4gICAgPG1hdC10aW1lLXBlcmlvZFxuICAgICAgW3BlcmlvZF09XCJwZXJpb2RcIlxuICAgICAgW2Rpc2FibGVkUGVyaW9kXT1cImRpc2FibGVkUGVyaW9kXCJcbiAgICAgIFt2ZXJ0aWNhbF09XCJvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICAocGVyaW9kQ2hhbmdlZCk9XCJfb25QZXJpb2RDaGFuZ2VkKCRldmVudClcIlxuICAgID48L21hdC10aW1lLXBlcmlvZD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJtYXQtY2xvY2stZGlhbC1mYWNlc1wiXG4gICAgW2NsYXNzLm1hdC1jbG9jay1kaWFsLWZhY2VzLWhvcml6b250YWxdPVwib3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1wiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNIb3Vyc1ZpZXdcIj5cbiAgICAgIDxtYXQtaG91cnMtY2xvY2stZGlhbFxuICAgICAgICBbQGVudGVyTGVhdmVBbmltYXRpb25dXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFtzZWxlY3RlZEhvdXJdPVwic2VsZWN0ZWRIb3VyXCJcbiAgICAgICAgW2lzTWVyaWRpZW1dPVwiaXNNZXJpZGllbVwiXG4gICAgICAgIFthdmFpbGFibGVIb3Vyc109XCJfZ2V0QXZhaWxhYmxlSG91cnMoKVwiXG4gICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJfb25Ib3VyQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwiX29uS2V5ZG93bigkZXZlbnQsICdob3VyJylcIlxuICAgICAgPjwvbWF0LWhvdXJzLWNsb2NrLWRpYWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIWlzSG91cnNWaWV3XCI+XG4gICAgICA8bWF0LW1pbnV0ZXMtY2xvY2stZGlhbFxuICAgICAgICBbQGVudGVyTGVhdmVBbmltYXRpb25dXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFtzZWxlY3RlZE1pbnV0ZV09XCJzZWxlY3RlZE1pbnV0ZVwiXG4gICAgICAgIFtpbnRlcnZhbF09XCJtaW51dGVJbnRlcnZhbFwiXG4gICAgICAgIFthdmFpbGFibGVNaW51dGVzXT1cImF2YWlsYWJsZU1pbnV0ZXNcIlxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiX29uTWludXRlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cIl9vbktleWRvd24oJGV2ZW50LCAnbWludXRlJylcIlxuICAgICAgPjwvbWF0LW1pbnV0ZXMtY2xvY2stZGlhbD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbWF0LXRpbWVwaWNrZXItY29udGVudC1sYXlvdXQ+XG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2stZGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL2Nsb2NrLWRpYWxzLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi9jbG9jay1kaWFscy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixRQUFRLEVBR1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQWlCOUQsTUFBTSxPQUFPLGFBQ1gsU0FBUSxlQUFrQjtJQVkxQixZQUNTLEtBQXdCLEVBQ25CLFlBQTRCLEVBQ2hDLE9BQWUsRUFDZixXQUF1QjtRQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFMYixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUV2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFWakMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsd0NBQXdDO1FBQ3ZCLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBYyxPQUFPLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBd0IsWUFBWSxDQUFDLEtBQUssQ0FBQztJQVNwRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDM0MsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsWUFBWSxDQUFDLEtBQVksRUFBRSxJQUFpQjtRQUMxQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakQsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQzFDLHFEQUFxRCxDQUFDLGlDQUFpQztxQkFDeEYsQ0FBQztvQkFFSixJQUFJLFVBQVUsRUFBRTt3QkFDZCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ25CLE9BQU87cUJBQ1I7b0JBRUQsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUMxQyxvREFBb0QsQ0FBQyxpQ0FBaUM7cUJBQ3ZGLENBQUM7b0JBRUosSUFBSSxXQUFXLEVBQUU7d0JBQ2YsaURBQWlEO3dCQUNqRCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3JCO2dCQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLGNBQWMsQ0FBQyxFQUNiLElBQUksRUFDSixVQUFVLEdBQUcsS0FBSyxHQUluQjtRQUNDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBdkZVLGFBQWE7a0dBQWIsYUFBYSxnT0NuQzFCLDQ4REE4REEsdXFDRDdCYyxDQUFDLG1CQUFtQixDQUFDOzsyRkFFdEIsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxpQkFBaUIsWUFHakIsZUFBZSxtQkFDUix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxpQkFBaUI7cUJBQ3pCLGNBQ1csQ0FBQyxtQkFBbUIsQ0FBQzs7MEJBaUI5QixRQUFROzBGQVZGLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBOZ1pvbmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRpbWVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVyJztcbmltcG9ydCB7IE1hdFRpbWVGYWNlQmFzZSB9IGZyb20gJy4vdGltZS1mYWNlLWJhc2UnO1xuaW1wb3J0IHsgd2l0aFplcm9QcmVmaXhNZXJpZGllbSB9IGZyb20gJy4vdGltZS1pbnB1dC1iYXNlJztcbmltcG9ydCB7IE1hdFRpbWVwaWNrZXJJbnRsIH0gZnJvbSAnLi90aW1lcGlja2VyLWludGwnO1xuaW1wb3J0IHsgVGltZXBpY2tlck9yaWVudGF0aW9uIH0gZnJvbSAnLi9vcmllbnRhdGlvbic7XG5pbXBvcnQgeyBlbnRlckxlYXZlQW5pbWF0aW9uIH0gZnJvbSAnLi9jbG9jay1kaWFsLWFkbmltYXRpb24nO1xuXG5leHBvcnQgdHlwZSBNYXREaWFsVmlldyA9ICdob3VycycgfCAnbWludXRlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1jbG9jay1kaWFscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jbG9jay1kaWFscy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2xvY2stZGlhbHMuc2NzcyddLFxuICBleHBvcnRBczogJ21hdENsb2NrRGlhbHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdkaWFsJyxcbiAgICBjbGFzczogJ21hdC1jbG9jay1kaWFscycsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtlbnRlckxlYXZlQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q2xvY2tEaWFsczxUPlxuICBleHRlbmRzIE1hdFRpbWVGYWNlQmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIC8qKiBMYXlvdXQgb3JpZW50YXRpb24uICovXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiBUaW1lcGlja2VyT3JpZW50YXRpb247XG5cbiAgaXNIb3Vyc1ZpZXcgPSB0cnVlO1xuXG4gIC8qKiBTcGVjaWZpZXMgdGhlIHZpZXcgb2YgY2xvY2sgZGlhbC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfdmlldyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0RGlhbFZpZXc+KCdob3VycycpO1xuICBwcml2YXRlIF92aWV3U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfaW50bDogTWF0VGltZXBpY2tlckludGwsXG4gICAgQE9wdGlvbmFsKCkgX3RpbWVBZGFwdGVyOiBUaW1lQWRhcHRlcjxUPixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIHN1cGVyKF90aW1lQWRhcHRlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl92aWV3U3Vic2NyaXB0aW9uID0gdGhpcy5fdmlldy5zdWJzY3JpYmUoXG4gICAgICAodmlldykgPT4gKHRoaXMuaXNIb3Vyc1ZpZXcgPSB2aWV3ID09PSAnaG91cnMnKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl92aWV3U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3ZpZXdTdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgLyoqIENoYW5nZXMgY2xvY2sgZGlhbCB2aWV3LiAqL1xuICBvblZpZXdDaGFuZ2UoZXZlbnQ6IEV2ZW50LCB2aWV3OiBNYXREaWFsVmlldyk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5fdmlldy5uZXh0KHZpZXcpO1xuICB9XG5cbiAgZm9jdXNBY3RpdmVDZWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3RpdmVDZWxsOiBIVE1MRWxlbWVudCB8IG51bGwgPVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICcubWF0LXRpbWVwaWNrZXItY29udGVudCAubWF0LWNsb2NrLWRpYWwtY2VsbC1hY3RpdmUnIC8vIHRvIGF2b2lkIGZvY3VzIGZvciBpbmxpbmUgbW9kZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChhY3RpdmVDZWxsKSB7XG4gICAgICAgICAgICBhY3RpdmVDZWxsLmZvY3VzKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgJy5tYXQtdGltZXBpY2tlci1jb250ZW50IC5tYXQtY2xvY2stZGlhbC1oYW5kLXBvaW50JyAvLyB0byBhdm9pZCBmb2N1cyBmb3IgaW5saW5lIG1vZGVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoYWN0aXZlUG9pbnQpIHtcbiAgICAgICAgICAgIC8vIGlmIG5vIGFjdGl2ZSBjZWxsIHdlIG5lZWQgdG8gZm9jdXMgYSBzbWFsbCBkb3RcbiAgICAgICAgICAgIGFjdGl2ZVBvaW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCA1MCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIF93aXRoWmVyb1ByZWZpeCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IDApIHtcbiAgICAgIHJldHVybiAnMDAnO1xuICAgIH1cblxuICAgIHJldHVybiB3aXRoWmVyb1ByZWZpeE1lcmlkaWVtKHZhbHVlLCB0aGlzLmlzTWVyaWRpZW0pO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMgaG91ciBzZWxlY3Rpb24uICovXG4gIF9vbkhvdXJDaGFuZ2VkKHtcbiAgICBob3VyLFxuICAgIGNoYW5nZVZpZXcgPSBmYWxzZSxcbiAgfToge1xuICAgIGhvdXI6IG51bWJlcjtcbiAgICBjaGFuZ2VWaWV3PzogYm9vbGVhbjtcbiAgfSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VWaWV3KSB7XG4gICAgICB0aGlzLl92aWV3Lm5leHQoJ21pbnV0ZXMnKTtcbiAgICB9XG4gICAgdGhpcy5fb25Ib3VyU2VsZWN0ZWQoaG91cik7XG4gIH1cbn1cbiIsIjxtYXQtdGltZXBpY2tlci1jb250ZW50LWxheW91dFxuICBbdGl0bGVdPVwiX2ludGwuZGlhbHNUaXRsZVwiXG4gIFtvcmllbnRhdGlvbl09XCJvcmllbnRhdGlvblwiXG4+XG4gIDxkaXZcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIGNsYXNzPVwibWF0LWNsb2NrLWRpYWwtdmFsdWVcIlxuICAgIGhvdXJzXG4gICAgW2NsYXNzLm1hdC1jbG9jay1kaWFsLXZhbHVlLWFjdGl2ZV09XCJpc0hvdXJzVmlld1wiXG4gICAgKGNsaWNrKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQsJ2hvdXJzJylcIlxuICAgIChrZXlkb3duLnNwYWNlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQsICdob3VycycpXCJcbiAgPlxuICAgIHt7IF93aXRoWmVyb1ByZWZpeChzZWxlY3RlZEhvdXIpIH19XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBjbGFzcz1cIm1hdC1jbG9jay1kaWFsLXZhbHVlXCJcbiAgICBtaW51dGVzXG4gICAgW2NsYXNzLm1hdC1jbG9jay1kaWFsLXZhbHVlLWFjdGl2ZV09XCIhaXNIb3Vyc1ZpZXdcIlxuICAgIChjbGljayk9XCJvblZpZXdDaGFuZ2UoJGV2ZW50LCdtaW51dGVzJylcIlxuICAgIChrZXlkb3duLnNwYWNlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQsJ21pbnV0ZXMnKVwiXG4gID5cbiAgICB7eyBfd2l0aFplcm9QcmVmaXgoc2VsZWN0ZWRNaW51dGUpIH19XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSBtYXQtdGltZS1wZXJpb2QgW25nSWZdPVwiaXNNZXJpZGllbVwiPlxuICAgIDxtYXQtdGltZS1wZXJpb2RcbiAgICAgIFtwZXJpb2RdPVwicGVyaW9kXCJcbiAgICAgIFtkaXNhYmxlZFBlcmlvZF09XCJkaXNhYmxlZFBlcmlvZFwiXG4gICAgICBbdmVydGljYWxdPVwib3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgKHBlcmlvZENoYW5nZWQpPVwiX29uUGVyaW9kQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9tYXQtdGltZS1wZXJpb2Q+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwibWF0LWNsb2NrLWRpYWwtZmFjZXNcIlxuICAgIFtjbGFzcy5tYXQtY2xvY2stZGlhbC1mYWNlcy1ob3Jpem9udGFsXT1cIm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzSG91cnNWaWV3XCI+XG4gICAgICA8bWF0LWhvdXJzLWNsb2NrLWRpYWxcbiAgICAgICAgW0BlbnRlckxlYXZlQW5pbWF0aW9uXVxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbc2VsZWN0ZWRIb3VyXT1cInNlbGVjdGVkSG91clwiXG4gICAgICAgIFtpc01lcmlkaWVtXT1cImlzTWVyaWRpZW1cIlxuICAgICAgICBbYXZhaWxhYmxlSG91cnNdPVwiX2dldEF2YWlsYWJsZUhvdXJzKClcIlxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiX29uSG91ckNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cIl9vbktleWRvd24oJGV2ZW50LCAnaG91cicpXCJcbiAgICAgID48L21hdC1ob3Vycy1jbG9jay1kaWFsPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiFpc0hvdXJzVmlld1wiPlxuICAgICAgPG1hdC1taW51dGVzLWNsb2NrLWRpYWxcbiAgICAgICAgW0BlbnRlckxlYXZlQW5pbWF0aW9uXVxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbc2VsZWN0ZWRNaW51dGVdPVwic2VsZWN0ZWRNaW51dGVcIlxuICAgICAgICBbaW50ZXJ2YWxdPVwibWludXRlSW50ZXJ2YWxcIlxuICAgICAgICBbYXZhaWxhYmxlTWludXRlc109XCJhdmFpbGFibGVNaW51dGVzXCJcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIl9vbk1pbnV0ZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJfb25LZXlkb3duKCRldmVudCwgJ21pbnV0ZScpXCJcbiAgICAgID48L21hdC1taW51dGVzLWNsb2NrLWRpYWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L21hdC10aW1lcGlja2VyLWNvbnRlbnQtbGF5b3V0PlxuIl19
|
|
@@ -30,7 +30,7 @@ export class MatTimeFaceBase {
|
|
|
30
30
|
this._setMaxHour();
|
|
31
31
|
this._setMinMinute();
|
|
32
32
|
this._setMaxMinute();
|
|
33
|
-
this._moveFocusOnNextTick =
|
|
33
|
+
this._moveFocusOnNextTick = this.isMeridiem;
|
|
34
34
|
}
|
|
35
35
|
/** The minimum selectable time. */
|
|
36
36
|
get minTime() {
|
|
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
315
315
|
}], selectedChange: [{
|
|
316
316
|
type: Output
|
|
317
317
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1mYWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWUtZmFjZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUczRSxNQUFNLE9BQWdCLGVBQWU7SUFHbkMsbUNBQW1DO0lBQ25DLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBZTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsSUFB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bUJGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBVUcsVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5pbXBvcnQgeyBUaW1lQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlcic7XG5pbXBvcnQgeyBNYXRUaW1lUGVyaW9kVHlwZSB9IGZyb20gJy4vdGltZS1wZXJpb2QnO1xuaW1wb3J0IHsgQUxMX01JTlVURVMgfSBmcm9tICcuL21pbnV0ZXMtY2xvY2stZGlhbCc7XG5pbXBvcnQgeyBBTExfSE9VUlMgfSBmcm9tICcuL2hvdXJzLWNsb2NrLWRpYWwnO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1hdFRpbWVGYWNlQmFzZTxUPlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGltZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0VmFsaWRUaW1lT3JOdWxsKFxuICAgICAgdGhpcy5fdGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBob3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLl9zZWxlY3RlZCk7XG4gICAgdGhpcy5zZWxlY3RlZEhvdXIgPSBob3VyID4gMTIgJiYgdGhpcy5pc01lcmlkaWVtID8gaG91ciAtIDEyIDogaG91cjtcbiAgICBpZiAoaG91ciA9PT0gMCAmJiB0aGlzLmlzTWVyaWRpZW0pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gMTI7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRNaW51dGUodGhpcy5fc2VsZWN0ZWQpO1xuICAgIHRoaXMuYXZhaWxhYmxlSG91cnMgPSBBTExfSE9VUlM7XG5cbiAgICBpZiAodGhpcy5pc01lcmlkaWVtKSB7XG4gICAgICB0aGlzLnBlcmlvZCA9IHRoaXMuX3RpbWVBZGFwdGVyLmdldFBlcmlvZCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5hdmFpbGFibGVNaW51dGVzID0gQUxMX01JTlVURVM7XG4gICAgdGhpcy5fc2V0TWluSG91cigpO1xuICAgIHRoaXMuX3NldE1heEhvdXIoKTtcbiAgICB0aGlzLl9zZXRNaW5NaW51dGUoKTtcbiAgICB0aGlzLl9zZXRNYXhNaW51dGUoKTtcbiAgICB0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrID0gdHJ1ZTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZDogVCB8IG51bGw7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgdGltZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pblRpbWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9taW5UaW1lO1xuICB9XG4gIHNldCBtaW5UaW1lKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHRoaXMuX21pblRpbWUgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRWYWxpZFRpbWVPck51bGwoXG4gICAgICB0aGlzLl90aW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSlcbiAgICApO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9zZXRNaW5Ib3VyKCk7XG4gICAgICB0aGlzLl9zZXRNaW5NaW51dGUoKTtcbiAgICAgIHRoaXMuX3NldERpc2FibGVkUGVyaW9kKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX21pblRpbWU6IFQgfCBudWxsO1xuXG4gIC8qKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIHRpbWUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBtYXhUaW1lKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4VGltZTtcbiAgfVxuICBzZXQgbWF4VGltZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICB0aGlzLl9tYXhUaW1lID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0VmFsaWRUaW1lT3JOdWxsKFxuICAgICAgdGhpcy5fdGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpXG4gICAgKTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc2V0TWF4SG91cigpO1xuICAgICAgdGhpcy5fc2V0TWF4TWludXRlKCk7XG4gICAgICB0aGlzLl9zZXREaXNhYmxlZFBlcmlvZCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9tYXhUaW1lOiBUIHwgbnVsbDtcblxuICAvKiogU3RlcCBvdmVyIG1pbnV0ZXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCBtaW51dGVJbnRlcnZhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW51dGVJbnRlcnZhbDtcbiAgfVxuICBzZXQgbWludXRlSW50ZXJ2YWwodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21pbnV0ZUludGVydmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpIHx8IDE7XG4gIH1cbiAgcHJpdmF0ZSBfbWludXRlSW50ZXJ2YWw6IG51bWJlciA9IDE7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNsb2NrIHVzZXMgMTIgaG91ciBmb3JtYXQuICovXG4gIEBJbnB1dCgpIGlzTWVyaWRpZW06IGJvb2xlYW47XG5cbiAgLyoqIENvbG9yIHBhbGV0dGUuICovXG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYW55IGhvdXIsIG1pbnV0ZSBvciBwZXJpb2QgaXMgc2VsZWN0ZWQuICovXG4gIEBPdXRwdXQoKSBfdXNlclNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgc2VsZWN0ZWRIb3VyOiBudW1iZXIgPSAwO1xuICBzZWxlY3RlZE1pbnV0ZTogbnVtYmVyID0gMDtcbiAgcGVyaW9kOiBNYXRUaW1lUGVyaW9kVHlwZTtcbiAgZGlzYWJsZWRQZXJpb2Q6IE1hdFRpbWVQZXJpb2RUeXBlIHwgbnVsbCA9IG51bGw7XG4gIGF2YWlsYWJsZU1pbnV0ZXMgPSBBTExfTUlOVVRFUztcbiAgYXZhaWxhYmxlSG91cnMgPSBBTExfSE9VUlM7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIHNjaGVkdWxpbmcgdGhhdCBmb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIGFjdGl2ZSBjZWxsIG9uIHRoZSBuZXh0IHRpY2suXG4gICAqIFdlIG5lZWQgdG8gc2NoZWR1bGUgaXQsIHJhdGhlciB0aGFuIGRvIGl0IGltbWVkaWF0ZWx5LCBiZWNhdXNlIHdlIGhhdmUgdG8gd2FpdFxuICAgKiBmb3IgQW5ndWxhciB0byByZS1ldmFsdWF0ZSB0aGUgdmlldyBjaGlsZHJlbi5cbiAgICovXG4gIHByaXZhdGUgX21vdmVGb2N1c09uTmV4dFRpY2sgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3RpbWVBZGFwdGVyOiBUaW1lQWRhcHRlcjxUPikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIuY2xhbXBUaW1lKFxuICAgICAgICB0aGlzLl90aW1lQWRhcHRlci5ub3coKSxcbiAgICAgICAgdGhpcy5taW5UaW1lLFxuICAgICAgICB0aGlzLm1heFRpbWVcbiAgICAgICk7XG4gICAgICB0aGlzLl91c2VyU2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrKSB7XG4gICAgICB0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrID0gZmFsc2U7XG4gICAgICB0aGlzLmZvY3VzQWN0aXZlQ2VsbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBhY3RpdmUgY2VsbCBhZnRlciBvciBpbnB1dCB0aGUgbWljcm90YXNrIHF1ZXVlIGlzIGVtcHR5LlxuICAgKlxuICAgKiBBZGRpbmcgYSAwbXMgc2V0VGltZW91dCBzZWVtcyB0byBmaXggVm9pY2VvdmVyIGxvc2luZyBmb2N1cyB3aGVuIHByZXNzaW5nIFBhZ2VVcC9QYWdlRG93bi5cbiAgICpcbiAgICogRGV0ZXJtaW5lZCBhIDBtcyBieSBncmFkdWFsbHkgaW5jcmVhc2luZyBkdXJhdGlvbiBmcm9tIDAgYW5kIHRlc3RpbmcgdHdvIHVzZSBjYXNlcyB3aXRoIHNjcmVlblxuICAgKiByZWFkZXIgZW5hYmxlZDpcbiAgICpcbiAgICogMS4gUHJlc3NpbmcgUGFnZVVwL1BhZ2VEb3duIHJlcGVhdGVkbHkgd2l0aCBwYXVzaW5nIGJldHdlZW4gZWFjaCBrZXkgcHJlc3MuXG4gICAqIDIuIFByZXNzaW5nIGFuZCBob2xkaW5nIHRoZSBQYWdlRG93biBrZXkgd2l0aCByZXBlYXRlZCBrZXlzIGVuYWJsZWQuXG4gICAqXG4gICAqIFRlc3QgMSB3b3JrZWQgcm91Z2hseSA5NS05OSUgb2YgdGhlIHRpbWUgd2l0aCAwbXMgYW5kIGdvdCBhIGxpdHRsZSBiaXQgYmV0dGVyIGFzIHRoZSBkdXJhdGlvblxuICAgKiBpbmNyZWFzZWQuIFRlc3QgMiBnb3Qgc2xpZ2h0bHkgYmV0dGVyIHVudGlsIHRoZSBkdXJhdGlvbiB3YXMgbG9uZyBlbm91Z2ggdG8gaW50ZXJmZXJlIHdpdGhcbiAgICogcmVwZWF0ZWQga2V5cy4gSWYgdGhlIHJlcGVhdGVkIGtleSBzcGVlZCB3YXMgZmFzdGVyIHRoYW4gdGhlIHRpbWVvdXQgZHVyYXRpb24sIHRoZW4gcHJlc3NpbmdcbiAgICogYW5kIGhvbGRpbmcgcGFnZWRvd24gY2F1c2VkIHRoZSBlbnRpcmUgcGFnZSB0byBzY3JvbGwuXG4gICAqXG4gICAqIFNpbmNlIHJlcGVhdGVkIGtleSBzcGVlZCBjYW4gdmVyaWZ5IGFjcm9zcyBtYWNoaW5lcywgZGV0ZXJtaW5lZCB0aGF0IGFueSBkdXJhdGlvbiBjb3VsZFxuICAgKiBwb3RlbnRpYWxseSBpbnRlcmZlcmUgd2l0aCByZXBlYXRlZCBrZXlzLiAwbXMgd291bGQgYmUgYmVzdCBiZWNhdXNlIGl0IGFsbW9zdCBlbnRpcmVseVxuICAgKiBlbGltaW5hdGVzIHRoZSBmb2N1cyBiZWluZyBsb3N0IGluIFZvaWNlb3ZlciB3aXRob3V0IGNhdXNpbmcgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMuXG4gICAqIEFkZGluZyBkZWxheSBhbHNvIGNvbXBsaWNhdGVzIHdyaXRpbmcgdGVzdHMuXG4gICAqL1xuICBhYnN0cmFjdCBmb2N1c0FjdGl2ZUNlbGwoKTogdm9pZDtcblxuICAvKiogSGFuZGxlcyBob3VyIHNlbGVjdGlvbi4gKi9cbiAgX29uSG91clNlbGVjdGVkKGhvdXI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gaG91cjtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuX3RpbWVBZGFwdGVyLnVwZGF0ZUhvdXIoXG4gICAgICB0aGlzLnNlbGVjdGVkISxcbiAgICAgIHRoaXMuX2dldEhvdXJCYXNlZE9uUGVyaW9kKGhvdXIpXG4gICAgKTtcbiAgICB0aGlzLl90aW1lU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMgbWludXRlIHNlbGVjdGlvbi4gKi9cbiAgX29uTWludXRlU2VsZWN0ZWQobWludXRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbWludXRlO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIudXBkYXRlTWludXRlKHRoaXMuc2VsZWN0ZWQhLCBtaW51dGUpO1xuICAgIHRoaXMuX3RpbWVTZWxlY3RlZChzZWxlY3RlZCk7XG4gIH1cblxuICAvKiogSGFuZGxlcyBwZXJpb2QgY2hhbmdpbmcuICovXG4gIF9vblBlcmlvZENoYW5nZWQocGVyaW9kOiBNYXRUaW1lUGVyaW9kVHlwZSk6IHZvaWQge1xuICAgIHRoaXMucGVyaW9kID0gcGVyaW9kO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIudXBkYXRlSG91cihcbiAgICAgIHRoaXMuc2VsZWN0ZWQhLFxuICAgICAgdGhpcy5fZ2V0SG91ckJhc2VkT25QZXJpb2QodGhpcy5zZWxlY3RlZEhvdXIpXG4gICAgKTtcbiAgICB0aGlzLl90aW1lU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICB9XG5cbiAgX2dldEF2YWlsYWJsZUhvdXJzKCk6IG51bWJlcltdIHtcbiAgICBpZiAodGhpcy5pc01lcmlkaWVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVIb3Vyc1xuICAgICAgICAuZmlsdGVyKChoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMucGVyaW9kID09PSAnYW0nKSB7XG4gICAgICAgICAgICByZXR1cm4gaCA8IDEyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnBlcmlvZCA9PT0gJ3BtJykge1xuICAgICAgICAgICAgcmV0dXJuIGggPj0gMTI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGg7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoKGgpID0+IHtcbiAgICAgICAgICBpZiAoaCA+IDEyKSB7XG4gICAgICAgICAgICByZXR1cm4gaCAtIDEyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMTI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGg7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZUhvdXJzO1xuICB9XG5cbiAgX29uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgdmlldzogJ2hvdXInIHwgJ21pbnV0ZScpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICB0aGlzLl9oYW5kbGVIb3VyS2V5ZG93bihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgdGhpcy5faGFuZGxlTWludXRlS2V5ZG93bihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUhvdXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaG91cnMgPSB0aGlzLl9nZXRBdmFpbGFibGVIb3VycygpO1xuICAgIGNvbnN0IHNlbGVjdGVkSG91ckluZGV4ID0gaG91cnMuZmluZEluZGV4KFxuICAgICAgKGhvdXIpID0+IGhvdXIgPT09IHRoaXMuc2VsZWN0ZWRIb3VyXG4gICAgKTtcblxuICAgIGlmICghaG91cnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFVQX0FSUk9XOlxuICAgICAgICBpZiAoc2VsZWN0ZWRIb3VySW5kZXggKyAxID49IGhvdXJzLmxlbmd0aCB8fCBzZWxlY3RlZEhvdXJJbmRleCA8IDApIHtcbiAgICAgICAgICB0aGlzLl9vbkhvdXJTZWxlY3RlZChob3Vyc1swXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fb25Ib3VyU2VsZWN0ZWQoaG91cnNbc2VsZWN0ZWRIb3VySW5kZXggKyAxXSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPV05fQVJST1c6XG4gICAgICAgIGlmIChzZWxlY3RlZEhvdXJJbmRleCAtIDEgPCAwIHx8IHNlbGVjdGVkSG91ckluZGV4IDwgMCkge1xuICAgICAgICAgIHRoaXMuX29uSG91clNlbGVjdGVkKGhvdXJzW2hvdXJzLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9vbkhvdXJTZWxlY3RlZChob3Vyc1tzZWxlY3RlZEhvdXJJbmRleCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU1pbnV0ZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBtaW51dGVzID0gdGhpcy5hdmFpbGFibGVNaW51dGVzO1xuICAgIGNvbnN0IHNlbGVjdGVkTWludXRlSW5kZXggPSBtaW51dGVzLmZpbmRJbmRleChcbiAgICAgIChtaW51dGUpID0+IG1pbnV0ZSA9PT0gdGhpcy5zZWxlY3RlZE1pbnV0ZVxuICAgICk7XG5cbiAgICBpZiAoIW1pbnV0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFVQX0FSUk9XOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCArIHRoaXMubWludXRlSW50ZXJ2YWwgPj0gbWludXRlcy5sZW5ndGggfHxcbiAgICAgICAgICBzZWxlY3RlZE1pbnV0ZUluZGV4IDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBkaWZmZXJlbmNlID1cbiAgICAgICAgICAgIDYwIC0gdGhpcy5zZWxlY3RlZE1pbnV0ZSArIE1hdGgubWluKC4uLnRoaXMuYXZhaWxhYmxlTWludXRlcyk7XG4gICAgICAgICAgY29uc3QgY291bnQgPSBNYXRoLmNlaWwoZGlmZmVyZW5jZSAvIHRoaXMubWludXRlSW50ZXJ2YWwpO1xuICAgICAgICAgIGNvbnN0IGRpZmZlcmVuY2VGb3JWYWxpZCA9IGNvdW50ICogdGhpcy5taW51dGVJbnRlcnZhbDtcbiAgICAgICAgICBjb25zdCBuZXh0VmFsaWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRNaW51dGUgKyBkaWZmZXJlbmNlRm9yVmFsaWQ7XG4gICAgICAgICAgY29uc3QgY29ycmVjdEluZGV4ID0gbWludXRlcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAobWludXRlKSA9PiBtaW51dGUgPT09IG5leHRWYWxpZFZhbHVlIC0gNjAgLy8gYW1vdW50IG9mIG1pbnNcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuX29uTWludXRlU2VsZWN0ZWQobWludXRlc1tjb3JyZWN0SW5kZXhdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9vbk1pbnV0ZVNlbGVjdGVkKFxuICAgICAgICAgICAgbWludXRlc1tzZWxlY3RlZE1pbnV0ZUluZGV4ICsgdGhpcy5taW51dGVJbnRlcnZhbF1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET1dOX0FSUk9XOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCAtIHRoaXMubWludXRlSW50ZXJ2YWwgPCAwIHx8XG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgZGlmZmVyZW5jZSA9XG4gICAgICAgICAgICA2MCArIHRoaXMuc2VsZWN0ZWRNaW51dGUgLSBNYXRoLm1heCguLi50aGlzLmF2YWlsYWJsZU1pbnV0ZXMpO1xuICAgICAgICAgIGNvbnN0IGNvdW50ID0gTWF0aC5jZWlsKGRpZmZlcmVuY2UgLyB0aGlzLm1pbnV0ZUludGVydmFsKTtcbiAgICAgICAgICBjb25zdCBkaWZmZXJlbmNlRm9yVmFsaWQgPSBjb3VudCAqIHRoaXMubWludXRlSW50ZXJ2YWw7XG4gICAgICAgICAgY29uc3QgbmV4dFZhbGlkVmFsdWUgPSB0aGlzLnNlbGVjdGVkTWludXRlIC0gZGlmZmVyZW5jZUZvclZhbGlkO1xuICAgICAgICAgIGNvbnN0IGNvcnJlY3RJbmRleCA9IG1pbnV0ZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKG1pbnV0ZSkgPT4gbWludXRlID09PSBuZXh0VmFsaWRWYWx1ZSArIDYwIC8vIGFtb3VudCBvZiBtaW5zXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9vbk1pbnV0ZVNlbGVjdGVkKG1pbnV0ZXNbY29ycmVjdEluZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fb25NaW51dGVTZWxlY3RlZChcbiAgICAgICAgICAgIG1pbnV0ZXNbc2VsZWN0ZWRNaW51dGVJbmRleCAtIHRoaXMubWludXRlSW50ZXJ2YWxdXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXRzIGEgY29ycmVjdCBob3VycyBiYXNlZCBvbiBtZXJpZGllbSBhbmQgcGVyaW9kLiAqL1xuICBwcml2YXRlIF9nZXRIb3VyQmFzZWRPblBlcmlvZChob3VyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGFmdGVyTm9vbiA9IHRoaXMuaXNNZXJpZGllbSAmJiB0aGlzLnBlcmlvZCA9PT0gJ3BtJztcbiAgICBjb25zdCBiZWZvcmVOb29uID0gdGhpcy5pc01lcmlkaWVtICYmIHRoaXMucGVyaW9kID09PSAnYW0nO1xuXG4gICAgaWYgKGFmdGVyTm9vbikge1xuICAgICAgcmV0dXJuIGhvdXIgPT09IDEyID8gaG91ciA6IGhvdXIgKyAxMjtcbiAgICB9XG5cbiAgICBpZiAoYmVmb3JlTm9vbikge1xuICAgICAgcmV0dXJuIGhvdXIgPT09IDEyID8gMCA6IGhvdXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvdXI7XG4gIH1cblxuICBwcml2YXRlIF90aW1lU2VsZWN0ZWQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgIXRoaXMuX3RpbWVBZGFwdGVyLnNhbWVUaW1lKHZhbHVlLCB0aGlzLnNlbGVjdGVkKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VyU2VsZWN0aW9uLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqIFNldHMgbWluIGhvdXIuICovXG4gIHByaXZhdGUgX3NldE1pbkhvdXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5Ib3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1pblRpbWUpO1xuICAgIHRoaXMuYXZhaWxhYmxlSG91cnMgPSB0aGlzLmF2YWlsYWJsZUhvdXJzLmZpbHRlcigoaCkgPT4gaCA+PSBtaW5Ib3VyKTtcbiAgfVxuXG4gIC8qKiBTZXRzIG1heCBob3VyLiAqL1xuICBwcml2YXRlIF9zZXRNYXhIb3VyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXhUaW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWF4SG91ciA9IHRoaXMuX3RpbWVBZGFwdGVyLmdldEhvdXIodGhpcy5tYXhUaW1lKTtcbiAgICB0aGlzLmF2YWlsYWJsZUhvdXJzID0gdGhpcy5hdmFpbGFibGVIb3Vycy5maWx0ZXIoKGgpID0+IGggPD0gbWF4SG91cik7XG4gIH1cblxuICAvKiogU2V0cyBtaW4gbWludXRlLiAqL1xuICBwcml2YXRlIF9zZXRNaW5NaW51dGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkIHx8ICF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNvbnN0IG1pbkhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMubWluVGltZSk7XG5cbiAgICBjb25zdCBtaW5NaW51dGUgPVxuICAgICAgc2VsZWN0ZWRIb3VyID4gbWluSG91ciA/IDAgOiB0aGlzLl90aW1lQWRhcHRlci5nZXRNaW51dGUodGhpcy5taW5UaW1lKTtcblxuICAgIHRoaXMuYXZhaWxhYmxlTWludXRlcyA9IHRoaXMuYXZhaWxhYmxlTWludXRlcy5maWx0ZXIoXG4gICAgICAobWludXRlKSA9PiBtaW51dGUgPj0gbWluTWludXRlXG4gICAgKTtcblxuICAgIGlmIChzZWxlY3RlZEhvdXIgPCBtaW5Ib3VyKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICAvKiogU2V0cyBtYXggbWludXRlLiAqL1xuICBwcml2YXRlIF9zZXRNYXhNaW51dGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkIHx8ICF0aGlzLm1heFRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNvbnN0IG1heEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMubWF4VGltZSk7XG5cbiAgICBjb25zdCBtYXhNaW51dGUgPVxuICAgICAgc2VsZWN0ZWRIb3VyIDwgbWF4SG91ciA/IDU5IDogdGhpcy5fdGltZUFkYXB0ZXIuZ2V0TWludXRlKHRoaXMubWF4VGltZSk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMgPSB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMuZmlsdGVyKFxuICAgICAgKG1pbnV0ZSkgPT4gbWludXRlIDw9IG1heE1pbnV0ZVxuICAgICk7XG5cbiAgICBpZiAoc2VsZWN0ZWRIb3VyID4gbWF4SG91cikge1xuICAgICAgdGhpcy5hdmFpbGFibGVNaW51dGVzID0gW107XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgZGlzYWJsZWQgcGVyaW9kLiAqL1xuICBwcml2YXRlIF9zZXREaXNhYmxlZFBlcmlvZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW5UaW1lKSB7XG4gICAgICBjb25zdCBtaW5Ib3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1pblRpbWUpO1xuXG4gICAgICBpZiAobWluSG91ciA+PSAxMikge1xuICAgICAgICB0aGlzLmRpc2FibGVkUGVyaW9kID0gJ2FtJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXhUaW1lKSB7XG4gICAgICBjb25zdCBtYXhIb3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1heFRpbWUpO1xuICAgICAgY29uc3QgbWF4TWludXRlID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1heFRpbWUpO1xuXG4gICAgICBpZiAobWF4SG91ciA8IDEyIHx8IChtYXhIb3VyID09PSAxMiAmJiBtYXhNaW51dGUgPT09IDApKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWRQZXJpb2QgPSAncG0nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1mYWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWUtZmFjZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUczRSxNQUFNLE9BQWdCLGVBQWU7SUFHbkMsbUNBQW1DO0lBQ25DLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBZTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsSUFB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VixLQUFLO2dCQW1CRixjQUFjO3NCQURqQixLQUFLO2dCQVVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdJLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgVGltZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXInO1xuaW1wb3J0IHsgTWF0VGltZVBlcmlvZFR5cGUgfSBmcm9tICcuL3RpbWUtcGVyaW9kJztcbmltcG9ydCB7IEFMTF9NSU5VVEVTIH0gZnJvbSAnLi9taW51dGVzLWNsb2NrLWRpYWwnO1xuaW1wb3J0IHsgQUxMX0hPVVJTIH0gZnJvbSAnLi9ob3Vycy1jbG9jay1kaWFsJztcbmltcG9ydCB7IERPV05fQVJST1csIEVOVEVSLCBTUEFDRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYXRUaW1lRmFjZUJhc2U8VD5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkXG57XG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHRpbWUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG4gIHNldCBzZWxlY3RlZCh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMuX3RpbWVBZGFwdGVyLmdldFZhbGlkVGltZU9yTnVsbChcbiAgICAgIHRoaXMuX3RpbWVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKVxuICAgICk7XG5cbiAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaG91ciA9IHRoaXMuX3RpbWVBZGFwdGVyLmdldEhvdXIodGhpcy5fc2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gaG91ciA+IDEyICYmIHRoaXMuaXNNZXJpZGllbSA/IGhvdXIgLSAxMiA6IGhvdXI7XG4gICAgaWYgKGhvdXIgPT09IDAgJiYgdGhpcy5pc01lcmlkaWVtKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IDEyO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0TWludXRlKHRoaXMuX3NlbGVjdGVkKTtcbiAgICB0aGlzLmF2YWlsYWJsZUhvdXJzID0gQUxMX0hPVVJTO1xuXG4gICAgaWYgKHRoaXMuaXNNZXJpZGllbSkge1xuICAgICAgdGhpcy5wZXJpb2QgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRQZXJpb2QodGhpcy5fc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmxlTWludXRlcyA9IEFMTF9NSU5VVEVTO1xuICAgIHRoaXMuX3NldE1pbkhvdXIoKTtcbiAgICB0aGlzLl9zZXRNYXhIb3VyKCk7XG4gICAgdGhpcy5fc2V0TWluTWludXRlKCk7XG4gICAgdGhpcy5fc2V0TWF4TWludXRlKCk7XG4gICAgdGhpcy5fbW92ZUZvY3VzT25OZXh0VGljayA9IHRoaXMuaXNNZXJpZGllbTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZDogVCB8IG51bGw7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgdGltZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pblRpbWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9taW5UaW1lO1xuICB9XG4gIHNldCBtaW5UaW1lKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHRoaXMuX21pblRpbWUgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRWYWxpZFRpbWVPck51bGwoXG4gICAgICB0aGlzLl90aW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSlcbiAgICApO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9zZXRNaW5Ib3VyKCk7XG4gICAgICB0aGlzLl9zZXRNaW5NaW51dGUoKTtcbiAgICAgIHRoaXMuX3NldERpc2FibGVkUGVyaW9kKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX21pblRpbWU6IFQgfCBudWxsO1xuXG4gIC8qKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIHRpbWUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBtYXhUaW1lKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4VGltZTtcbiAgfVxuICBzZXQgbWF4VGltZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICB0aGlzLl9tYXhUaW1lID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0VmFsaWRUaW1lT3JOdWxsKFxuICAgICAgdGhpcy5fdGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpXG4gICAgKTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc2V0TWF4SG91cigpO1xuICAgICAgdGhpcy5fc2V0TWF4TWludXRlKCk7XG4gICAgICB0aGlzLl9zZXREaXNhYmxlZFBlcmlvZCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9tYXhUaW1lOiBUIHwgbnVsbDtcblxuICAvKiogU3RlcCBvdmVyIG1pbnV0ZXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCBtaW51dGVJbnRlcnZhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW51dGVJbnRlcnZhbDtcbiAgfVxuICBzZXQgbWludXRlSW50ZXJ2YWwodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21pbnV0ZUludGVydmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpIHx8IDE7XG4gIH1cbiAgcHJpdmF0ZSBfbWludXRlSW50ZXJ2YWw6IG51bWJlciA9IDE7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNsb2NrIHVzZXMgMTIgaG91ciBmb3JtYXQuICovXG4gIEBJbnB1dCgpIGlzTWVyaWRpZW06IGJvb2xlYW47XG5cbiAgLyoqIENvbG9yIHBhbGV0dGUuICovXG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYW55IGhvdXIsIG1pbnV0ZSBvciBwZXJpb2QgaXMgc2VsZWN0ZWQuICovXG4gIEBPdXRwdXQoKSBfdXNlclNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgc2VsZWN0ZWRIb3VyOiBudW1iZXIgPSAwO1xuICBzZWxlY3RlZE1pbnV0ZTogbnVtYmVyID0gMDtcbiAgcGVyaW9kOiBNYXRUaW1lUGVyaW9kVHlwZTtcbiAgZGlzYWJsZWRQZXJpb2Q6IE1hdFRpbWVQZXJpb2RUeXBlIHwgbnVsbCA9IG51bGw7XG4gIGF2YWlsYWJsZU1pbnV0ZXMgPSBBTExfTUlOVVRFUztcbiAgYXZhaWxhYmxlSG91cnMgPSBBTExfSE9VUlM7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIHNjaGVkdWxpbmcgdGhhdCBmb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIGFjdGl2ZSBjZWxsIG9uIHRoZSBuZXh0IHRpY2suXG4gICAqIFdlIG5lZWQgdG8gc2NoZWR1bGUgaXQsIHJhdGhlciB0aGFuIGRvIGl0IGltbWVkaWF0ZWx5LCBiZWNhdXNlIHdlIGhhdmUgdG8gd2FpdFxuICAgKiBmb3IgQW5ndWxhciB0byByZS1ldmFsdWF0ZSB0aGUgdmlldyBjaGlsZHJlbi5cbiAgICovXG4gIHByaXZhdGUgX21vdmVGb2N1c09uTmV4dFRpY2sgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3RpbWVBZGFwdGVyOiBUaW1lQWRhcHRlcjxUPikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIuY2xhbXBUaW1lKFxuICAgICAgICB0aGlzLl90aW1lQWRhcHRlci5ub3coKSxcbiAgICAgICAgdGhpcy5taW5UaW1lLFxuICAgICAgICB0aGlzLm1heFRpbWVcbiAgICAgICk7XG4gICAgICB0aGlzLl91c2VyU2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrKSB7XG4gICAgICB0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrID0gZmFsc2U7XG4gICAgICB0aGlzLmZvY3VzQWN0aXZlQ2VsbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBhY3RpdmUgY2VsbCBhZnRlciBvciBpbnB1dCB0aGUgbWljcm90YXNrIHF1ZXVlIGlzIGVtcHR5LlxuICAgKlxuICAgKiBBZGRpbmcgYSAwbXMgc2V0VGltZW91dCBzZWVtcyB0byBmaXggVm9pY2VvdmVyIGxvc2luZyBmb2N1cyB3aGVuIHByZXNzaW5nIFBhZ2VVcC9QYWdlRG93bi5cbiAgICpcbiAgICogRGV0ZXJtaW5lZCBhIDBtcyBieSBncmFkdWFsbHkgaW5jcmVhc2luZyBkdXJhdGlvbiBmcm9tIDAgYW5kIHRlc3RpbmcgdHdvIHVzZSBjYXNlcyB3aXRoIHNjcmVlblxuICAgKiByZWFkZXIgZW5hYmxlZDpcbiAgICpcbiAgICogMS4gUHJlc3NpbmcgUGFnZVVwL1BhZ2VEb3duIHJlcGVhdGVkbHkgd2l0aCBwYXVzaW5nIGJldHdlZW4gZWFjaCBrZXkgcHJlc3MuXG4gICAqIDIuIFByZXNzaW5nIGFuZCBob2xkaW5nIHRoZSBQYWdlRG93biBrZXkgd2l0aCByZXBlYXRlZCBrZXlzIGVuYWJsZWQuXG4gICAqXG4gICAqIFRlc3QgMSB3b3JrZWQgcm91Z2hseSA5NS05OSUgb2YgdGhlIHRpbWUgd2l0aCAwbXMgYW5kIGdvdCBhIGxpdHRsZSBiaXQgYmV0dGVyIGFzIHRoZSBkdXJhdGlvblxuICAgKiBpbmNyZWFzZWQuIFRlc3QgMiBnb3Qgc2xpZ2h0bHkgYmV0dGVyIHVudGlsIHRoZSBkdXJhdGlvbiB3YXMgbG9uZyBlbm91Z2ggdG8gaW50ZXJmZXJlIHdpdGhcbiAgICogcmVwZWF0ZWQga2V5cy4gSWYgdGhlIHJlcGVhdGVkIGtleSBzcGVlZCB3YXMgZmFzdGVyIHRoYW4gdGhlIHRpbWVvdXQgZHVyYXRpb24sIHRoZW4gcHJlc3NpbmdcbiAgICogYW5kIGhvbGRpbmcgcGFnZWRvd24gY2F1c2VkIHRoZSBlbnRpcmUgcGFnZSB0byBzY3JvbGwuXG4gICAqXG4gICAqIFNpbmNlIHJlcGVhdGVkIGtleSBzcGVlZCBjYW4gdmVyaWZ5IGFjcm9zcyBtYWNoaW5lcywgZGV0ZXJtaW5lZCB0aGF0IGFueSBkdXJhdGlvbiBjb3VsZFxuICAgKiBwb3RlbnRpYWxseSBpbnRlcmZlcmUgd2l0aCByZXBlYXRlZCBrZXlzLiAwbXMgd291bGQgYmUgYmVzdCBiZWNhdXNlIGl0IGFsbW9zdCBlbnRpcmVseVxuICAgKiBlbGltaW5hdGVzIHRoZSBmb2N1cyBiZWluZyBsb3N0IGluIFZvaWNlb3ZlciB3aXRob3V0IGNhdXNpbmcgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMuXG4gICAqIEFkZGluZyBkZWxheSBhbHNvIGNvbXBsaWNhdGVzIHdyaXRpbmcgdGVzdHMuXG4gICAqL1xuICBhYnN0cmFjdCBmb2N1c0FjdGl2ZUNlbGwoKTogdm9pZDtcblxuICAvKiogSGFuZGxlcyBob3VyIHNlbGVjdGlvbi4gKi9cbiAgX29uSG91clNlbGVjdGVkKGhvdXI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gaG91cjtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuX3RpbWVBZGFwdGVyLnVwZGF0ZUhvdXIoXG4gICAgICB0aGlzLnNlbGVjdGVkISxcbiAgICAgIHRoaXMuX2dldEhvdXJCYXNlZE9uUGVyaW9kKGhvdXIpXG4gICAgKTtcbiAgICB0aGlzLl90aW1lU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMgbWludXRlIHNlbGVjdGlvbi4gKi9cbiAgX29uTWludXRlU2VsZWN0ZWQobWludXRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbWludXRlO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIudXBkYXRlTWludXRlKHRoaXMuc2VsZWN0ZWQhLCBtaW51dGUpO1xuICAgIHRoaXMuX3RpbWVTZWxlY3RlZChzZWxlY3RlZCk7XG4gIH1cblxuICAvKiogSGFuZGxlcyBwZXJpb2QgY2hhbmdpbmcuICovXG4gIF9vblBlcmlvZENoYW5nZWQocGVyaW9kOiBNYXRUaW1lUGVyaW9kVHlwZSk6IHZvaWQge1xuICAgIHRoaXMucGVyaW9kID0gcGVyaW9kO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fdGltZUFkYXB0ZXIudXBkYXRlSG91cihcbiAgICAgIHRoaXMuc2VsZWN0ZWQhLFxuICAgICAgdGhpcy5fZ2V0SG91ckJhc2VkT25QZXJpb2QodGhpcy5zZWxlY3RlZEhvdXIpXG4gICAgKTtcbiAgICB0aGlzLl90aW1lU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICB9XG5cbiAgX2dldEF2YWlsYWJsZUhvdXJzKCk6IG51bWJlcltdIHtcbiAgICBpZiAodGhpcy5pc01lcmlkaWVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVIb3Vyc1xuICAgICAgICAuZmlsdGVyKChoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMucGVyaW9kID09PSAnYW0nKSB7XG4gICAgICAgICAgICByZXR1cm4gaCA8IDEyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnBlcmlvZCA9PT0gJ3BtJykge1xuICAgICAgICAgICAgcmV0dXJuIGggPj0gMTI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGg7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoKGgpID0+IHtcbiAgICAgICAgICBpZiAoaCA+IDEyKSB7XG4gICAgICAgICAgICByZXR1cm4gaCAtIDEyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMTI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGg7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZUhvdXJzO1xuICB9XG5cbiAgX29uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgdmlldzogJ2hvdXInIHwgJ21pbnV0ZScpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICB0aGlzLl9oYW5kbGVIb3VyS2V5ZG93bihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgdGhpcy5faGFuZGxlTWludXRlS2V5ZG93bihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUhvdXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaG91cnMgPSB0aGlzLl9nZXRBdmFpbGFibGVIb3VycygpO1xuICAgIGNvbnN0IHNlbGVjdGVkSG91ckluZGV4ID0gaG91cnMuZmluZEluZGV4KFxuICAgICAgKGhvdXIpID0+IGhvdXIgPT09IHRoaXMuc2VsZWN0ZWRIb3VyXG4gICAgKTtcblxuICAgIGlmICghaG91cnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFVQX0FSUk9XOlxuICAgICAgICBpZiAoc2VsZWN0ZWRIb3VySW5kZXggKyAxID49IGhvdXJzLmxlbmd0aCB8fCBzZWxlY3RlZEhvdXJJbmRleCA8IDApIHtcbiAgICAgICAgICB0aGlzLl9vbkhvdXJTZWxlY3RlZChob3Vyc1swXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fb25Ib3VyU2VsZWN0ZWQoaG91cnNbc2VsZWN0ZWRIb3VySW5kZXggKyAxXSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPV05fQVJST1c6XG4gICAgICAgIGlmIChzZWxlY3RlZEhvdXJJbmRleCAtIDEgPCAwIHx8IHNlbGVjdGVkSG91ckluZGV4IDwgMCkge1xuICAgICAgICAgIHRoaXMuX29uSG91clNlbGVjdGVkKGhvdXJzW2hvdXJzLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9vbkhvdXJTZWxlY3RlZChob3Vyc1tzZWxlY3RlZEhvdXJJbmRleCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU1pbnV0ZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBtaW51dGVzID0gdGhpcy5hdmFpbGFibGVNaW51dGVzO1xuICAgIGNvbnN0IHNlbGVjdGVkTWludXRlSW5kZXggPSBtaW51dGVzLmZpbmRJbmRleChcbiAgICAgIChtaW51dGUpID0+IG1pbnV0ZSA9PT0gdGhpcy5zZWxlY3RlZE1pbnV0ZVxuICAgICk7XG5cbiAgICBpZiAoIW1pbnV0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFVQX0FSUk9XOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCArIHRoaXMubWludXRlSW50ZXJ2YWwgPj0gbWludXRlcy5sZW5ndGggfHxcbiAgICAgICAgICBzZWxlY3RlZE1pbnV0ZUluZGV4IDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBkaWZmZXJlbmNlID1cbiAgICAgICAgICAgIDYwIC0gdGhpcy5zZWxlY3RlZE1pbnV0ZSArIE1hdGgubWluKC4uLnRoaXMuYXZhaWxhYmxlTWludXRlcyk7XG4gICAgICAgICAgY29uc3QgY291bnQgPSBNYXRoLmNlaWwoZGlmZmVyZW5jZSAvIHRoaXMubWludXRlSW50ZXJ2YWwpO1xuICAgICAgICAgIGNvbnN0IGRpZmZlcmVuY2VGb3JWYWxpZCA9IGNvdW50ICogdGhpcy5taW51dGVJbnRlcnZhbDtcbiAgICAgICAgICBjb25zdCBuZXh0VmFsaWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRNaW51dGUgKyBkaWZmZXJlbmNlRm9yVmFsaWQ7XG4gICAgICAgICAgY29uc3QgY29ycmVjdEluZGV4ID0gbWludXRlcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAobWludXRlKSA9PiBtaW51dGUgPT09IG5leHRWYWxpZFZhbHVlIC0gNjAgLy8gYW1vdW50IG9mIG1pbnNcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuX29uTWludXRlU2VsZWN0ZWQobWludXRlc1tjb3JyZWN0SW5kZXhdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9vbk1pbnV0ZVNlbGVjdGVkKFxuICAgICAgICAgICAgbWludXRlc1tzZWxlY3RlZE1pbnV0ZUluZGV4ICsgdGhpcy5taW51dGVJbnRlcnZhbF1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET1dOX0FSUk9XOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCAtIHRoaXMubWludXRlSW50ZXJ2YWwgPCAwIHx8XG4gICAgICAgICAgc2VsZWN0ZWRNaW51dGVJbmRleCA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgZGlmZmVyZW5jZSA9XG4gICAgICAgICAgICA2MCArIHRoaXMuc2VsZWN0ZWRNaW51dGUgLSBNYXRoLm1heCguLi50aGlzLmF2YWlsYWJsZU1pbnV0ZXMpO1xuICAgICAgICAgIGNvbnN0IGNvdW50ID0gTWF0aC5jZWlsKGRpZmZlcmVuY2UgLyB0aGlzLm1pbnV0ZUludGVydmFsKTtcbiAgICAgICAgICBjb25zdCBkaWZmZXJlbmNlRm9yVmFsaWQgPSBjb3VudCAqIHRoaXMubWludXRlSW50ZXJ2YWw7XG4gICAgICAgICAgY29uc3QgbmV4dFZhbGlkVmFsdWUgPSB0aGlzLnNlbGVjdGVkTWludXRlIC0gZGlmZmVyZW5jZUZvclZhbGlkO1xuICAgICAgICAgIGNvbnN0IGNvcnJlY3RJbmRleCA9IG1pbnV0ZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKG1pbnV0ZSkgPT4gbWludXRlID09PSBuZXh0VmFsaWRWYWx1ZSArIDYwIC8vIGFtb3VudCBvZiBtaW5zXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9vbk1pbnV0ZVNlbGVjdGVkKG1pbnV0ZXNbY29ycmVjdEluZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fb25NaW51dGVTZWxlY3RlZChcbiAgICAgICAgICAgIG1pbnV0ZXNbc2VsZWN0ZWRNaW51dGVJbmRleCAtIHRoaXMubWludXRlSW50ZXJ2YWxdXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXRzIGEgY29ycmVjdCBob3VycyBiYXNlZCBvbiBtZXJpZGllbSBhbmQgcGVyaW9kLiAqL1xuICBwcml2YXRlIF9nZXRIb3VyQmFzZWRPblBlcmlvZChob3VyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGFmdGVyTm9vbiA9IHRoaXMuaXNNZXJpZGllbSAmJiB0aGlzLnBlcmlvZCA9PT0gJ3BtJztcbiAgICBjb25zdCBiZWZvcmVOb29uID0gdGhpcy5pc01lcmlkaWVtICYmIHRoaXMucGVyaW9kID09PSAnYW0nO1xuXG4gICAgaWYgKGFmdGVyTm9vbikge1xuICAgICAgcmV0dXJuIGhvdXIgPT09IDEyID8gaG91ciA6IGhvdXIgKyAxMjtcbiAgICB9XG5cbiAgICBpZiAoYmVmb3JlTm9vbikge1xuICAgICAgcmV0dXJuIGhvdXIgPT09IDEyID8gMCA6IGhvdXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvdXI7XG4gIH1cblxuICBwcml2YXRlIF90aW1lU2VsZWN0ZWQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgIXRoaXMuX3RpbWVBZGFwdGVyLnNhbWVUaW1lKHZhbHVlLCB0aGlzLnNlbGVjdGVkKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VyU2VsZWN0aW9uLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqIFNldHMgbWluIGhvdXIuICovXG4gIHByaXZhdGUgX3NldE1pbkhvdXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5Ib3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1pblRpbWUpO1xuICAgIHRoaXMuYXZhaWxhYmxlSG91cnMgPSB0aGlzLmF2YWlsYWJsZUhvdXJzLmZpbHRlcigoaCkgPT4gaCA+PSBtaW5Ib3VyKTtcbiAgfVxuXG4gIC8qKiBTZXRzIG1heCBob3VyLiAqL1xuICBwcml2YXRlIF9zZXRNYXhIb3VyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXhUaW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWF4SG91ciA9IHRoaXMuX3RpbWVBZGFwdGVyLmdldEhvdXIodGhpcy5tYXhUaW1lKTtcbiAgICB0aGlzLmF2YWlsYWJsZUhvdXJzID0gdGhpcy5hdmFpbGFibGVIb3Vycy5maWx0ZXIoKGgpID0+IGggPD0gbWF4SG91cik7XG4gIH1cblxuICAvKiogU2V0cyBtaW4gbWludXRlLiAqL1xuICBwcml2YXRlIF9zZXRNaW5NaW51dGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkIHx8ICF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNvbnN0IG1pbkhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMubWluVGltZSk7XG5cbiAgICBjb25zdCBtaW5NaW51dGUgPVxuICAgICAgc2VsZWN0ZWRIb3VyID4gbWluSG91ciA/IDAgOiB0aGlzLl90aW1lQWRhcHRlci5nZXRNaW51dGUodGhpcy5taW5UaW1lKTtcblxuICAgIHRoaXMuYXZhaWxhYmxlTWludXRlcyA9IHRoaXMuYXZhaWxhYmxlTWludXRlcy5maWx0ZXIoXG4gICAgICAobWludXRlKSA9PiBtaW51dGUgPj0gbWluTWludXRlXG4gICAgKTtcblxuICAgIGlmIChzZWxlY3RlZEhvdXIgPCBtaW5Ib3VyKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICAvKiogU2V0cyBtYXggbWludXRlLiAqL1xuICBwcml2YXRlIF9zZXRNYXhNaW51dGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkIHx8ICF0aGlzLm1heFRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNvbnN0IG1heEhvdXIgPSB0aGlzLl90aW1lQWRhcHRlci5nZXRIb3VyKHRoaXMubWF4VGltZSk7XG5cbiAgICBjb25zdCBtYXhNaW51dGUgPVxuICAgICAgc2VsZWN0ZWRIb3VyIDwgbWF4SG91ciA/IDU5IDogdGhpcy5fdGltZUFkYXB0ZXIuZ2V0TWludXRlKHRoaXMubWF4VGltZSk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMgPSB0aGlzLmF2YWlsYWJsZU1pbnV0ZXMuZmlsdGVyKFxuICAgICAgKG1pbnV0ZSkgPT4gbWludXRlIDw9IG1heE1pbnV0ZVxuICAgICk7XG5cbiAgICBpZiAoc2VsZWN0ZWRIb3VyID4gbWF4SG91cikge1xuICAgICAgdGhpcy5hdmFpbGFibGVNaW51dGVzID0gW107XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgZGlzYWJsZWQgcGVyaW9kLiAqL1xuICBwcml2YXRlIF9zZXREaXNhYmxlZFBlcmlvZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW5UaW1lKSB7XG4gICAgICBjb25zdCBtaW5Ib3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1pblRpbWUpO1xuXG4gICAgICBpZiAobWluSG91ciA+PSAxMikge1xuICAgICAgICB0aGlzLmRpc2FibGVkUGVyaW9kID0gJ2FtJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXhUaW1lKSB7XG4gICAgICBjb25zdCBtYXhIb3VyID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1heFRpbWUpO1xuICAgICAgY29uc3QgbWF4TWludXRlID0gdGhpcy5fdGltZUFkYXB0ZXIuZ2V0SG91cih0aGlzLm1heFRpbWUpO1xuXG4gICAgICBpZiAobWF4SG91ciA8IDEyIHx8IChtYXhIb3VyID09PSAxMiAmJiBtYXhNaW51dGUgPT09IDApKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWRQZXJpb2QgPSAncG0nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Input, Output, EventEmitter, Directive, Inject, } from '@angular/core';
|
|
2
|
+
import { Input, Output, EventEmitter, Directive, Inject, HostListener, } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export function withZeroPrefix(value) {
|
|
5
5
|
return value < 10 ? `0${value}` : `${value}`;
|
|
@@ -8,6 +8,18 @@ export function withZeroPrefixMeridiem(value, isMeridiem) {
|
|
|
8
8
|
const newValue = isMeridiem && value === 0 ? 12 : value;
|
|
9
9
|
return withZeroPrefix(newValue);
|
|
10
10
|
}
|
|
11
|
+
const DIGIT_KEYS = [
|
|
12
|
+
'Digit0',
|
|
13
|
+
'Digit1',
|
|
14
|
+
'Digit2',
|
|
15
|
+
'Digit3',
|
|
16
|
+
'Digit4',
|
|
17
|
+
'Digit5',
|
|
18
|
+
'Digit6',
|
|
19
|
+
'Digit7',
|
|
20
|
+
'Digit8',
|
|
21
|
+
'Digit9',
|
|
22
|
+
];
|
|
11
23
|
export class MatTimeInputBase {
|
|
12
24
|
get value() {
|
|
13
25
|
return this._value;
|
|
@@ -22,6 +34,11 @@ export class MatTimeInputBase {
|
|
|
22
34
|
this.setInputPlaceholder(this._value);
|
|
23
35
|
}, 0);
|
|
24
36
|
}
|
|
37
|
+
_keydown(event) {
|
|
38
|
+
if (!DIGIT_KEYS.includes(event.code)) {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
25
42
|
get inputElement() {
|
|
26
43
|
return this.element.nativeElement;
|
|
27
44
|
}
|
|
@@ -58,7 +75,7 @@ export class MatTimeInputBase {
|
|
|
58
75
|
this._cdr.markForCheck();
|
|
59
76
|
}
|
|
60
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MatTimeInputBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
61
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: MatTimeInputBase, inputs: { value: "value" }, outputs: { timeChanged: "timeChanged" }, ngImport: i0 }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: MatTimeInputBase, inputs: { value: "value" }, outputs: { timeChanged: "timeChanged" }, host: { listeners: { "keydown": "_keydown($event)" } }, ngImport: i0 }); }
|
|
62
79
|
}
|
|
63
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MatTimeInputBase, decorators: [{
|
|
64
81
|
type: Directive
|
|
@@ -69,5 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
69
86
|
type: Input
|
|
70
87
|
}], timeChanged: [{
|
|
71
88
|
type: Output
|
|
89
|
+
}], _keydown: [{
|
|
90
|
+
type: HostListener,
|
|
91
|
+
args: ['keydown', ['$event']]
|
|
72
92
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBR1QsTUFBTSxFQUVOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7QUFFdkIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFhO0lBQzFDLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxVQUFtQjtJQUN2RSxNQUFNLFFBQVEsR0FBRyxVQUFVLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFeEQsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7Q0FDVCxDQUFDO0FBR0YsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QscURBQXFEO1FBQ3JELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFLb0MsUUFBUSxDQUFDLEtBQW9CO1FBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWlDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDdEUsQ0FBQztJQUVELFlBQ1UsT0FBcUMsRUFDckMsSUFBdUIsRUFDTCxTQUFtQjtRQUZyQyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFuQnJDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQW9CaEQsQ0FBQztJQUVKLEtBQUs7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUM3QixRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQ3ZFLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWxFbUIsZ0JBQWdCLDZFQW9DMUIsUUFBUTtrR0FwQ0UsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQURyQyxTQUFTOzswQkFxQ0wsTUFBTTsyQkFBQyxRQUFROzRDQWxDZCxLQUFLO3NCQURSLEtBQUs7Z0JBZ0JJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRThCLFFBQVE7c0JBQTVDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBJbmplY3QsXG4gIFNlbGYsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoWmVyb1ByZWZpeCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlIDwgMTAgPyBgMCR7dmFsdWV9YCA6IGAke3ZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoWmVyb1ByZWZpeE1lcmlkaWVtKHZhbHVlOiBudW1iZXIsIGlzTWVyaWRpZW06IGJvb2xlYW4pOiBzdHJpbmcge1xuICBjb25zdCBuZXdWYWx1ZSA9IGlzTWVyaWRpZW0gJiYgdmFsdWUgPT09IDAgPyAxMiA6IHZhbHVlO1xuXG4gIHJldHVybiB3aXRoWmVyb1ByZWZpeChuZXdWYWx1ZSk7XG59XG5cbmNvbnN0IERJR0lUX0tFWVMgPSBbXG4gICdEaWdpdDAnLFxuICAnRGlnaXQxJyxcbiAgJ0RpZ2l0MicsXG4gICdEaWdpdDMnLFxuICAnRGlnaXQ0JyxcbiAgJ0RpZ2l0NScsXG4gICdEaWdpdDYnLFxuICAnRGlnaXQ3JyxcbiAgJ0RpZ2l0OCcsXG4gICdEaWdpdDknLFxuXTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWF0VGltZUlucHV0QmFzZSB7XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgaWYgKCF0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cbiAgICAvLyB3ZSBuZWVkIHRpbWVvdXQgaGVyZSB0byBzZXQgcGxhY2Vob2xkZXIgZmlyc3QgdGltZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRJbnB1dFBsYWNlaG9sZGVyKHRoaXMuX3ZhbHVlKTtcbiAgICB9LCAwKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSB0aW1lQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBfa2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICghRElHSVRfS0VZUy5pbmNsdWRlcyhldmVudC5jb2RlKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5wdXRFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICB9XG5cbiAgZ2V0IGhhc0ZvY3VzKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICkge31cblxuICBmb2N1cygpIHtcbiAgICB0aGlzLnNldElucHV0VmFsdWUobnVsbCk7XG4gIH1cblxuICBibHVyKCkge1xuICAgIGNvbnN0IGlzTnVtYmVyID0gIWlzTmFOKE51bWJlcih0aGlzLmlucHV0RWxlbWVudC52YWx1ZSkpO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZm9ybWF0VmFsdWUoXG4gICAgICBpc051bWJlciA/IE51bWJlcih0aGlzLmlucHV0RWxlbWVudC52YWx1ZSB8fCB0aGlzLl92YWx1ZSkgOiB0aGlzLnZhbHVlLFxuICAgICk7XG4gICAgdGhpcy5zZXRJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnNldElucHV0UGxhY2Vob2xkZXIodmFsdWUpO1xuICAgIHRoaXMudGltZUNoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBzZXRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3dpdGhaZXJvUHJlZml4KHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZXRJbnB1dFBsYWNlaG9sZGVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmlucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMuX3dpdGhaZXJvUHJlZml4KHZhbHVlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhYnN0cmFjdCBfd2l0aFplcm9QcmVmaXgodmFsdWU6IG51bWJlcik6IHN0cmluZztcblxuICBhYnN0cmFjdCBfZm9ybWF0VmFsdWUodmFsdWU6IG51bWJlcik6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,8 @@ import { ChangeDetectionStrategy, Component, Directive, TemplateRef, ViewChild,
|
|
|
3
3
|
import { mixinColor } from '@angular/material/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./timepicker-base";
|
|
6
|
-
import * as i2 from "
|
|
6
|
+
import * as i2 from "./timepicker-intl";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
7
8
|
/** Button that will close the timepicker and assign the current selection to the data model. */
|
|
8
9
|
export class MatTimepickerApply {
|
|
9
10
|
constructor(_timepicker) {
|
|
@@ -99,32 +100,41 @@ const _MatTimepickerDefaultActions = mixinColor(class {
|
|
|
99
100
|
* Default action buttons to the bottom of a timepicker.
|
|
100
101
|
*/
|
|
101
102
|
export class MatTimepickerDefaultActions extends _MatTimepickerDefaultActions {
|
|
102
|
-
constructor(elementRef, _timepicker) {
|
|
103
|
+
constructor(elementRef, _timepicker, _intl) {
|
|
103
104
|
super(elementRef);
|
|
104
105
|
this._timepicker = _timepicker;
|
|
106
|
+
this._intl = _intl;
|
|
105
107
|
}
|
|
106
108
|
ngOnInit() {
|
|
107
109
|
this.color = this._timepicker.color;
|
|
108
110
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MatTimepickerDefaultActions, deps: [{ token: i0.ElementRef }, { token: i1.MatTimepickerBase }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MatTimepickerDefaultActions, deps: [{ token: i0.ElementRef }, { token: i1.MatTimepickerBase }, { token: i2.MatTimepickerIntl }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
112
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: MatTimepickerDefaultActions, selector: "mat-timepicker-default-actions", host: { classAttribute: "mat-timepicker-actions-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
111
113
|
<div class="mat-timepicker-actions">
|
|
112
114
|
<ng-content></ng-content>
|
|
113
|
-
<button [color]="color" mat-button matTimepickerCancel>
|
|
114
|
-
|
|
115
|
+
<button [color]="color" mat-button matTimepickerCancel>
|
|
116
|
+
{{ _intl.cancelButton }}
|
|
117
|
+
</button>
|
|
118
|
+
<button [color]="color" mat-button matTimepickerApply>
|
|
119
|
+
{{ _intl.okButton }}
|
|
120
|
+
</button>
|
|
115
121
|
</div>
|
|
116
|
-
`, isInline: true, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"], dependencies: [{ kind: "component", type:
|
|
122
|
+
`, isInline: true, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: MatTimepickerApply, selector: "[matTimepickerApply]" }, { kind: "directive", type: MatTimepickerCancel, selector: "[matTimepickerCancel]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
117
123
|
}
|
|
118
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: MatTimepickerDefaultActions, decorators: [{
|
|
119
125
|
type: Component,
|
|
120
126
|
args: [{ selector: 'mat-timepicker-default-actions', template: `
|
|
121
127
|
<div class="mat-timepicker-actions">
|
|
122
128
|
<ng-content></ng-content>
|
|
123
|
-
<button [color]="color" mat-button matTimepickerCancel>
|
|
124
|
-
|
|
129
|
+
<button [color]="color" mat-button matTimepickerCancel>
|
|
130
|
+
{{ _intl.cancelButton }}
|
|
131
|
+
</button>
|
|
132
|
+
<button [color]="color" mat-button matTimepickerApply>
|
|
133
|
+
{{ _intl.okButton }}
|
|
134
|
+
</button>
|
|
125
135
|
</div>
|
|
126
136
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
127
137
|
class: 'mat-timepicker-actions-container',
|
|
128
138
|
}, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"] }]
|
|
129
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatTimepickerBase }]; } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatTimepickerBase }, { type: i2.MatTimepickerIntl }]; } });
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lcGlja2VyLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFJVCxXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBR3BELGdHQUFnRztBQU9oRyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsV0FBa0U7UUFBbEUsZ0JBQVcsR0FBWCxXQUFXLENBQXVEO0lBQ3pFLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FSVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLG1CQUFtQjtxQkFDL0I7aUJBQ0Y7O0FBWUQsK0VBQStFO0FBTy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDVSxXQUFrRTtRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBdUQ7SUFDekUsQ0FBQztJQUVKLEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBUFUsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxTQUFTO3FCQUNyQjtpQkFDRjs7QUFXRDs7O0dBR0c7QUFpQkgsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUNVLFdBQWtFLEVBQ2xFLGlCQUFtQztRQURuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBdUQ7UUFDbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUMxQyxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0Msd0VBQXdFO1FBQ3hFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs4R0F0QlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsdUtBQ3BCLFdBQVcsZ0RBZFo7Ozs7OztHQU1UOzsyRkFPVSxvQkFBb0I7a0JBaEJoQyxTQUFTOytCQUNFLHdCQUF3QixZQUV4Qjs7Ozs7O0dBTVQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGtDQUFrQztxQkFDMUM7dUlBR3VCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVzs7QUF3QnhCLGtFQUFrRTtBQUNsRSxNQUFNLDRCQUE0QixHQUFHLFVBQVUsQ0FDN0M7SUFDRSxZQUFtQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7Q0FDL0MsQ0FDRixDQUFDO0FBRUY7O0dBRUc7QUFxQkgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsNEJBQTRCO0lBR3BDLFlBQ0UsVUFBc0IsRUFDZCxXQUFrRSxFQUNuRSxLQUF3QjtRQUUvQixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFIVixnQkFBVyxHQUFYLFdBQVcsQ0FBdUQ7UUFDbkUsVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFHakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7OEdBZFUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMkpBakI1Qjs7Ozs7Ozs7OztHQVVULCtiQWhHVSxrQkFBa0IsaUVBa0JsQixtQkFBbUI7OzJGQXFGbkIsMkJBQTJCO2tCQXBCdkMsU0FBUzsrQkFDRSxnQ0FBZ0MsWUFFaEM7Ozs7Ozs7Ozs7R0FVVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFRpbWVwaWNrZXJCYXNlLCBNYXRUaW1lcGlja2VyQ29udHJvbCB9IGZyb20gJy4vdGltZXBpY2tlci1iYXNlJztcbmltcG9ydCB7IG1peGluQ29sb3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdFRpbWVwaWNrZXJJbnRsIH0gZnJvbSAnLi90aW1lcGlja2VyLWludGwnO1xuXG4vKiogQnV0dG9uIHRoYXQgd2lsbCBjbG9zZSB0aGUgdGltZXBpY2tlciBhbmQgYXNzaWduIHRoZSBjdXJyZW50IHNlbGVjdGlvbiB0byB0aGUgZGF0YSBtb2RlbC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYXRUaW1lcGlja2VyQXBwbHldJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ19hcHBseVNlbGVjdGlvbigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGltZXBpY2tlckFwcGx5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdGltZXBpY2tlcjogTWF0VGltZXBpY2tlckJhc2U8TWF0VGltZXBpY2tlckNvbnRyb2w8YW55PiwgdW5rbm93bj4sXG4gICkge31cblxuICBfYXBwbHlTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5fdGltZXBpY2tlci5fYXBwbHlQZW5kaW5nU2VsZWN0aW9uKCk7XG4gICAgdGhpcy5fdGltZXBpY2tlci5jbG9zZSgpO1xuICB9XG59XG5cbi8qKiBCdXR0b24gdGhhdCB3aWxsIGNsb3NlIHRoZSB0aW1lcGlja2VyIGFuZCBkaXNjYXJkIHRoZSBjdXJyZW50IHNlbGVjdGlvbi4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYXRUaW1lcGlja2VyQ2FuY2VsXScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdjbG9zZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGltZXBpY2tlckNhbmNlbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3RpbWVwaWNrZXI6IE1hdFRpbWVwaWNrZXJCYXNlPE1hdFRpbWVwaWNrZXJDb250cm9sPGFueT4sIHVua25vd24+LFxuICApIHt9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5fdGltZXBpY2tlci5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogQ29udGFpbmVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcHJvamVjdCBhIHJvdyBvZiBhY3Rpb24gYnV0dG9uc1xuICogdG8gdGhlIGJvdHRvbSBvZiBhIHRpbWVwaWNrZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC10aW1lcGlja2VyLWFjdGlvbnMnLFxuICBzdHlsZVVybHM6IFsndGltZXBpY2tlci1hY3Rpb25zLnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LXRpbWVwaWNrZXItYWN0aW9uc1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0LXRpbWVwaWNrZXItYWN0aW9ucy1jb250YWluZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNYXRUaW1lcGlja2VyQWN0aW9ucyBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgcHJpdmF0ZSBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF90aW1lcGlja2VyOiBNYXRUaW1lcGlja2VyQmFzZTxNYXRUaW1lcGlja2VyQ29udHJvbDxhbnk+LCB1bmtub3duPixcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl90ZW1wbGF0ZSwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5fdGltZXBpY2tlci5yZWdpc3RlckFjdGlvbnModGhpcy5fcG9ydGFsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3RpbWVwaWNrZXIucmVtb3ZlQWN0aW9ucyh0aGlzLl9wb3J0YWwpO1xuXG4gICAgLy8gTmVlZHMgdG8gYmUgbnVsbCBjaGVja2VkIHNpbmNlIHdlIGluaXRpYWxpemUgaXQgaW4gYG5nQWZ0ZXJWaWV3SW5pdGAuXG4gICAgaWYgKHRoaXMuX3BvcnRhbCAmJiB0aGlzLl9wb3J0YWwuaXNBdHRhY2hlZCkge1xuICAgICAgdGhpcy5fcG9ydGFsPy5kZXRhY2goKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQm9pbGVycGxhdGUgZm9yIGFwcGx5aW5nIG1peGlucyB0byBNYXRUaW1lcGlja2VyRGVmYXVsdEFjdGlvbnMuXG5jb25zdCBfTWF0VGltZXBpY2tlckRlZmF1bHRBY3Rpb25zID0gbWl4aW5Db2xvcihcbiAgY2xhc3Mge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbiAgfSxcbik7XG5cbi8qKlxuICogRGVmYXVsdCBhY3Rpb24gYnV0dG9ucyB0byB0aGUgYm90dG9tIG9mIGEgdGltZXBpY2tlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LXRpbWVwaWNrZXItZGVmYXVsdC1hY3Rpb25zJyxcbiAgc3R5bGVVcmxzOiBbJ3RpbWVwaWNrZXItYWN0aW9ucy5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1hdC10aW1lcGlja2VyLWFjdGlvbnNcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxidXR0b24gW2NvbG9yXT1cImNvbG9yXCIgbWF0LWJ1dHRvbiBtYXRUaW1lcGlja2VyQ2FuY2VsPlxuICAgICAgICB7eyBfaW50bC5jYW5jZWxCdXR0b24gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBbY29sb3JdPVwiY29sb3JcIiBtYXQtYnV0dG9uIG1hdFRpbWVwaWNrZXJBcHBseT5cbiAgICAgICAge3sgX2ludGwub2tCdXR0b24gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0LXRpbWVwaWNrZXItYWN0aW9ucy1jb250YWluZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNYXRUaW1lcGlja2VyRGVmYXVsdEFjdGlvbnNcbiAgZXh0ZW5kcyBfTWF0VGltZXBpY2tlckRlZmF1bHRBY3Rpb25zXG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfdGltZXBpY2tlcjogTWF0VGltZXBpY2tlckJhc2U8TWF0VGltZXBpY2tlckNvbnRyb2w8YW55PiwgdW5rbm93bj4sXG4gICAgcHVibGljIF9pbnRsOiBNYXRUaW1lcGlja2VySW50bCxcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbG9yID0gdGhpcy5fdGltZXBpY2tlci5jb2xvcjtcbiAgfVxufVxuIl19
|
|
@@ -26,7 +26,9 @@ let timepickerUid = 0;
|
|
|
26
26
|
export class MatTimepickerBase {
|
|
27
27
|
/** Whether the timepicker pop-up should be disabled. */
|
|
28
28
|
get disabled() {
|
|
29
|
-
return this._disabled
|
|
29
|
+
return this._disabled === undefined && this.timepickerInput
|
|
30
|
+
? this.timepickerInput.disabled
|
|
31
|
+
: !!this._disabled;
|
|
30
32
|
}
|
|
31
33
|
set disabled(value) {
|
|
32
34
|
const newValue = coerceBooleanProperty(value);
|
|
@@ -390,4 +392,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
390
392
|
type: Output,
|
|
391
393
|
args: ['closed']
|
|
392
394
|
}] } });
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lcGlja2VyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFHTCxTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBSVosY0FBYyxFQUNkLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxpQ0FBaUMsRUFFakMsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLFFBQVEsR0FDVCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQTJEbkU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQ3pDLElBQUksY0FBYyxDQUNoQixnQ0FBZ0MsQ0FDakMsQ0FBQztBQUVKLDhDQUE4QztBQUM5QyxNQUFNLGVBQWUsR0FBcUIsT0FBTyxDQUFDO0FBRWxELDJDQUEyQztBQUMzQyxNQUFNLFlBQVksR0FBbUIsTUFBTSxDQUFDO0FB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V0YsS0FBSztzQkFEUixLQUFLO2dCQWlCRixJQUFJO3NCQURQLEtBQUs7Z0JBV0YsTUFBTTtzQkFEVCxLQUFLO2dCQVdGLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFXRixjQUFjO3NCQURqQixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUlxQixZQUFZO3NCQUF0QyxNQUFNO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgQ29tcG9uZW50UmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBEaXJlY3RpdmUsXG4gIE5nWm9uZSxcbiAgSW5qZWN0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBCb29sZWFuSW5wdXQsXG4gIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSxcbiAgY29lcmNlTnVtYmVyUHJvcGVydHksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbFN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDb21wb25lbnRQb3J0YWwsXG4gIENvbXBvbmVudFR5cGUsXG4gIFRlbXBsYXRlUG9ydGFsLFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERPV05fQVJST1csXG4gIEVTQ0FQRSxcbiAgaGFzTW9kaWZpZXJLZXksXG4gIExFRlRfQVJST1csXG4gIFBBR0VfRE9XTixcbiAgUEFHRV9VUCxcbiAgUklHSFRfQVJST1csXG4gIFVQX0FSUk9XLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWF0VGltZXBpY2tlckNvbnRlbnQgfSBmcm9tICcuL3RpbWVwaWNrZXItY29udGVudCc7XG5pbXBvcnQgeyBNQVRfVElNRVBJQ0tFUl9TQ1JPTExfU1RSQVRFR1kgfSBmcm9tICcuL3RpbWVwaWNrZXItc2Nyb2xsLXN0cmF0ZWd5JztcbmltcG9ydCB7XG4gIEV4dHJhY3RUaW1lVHlwZUZyb21TZWxlY3Rpb24sXG4gIE1hdFRpbWVTZWxlY3Rpb25Nb2RlbCxcbn0gZnJvbSAnLi90aW1lLXNlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBNQVRfREVGQVVMVF9BQ0lUT05TIH0gZnJvbSAnLi90aW1lcGlja2VyLWFjdGlvbnMtZGVmYXVsdCc7XG5pbXBvcnQgeyBUaW1lcGlja2VyT3JpZW50YXRpb24gfSBmcm9tICcuL29yaWVudGF0aW9uJztcblxuLyoqIFBvc3NpYmxlIG9wdGlvbnMgZm9yIHRoZSB0aW1lcGlja2VyIHRvIG9wZW4uICovXG5leHBvcnQgdHlwZSBUaW1lcGlja2VyT3BlbkFzID0gJ2RpYWxvZycgfCAncG9wdXAnO1xuXG4vKiogUG9zc2libGUgcG9zaXRpb25zIGZvciB0aGUgdGltZXBpY2tlciBkcm9wZG93biBhbG9uZyB0aGUgWCBheGlzLiAqL1xuZXhwb3J0IHR5cGUgVGltZXBpY2tlckRyb3Bkb3duUG9zaXRpb25YID0gJ3N0YXJ0JyB8ICdlbmQnO1xuXG4vKiogUG9zc2libGUgcG9zaXRpb25zIGZvciB0aGUgdGltZXBpY2tlciBkcm9wZG93biBhbG9uZyB0aGUgWSBheGlzLiAqL1xuZXhwb3J0IHR5cGUgVGltZXBpY2tlckRyb3Bkb3duUG9zaXRpb25ZID0gJ2Fib3ZlJyB8ICdiZWxvdyc7XG5cbi8qKiBQb3NzaWJsZSBvcHRpb25zIGZvciB0aGUgdGltZXBpY2tlciB0byBkaXNwbGF5LiAqL1xuZXhwb3J0IHR5cGUgVGltZXBpY2tlck1vZGUgPSAnaW5wdXQnIHwgJ2RpYWwnO1xuXG4vKiogUG9zc2libGUgb3B0aW9ucyBmb3IgdGhlIHRpbWVwaWNrZXIgcGVyaW9kIGZvcm1hdC4gKi9cbmV4cG9ydCB0eXBlIFRpbWVwaWNrZXJGb3JtYXQgPSAnMTJoJyB8ICcyNGgnO1xuXG4vKiogRm9ybSBjb250cm9sIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIHRpbWVwaWNrZXIuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdFRpbWVwaWNrZXJDb250cm9sPFQ+IHtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1pbjogVCB8IG51bGw7XG4gIG1heDogVCB8IG51bGw7XG4gIGdldFRoZW1lUGFsZXR0ZSgpOiBUaGVtZVBhbGV0dGU7XG4gIGdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTogRWxlbWVudFJlZjtcbiAgZ2V0T3ZlcmxheUxhYmVsSWQoKTogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqIEEgdGltZXBpY2tlciB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhIHtAbGluayBNYXRUaW1lcGlja2VyQ29udHJvbH0uICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdFRpbWVwaWNrZXJQYW5lbDxcbiAgQyBleHRlbmRzIE1hdFRpbWVwaWNrZXJDb250cm9sPFQ+LFxuICBTLFxuICBUID0gRXh0cmFjdFRpbWVUeXBlRnJvbVNlbGVjdGlvbjxTPlxuPiB7XG4gIC8qKiBSZWdpc3RlciBhbiBpbnB1dCB3aXRoIHRoZSB0aW1lZXBpY2tlci4gKi9cbiAgcmVnaXN0ZXJJbnB1dChpbnB1dDogQyk6IE1hdFRpbWVTZWxlY3Rpb25Nb2RlbDxTLCBUPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBmb3JtIGZpZWxkIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWRcbiAqIHVzaW5nIHRoZSBgTUFUX1RJTUVQSUNLRVJfREVGQVVMVF9PUFRJT05TYCBpbmplY3Rpb24gdG9rZW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF0VGltZXBpY2tlckRlZmF1bHRPcHRpb25zIHtcbiAgLyoqIERlZmF1bHQgY29sb3Igb2YgdGhlIHRpbWVwaWNrZXIuICovXG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xuICAvKiogRGVmYXVsdCB0aW1lcGlja2VyIG1vZGUuICovXG4gIG1vZGU6IFRpbWVwaWNrZXJNb2RlO1xuICAvKiogRGVmaW5lcyBob3cgdGltZXBpY2tlciB3aWxsIGJlIGFwcGVhcmVkLiAqL1xuICBvcGVuQXM6IFRpbWVwaWNrZXJPcGVuQXM7XG4gIC8qKiBEZWZhdWx0IHRpbWVwaWNrZXIgZm9ybWF0LiAqL1xuICBmb3JtYXQ6IFRpbWVwaWNrZXJGb3JtYXQ7XG4gIC8qKiBTaG91bGQgdG9nZ2xlIGZhY2UgYnV0dG9uIGJlIHZpc2libGUuICovXG4gIHNob3dUb2dnbGVNb2RlQnV0dG9uOiBib29sZWFuO1xuICAvKiogU3RlcCBmb3IgbWludXRlcy4gKi9cbiAgbWludXRlSW50ZXJ2YWw6IG51bWJlcjtcbiAgLyoqIE9yaWVudGF0aW9uIGZvciBkaWFsIG1vZGUuICovXG4gIG9yaWVudGF0aW9uOiBUaW1lcGlja2VyT3JpZW50YXRpb247XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29uZmlndXJlIHRoZVxuICogZGVmYXVsdCBvcHRpb25zIGZvciBhbGwgdGltZXBpY2tlcnMgd2l0aGluIGFuIGFwcC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9USU1FUElDS0VSX0RFRkFVTFRfT1BUSU9OUyA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxNYXRUaW1lcGlja2VyRGVmYXVsdE9wdGlvbnM+KFxuICAgICdNQVRfVElNRVBJQ0tFUl9ERUZBVUxUX09QVElPTlMnXG4gICk7XG5cbi8qKiBEZWZhdWx0IG9wZW4gYXMgdXNlZCBieSB0aGUgdGltZXBpY2tlci4gKi9cbmNvbnN0IERFRkFVTFRfT1BFTl9BUzogVGltZXBpY2tlck9wZW5BcyA9ICdwb3B1cCc7XG5cbi8qKiBEZWZhdWx0IG1vZGUgdXNlZCBieSB0aGUgdGltZXBpY2tlci4gKi9cbmNvbnN0IERFRkFVTFRfTU9ERTogVGltZXBpY2tlck1vZGUgPSAnZGlhbCc7XG5cbi8qKiBEZWZhdWx0IGZvcm1hdCB1c2VkIGJ5IHRoZSB0aW1lcGlja2VyLiAqL1xuY29uc3QgREVGQVVMVF9GT1JNQVQ6IFRpbWVwaWNrZXJGb3JtYXQgPSAnMTJoJztcblxuLyoqIFVzZWQgdG8gZ2VuZXJhdGUgYSB1bmlxdWUgSUQgZm9yIGVhY2ggdGltZXBpY2tlciBpbnN0YW5jZS4gKi9cbmxldCB0aW1lcGlja2VyVWlkID0gMDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWF0VGltZXBpY2tlckJhc2U8XG4gIEMgZXh0ZW5kcyBNYXRUaW1lcGlja2VyQ29udHJvbDxUPixcbiAgUyxcbiAgVCA9IEV4dHJhY3RUaW1lVHlwZUZyb21TZWxlY3Rpb248Uz5cbj4gaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgLyoqIFdoZXRoZXIgdGhlIHRpbWVwaWNrZXIgcG9wLXVwIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0aW1lcGlja2VyIGlzIG9wZW4uICovXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5lZDtcbiAgfVxuICBzZXQgb3BlbmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpID8gdGhpcy5vcGVuKCkgOiB0aGlzLmNsb3NlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRpbWVwaWNrZXIgbW9kZSB3aGljaCBkZXRlcm1pbmVzIHdoYXQgdGhlIHRpbWVwaWNrZXIgd2lsbCBiZSBvcGVuZWQgYXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuQXMoKTogVGltZXBpY2tlck9wZW5BcyB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5BcyB8fCB0aGlzLl9kZWZhdWx0cz8ub3BlbkFzIHx8IERFRkFVTFRfT1BFTl9BUztcbiAgfVxuICBzZXQgb3BlbkFzKHZhbHVlOiBUaW1lcGlja2VyT3BlbkFzKSB7XG4gICAgdGhpcy5fb3BlbkFzID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkFzOiBUaW1lcGlja2VyT3BlbkFzO1xuXG4gIC8qKiBDb2xvciBwYWxldHRlIHRvIHVzZSBvbiB0aGUgdGltZXBpY2tlcidzIGNvbnRlbnQuICovXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9jb2xvciB8fFxuICAgICAgdGhpcy5fZGVmYXVsdHM/LmNvbG9yIHx8XG4gICAgICAodGhpcy50aW1lcGlja2VySW5wdXRcbiAgICAgICAgPyB0aGlzLnRpbWVwaWNrZXJJbnB1dC5nZXRUaGVtZVBhbGV0dGUoKVxuICAgICAgICA6IHVuZGVmaW5lZClcbiAgICApO1xuICB9XG4gIHNldCBjb2xvcih2YWx1ZTogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXG4gIC8qKiBUaW1lcGlja2VyIGRpc3BsYXkgbW9kZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1vZGUoKTogVGltZXBpY2tlck1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlIHx8IHRoaXMuX2RlZmF1bHRzPy5tb2RlIHx8IERFRkFVTFRfTU9ERTtcbiAgfVxuICBzZXQgbW9kZSh2YWx1ZTogVGltZXBpY2tlck1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbW9kZTogVGltZXBpY2tlck1vZGU7XG5cbiAgLyoqIFRpbWVwaWNrZXIgcGVyaW9kIGZvcm1hdC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IGZvcm1hdCgpOiBUaW1lcGlja2VyRm9ybWF0IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0IHx8IHRoaXMuX2RlZmF1bHRzPy5mb3JtYXQgfHwgREVGQVVMVF9GT1JNQVQ7XG4gIH1cbiAgc2V0IGZvcm1hdCh2YWx1ZTogVGltZXBpY2tlckZvcm1hdCkge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2Zvcm1hdDogVGltZXBpY2tlckZvcm1hdDtcblxuICAvKiogU2hvdyBvciBoaWRlIHRvZ2dsZSBidXR0b24gYmV0d2VlbiBkaWFsIGFuZCBpbnB1dC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHNob3dUb2dnbGVNb2RlQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93VG9nZ2xlTW9kZUJ1dHRvbjtcbiAgfVxuICBzZXQgc2hvd1RvZ2dsZU1vZGVCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93VG9nZ2xlTW9kZUJ1dHRvbiA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3Nob3dUb2dnbGVNb2RlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU3RlcCBmb3IgbWludXRlcy4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pbnV0ZUludGVydmFsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZUludGVydmFsIHx8IHRoaXMuX2RlZmF1bHRzPy5taW51dGVJbnRlcnZhbCB8fCAxO1xuICB9XG4gIHNldCBtaW51dGVJbnRlcnZhbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWludXRlSW50ZXJ2YWwgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWludXRlSW50ZXJ2YWw6IG51bWJlcjtcblxuICAvKiogT3JpZW50YXRpb24gZm9yIGRpYWwgbW9kZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG9yaWVudGF0aW9uKCk6IFRpbWVwaWNrZXJPcmllbnRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uIHx8IHRoaXMuX2RlZmF1bHRzPy5vcmllbnRhdGlvbiB8fCAndmVydGljYWwnO1xuICB9XG4gIHNldCBvcmllbnRhdGlvbih2YWx1ZTogVGltZXBpY2tlck9yaWVudGF0aW9uKSB7XG4gICAgdGhpcy5fb3JpZW50YXRpb24gPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9vcmllbnRhdGlvbjogVGltZXBpY2tlck9yaWVudGF0aW9uO1xuXG4gIC8qKiBQcmVmZXJyZWQgcG9zaXRpb24gb2YgdGhlIHRpbWVwaWNrZXIgaW4gdGhlIFggYXhpcy4gKi9cbiAgQElucHV0KClcbiAgeFBvc2l0aW9uOiBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblggPSAnc3RhcnQnO1xuXG4gIC8qKiBQcmVmZXJyZWQgcG9zaXRpb24gb2YgdGhlIHRpbWVwaWNrZXIgaW4gdGhlIFkgYXhpcy4gKi9cbiAgQElucHV0KClcbiAgeVBvc2l0aW9uOiBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblkgPSAnYmVsb3cnO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSB0aW1lcGlja2VyIGhhcyBiZWVuIGNsb3NlZC4gKi9cbiAgQE91dHB1dCgnY2xvc2VkJykgcmVhZG9ubHkgY2xvc2VkU3RyZWFtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBUaGUgaWQgZm9yIHRoZSB0aW1lcGlja2VyLiAqL1xuICBpZDogc3RyaW5nID0gYG1hdC10aW1lcGlja2VyLSR7dGltZXBpY2tlclVpZCsrfWA7XG5cbiAgLyoqIFRoZSBpbnB1dCBlbGVtZW50IHRoaXMgdGltZXBpY2tlciBpcyBhc3NvY2lhdGVkIHdpdGguICovXG4gIHRpbWVwaWNrZXJJbnB1dCE6IEM7XG5cbiAgLyoqIFBvcnRhbCB3aXRoIHByb2plY3RlZCBhY3Rpb24gYnV0dG9ucy4gKi9cbiAgX2FjdGlvbnNQb3J0YWw6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IGludG8gd2hpY2ggd2UndmUgcmVuZGVyZWQgdGhlIHRpbWVwaWNrZXIuICovXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBpbnN0YW5jZSByZW5kZXJlZCBpbiB0aGUgb3ZlcmxheS4gKi9cbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmITogQ29tcG9uZW50UmVmPE1hdFRpbWVwaWNrZXJDb250ZW50PFMsIFQ+PiB8IG51bGw7XG5cbiAgLyoqIFVuaXF1ZSBjbGFzcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGJhY2tkcm9wIHNvIHRoYXQgdGhlIHRlc3QgaGFybmVzc2VzIGNhbiBsb29rIGl0IHVwLiAqL1xuICBwcml2YXRlIF9iYWNrZHJvcEhhcm5lc3NDbGFzcyA9IGAke3RoaXMuaWR9LWJhY2tkcm9wYDtcblxuICAvKiogU2Nyb2xsIHN0cmF0ZWd5LiAqL1xuICBwcml2YXRlIF9zY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgdGltZS4gKi9cbiAgX2dldE1pblRpbWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRpbWVwaWNrZXJJbnB1dCAmJiB0aGlzLnRpbWVwaWNrZXJJbnB1dC5taW47XG4gIH1cblxuICAvKiogVGhlIG1heGltdW0gc2VsZWN0YWJsZSB0aW1lLiAqL1xuICBfZ2V0TWF4VGltZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudGltZXBpY2tlcklucHV0ICYmIHRoaXMudGltZXBpY2tlcklucHV0Lm1heDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KE1BVF9USU1FUElDS0VSX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueSxcbiAgICBASW5qZWN0KE1BVF9ERUZBVUxUX0FDSVRPTlMpXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEFjdGlvbnNDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PixcbiAgICBwcml2YXRlIF9tb2RlbDogTWF0VGltZVNlbGVjdGlvbk1vZGVsPFMsIFQ+LFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChNQVRfVElNRVBJQ0tFUl9ERUZBVUxUX09QVElPTlMpXG4gICAgcHJpdmF0ZSBfZGVmYXVsdHM/OiBNYXRUaW1lcGlja2VyRGVmYXVsdE9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5fc2Nyb2xsU3RyYXRlZ3kgPSBzY3JvbGxTdHJhdGVneTtcblxuICAgIGlmIChfZGVmYXVsdHMpIHtcbiAgICAgIHRoaXMuc2hvd1RvZ2dsZU1vZGVCdXR0b24gPVxuICAgICAgICBfZGVmYXVsdHMuc2hvd1RvZ2dsZU1vZGVCdXR0b24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gX2RlZmF1bHRzLnNob3dUb2dnbGVNb2RlQnV0dG9uXG4gICAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBwb3NpdGlvbkNoYW5nZSA9IGNoYW5nZXNbJ3hQb3NpdGlvbiddIHx8IGNoYW5nZXNbJ3lQb3NpdGlvbiddO1xuXG4gICAgaWYgKHBvc2l0aW9uQ2hhbmdlICYmICFwb3NpdGlvbkNoYW5nZS5maXJzdENoYW5nZSAmJiB0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgICBpZiAocG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIHRpbWVwaWNrZXIuICovXG4gIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW5lZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRpbWVwaWNrZXJJbnB1dCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdBdHRlbXB0ZWQgdG8gb3BlbiBhbiBNYXRUaW1lcGlja2VyIHdpdGggbm8gYXNzb2NpYXRlZCBpbnB1dC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX29wZW5PdmVybGF5KCk7XG4gICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHRpbWVwaWNrZXIuICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3BlbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICBpbnN0YW5jZS5zdGFydEV4aXRBbmltYXRpb24oKTtcbiAgICAgIGluc3RhbmNlLl9hbmltYXRpb25Eb25lXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZGVzdHJveU92ZXJsYXkoKSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGBfb3BlbmVkYCBjb3VsZCd2ZSBiZWVuIHJlc2V0IGFscmVhZHkgaWZcbiAgICAvLyB3ZSBnb3QgdHdvIGV2ZW50cyBpbiBxdWljayBzdWNjZXNzaW9uLlxuICAgIGlmICh0aGlzLl9vcGVuZWQpIHtcbiAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jbG9zZWRTdHJlYW0uZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBpbnB1dCB3aXRoIHRoaXMgdGltZXBpY2tlci5cbiAgICogQHBhcmFtIGlucHV0IFRoZSB0aW1lcGlja2VyIGlucHV0IHRvIHJlZ2lzdGVyIHdpdGggdGhpcyB0aW1lcGlja2VyLlxuICAgKiBAcmV0dXJucyBTZWxlY3Rpb24gbW9kZWwgdGhhdCB0aGUgaW5wdXQgc2hvdWxkIGhvb2sgaXRzZWxmIHVwIHRvLlxuICAgKi9cbiAgcmVnaXN0ZXJJbnB1dChpbnB1dDogQyk6IE1hdFRpbWVTZWxlY3Rpb25Nb2RlbDxTLCBUPiB7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ0EgTWF0VGltZXBpY2tlciBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggYSBzaW5nbGUgaW5wdXQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRpbWVwaWNrZXJJbnB1dCA9IGlucHV0O1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBwb3J0YWwgY29udGFpbmluZyBhY3Rpb24gYnV0dG9ucyB3aXRoIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSByZWdpc3RlcmVkLlxuICAgKi9cbiAgcmVnaXN0ZXJBY3Rpb25zKHBvcnRhbDogVGVtcGxhdGVQb3J0YWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aW9uc1BvcnRhbCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdBIE1hdFRpbWVwaWNrZXIgY2FuIG9ubHkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgc2luZ2xlIGFjdGlvbnMgcm93LidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGlvbnNQb3J0YWwgPSBwb3J0YWw7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZS5fYXNzaWduQWN0aW9ucyhwb3J0YWwsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBwb3J0YWwgY29udGFpbmluZyBhY3Rpb24gYnV0dG9ucyBmcm9tIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSByZW1vdmVkLlxuICAgKi9cbiAgcmVtb3ZlQWN0aW9ucyhwb3J0YWw6IFRlbXBsYXRlUG9ydGFsKTogdm9pZCB7XG4gICAgaWYgKHBvcnRhbCA9PT0gdGhpcy5fYWN0aW9uc1BvcnRhbCkge1xuICAgICAgdGhpcy5fYWN0aW9uc1BvcnRhbCA9IG51bGw7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlLl9hc3NpZ25BY3Rpb25zKG51bGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBsaWVzIHRoZSBjdXJyZW50IHBlbmRpbmcgc2VsZWN0aW9uIG9uIHRoZSBvdmVybGF5IHRvIHRoZSBtb2RlbC4gKi9cbiAgX2FwcGx5UGVuZGluZ1NlbGVjdGlvbigpIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5fYXBwbHlQZW5kaW5nU2VsZWN0aW9uKCk7XG4gIH1cblxuICAvKiogRm9yd2FyZHMgcmVsZXZhbnQgdmFsdWVzIGZyb20gdGhlIHRpbWVwaWNrZXIgdG8gdGhlIHRpbWVwaWNrZXIgY29udGVudCBpbnNpZGUgdGhlIG92ZXJsYXkuICovXG4gIHByb3RlY3RlZCBfZm9yd2FyZENvbnRlbnRWYWx1ZXMoaW5zdGFuY2U6IE1hdFRpbWVwaWNrZXJDb250ZW50PFMsIFQ+KTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fZGVmYXVsdEFjdGlvbnNDb21wb25lbnQpO1xuXG4gICAgaW5zdGFuY2UudGltZXBpY2tlciA9IHRoaXM7XG4gICAgaW5zdGFuY2UuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgIGluc3RhbmNlLm1vZGUgPSB0aGlzLm1vZGU7XG4gICAgaW5zdGFuY2UuaXNNZXJpZGllbSA9IHRoaXMuZm9ybWF0ID09PSAnMTJoJztcbiAgICBpbnN0YW5jZS5zaG93VG9nZ2xlTW9kZUJ1dHRvbiA9IHRoaXMuc2hvd1RvZ2dsZU1vZGVCdXR0b247XG4gICAgaW5zdGFuY2UubWludXRlSW50ZXJ2YWwgPSB0aGlzLm1pbnV0ZUludGVydmFsO1xuICAgIGluc3RhbmNlLm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICBpbnN0YW5jZS5fZGlhbG9nTGFiZWxJZCA9IHRoaXMudGltZXBpY2tlcklucHV0LmdldE92ZXJsYXlMYWJlbElkKCk7XG4gICAgaW5zdGFuY2UuX2Fzc2lnbkFjdGlvbnModGhpcy5fYWN0aW9uc1BvcnRhbCB8fCBkZWZhdWx0UG9ydGFsLCBmYWxzZSk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG92ZXJsYXkgd2l0aCB0aGUgdGltZXBpY2tlci4gKi9cbiAgcHJpdmF0ZSBfb3Blbk92ZXJsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveU92ZXJsYXkoKTtcblxuICAgIGNvbnN0IGlzRGlhbG9nID0gdGhpcy5vcGVuQXMgPT09ICdkaWFsb2cnO1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8TWF0VGltZXBpY2tlckNvbnRlbnQ8UywgVD4+KFxuICAgICAgTWF0VGltZXBpY2tlckNvbnRlbnQsXG4gICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgKTtcblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSAodGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBpc0RpYWxvZ1xuICAgICAgICAgID8gdGhpcy5fZ2V0RGlhbG9nU3RyYXRlZ3koKVxuICAgICAgICAgIDogdGhpcy5fZ2V0RHJvcGRvd25TdHJhdGVneSgpLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogW1xuICAgICAgICAgIGlzRGlhbG9nXG4gICAgICAgICAgICA/ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJ1xuICAgICAgICAgICAgOiAnbWF0LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgICAgIHRoaXMuX2JhY2tkcm9wSGFybmVzc0NsYXNzLFxuICAgICAgICBdLFxuICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICBzY3JvbGxTdHJhdGVneTogaXNEaWFsb2dcbiAgICAgICAgICA/IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgICAgOiB0aGlzLl9zY3JvbGxTdHJhdGVneSgpLFxuICAgICAgICBwYW5lbENsYXNzOiBgbWF0LXRpbWVwaWNrZXItJHt0aGlzLm9wZW5Bc31gLFxuICAgICAgfSlcbiAgICApKTtcblxuICAgIHRoaXMuX2dldENsb3NlU3RyZWFtKG92ZXJsYXlSZWYpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGhlIGBwcmV2ZW50RGVmYXVsdGAgY2FsbCBoYXBwZW5zIGluc2lkZSB0aGUgdGltZXBpY2tlciBhcyB3ZWxsLCBob3dldmVyIGZvY3VzIG1vdmVzIGludG9cbiAgICAvLyBpdCBpbnNpZGUgYSB0aW1lb3V0IHdoaWNoIGNhbiBnaXZlIGJyb3dzZXJzIGEgY2hhbmNlIHRvIGZpcmUgb2ZmIGEga2V5Ym9hcmQgZXZlbnQgaW4tYmV0d2VlblxuICAgIC8vIHRoYXQgY2FuIHNjcm9sbCB0aGUgcGFnZS4gQWx3YXlzIGJsb2NrIGRlZmF1bHQgYWN0aW9ucyBvZiBhcnJvdyBrZXlzIGZvciB0aGVcbiAgICAvLyBlbnRpcmUgb3ZlcmxheSBzbyB0aGUgcGFnZSBkb2Vzbid0IGdldCBzY3JvbGxlZCBieSBhY2NpZGVudC5cbiAgICBvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgaWYgKFxuICAgICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICAgIGtleUNvZGUgPT09IExFRlRfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gUEFHRV9VUCB8fFxuICAgICAgICBrZXlDb2RlID09PSBQQUdFX0RPV05cbiAgICAgICkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcbiAgICB0aGlzLl9mb3J3YXJkQ29udGVudFZhbHVlcyh0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBwb3NpdGlvbiBvbmNlIHRoZSB0aW1lcGlja2VyIGhhcyByZW5kZXJlZC4gT25seSByZWxldmFudCBpbiBkcm9wZG93biBtb2RlLlxuICAgIGlmICghaXNEaWFsb2cpIHtcbiAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZVxuICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IG92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIERlc3Ryb3lzIHRoZSBjdXJyZW50IG92ZXJsYXkuICovXG4gIHByaXZhdGUgX2Rlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXRzIGEgcG9zaXRpb24gc3RyYXRlZ3kgdGhhdCB3aWxsIG9wZW4gdGhlIHRpbWVwaWNrZXIgYXMgYSBkcm9wZG93bi4gKi9cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nU3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZ2xvYmFsKClcbiAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKVxuICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIGEgcG9zaXRpb24gc3RyYXRlZ3kgdGhhdCB3aWxsIG9wZW4gdGhlIHRpbWVwaWNrZXIgYXMgYSBkcm9wZG93bi4gKi9cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25TdHJhdGVneSgpIHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLnRpbWVwaWNrZXJJbnB1dC5nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCkpXG4gICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcubWF0LXRpbWVwaWNrZXItY29udGVudCcpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oOClcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKTtcblxuICAgIHJldHVybiB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMoc3RyYXRlZ3kpO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIHBvc2l0aW9ucyBvZiB0aGUgdGltZXBpY2tlciBpbiBkcm9wZG93biBtb2RlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uICovXG4gIHByaXZhdGUgX3NldENvbm5lY3RlZFBvc2l0aW9ucyhcbiAgICBzdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XG4gICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcHJpbWFyeVggPSB0aGlzLnhQb3NpdGlvbiA9PT0gJ2VuZCcgPyAnZW5kJyA6ICdzdGFydCc7XG4gICAgY29uc3Qgc2Vjb25kYXJ5WCA9IHByaW1hcnlYID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgIGNvbnN0IHByaW1hcnlZID0gdGhpcy55UG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgIGNvbnN0IHNlY29uZGFyeVkgPSBwcmltYXJ5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xuXG4gICAgcmV0dXJuIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogc2Vjb25kYXJ5WSxcbiAgICAgICAgb3ZlcmxheVg6IHByaW1hcnlYLFxuICAgICAgICBvdmVybGF5WTogcHJpbWFyeVksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogcHJpbWFyeVksXG4gICAgICAgIG92ZXJsYXlYOiBwcmltYXJ5WCxcbiAgICAgICAgb3ZlcmxheVk6IHNlY29uZGFyeVksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBzZWNvbmRhcnlYLFxuICAgICAgICBvcmlnaW5ZOiBzZWNvbmRhcnlZLFxuICAgICAgICBvdmVybGF5WDogc2Vjb25kYXJ5WCxcbiAgICAgICAgb3ZlcmxheVk6IHByaW1hcnlZLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogc2Vjb25kYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogcHJpbWFyeVksXG4gICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICBvdmVybGF5WTogc2Vjb25kYXJ5WSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cblxuICAvKiogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlbWl0IHdoZW4gdGhlIG92ZXJsYXkgaXMgc3VwcG9zZWQgdG8gYmUgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9nZXRDbG9zZVN0cmVhbShcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmXG4gICk6IE9ic2VydmFibGU8dm9pZCB8IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50PiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCksXG4gICAgICBvdmVybGF5UmVmLmRldGFjaG1lbnRzKCksXG4gICAgICBvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gQ2xvc2luZyBvbiBhbHQgKyB1cCBpcyBvbmx5IHZhbGlkIHdoZW4gdGhlcmUncyBhbiBpbnB1dCBhc3NvY2lhdGVkIHdpdGggdGhlIHRpbWVwaWNrZXIuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkgfHxcbiAgICAgICAgICAgICh0aGlzLnRpbWVwaWNrZXJJbnB1dCAmJlxuICAgICAgICAgICAgICBoYXNNb2RpZmllcktleShldmVudCwgJ2FsdEtleScpICYmXG4gICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IFVQX0FSUk9XKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
395
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lcGlja2VyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFHTCxTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBSVosY0FBYyxFQUNkLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxpQ0FBaUMsRUFFakMsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLFFBQVEsR0FDVCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQTJEbkU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQ3pDLElBQUksY0FBYyxDQUNoQixnQ0FBZ0MsQ0FDakMsQ0FBQztBQUVKLDhDQUE4QztBQUM5QyxNQUFNLGVBQWUsR0FBcUIsT0FBTyxDQUFDO0FBRWxELDJDQUEyQztBQUMzQyxNQUFNLFlBQVksR0FBbUIsTUFBTSxDQUFDO0FB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bUI7OzBCQUcxQixRQUFROzswQkFDUixNQUFNOzJCQUFDLDhCQUE4Qjs0Q0F2SnBDLFFBQVE7c0JBRFgsS0FBSztnQkFpQkYsTUFBTTtzQkFEVCxLQUFLO2dCQVdGLE1BQU07c0JBRFQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBaUJGLElBQUk7c0JBRFAsS0FBSztnQkFXRixNQUFNO3NCQURULEtBQUs7Z0JBV0Ysb0JBQW9CO3NCQUR2QixLQUFLO2dCQVdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBSXFCLFlBQVk7c0JBQXRDLE1BQU07dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LFxuICBDb21wb25lbnRSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIERpcmVjdGl2ZSxcbiAgTmdab25lLFxuICBJbmplY3QsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIEJvb2xlYW5JbnB1dCxcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5LFxuICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbiAgU2Nyb2xsU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENvbXBvbmVudFBvcnRhbCxcbiAgQ29tcG9uZW50VHlwZSxcbiAgVGVtcGxhdGVQb3J0YWwsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgRE9XTl9BUlJPVyxcbiAgRVNDQVBFLFxuICBoYXNNb2RpZmllcktleSxcbiAgTEVGVF9BUlJPVyxcbiAgUEFHRV9ET1dOLFxuICBQQUdFX1VQLFxuICBSSUdIVF9BUlJPVyxcbiAgVVBfQVJST1csXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNYXRUaW1lcGlja2VyQ29udGVudCB9IGZyb20gJy4vdGltZXBpY2tlci1jb250ZW50JztcbmltcG9ydCB7IE1BVF9USU1FUElDS0VSX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJy4vdGltZXBpY2tlci1zY3JvbGwtc3RyYXRlZ3knO1xuaW1wb3J0IHtcbiAgRXh0cmFjdFRpbWVUeXBlRnJvbVNlbGVjdGlvbixcbiAgTWF0VGltZVNlbGVjdGlvbk1vZGVsLFxufSBmcm9tICcuL3RpbWUtc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7IE1BVF9ERUZBVUxUX0FDSVRPTlMgfSBmcm9tICcuL3RpbWVwaWNrZXItYWN0aW9ucy1kZWZhdWx0JztcbmltcG9ydCB7IFRpbWVwaWNrZXJPcmllbnRhdGlvbiB9IGZyb20gJy4vb3JpZW50YXRpb24nO1xuXG4vKiogUG9zc2libGUgb3B0aW9ucyBmb3IgdGhlIHRpbWVwaWNrZXIgdG8gb3Blbi4gKi9cbmV4cG9ydCB0eXBlIFRpbWVwaWNrZXJPcGVuQXMgPSAnZGlhbG9nJyB8ICdwb3B1cCc7XG5cbi8qKiBQb3NzaWJsZSBwb3NpdGlvbnMgZm9yIHRoZSB0aW1lcGlja2VyIGRyb3Bkb3duIGFsb25nIHRoZSBYIGF4aXMuICovXG5leHBvcnQgdHlwZSBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblggPSAnc3RhcnQnIHwgJ2VuZCc7XG5cbi8qKiBQb3NzaWJsZSBwb3NpdGlvbnMgZm9yIHRoZSB0aW1lcGlja2VyIGRyb3Bkb3duIGFsb25nIHRoZSBZIGF4aXMuICovXG5leHBvcnQgdHlwZSBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblkgPSAnYWJvdmUnIHwgJ2JlbG93JztcblxuLyoqIFBvc3NpYmxlIG9wdGlvbnMgZm9yIHRoZSB0aW1lcGlja2VyIHRvIGRpc3BsYXkuICovXG5leHBvcnQgdHlwZSBUaW1lcGlja2VyTW9kZSA9ICdpbnB1dCcgfCAnZGlhbCc7XG5cbi8qKiBQb3NzaWJsZSBvcHRpb25zIGZvciB0aGUgdGltZXBpY2tlciBwZXJpb2QgZm9ybWF0LiAqL1xuZXhwb3J0IHR5cGUgVGltZXBpY2tlckZvcm1hdCA9ICcxMmgnIHwgJzI0aCc7XG5cbi8qKiBGb3JtIGNvbnRyb2wgdGhhdCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIGEgdGltZXBpY2tlci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF0VGltZXBpY2tlckNvbnRyb2w8VD4ge1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgbWluOiBUIHwgbnVsbDtcbiAgbWF4OiBUIHwgbnVsbDtcbiAgZ2V0VGhlbWVQYWxldHRlKCk6IFRoZW1lUGFsZXR0ZTtcbiAgZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmO1xuICBnZXRPdmVybGF5TGFiZWxJZCgpOiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKiogQSB0aW1lcGlja2VyIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGEge0BsaW5rIE1hdFRpbWVwaWNrZXJDb250cm9sfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF0VGltZXBpY2tlclBhbmVsPFxuICBDIGV4dGVuZHMgTWF0VGltZXBpY2tlckNvbnRyb2w8VD4sXG4gIFMsXG4gIFQgPSBFeHRyYWN0VGltZVR5cGVGcm9tU2VsZWN0aW9uPFM+XG4+IHtcbiAgLyoqIFJlZ2lzdGVyIGFuIGlucHV0IHdpdGggdGhlIHRpbWVlcGlja2VyLiAqL1xuICByZWdpc3RlcklucHV0KGlucHV0OiBDKTogTWF0VGltZVNlbGVjdGlvbk1vZGVsPFMsIFQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIGZvcm0gZmllbGQgdGhhdCBjYW4gYmUgY29uZmlndXJlZFxuICogdXNpbmcgdGhlIGBNQVRfVElNRVBJQ0tFUl9ERUZBVUxUX09QVElPTlNgIGluamVjdGlvbiB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRUaW1lcGlja2VyRGVmYXVsdE9wdGlvbnMge1xuICAvKiogRGVmYXVsdCBjb2xvciBvZiB0aGUgdGltZXBpY2tlci4gKi9cbiAgY29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIC8qKiBEZWZhdWx0IHRpbWVwaWNrZXIgbW9kZS4gKi9cbiAgbW9kZTogVGltZXBpY2tlck1vZGU7XG4gIC8qKiBEZWZpbmVzIGhvdyB0aW1lcGlja2VyIHdpbGwgYmUgYXBwZWFyZWQuICovXG4gIG9wZW5BczogVGltZXBpY2tlck9wZW5BcztcbiAgLyoqIERlZmF1bHQgdGltZXBpY2tlciBmb3JtYXQuICovXG4gIGZvcm1hdDogVGltZXBpY2tlckZvcm1hdDtcbiAgLyoqIFNob3VsZCB0b2dnbGUgZmFjZSBidXR0b24gYmUgdmlzaWJsZS4gKi9cbiAgc2hvd1RvZ2dsZU1vZGVCdXR0b246IGJvb2xlYW47XG4gIC8qKiBTdGVwIGZvciBtaW51dGVzLiAqL1xuICBtaW51dGVJbnRlcnZhbDogbnVtYmVyO1xuICAvKiogT3JpZW50YXRpb24gZm9yIGRpYWwgbW9kZS4gKi9cbiAgb3JpZW50YXRpb246IFRpbWVwaWNrZXJPcmllbnRhdGlvbjtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBjb25maWd1cmUgdGhlXG4gKiBkZWZhdWx0IG9wdGlvbnMgZm9yIGFsbCB0aW1lcGlja2VycyB3aXRoaW4gYW4gYXBwLlxuICovXG5leHBvcnQgY29uc3QgTUFUX1RJTUVQSUNLRVJfREVGQVVMVF9PUFRJT05TID1cbiAgbmV3IEluamVjdGlvblRva2VuPE1hdFRpbWVwaWNrZXJEZWZhdWx0T3B0aW9ucz4oXG4gICAgJ01BVF9USU1FUElDS0VSX0RFRkFVTFRfT1BUSU9OUydcbiAgKTtcblxuLyoqIERlZmF1bHQgb3BlbiBhcyB1c2VkIGJ5IHRoZSB0aW1lcGlja2VyLiAqL1xuY29uc3QgREVGQVVMVF9PUEVOX0FTOiBUaW1lcGlja2VyT3BlbkFzID0gJ3BvcHVwJztcblxuLyoqIERlZmF1bHQgbW9kZSB1c2VkIGJ5IHRoZSB0aW1lcGlja2VyLiAqL1xuY29uc3QgREVGQVVMVF9NT0RFOiBUaW1lcGlja2VyTW9kZSA9ICdkaWFsJztcblxuLyoqIERlZmF1bHQgZm9ybWF0IHVzZWQgYnkgdGhlIHRpbWVwaWNrZXIuICovXG5jb25zdCBERUZBVUxUX0ZPUk1BVDogVGltZXBpY2tlckZvcm1hdCA9ICcxMmgnO1xuXG4vKiogVXNlZCB0byBnZW5lcmF0ZSBhIHVuaXF1ZSBJRCBmb3IgZWFjaCB0aW1lcGlja2VyIGluc3RhbmNlLiAqL1xubGV0IHRpbWVwaWNrZXJVaWQgPSAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYXRUaW1lcGlja2VyQmFzZTxcbiAgQyBleHRlbmRzIE1hdFRpbWVwaWNrZXJDb250cm9sPFQ+LFxuICBTLFxuICBUID0gRXh0cmFjdFRpbWVUeXBlRnJvbVNlbGVjdGlvbjxTPlxuPiBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICAvKiogV2hldGhlciB0aGUgdGltZXBpY2tlciBwb3AtdXAgc2hvdWxkIGJlIGRpc2FibGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkID09PSB1bmRlZmluZWQgJiYgdGhpcy50aW1lcGlja2VySW5wdXRcbiAgICAgID8gdGhpcy50aW1lcGlja2VySW5wdXQuZGlzYWJsZWRcbiAgICAgIDogISF0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0aW1lcGlja2VyIGlzIG9wZW4uICovXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5lZDtcbiAgfVxuICBzZXQgb3BlbmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpID8gdGhpcy5vcGVuKCkgOiB0aGlzLmNsb3NlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRpbWVwaWNrZXIgbW9kZSB3aGljaCBkZXRlcm1pbmVzIHdoYXQgdGhlIHRpbWVwaWNrZXIgd2lsbCBiZSBvcGVuZWQgYXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuQXMoKTogVGltZXBpY2tlck9wZW5BcyB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5BcyB8fCB0aGlzLl9kZWZhdWx0cz8ub3BlbkFzIHx8IERFRkFVTFRfT1BFTl9BUztcbiAgfVxuICBzZXQgb3BlbkFzKHZhbHVlOiBUaW1lcGlja2VyT3BlbkFzKSB7XG4gICAgdGhpcy5fb3BlbkFzID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkFzOiBUaW1lcGlja2VyT3BlbkFzO1xuXG4gIC8qKiBDb2xvciBwYWxldHRlIHRvIHVzZSBvbiB0aGUgdGltZXBpY2tlcidzIGNvbnRlbnQuICovXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9jb2xvciB8fFxuICAgICAgdGhpcy5fZGVmYXVsdHM/LmNvbG9yIHx8XG4gICAgICAodGhpcy50aW1lcGlja2VySW5wdXRcbiAgICAgICAgPyB0aGlzLnRpbWVwaWNrZXJJbnB1dC5nZXRUaGVtZVBhbGV0dGUoKVxuICAgICAgICA6IHVuZGVmaW5lZClcbiAgICApO1xuICB9XG4gIHNldCBjb2xvcih2YWx1ZTogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXG4gIC8qKiBUaW1lcGlja2VyIGRpc3BsYXkgbW9kZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1vZGUoKTogVGltZXBpY2tlck1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlIHx8IHRoaXMuX2RlZmF1bHRzPy5tb2RlIHx8IERFRkFVTFRfTU9ERTtcbiAgfVxuICBzZXQgbW9kZSh2YWx1ZTogVGltZXBpY2tlck1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbW9kZTogVGltZXBpY2tlck1vZGU7XG5cbiAgLyoqIFRpbWVwaWNrZXIgcGVyaW9kIGZvcm1hdC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IGZvcm1hdCgpOiBUaW1lcGlja2VyRm9ybWF0IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0IHx8IHRoaXMuX2RlZmF1bHRzPy5mb3JtYXQgfHwgREVGQVVMVF9GT1JNQVQ7XG4gIH1cbiAgc2V0IGZvcm1hdCh2YWx1ZTogVGltZXBpY2tlckZvcm1hdCkge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2Zvcm1hdDogVGltZXBpY2tlckZvcm1hdDtcblxuICAvKiogU2hvdyBvciBoaWRlIHRvZ2dsZSBidXR0b24gYmV0d2VlbiBkaWFsIGFuZCBpbnB1dC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHNob3dUb2dnbGVNb2RlQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93VG9nZ2xlTW9kZUJ1dHRvbjtcbiAgfVxuICBzZXQgc2hvd1RvZ2dsZU1vZGVCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93VG9nZ2xlTW9kZUJ1dHRvbiA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3Nob3dUb2dnbGVNb2RlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU3RlcCBmb3IgbWludXRlcy4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pbnV0ZUludGVydmFsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZUludGVydmFsIHx8IHRoaXMuX2RlZmF1bHRzPy5taW51dGVJbnRlcnZhbCB8fCAxO1xuICB9XG4gIHNldCBtaW51dGVJbnRlcnZhbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWludXRlSW50ZXJ2YWwgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWludXRlSW50ZXJ2YWw6IG51bWJlcjtcblxuICAvKiogT3JpZW50YXRpb24gZm9yIGRpYWwgbW9kZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG9yaWVudGF0aW9uKCk6IFRpbWVwaWNrZXJPcmllbnRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uIHx8IHRoaXMuX2RlZmF1bHRzPy5vcmllbnRhdGlvbiB8fCAndmVydGljYWwnO1xuICB9XG4gIHNldCBvcmllbnRhdGlvbih2YWx1ZTogVGltZXBpY2tlck9yaWVudGF0aW9uKSB7XG4gICAgdGhpcy5fb3JpZW50YXRpb24gPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9vcmllbnRhdGlvbjogVGltZXBpY2tlck9yaWVudGF0aW9uO1xuXG4gIC8qKiBQcmVmZXJyZWQgcG9zaXRpb24gb2YgdGhlIHRpbWVwaWNrZXIgaW4gdGhlIFggYXhpcy4gKi9cbiAgQElucHV0KClcbiAgeFBvc2l0aW9uOiBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblggPSAnc3RhcnQnO1xuXG4gIC8qKiBQcmVmZXJyZWQgcG9zaXRpb24gb2YgdGhlIHRpbWVwaWNrZXIgaW4gdGhlIFkgYXhpcy4gKi9cbiAgQElucHV0KClcbiAgeVBvc2l0aW9uOiBUaW1lcGlja2VyRHJvcGRvd25Qb3NpdGlvblkgPSAnYmVsb3cnO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSB0aW1lcGlja2VyIGhhcyBiZWVuIGNsb3NlZC4gKi9cbiAgQE91dHB1dCgnY2xvc2VkJykgcmVhZG9ubHkgY2xvc2VkU3RyZWFtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBUaGUgaWQgZm9yIHRoZSB0aW1lcGlja2VyLiAqL1xuICBpZDogc3RyaW5nID0gYG1hdC10aW1lcGlja2VyLSR7dGltZXBpY2tlclVpZCsrfWA7XG5cbiAgLyoqIFRoZSBpbnB1dCBlbGVtZW50IHRoaXMgdGltZXBpY2tlciBpcyBhc3NvY2lhdGVkIHdpdGguICovXG4gIHRpbWVwaWNrZXJJbnB1dCE6IEM7XG5cbiAgLyoqIFBvcnRhbCB3aXRoIHByb2plY3RlZCBhY3Rpb24gYnV0dG9ucy4gKi9cbiAgX2FjdGlvbnNQb3J0YWw6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IGludG8gd2hpY2ggd2UndmUgcmVuZGVyZWQgdGhlIHRpbWVwaWNrZXIuICovXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBpbnN0YW5jZSByZW5kZXJlZCBpbiB0aGUgb3ZlcmxheS4gKi9cbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmITogQ29tcG9uZW50UmVmPE1hdFRpbWVwaWNrZXJDb250ZW50PFMsIFQ+PiB8IG51bGw7XG5cbiAgLyoqIFVuaXF1ZSBjbGFzcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGJhY2tkcm9wIHNvIHRoYXQgdGhlIHRlc3QgaGFybmVzc2VzIGNhbiBsb29rIGl0IHVwLiAqL1xuICBwcml2YXRlIF9iYWNrZHJvcEhhcm5lc3NDbGFzcyA9IGAke3RoaXMuaWR9LWJhY2tkcm9wYDtcblxuICAvKiogU2Nyb2xsIHN0cmF0ZWd5LiAqL1xuICBwcml2YXRlIF9zY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgdGltZS4gKi9cbiAgX2dldE1pblRpbWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRpbWVwaWNrZXJJbnB1dCAmJiB0aGlzLnRpbWVwaWNrZXJJbnB1dC5taW47XG4gIH1cblxuICAvKiogVGhlIG1heGltdW0gc2VsZWN0YWJsZSB0aW1lLiAqL1xuICBfZ2V0TWF4VGltZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudGltZXBpY2tlcklucHV0ICYmIHRoaXMudGltZXBpY2tlcklucHV0Lm1heDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KE1BVF9USU1FUElDS0VSX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueSxcbiAgICBASW5qZWN0KE1BVF9ERUZBVUxUX0FDSVRPTlMpXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEFjdGlvbnNDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PixcbiAgICBwcml2YXRlIF9tb2RlbDogTWF0VGltZVNlbGVjdGlvbk1vZGVsPFMsIFQ+LFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChNQVRfVElNRVBJQ0tFUl9ERUZBVUxUX09QVElPTlMpXG4gICAgcHJpdmF0ZSBfZGVmYXVsdHM/OiBNYXRUaW1lcGlja2VyRGVmYXVsdE9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5fc2Nyb2xsU3RyYXRlZ3kgPSBzY3JvbGxTdHJhdGVneTtcblxuICAgIGlmIChfZGVmYXVsdHMpIHtcbiAgICAgIHRoaXMuc2hvd1RvZ2dsZU1vZGVCdXR0b24gPVxuICAgICAgICBfZGVmYXVsdHMuc2hvd1RvZ2dsZU1vZGVCdXR0b24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gX2RlZmF1bHRzLnNob3dUb2dnbGVNb2RlQnV0dG9uXG4gICAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBwb3NpdGlvbkNoYW5nZSA9IGNoYW5nZXNbJ3hQb3NpdGlvbiddIHx8IGNoYW5nZXNbJ3lQb3NpdGlvbiddO1xuXG4gICAgaWYgKHBvc2l0aW9uQ2hhbmdlICYmICFwb3NpdGlvbkNoYW5nZS5maXJzdENoYW5nZSAmJiB0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgICBpZiAocG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIHRpbWVwaWNrZXIuICovXG4gIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW5lZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRpbWVwaWNrZXJJbnB1dCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdBdHRlbXB0ZWQgdG8gb3BlbiBhbiBNYXRUaW1lcGlja2VyIHdpdGggbm8gYXNzb2NpYXRlZCBpbnB1dC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX29wZW5PdmVybGF5KCk7XG4gICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHRpbWVwaWNrZXIuICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3BlbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICBpbnN0YW5jZS5zdGFydEV4aXRBbmltYXRpb24oKTtcbiAgICAgIGluc3RhbmNlLl9hbmltYXRpb25Eb25lXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZGVzdHJveU92ZXJsYXkoKSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGBfb3BlbmVkYCBjb3VsZCd2ZSBiZWVuIHJlc2V0IGFscmVhZHkgaWZcbiAgICAvLyB3ZSBnb3QgdHdvIGV2ZW50cyBpbiBxdWljayBzdWNjZXNzaW9uLlxuICAgIGlmICh0aGlzLl9vcGVuZWQpIHtcbiAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jbG9zZWRTdHJlYW0uZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBpbnB1dCB3aXRoIHRoaXMgdGltZXBpY2tlci5cbiAgICogQHBhcmFtIGlucHV0IFRoZSB0aW1lcGlja2VyIGlucHV0IHRvIHJlZ2lzdGVyIHdpdGggdGhpcyB0aW1lcGlja2VyLlxuICAgKiBAcmV0dXJucyBTZWxlY3Rpb24gbW9kZWwgdGhhdCB0aGUgaW5wdXQgc2hvdWxkIGhvb2sgaXRzZWxmIHVwIHRvLlxuICAgKi9cbiAgcmVnaXN0ZXJJbnB1dChpbnB1dDogQyk6IE1hdFRpbWVTZWxlY3Rpb25Nb2RlbDxTLCBUPiB7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ0EgTWF0VGltZXBpY2tlciBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggYSBzaW5nbGUgaW5wdXQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRpbWVwaWNrZXJJbnB1dCA9IGlucHV0O1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBwb3J0YWwgY29udGFpbmluZyBhY3Rpb24gYnV0dG9ucyB3aXRoIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSByZWdpc3RlcmVkLlxuICAgKi9cbiAgcmVnaXN0ZXJBY3Rpb25zKHBvcnRhbDogVGVtcGxhdGVQb3J0YWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aW9uc1BvcnRhbCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdBIE1hdFRpbWVwaWNrZXIgY2FuIG9ubHkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgc2luZ2xlIGFjdGlvbnMgcm93LidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGlvbnNQb3J0YWwgPSBwb3J0YWw7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZS5fYXNzaWduQWN0aW9ucyhwb3J0YWwsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBwb3J0YWwgY29udGFpbmluZyBhY3Rpb24gYnV0dG9ucyBmcm9tIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSByZW1vdmVkLlxuICAgKi9cbiAgcmVtb3ZlQWN0aW9ucyhwb3J0YWw6IFRlbXBsYXRlUG9ydGFsKTogdm9pZCB7XG4gICAgaWYgKHBvcnRhbCA9PT0gdGhpcy5fYWN0aW9uc1BvcnRhbCkge1xuICAgICAgdGhpcy5fYWN0aW9uc1BvcnRhbCA9IG51bGw7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlLl9hc3NpZ25BY3Rpb25zKG51bGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBsaWVzIHRoZSBjdXJyZW50IHBlbmRpbmcgc2VsZWN0aW9uIG9uIHRoZSBvdmVybGF5IHRvIHRoZSBtb2RlbC4gKi9cbiAgX2FwcGx5UGVuZGluZ1NlbGVjdGlvbigpIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5fYXBwbHlQZW5kaW5nU2VsZWN0aW9uKCk7XG4gIH1cblxuICAvKiogRm9yd2FyZHMgcmVsZXZhbnQgdmFsdWVzIGZyb20gdGhlIHRpbWVwaWNrZXIgdG8gdGhlIHRpbWVwaWNrZXIgY29udGVudCBpbnNpZGUgdGhlIG92ZXJsYXkuICovXG4gIHByb3RlY3RlZCBfZm9yd2FyZENvbnRlbnRWYWx1ZXMoaW5zdGFuY2U6IE1hdFRpbWVwaWNrZXJDb250ZW50PFMsIFQ+KTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fZGVmYXVsdEFjdGlvbnNDb21wb25lbnQpO1xuXG4gICAgaW5zdGFuY2UudGltZXBpY2tlciA9IHRoaXM7XG4gICAgaW5zdGFuY2UuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgIGluc3RhbmNlLm1vZGUgPSB0aGlzLm1vZGU7XG4gICAgaW5zdGFuY2UuaXNNZXJpZGllbSA9IHRoaXMuZm9ybWF0ID09PSAnMTJoJztcbiAgICBpbnN0YW5jZS5zaG93VG9nZ2xlTW9kZUJ1dHRvbiA9IHRoaXMuc2hvd1RvZ2dsZU1vZGVCdXR0b247XG4gICAgaW5zdGFuY2UubWludXRlSW50ZXJ2YWwgPSB0aGlzLm1pbnV0ZUludGVydmFsO1xuICAgIGluc3RhbmNlLm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICBpbnN0YW5jZS5fZGlhbG9nTGFiZWxJZCA9IHRoaXMudGltZXBpY2tlcklucHV0LmdldE92ZXJsYXlMYWJlbElkKCk7XG4gICAgaW5zdGFuY2UuX2Fzc2lnbkFjdGlvbnModGhpcy5fYWN0aW9uc1BvcnRhbCB8fCBkZWZhdWx0UG9ydGFsLCBmYWxzZSk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG92ZXJsYXkgd2l0aCB0aGUgdGltZXBpY2tlci4gKi9cbiAgcHJpdmF0ZSBfb3Blbk92ZXJsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveU92ZXJsYXkoKTtcblxuICAgIGNvbnN0IGlzRGlhbG9nID0gdGhpcy5vcGVuQXMgPT09ICdkaWFsb2cnO1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8TWF0VGltZXBpY2tlckNvbnRlbnQ8UywgVD4+KFxuICAgICAgTWF0VGltZXBpY2tlckNvbnRlbnQsXG4gICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgKTtcblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSAodGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBpc0RpYWxvZ1xuICAgICAgICAgID8gdGhpcy5fZ2V0RGlhbG9nU3RyYXRlZ3koKVxuICAgICAgICAgIDogdGhpcy5fZ2V0RHJvcGRvd25TdHJhdGVneSgpLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogW1xuICAgICAgICAgIGlzRGlhbG9nXG4gICAgICAgICAgICA/ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJ1xuICAgICAgICAgICAgOiAnbWF0LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgICAgIHRoaXMuX2JhY2tkcm9wSGFybmVzc0NsYXNzLFxuICAgICAgICBdLFxuICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICBzY3JvbGxTdHJhdGVneTogaXNEaWFsb2dcbiAgICAgICAgICA/IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgICAgOiB0aGlzLl9zY3JvbGxTdHJhdGVneSgpLFxuICAgICAgICBwYW5lbENsYXNzOiBgbWF0LXRpbWVwaWNrZXItJHt0aGlzLm9wZW5Bc31gLFxuICAgICAgfSlcbiAgICApKTtcblxuICAgIHRoaXMuX2dldENsb3NlU3RyZWFtKG92ZXJsYXlSZWYpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGhlIGBwcmV2ZW50RGVmYXVsdGAgY2FsbCBoYXBwZW5zIGluc2lkZSB0aGUgdGltZXBpY2tlciBhcyB3ZWxsLCBob3dldmVyIGZvY3VzIG1vdmVzIGludG9cbiAgICAvLyBpdCBpbnNpZGUgYSB0aW1lb3V0IHdoaWNoIGNhbiBnaXZlIGJyb3dzZXJzIGEgY2hhbmNlIHRvIGZpcmUgb2ZmIGEga2V5Ym9hcmQgZXZlbnQgaW4tYmV0d2VlblxuICAgIC8vIHRoYXQgY2FuIHNjcm9sbCB0aGUgcGFnZS4gQWx3YXlzIGJsb2NrIGRlZmF1bHQgYWN0aW9ucyBvZiBhcnJvdyBrZXlzIGZvciB0aGVcbiAgICAvLyBlbnRpcmUgb3ZlcmxheSBzbyB0aGUgcGFnZSBkb2Vzbid0IGdldCBzY3JvbGxlZCBieSBhY2NpZGVudC5cbiAgICBvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgaWYgKFxuICAgICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICAgIGtleUNvZGUgPT09IExFRlRfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gUEFHRV9VUCB8fFxuICAgICAgICBrZXlDb2RlID09PSBQQUdFX0RPV05cbiAgICAgICkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcbiAgICB0aGlzLl9mb3J3YXJkQ29udGVudFZhbHVlcyh0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBwb3NpdGlvbiBvbmNlIHRoZSB0aW1lcGlja2VyIGhhcyByZW5kZXJlZC4gT25seSByZWxldmFudCBpbiBkcm9wZG93biBtb2RlLlxuICAgIGlmICghaXNEaWFsb2cpIHtcbiAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZVxuICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IG92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIERlc3Ryb3lzIHRoZSBjdXJyZW50IG92ZXJsYXkuICovXG4gIHByaXZhdGUgX2Rlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXRzIGEgcG9zaXRpb24gc3RyYXRlZ3kgdGhhdCB3aWxsIG9wZW4gdGhlIHRpbWVwaWNrZXIgYXMgYSBkcm9wZG93bi4gKi9cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nU3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZ2xvYmFsKClcbiAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKVxuICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIGEgcG9zaXRpb24gc3RyYXRlZ3kgdGhhdCB3aWxsIG9wZW4gdGhlIHRpbWVwaWNrZXIgYXMgYSBkcm9wZG93bi4gKi9cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25TdHJhdGVneSgpIHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLnRpbWVwaWNrZXJJbnB1dC5nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCkpXG4gICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcubWF0LXRpbWVwaWNrZXItY29udGVudCcpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oOClcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKTtcblxuICAgIHJldHVybiB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMoc3RyYXRlZ3kpO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIHBvc2l0aW9ucyBvZiB0aGUgdGltZXBpY2tlciBpbiBkcm9wZG93biBtb2RlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uICovXG4gIHByaXZhdGUgX3NldENvbm5lY3RlZFBvc2l0aW9ucyhcbiAgICBzdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XG4gICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcHJpbWFyeVggPSB0aGlzLnhQb3NpdGlvbiA9PT0gJ2VuZCcgPyAnZW5kJyA6ICdzdGFydCc7XG4gICAgY29uc3Qgc2Vjb25kYXJ5WCA9IHByaW1hcnlYID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgIGNvbnN0IHByaW1hcnlZID0gdGhpcy55UG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgIGNvbnN0IHNlY29uZGFyeVkgPSBwcmltYXJ5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xuXG4gICAgcmV0dXJuIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogc2Vjb25kYXJ5WSxcbiAgICAgICAgb3ZlcmxheVg6IHByaW1hcnlYLFxuICAgICAgICBvdmVybGF5WTogcHJpbWFyeVksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogcHJpbWFyeVksXG4gICAgICAgIG92ZXJsYXlYOiBwcmltYXJ5WCxcbiAgICAgICAgb3ZlcmxheVk6IHNlY29uZGFyeVksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBzZWNvbmRhcnlYLFxuICAgICAgICBvcmlnaW5ZOiBzZWNvbmRhcnlZLFxuICAgICAgICBvdmVybGF5WDogc2Vjb25kYXJ5WCxcbiAgICAgICAgb3ZlcmxheVk6IHByaW1hcnlZLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogc2Vjb25kYXJ5WCxcbiAgICAgICAgb3JpZ2luWTogcHJpbWFyeVksXG4gICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICBvdmVybGF5WTogc2Vjb25kYXJ5WSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cblxuICAvKiogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlbWl0IHdoZW4gdGhlIG92ZXJsYXkgaXMgc3VwcG9zZWQgdG8gYmUgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9nZXRDbG9zZVN0cmVhbShcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmXG4gICk6IE9ic2VydmFibGU8dm9pZCB8IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50PiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCksXG4gICAgICBvdmVybGF5UmVmLmRldGFjaG1lbnRzKCksXG4gICAgICBvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gQ2xvc2luZyBvbiBhbHQgKyB1cCBpcyBvbmx5IHZhbGlkIHdoZW4gdGhlcmUncyBhbiBpbnB1dCBhc3NvY2lhdGVkIHdpdGggdGhlIHRpbWVwaWNrZXIuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkgfHxcbiAgICAgICAgICAgICh0aGlzLnRpbWVwaWNrZXJJbnB1dCAmJlxuICAgICAgICAgICAgICBoYXNNb2RpZmllcktleShldmVudCwgJ2FsdEtleScpICYmXG4gICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IFVQX0FSUk9XKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|