@apipass/inputs 1.0.96 → 1.0.98
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/input-date-time-interval/builder/default-intervals.builder.mjs +6 -1
- package/esm2022/input-date-time-interval/builder/time-interval-value.builder.mjs +6 -1
- package/esm2022/input-date-time-interval/default-interval/last-twenty-four-hours-interval.mjs +12 -0
- package/esm2022/input-date-time-interval/input-date-time-interval.component.mjs +3 -3
- package/fesm2022/apipass-inputs.mjs +21 -2
- package/fesm2022/apipass-inputs.mjs.map +1 -1
- package/input-date-time-interval/builder/default-intervals.builder.d.ts +1 -0
- package/input-date-time-interval/builder/time-interval-value.builder.d.ts +1 -0
- package/input-date-time-interval/default-interval/last-twenty-four-hours-interval.d.ts +7 -0
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ import { LastYearInterval } from '../default-interval/last-year-interval';
|
|
|
16
16
|
import { YesterdayInterval } from '../default-interval/yesterday-interval';
|
|
17
17
|
import { LastQuarterInterval } from '../default-interval/last-quarter-interval';
|
|
18
18
|
import { ThisQuarterInterval } from '../default-interval/this-quarter-interval';
|
|
19
|
+
import { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';
|
|
19
20
|
export class DefaultIntervalsBuilder extends TimeIntervalsBuilder {
|
|
20
21
|
static builder() {
|
|
21
22
|
return new DefaultIntervalsBuilder();
|
|
@@ -48,6 +49,10 @@ export class DefaultIntervalsBuilder extends TimeIntervalsBuilder {
|
|
|
48
49
|
this.withInterval(new LastThreeHoursInterval(label));
|
|
49
50
|
return this;
|
|
50
51
|
}
|
|
52
|
+
withLastTwentyFourHoursInterval(label) {
|
|
53
|
+
this.withInterval(new LastTwentyFourHoursInterval(label));
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
51
56
|
withLastMinuteInterval(label) {
|
|
52
57
|
this.withInterval(new LastMinuteInterval(label));
|
|
53
58
|
return this;
|
|
@@ -89,4 +94,4 @@ export class DefaultIntervalsBuilder extends TimeIntervalsBuilder {
|
|
|
89
94
|
return this;
|
|
90
95
|
}
|
|
91
96
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbnRlcnZhbHMuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2J1aWxkZXIvZGVmYXVsdC1pbnRlcnZhbHMuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFF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QUMvQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VycmVudE1vbnRoSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2N1cnJlbnQtbW9udGgtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGltZUludGVydmFsc0J1aWxkZXIgfSBmcm9tICcuL3RpbWUtaW50ZXJ2YWxzLmJ1aWxkZXInO1xuaW1wb3J0IHsgTGFzdEhvdXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1ob3VyLWludGVydmFsJztcbmltcG9ydCB7IExhc3RNaW51dGVJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1taW51dGUtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE9uZVdlZWtJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1vbmUtd2Vlay1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0VGVuTWludXRlc0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXRlbi1taW51dGVzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUaGlydHlNaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGhpcnR5LW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVG9kYXlJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdG9kYXktaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtZml2ZS1taW51dGVzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUd29Ib3Vyc0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXR3by1ob3Vycy1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0VGhyZWVIb3Vyc0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXRocmVlLWhvdXJzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RNb250aEludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW1vbnRoLWludGVydmFsJztcbmltcG9ydCB7IFRoaXNZZWFySW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RoaXMteWVhci1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaGlzV2Vla0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90aGlzLXdlZWstaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFllYXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC15ZWFyLWludGVydmFsJztcbmltcG9ydCB7IFllc3RlcmRheUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC95ZXN0ZXJkYXktaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFF1YXJ0ZXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1xdWFydGVyLWludGVydmFsJztcbmltcG9ydCB7IFRoaXNRdWFydGVySW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RoaXMtcXVhcnRlci1pbnRlcnZhbCc7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciBleHRlbmRzIFRpbWVJbnRlcnZhbHNCdWlsZGVyIHtcblxuICBwdWJsaWMgc3RhdGljIGJ1aWxkZXIoKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdEludGVydmFsc0J1aWxkZXIoKVxuICB9XG5cbiAgcHVibGljIHdpdGhUb2RheUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRvZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQ3VycmVudE1vbnRoSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgQ3VycmVudE1vbnRoSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1llYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBUaGlzWWVhckludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFRoaXNXZWVrSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgVGhpc1dlZWtJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0SG91ckludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RIb3VySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFRocmVlSG91cnNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VGhyZWVIb3Vyc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RNaW51dGVJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0TWludXRlSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE9uZVdlZWtJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0T25lV2Vla0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RGaXZlTWludXRlc0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RGaXZlTWludXRlc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RUZW5NaW51dGVzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0VGhpcnR5TWludXRlc0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RUaGlydHlNaW51dGVzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE1vbnRoSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdE1vbnRoSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFllYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0WWVhckludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFllc3RlcmRheUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFllc3RlcmRheUludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFRoaXNRdWFydGVyKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRoaXNRdWFydGVySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFF1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFF1YXJ0ZXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbn1cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbnRlcnZhbHMuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2J1aWxkZXIvZGVmYXVsdC1pbnRlcnZhbHMuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFF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WSxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW50TW9udGhJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvY3VycmVudC1tb250aC1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxzQnVpbGRlciB9IGZyb20gJy4vdGltZS1pbnRlcnZhbHMuYnVpbGRlcic7XG5pbXBvcnQgeyBMYXN0SG91ckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LWhvdXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE1pbnV0ZUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW1pbnV0ZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0T25lV2Vla0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW9uZS13ZWVrLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUZW5NaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGVuLW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFRoaXJ0eU1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10aGlydHktbWludXRlcy1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUb2RheUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90b2RheS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0Rml2ZU1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1maXZlLW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFR3b0hvdXJzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdHdvLWhvdXJzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGhyZWUtaG91cnMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE1vbnRoSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtbW9udGgtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGhpc1llYXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdGhpcy15ZWFyLWludGVydmFsJztcbmltcG9ydCB7IFRoaXNXZWVrSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RoaXMtd2Vlay1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0WWVhckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXllYXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgWWVzdGVyZGF5SW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3llc3RlcmRheS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0UXVhcnRlckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXF1YXJ0ZXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGhpc1F1YXJ0ZXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdGhpcy1xdWFydGVyLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUd2VudHlGb3VySG91cnNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10d2VudHktZm91ci1ob3Vycy1pbnRlcnZhbCc7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciBleHRlbmRzIFRpbWVJbnRlcnZhbHNCdWlsZGVyIHtcblxuICBwdWJsaWMgc3RhdGljIGJ1aWxkZXIoKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdEludGVydmFsc0J1aWxkZXIoKVxuICB9XG5cbiAgcHVibGljIHdpdGhUb2RheUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRvZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQ3VycmVudE1vbnRoSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgQ3VycmVudE1vbnRoSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1llYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBUaGlzWWVhckludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFRoaXNXZWVrSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgVGhpc1dlZWtJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0SG91ckludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RIb3VySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFRocmVlSG91cnNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VGhyZWVIb3Vyc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RUd2VudHlGb3VySG91cnNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VHdlbnR5Rm91ckhvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE1pbnV0ZUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RNaW51dGVJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0T25lV2Vla0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RPbmVXZWVrSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VGVuTWludXRlc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RUaGlydHlNaW51dGVzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFRoaXJ0eU1pbnV0ZXNJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0TW9udGhJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0TW9udGhJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0WWVhckludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBEZWZhdWx0SW50ZXJ2YWxzQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RZZWFySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoWWVzdGVyZGF5SW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgWWVzdGVyZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1F1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IERlZmF1bHRJbnRlcnZhbHNCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgVGhpc1F1YXJ0ZXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0UXVhcnRlcihsYWJlbDogc3RyaW5nKTogRGVmYXVsdEludGVydmFsc0J1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0UXVhcnRlckludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxufVxuIl19
|
|
@@ -16,6 +16,7 @@ import { LastYearInterval } from '../default-interval/last-year-interval';
|
|
|
16
16
|
import { YesterdayInterval } from '../default-interval/yesterday-interval';
|
|
17
17
|
import { ThisQuarterInterval } from '../default-interval/this-quarter-interval';
|
|
18
18
|
import { LastQuarterInterval } from '../default-interval/last-quarter-interval';
|
|
19
|
+
import { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';
|
|
19
20
|
export class TimeIntervalValueBuilder {
|
|
20
21
|
_timezone = 'America/Sao_Paulo';
|
|
21
22
|
_absoluteStartDate;
|
|
@@ -70,6 +71,10 @@ export class TimeIntervalValueBuilder {
|
|
|
70
71
|
this.withInterval(new LastThreeHoursInterval(label));
|
|
71
72
|
return this;
|
|
72
73
|
}
|
|
74
|
+
withLastTwentyFourHoursInterval(label) {
|
|
75
|
+
this.withInterval(new LastTwentyFourHoursInterval(label));
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
73
78
|
withLastOneWeekInterval(label) {
|
|
74
79
|
this.withInterval(new LastOneWeekInterval(label));
|
|
75
80
|
return this;
|
|
@@ -120,4 +125,4 @@ export class TimeIntervalValueBuilder {
|
|
|
120
125
|
return value;
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnRlcnZhbC12YWx1ZS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwvYnVpbGRlci90aW1lLWludGVydmFsLXZhbHVlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIs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Q0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFTSxLQUFLO1FBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbEQsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RpbWUtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgQ3VycmVudE1vbnRoSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2N1cnJlbnQtbW9udGgtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdEhvdXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1ob3VyLWludGVydmFsJztcbmltcG9ydCB7IExhc3RNaW51dGVJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1taW51dGUtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE9uZVdlZWtJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1vbmUtd2Vlay1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0VGVuTWludXRlc0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXRlbi1taW51dGVzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUaGlydHlNaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGhpcnR5LW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVG9kYXlJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdG9kYXktaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGltZUludGVydmFsVmFsdWUgfSBmcm9tICcuLi9tb2RlbC9kYXRlLXRpbWUtaW50ZXJuYWwubW9kZWwnO1xuaW1wb3J0IHsgTGFzdFR3b0hvdXJzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdHdvLWhvdXJzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGhyZWUtaG91cnMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtZml2ZS1taW51dGVzLWludGVydmFsJztcbmltcG9ydCB7IExhc3RNb250aEludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW1vbnRoLWludGVydmFsJztcbmltcG9ydCB7IFRoaXNZZWFySW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RoaXMteWVhci1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaGlzV2Vla0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90aGlzLXdlZWstaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFllYXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC15ZWFyLWludGVydmFsJztcbmltcG9ydCB7IFllc3RlcmRheUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC95ZXN0ZXJkYXktaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGhpc1F1YXJ0ZXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdGhpcy1xdWFydGVyLWludGVydmFsJztcbmltcG9ydCB7IExhc3RRdWFydGVySW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtcXVhcnRlci1pbnRlcnZhbCc7XG5cbmV4cG9ydCBjbGFzcyBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuXG4gIHByaXZhdGUgX3RpbWV6b25lOiBzdHJpbmcgPSAnQW1lcmljYS9TYW9fUGF1bG8nXG4gIHByaXZhdGUgX2Fic29sdXRlU3RhcnREYXRlOiBEYXRlXG4gIHByaXZhdGUgX2Fic29sdXRlRW5kRGF0ZTogRGF0ZVxuICBwcml2YXRlIF9pbnRlcnZhbDogVGltZUludGVydmFsXG5cbiAgcHVibGljIHN0YXRpYyBidWlsZGVyKCk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGltZXpvbmUodGltZXpvbmU6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fdGltZXpvbmUgPSB0aW1lem9uZSB8fCB0aGlzLl90aW1lem9uZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQWJzb2x1dGVTdGFydERhdGUoZGF0ZTogRGF0ZSk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fYWJzb2x1dGVTdGFydERhdGUgPSBkYXRlO1xuICAgIHRoaXMuX2ludGVydmFsID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEFic29sdXRlRW5kRGF0ZShkYXRlOiBEYXRlKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLl9hYnNvbHV0ZUVuZERhdGUgPSBkYXRlO1xuICAgIHRoaXMuX2ludGVydmFsID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEN1cnJlbnRNb250aEludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBDdXJyZW50TW9udGhJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0TW9udGhJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdE1vbnRoSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1llYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgVGhpc1llYXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhUaGlzV2Vla0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBUaGlzV2Vla0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RIb3VySW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RIb3VySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE1pbnV0ZUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0TWludXRlSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RUd29Ib3Vyc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE9uZVdlZWtJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdE9uZVdlZWtJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0Rml2ZU1pbnV0ZXNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0VGhpcnR5TWludXRlc0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VGhpcnR5TWludXRlc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFRvZGF5SW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRvZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFllYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFllYXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhZZXN0ZXJkYXlJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgWWVzdGVyZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1F1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRoaXNRdWFydGVySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFF1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RRdWFydGVySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoSW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2ludGVydmFsID0gaW50ZXJ2YWw7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHB1YmxpYyBidWlsZCgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgY29uc3QgdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy5fdGltZXpvbmUpO1xuICAgIHZhbHVlLmludGVydmFsID0gdGhpcy5faW50ZXJ2YWw7XG4gICAgdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB0aGlzLl9hYnNvbHV0ZVN0YXJ0RGF0ZTtcbiAgICB2YWx1ZS5hYnNvbHV0ZUVuZERhdGUgPSB0aGlzLl9hYnNvbHV0ZUVuZERhdGU7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbn1cbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnRlcnZhbC12YWx1ZS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwvYnVpbGRlci90aW1lLWludGVydmFsLXZhbHVlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIs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LElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBc0I7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVNLEtBQUs7UUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpbWVJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBDdXJyZW50TW9udGhJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvY3VycmVudC1tb250aC1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0SG91ckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LWhvdXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE1pbnV0ZUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW1pbnV0ZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0T25lV2Vla0ludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW9uZS13ZWVrLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUZW5NaW51dGVzSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGVuLW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFRoaXJ0eU1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10aGlydHktbWludXRlcy1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUb2RheUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90b2RheS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4uL21vZGVsL2RhdGUtdGltZS1pbnRlcm5hbC5tb2RlbCc7XG5pbXBvcnQgeyBMYXN0VHdvSG91cnNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10d28taG91cnMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFRocmVlSG91cnNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10aHJlZS1ob3Vycy1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0Rml2ZU1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1maXZlLW1pbnV0ZXMtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdE1vbnRoSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL2xhc3QtbW9udGgtaW50ZXJ2YWwnO1xuaW1wb3J0IHsgVGhpc1llYXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvdGhpcy15ZWFyLWludGVydmFsJztcbmltcG9ydCB7IFRoaXNXZWVrSW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3RoaXMtd2Vlay1pbnRlcnZhbCc7XG5pbXBvcnQgeyBMYXN0WWVhckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXllYXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgWWVzdGVyZGF5SW50ZXJ2YWwgfSBmcm9tICcuLi9kZWZhdWx0LWludGVydmFsL3llc3RlcmRheS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaGlzUXVhcnRlckludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90aGlzLXF1YXJ0ZXItaW50ZXJ2YWwnO1xuaW1wb3J0IHsgTGFzdFF1YXJ0ZXJJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1xdWFydGVyLWludGVydmFsJztcbmltcG9ydCB7IExhc3RUd2VudHlGb3VySG91cnNJbnRlcnZhbCB9IGZyb20gJy4uL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10d2VudHktZm91ci1ob3Vycy1pbnRlcnZhbCc7XG5cbmV4cG9ydCBjbGFzcyBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuXG4gIHByaXZhdGUgX3RpbWV6b25lOiBzdHJpbmcgPSAnQW1lcmljYS9TYW9fUGF1bG8nXG4gIHByaXZhdGUgX2Fic29sdXRlU3RhcnREYXRlOiBEYXRlXG4gIHByaXZhdGUgX2Fic29sdXRlRW5kRGF0ZTogRGF0ZVxuICBwcml2YXRlIF9pbnRlcnZhbDogVGltZUludGVydmFsXG5cbiAgcHVibGljIHN0YXRpYyBidWlsZGVyKCk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGltZXpvbmUodGltZXpvbmU6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fdGltZXpvbmUgPSB0aW1lem9uZSB8fCB0aGlzLl90aW1lem9uZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQWJzb2x1dGVTdGFydERhdGUoZGF0ZTogRGF0ZSk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fYWJzb2x1dGVTdGFydERhdGUgPSBkYXRlO1xuICAgIHRoaXMuX2ludGVydmFsID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEFic29sdXRlRW5kRGF0ZShkYXRlOiBEYXRlKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLl9hYnNvbHV0ZUVuZERhdGUgPSBkYXRlO1xuICAgIHRoaXMuX2ludGVydmFsID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEN1cnJlbnRNb250aEludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBDdXJyZW50TW9udGhJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0TW9udGhJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdE1vbnRoSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1llYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgVGhpc1llYXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhUaGlzV2Vla0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBUaGlzV2Vla0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RIb3VySW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RIb3VySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE1pbnV0ZUludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0TWludXRlSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFR3b0hvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RUd29Ib3Vyc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RUaHJlZUhvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFR3ZW50eUZvdXJIb3Vyc0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VHdlbnR5Rm91ckhvdXJzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdE9uZVdlZWtJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdE9uZVdlZWtJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0Rml2ZU1pbnV0ZXNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdEZpdmVNaW51dGVzSW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFRlbk1pbnV0ZXNJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhMYXN0VGhpcnR5TWludXRlc0ludGVydmFsKGxhYmVsOiBzdHJpbmcpOiBUaW1lSW50ZXJ2YWxWYWx1ZUJ1aWxkZXIge1xuICAgIHRoaXMud2l0aEludGVydmFsKG5ldyBMYXN0VGhpcnR5TWludXRlc0ludGVydmFsKGxhYmVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFRvZGF5SW50ZXJ2YWwobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRvZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFllYXJJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgTGFzdFllYXJJbnRlcnZhbChsYWJlbCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhZZXN0ZXJkYXlJbnRlcnZhbChsYWJlbDogc3RyaW5nKTogVGltZUludGVydmFsVmFsdWVCdWlsZGVyIHtcbiAgICB0aGlzLndpdGhJbnRlcnZhbChuZXcgWWVzdGVyZGF5SW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVGhpc1F1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IFRoaXNRdWFydGVySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGFzdFF1YXJ0ZXIobGFiZWw6IHN0cmluZyk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy53aXRoSW50ZXJ2YWwobmV3IExhc3RRdWFydGVySW50ZXJ2YWwobGFiZWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoSW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IFRpbWVJbnRlcnZhbFZhbHVlQnVpbGRlciB7XG4gICAgdGhpcy5fYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2ludGVydmFsID0gaW50ZXJ2YWw7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHB1YmxpYyBidWlsZCgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgY29uc3QgdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy5fdGltZXpvbmUpO1xuICAgIHZhbHVlLmludGVydmFsID0gdGhpcy5faW50ZXJ2YWw7XG4gICAgdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB0aGlzLl9hYnNvbHV0ZVN0YXJ0RGF0ZTtcbiAgICB2YWx1ZS5hYnNvbHV0ZUVuZERhdGUgPSB0aGlzLl9hYnNvbHV0ZUVuZERhdGU7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
export class LastTwentyFourHoursInterval {
|
|
3
|
+
id = 'LastTwentyFourHoursInterval';
|
|
4
|
+
label;
|
|
5
|
+
constructor(label) {
|
|
6
|
+
this.label = label;
|
|
7
|
+
}
|
|
8
|
+
getStartDate() {
|
|
9
|
+
return moment().subtract(24, 'hours').toDate();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC10d2VudHktZm91ci1ob3Vycy1pbnRlcnZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10d2VudHktZm91ci1ob3Vycy1pbnRlcnZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxFQUFFLEdBQVcsNkJBQTZCLENBQUE7SUFDMUMsS0FBSyxDQUFRO0lBRWIsWUFBWSxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpbWVJbnRlcnZhbCB9IGZyb20gJy4vdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBMYXN0VHdlbnR5Rm91ckhvdXJzSW50ZXJ2YWwgaW1wbGVtZW50cyBUaW1lSW50ZXJ2YWwge1xuXG4gIGlkOiBzdHJpbmcgPSAnTGFzdFR3ZW50eUZvdXJIb3Vyc0ludGVydmFsJ1xuICBsYWJlbDogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IobGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbFxuICB9XG5cbiAgZ2V0U3RhcnREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBtb21lbnQoKS5zdWJ0cmFjdCgyNCwgJ2hvdXJzJykudG9EYXRlKCk7XG4gIH1cblxufVxuIl19
|
|
@@ -249,7 +249,7 @@ class InputDateTimeIntervalComponent {
|
|
|
249
249
|
provide: NG_VALUE_ACCESSOR,
|
|
250
250
|
useExisting: forwardRef(() => InputDateTimeIntervalComponent),
|
|
251
251
|
multi: true
|
|
252
|
-
}], viewQueries: [{ propertyName: "scrollbarRef", first: true, predicate: ["intervalsBar"], descendants: true }], ngImport: i0, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown mdc-menu-surface\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:1px 10px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
252
|
+
}], viewQueries: [{ propertyName: "scrollbarRef", first: true, predicate: ["intervalsBar"], descendants: true }], ngImport: i0, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
253
253
|
}
|
|
254
254
|
export { InputDateTimeIntervalComponent };
|
|
255
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputDateTimeIntervalComponent, decorators: [{
|
|
@@ -258,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
258
258
|
provide: NG_VALUE_ACCESSOR,
|
|
259
259
|
useExisting: forwardRef(() => InputDateTimeIntervalComponent),
|
|
260
260
|
multi: true
|
|
261
|
-
}], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown mdc-menu-surface\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:1px 10px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"] }]
|
|
261
|
+
}], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"] }]
|
|
262
262
|
}], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }]; }, propDecorators: { timezone: [{
|
|
263
263
|
type: Input
|
|
264
264
|
}], dateMask: [{
|
|
@@ -314,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
314
314
|
type: HostListener,
|
|
315
315
|
args: ['document:keydown.escape', ['$event']]
|
|
316
316
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQThIdEI7SUE1SFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcsNEJBQTRCLENBQUE7SUFHbEQsYUFBYSxHQUFXLGVBQWUsQ0FBQztJQUd4QyxhQUFhLEdBQVcsZUFBZSxDQUFBO0lBR3ZDLGNBQWMsR0FBRyxZQUFZLENBQUE7SUFHN0IsU0FBUyxDQUFPO0lBR2hCLGNBQWMsR0FBRyxZQUFZLENBQUE7SUFHN0IsU0FBUyxDQUFTO0lBR2xCLFlBQVksR0FBRyxVQUFVLENBQUE7SUFHekIsT0FBTyxDQUFRO0lBR2YsWUFBWSxHQUFHLFVBQVUsQ0FBQTtJQUd6QixPQUFPLENBQU07SUFHYixlQUFlLENBQU07SUFHckIsZUFBZSxDQUFNO0lBR3JCLFdBQVcsR0FBVyxRQUFRLENBQUE7SUFHOUIsVUFBVSxHQUFXLE9BQU8sQ0FBQTtJQUc1QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksS0FBSztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLEtBQXdCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7U0FDbEI7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUU7WUFDekUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ25FLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNoSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNwRjtZQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ2hGO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBR00sU0FBUyxDQUFnQjtJQUd6QixXQUFXLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFBO0lBRXBGLGdCQUFnQixDQUFlO0lBQy9CLGlCQUFpQixDQUFTO0lBQzFCLGVBQWUsQ0FBUztJQUN4QixpQkFBaUIsQ0FBUTtJQUN6QixlQUFlLENBQVE7SUFFdkIsWUFBWSxDQUFTO0lBRUQsWUFBWSxDQUFhO0lBRzdDLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDbUIsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLDhCQUE4QixnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO2FBQ2pIO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQXNCO1FBQ3RDLE9BQU8sUUFBUSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxjQUFjLENBQUMsUUFBc0I7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFVO1FBQ2pDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUU7WUFDMUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDakUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ25FLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBZSxFQUFFLE9BQWE7UUFDaEQsSUFBSTtZQUNGLE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUg7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sSUFBSSxTQUFTLENBQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDaEksSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELElBQUksT0FBTyxHQUFHLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQTtTQUN4QzthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFVBQVUsQ0FBQTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7YUFDM0Q7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7YUFDM0M7WUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxVQUFVLENBQUE7Z0JBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTthQUN2RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7YUFDekM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUM5QyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1NBQy9DO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVk7UUFDbkMsSUFBSTtZQUNGLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNyQyxJQUFJO1lBQ0YsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3JDLElBQUk7WUFDRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekI7UUFDRCxNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBQy9FLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDakMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDTCxZQUFZLElBQUksU0FBUyxDQUFBO1NBQzFCO1FBQ0QsWUFBWSxJQUFJLEtBQUssQ0FBQTtRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQy9CLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLFlBQVksSUFBSSxTQUFTLENBQUE7U0FDMUI7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO3VHQW5TVSw4QkFBOEI7MkZBQTlCLDhCQUE4QixveEJBUDlCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztnQkFDN0QsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLHdJQzFCSixnd0tBaUdBOztTRHBFYSw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFYMUMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekIsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzs0QkFDN0QsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxpQkFDYSxpQkFBaUIsQ0FBQyxJQUFJOzRHQVM5QixRQUFRO3NCQURkLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQVdvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBR2xCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbCcsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSW50ZXJ2YWxDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZVxuICBwcm90ZWN0ZWQgX3NlbGVjdGVkRGF0ZVJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT47XG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGU6IERhdGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xuXG4gIGdldCB2YWx1ZSgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy50aW1lem9uZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVGltZUludGVydmFsVmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlIHx8IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZVN0YXJ0RGF0ZSB8fCB0aGlzLnN0YXJ0RGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUgfHwgdGhpcy5lbmREYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhlbmREYXRlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgICBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lIHx8IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmVuZFRpbWU7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJ2YWxzOiBUaW1lSW50ZXJ2YWxbXVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVJbnRlcnZhbFZhbHVlPigpXG5cbiAgcHVibGljIHNlbGVjdGVkSW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgcHVibGljIHNlbGVjdGVkU3RhcnRUaW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkU3RhcnREYXRlOiBzdHJpbmdcbiAgcHVibGljIHNlbGVjdGVkRW5kRGF0ZTogc3RyaW5nXG5cbiAgcHVibGljIGRyb3Bkb3duT3BlbjogYm9vbGVhblxuXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNzbzogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7XG4gICAgdGhpcy5zY3JvbGxTdHJhdGVneSA9IHRoaXMuc3NvLmJsb2NrKClcbiAgICB0aGlzLnJlc2V0RGF0ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRHJvcERvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICAgIHRoaXMuc2Nyb2xsYmFyUmVmLnNjcm9sbFRvRWxlbWVudChgI2FwaXBhc3MtZGF0ZXRpbWUtaW50ZXJ2YWwtJHtzZWxlY3RlZEludGVydmFsLmlkfWAsIHsgZHVyYXRpb246IDgwMCB9KS50aGVuKClcbiAgICAgIH1cbiAgICB9KVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gIH1cblxuICBwdWJsaWMgY2xvc2VEcm9wZG93bihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWwoKTtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpbnRlcnZhbDogVGltZUludGVydmFsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGludGVydmFsPy5pZCA9PT0gdGhpcy5zZWxlY3RlZEludGVydmFsPy5pZDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJbnRlcnZhbChpbnRlcnZhbDogVGltZUludGVydmFsKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gaW50ZXJ2YWw7XG4gICAgdGhpcy5yZXNldERhdGVzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zdGFydFRpbWVcbiAgICB0aGlzLnNlbGVjdGVkRW5kVGltZSA9IHRoaXMuZW5kVGltZVxuICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLmVuZERhdGUpO1xuICB9XG5cbiAgcHVibGljIG9uRGF0ZVJhbmdlQ2hhbmdlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0ICYmIGRhdGUgPiB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCAmJiAhdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UuZW5kKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0LCBkYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcoZGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UoZGF0ZSwgdW5kZWZpbmVkKVxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMuZGF0ZVRvU3RyaW5nKGRhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGF0ZVRvU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdHJpbmdUb0RhdGUoZGF0ZTogc3RyaW5nKTogRGF0ZSB7XG4gICAgcmV0dXJuIGRhdGUgPyBtb21lbnQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KS50b0RhdGUoKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRlUmFuZ2Uoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlUmFuZ2Uoc3RhcnREYXRlID8gbW9tZW50KHN0YXJ0RGF0ZSkudG9EYXRlKCkgOiB1bmRlZmluZWQsIGVuZERhdGUgPyBtb21lbnQoZW5kRGF0ZSkudG9EYXRlKCkgOiB1bmRlZmluZWQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlPERhdGU+KG51bGwsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGFydERhdGVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGVuZERhdGVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpO1xuICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XG4gICAgaWYgKGVuZERhdGUgPCBzdGFydERhdGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hWYWx1ZXMoKTtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW50ZXJ2YWwpIHtcbiAgICAgIHRoaXMuX3ZhbHVlLmludGVydmFsID0gdGhpcy5zZWxlY3RlZEludGVydmFsO1xuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUgPSB1bmRlZmluZWRcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSk7XG4gICAgICAgIHRoaXMuYXBwbHlUaW1lT25EYXRlKHN0YXJ0RGF0ZSwgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID8/ICcwMDowMDowMCdcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSBtb21lbnQoc3RhcnREYXRlKS50b0RhdGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEVuZERhdGUpIHtcbiAgICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKTtcbiAgICAgICAgdGhpcy5hcHBseVRpbWVPbkRhdGUoZW5kRGF0ZSwgdGhpcy5zZWxlY3RlZEVuZFRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRW5kVGltZSA9IHRoaXMuc2VsZWN0ZWRFbmRUaW1lID8/ICcwMDowMDowMCdcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVRpbWVPbkRhdGUoZGF0ZTogRGF0ZSwgdGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRpbWUpIHtcbiAgICAgIGRhdGUuc2V0SG91cnModGhpcy5nZXRIb3Vyc0Zyb21UaW1lKHRpbWUpKVxuICAgICAgZGF0ZS5zZXRNaW51dGVzKHRoaXMuZ2V0TWludXRlc0Zyb21UaW1lKHRpbWUpKVxuICAgICAgZGF0ZS5zZXRTZWNvbmRzKHRoaXMuZ2V0U2Vjb25kc0Zyb21UaW1lKHRpbWUpKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG91cnNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMF0pIHx8IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW51dGVzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzFdKSB8fCAwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vjb25kc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVsyXSkgfHwgMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5wdXRUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlPy5pbnRlcnZhbCkge1xuICAgICAgcmV0dXJuIHRoaXMucGVyaW9kTGFiZWw7XG4gICAgfVxuICAgIGNvbnN0IGVtcHR5RGF0ZTogc3RyaW5nID0gdGhpcy5oaWRlVGltZSA/ICdfX19fX19fX19fJyA6ICdfX19fX19fX19fIF9fX19fX19fJztcbiAgICBsZXQgZm9ybWF0ZWRUZXh0ID0gJyc7XG4gICAgaWYgKHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gZW1wdHlEYXRlXG4gICAgfVxuICAgIGZvcm1hdGVkVGV4dCArPSAnIC0gJ1xuICAgIGlmICh0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGZvcm1hdGVkVGV4dCArPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gZW1wdHlEYXRlXG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRlZFRleHQ7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtdGltZS1pbnRlcnZhbFwiPlxuICA8bWF0LWZvcm0tZmllbGQgY2RrT3ZlcmxheU9yaWdpbiAjb3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiIGNsYXNzPVwiY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkcm9wZG93bk9wZW4gPyBjbG9zZURyb3Bkb3duKCRldmVudCkgOiBvcGVuRHJvcERvd24oJGV2ZW50KVwiPlxuICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJtZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlXCIgW2lubmVySFRNTF09XCJsYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwiaW50ZXJ2YWwtaW5wdXRcIj5cbiAgICAgIDxkaXYgbWF0UHJlZml4IGNsYXNzPVwicGVyaW9kLWJhZGdldCB0ZXh0LXByaW1hcnlcIiAqbmdJZj1cInZhbHVlPy5pbnRlcnZhbFwiPlxuICAgICAgICA8bWF0LWljb24+ZGF0ZV9yYW5nZTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGVyaW9kLXRleHRcIiBbaW5uZXJIVE1MXT1cInZhbHVlPy5pbnRlcnZhbD8ubGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dCBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIiBjbGFzcz1cImNsaWNrYWJsZVwiIG1hdElucHV0IFt2YWx1ZV09XCJnZXRJbnB1dFRleHQoKVwiIFtyZWFkb25seV09XCJ0cnVlXCI+XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsaWNrYWJsZSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD57e2Ryb3Bkb3duT3BlbiA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnfX08L21hdC1pY29uPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwtb3ZlcmxheS1wYW5lbCdcIlxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwic2Nyb2xsU3RyYXRlZ3lcIlxuICAgICAgICAgICAgIChiYWNrZHJvcENsaWNrKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY2xvc2VEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJvcmlnaW5cIlxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJkcm9wZG93bk9wZW5cIj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtdGltZS1pbnRlcnZhbC1kcm9wZG93biBtZGMtbWVudS1zdXJmYWNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LW9wdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxzLWNvbnRhaW5lclwiICpuZ0lmPVwidGhpcy5pbnRlcnZhbHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJyZWxhdGl2ZUxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZS10ZXh0XCIgW2lubmVySFRNTF09XCJyZWxhdGl2ZUxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXNjcm9sbGJhciAjaW50ZXJ2YWxzQmFyIGNsYXNzPVwiZGF0ZS10aW1lLWludGVydmFsLXNjcm9sbGJhclwiIFt2aXNpYmlsaXR5XT1cIidhbHdheXMnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsXCJcbiAgICAgICAgICAgICAgIFtpZF09XCInYXBpcGFzcy1kYXRldGltZS1pbnRlcnZhbC0nICsgaW50ZXJ2YWwuaWRcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEludGVydmFsKGludGVydmFsKVwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ludGVydmFsLXNlbGVjdGVkJzogaXNTZWxlY3RlZChpbnRlcnZhbCl9XCJcbiAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbnRlcnZhbCBvZiB0aGlzLmludGVydmFsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWxhYmVsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaW50ZXJ2YWwubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbC1pY29uXCIgKm5nSWY9XCJpc1NlbGVjdGVkKGludGVydmFsKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtc2Vjb25kYXJ5XCI+Y2hlY2s8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J29ubHktY2FsZW5kYXInOiAhdGhpcy5pbnRlcnZhbHN9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGV4dFwiICpuZ0lmPVwiYWJzb2x1dGVMYWJlbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWJzb2x1dGUtdGV4dFwiIFtpbm5lckhUTUxdPVwiYWJzb2x1dGVMYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWZpZWxkc1wiIFtuZ0NsYXNzXT1cInsncGlja2VyLW9ubHktZGF0ZSc6IGhpZGVUaW1lfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1ncm91cFwiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgW2lubmVySFRNTF09XCJzdGFydERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU3RhcnREYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW21hc2tdPVwiZGF0ZU1hc2tcIiBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCIgKGJsdXIpPVwic3RhcnREYXRlQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiICpuZ0lmPVwiIWhpZGVUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cInN0YXJ0VGltZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydFRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1ncm91cFwiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgW2lubmVySFRNTF09XCJlbmREYXRlTGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEVuZERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWFza109XCJkYXRlTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiAoYmx1cik9XCJlbmREYXRlQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiICpuZ0lmPVwiIWhpZGVUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZFRpbWVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWFza109XCJ0aW1lTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kVGltZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG1hdC1jYWxlbmRhclxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cIl9zZWxlY3RlZERhdGVSYW5nZVwiXG4gICAgICAgICAgICBbbWF4RGF0ZV09XCJjYWxlbmRhck1heERhdGVcIlxuICAgICAgICAgICAgW21pbkRhdGVdPVwiY2FsZW5kYXJNaW5EYXRlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQpXCI+PC9tYXQtY2FsZW5kYXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtdGltZS1hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvbiBkcm9wZG93bi1jYW5jZWwtYnV0dG9uXCIgKm5nSWY9XCJjYW5jZWxMYWJlbFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWNhbmNlbC1idXR0b24tdGV4dFwiIFtpbm5lckhUTUxdPVwiY2FuY2VsTGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWFwcGx5LWJ1dHRvblwiICpuZ0lmPVwiYXBwbHlMYWJlbFwiIChjbGljayk9XCJhcHBseSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJhcHBseUxhYmVsXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQTZIdEI7SUEzSFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcs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QURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQVdvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWxCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbCcsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSW50ZXJ2YWxDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZVxuICBwcm90ZWN0ZWQgX3NlbGVjdGVkRGF0ZVJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT47XG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGU6IERhdGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xuXG4gIGdldCB2YWx1ZSgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy50aW1lem9uZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVGltZUludGVydmFsVmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlIHx8IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZVN0YXJ0RGF0ZSB8fCB0aGlzLnN0YXJ0RGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUgfHwgdGhpcy5lbmREYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhlbmREYXRlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgICBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lIHx8IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmVuZFRpbWU7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJ2YWxzOiBUaW1lSW50ZXJ2YWxbXVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVJbnRlcnZhbFZhbHVlPigpXG5cbiAgcHVibGljIHNlbGVjdGVkSW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgcHVibGljIHNlbGVjdGVkU3RhcnRUaW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkU3RhcnREYXRlOiBzdHJpbmdcbiAgcHVibGljIHNlbGVjdGVkRW5kRGF0ZTogc3RyaW5nXG5cbiAgcHVibGljIGRyb3Bkb3duT3BlbjogYm9vbGVhblxuXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNzby5ibG9jaygpXG4gICAgdGhpcy5yZXNldERhdGVzKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRyb3BEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbnRlcnZhbCA9IHRoaXMuX3ZhbHVlLmludGVydmFsO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclJlZi5zY3JvbGxUb0VsZW1lbnQoYCNhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLSR7c2VsZWN0ZWRJbnRlcnZhbC5pZH1gLCB7IGR1cmF0aW9uOiA4MDAgfSkudGhlbigpXG4gICAgICB9XG4gICAgfSlcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnRlcnZhbD8uaWQgPT09IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbD8uaWQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IGludGVydmFsO1xuICAgIHRoaXMucmVzZXREYXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldERhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lXG4gICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLmVuZFRpbWVcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVSYW5nZUNoYW5nZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydCAmJiBkYXRlID4gdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnQgJiYgIXRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLmVuZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCwgZGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMuZGF0ZVRvU3RyaW5nKGRhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKGRhdGUsIHVuZGVmaW5lZClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhkYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IG1vbWVudChkYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5nVG9EYXRlKGRhdGU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCkudG9EYXRlKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKHN0YXJ0RGF0ZSA/IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkLCBlbmREYXRlID8gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGVSYW5nZTxEYXRlPihudWxsLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhcnREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpLCB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBlbmREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xuICAgIGlmIChlbmREYXRlIDwgc3RhcnREYXRlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZShzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoVmFsdWVzKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEludGVydmFsKSB7XG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbDtcbiAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpO1xuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShzdGFydERhdGUsIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gbW9tZW50KHN0YXJ0RGF0ZSkudG9EYXRlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSB7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuYXBwbHlUaW1lT25EYXRlKGVuZERhdGUsIHRoaXMuc2VsZWN0ZWRFbmRUaW1lKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSA9IG1vbWVudChlbmREYXRlKS50b0RhdGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5fdmFsdWUuaW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUaW1lT25EYXRlKGRhdGU6IERhdGUsIHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aW1lKSB7XG4gICAgICBkYXRlLnNldEhvdXJzKHRoaXMuZ2V0SG91cnNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0TWludXRlcyh0aGlzLmdldE1pbnV0ZXNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0U2Vjb25kcyh0aGlzLmdldFNlY29uZHNGcm9tVGltZSh0aW1lKSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzBdKSB8fCAwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWludXRlc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVsxXSkgfHwgMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlY29uZHNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMl0pIHx8IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldElucHV0VGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl92YWx1ZT8uaW50ZXJ2YWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcmlvZExhYmVsO1xuICAgIH1cbiAgICBjb25zdCBlbXB0eURhdGU6IHN0cmluZyA9IHRoaXMuaGlkZVRpbWUgPyAnX19fX19fX19fXycgOiAnX19fX19fX19fXyBfX19fX19fXyc7XG4gICAgbGV0IGZvcm1hdGVkVGV4dCA9ICcnO1xuICAgIGlmICh0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSkge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IHRoaXMuZGF0ZVRvU3RyaW5nKHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICBmb3JtYXRlZFRleHQgKz0gJyAtICdcbiAgICBpZiAodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0ZWRUZXh0O1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWxcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNka092ZXJsYXlPcmlnaW4gI29yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIiBjbGFzcz1cImNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigkZXZlbnQpIDogb3BlbkRyb3BEb3duKCRldmVudClcIj5cbiAgICA8bWF0LWxhYmVsIGNsYXNzPVwibWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVwiIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICA8c3BhbiBjbGFzcz1cImludGVydmFsLWlucHV0XCI+XG4gICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBlcmlvZC1iYWRnZXQgdGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJ2YWx1ZT8uaW50ZXJ2YWxcIj5cbiAgICAgICAgPG1hdC1pY29uPmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBlcmlvZC10ZXh0XCIgW2lubmVySFRNTF09XCJ2YWx1ZT8uaW50ZXJ2YWw/LmxhYmVsXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCIgY2xhc3M9XCJjbGlja2FibGVcIiBtYXRJbnB1dCBbdmFsdWVdPVwiZ2V0SW5wdXRUZXh0KClcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPlxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJjbGlja2FibGUgdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+e3tkcm9wZG93bk9wZW4gPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJ319PC9tYXQtaWNvbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLW92ZXJsYXktcGFuZWwnXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cInNjcm9sbFN0cmF0ZWd5XCJcbiAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJjbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZHJvcGRvd25PcGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwtZHJvcGRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtb3B0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbHMtY29udGFpbmVyXCIgKm5nSWY9XCJ0aGlzLmludGVydmFsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHRcIiAqbmdJZj1cInJlbGF0aXZlTGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aXZlLXRleHRcIiBbaW5uZXJIVE1MXT1cInJlbGF0aXZlTGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctc2Nyb2xsYmFyICNpbnRlcnZhbHNCYXIgY2xhc3M9XCJkYXRlLXRpbWUtaW50ZXJ2YWwtc2Nyb2xsYmFyXCIgW3Zpc2liaWxpdHldPVwiJ2Fsd2F5cydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxcIlxuICAgICAgICAgICAgICAgW2lkXT1cIidhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLScgKyBpbnRlcnZhbC5pZFwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWwpXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW50ZXJ2YWwtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKGludGVydmFsKX1cIlxuICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGludGVydmFsIG9mIHRoaXMuaW50ZXJ2YWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbnRlcnZhbC5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWljb25cIiAqbmdJZj1cImlzU2VsZWN0ZWQoaW50ZXJ2YWwpXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC1zZWNvbmRhcnlcIj5jaGVjazwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1zY3JvbGxiYXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnb25seS1jYWxlbmRhcic6ICF0aGlzLmludGVydmFsc31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJhYnNvbHV0ZUxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhYnNvbHV0ZS10ZXh0XCIgW2lubmVySFRNTF09XCJhYnNvbHV0ZUxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItZmllbGRzXCIgW25nQ2xhc3NdPVwieydwaWNrZXItb25seS1kYXRlJzogaGlkZVRpbWV9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cInN0YXJ0RGF0ZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWFza109XCJkYXRlTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiAoYmx1cik9XCJzdGFydERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwic3RhcnRUaW1lTGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hc2tdPVwidGltZU1hc2tcIiBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN0YXJ0VGltZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXNrXT1cImRhdGVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIChibHVyKT1cImVuZERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwiZW5kVGltZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRFbmRUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5zY2hlZHVsZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWNhbGVuZGFyXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAgIFttYXhEYXRlXT1cImNhbGVuZGFyTWF4RGF0ZVwiXG4gICAgICAgICAgICBbbWluRGF0ZV09XCJjYWxlbmRhck1pbkRhdGVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIj48L21hdC1jYWxlbmRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWNhbmNlbC1idXR0b25cIiAqbmdJZj1cImNhbmNlbExhYmVsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJjYW5jZWxMYWJlbFwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idXR0b24gZHJvcGRvd24tYXBwbHktYnV0dG9uXCIgKm5nSWY9XCJhcHBseUxhYmVsXCIgKGNsaWNrKT1cImFwcGx5KClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1jYW5jZWwtYnV0dG9uLXRleHRcIiBbaW5uZXJIVE1MXT1cImFwcGx5TGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|