@tiba-spark/client-shared-lib 26.1.0-19 → 26.1.0-26

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.
@@ -69,13 +69,32 @@ export class TicketService {
69
69
  ticketDateTime = this.getTicketDateTimeByTicketTime(content, { start: 7, end: 13 });
70
70
  break;
71
71
  default:
72
+ {
73
+ const qValue = this.extractQueryParam(content, 'q');
74
+ if (qValue !== null) {
75
+ return this.extractTicketInfo(qValue);
76
+ }
77
+ }
72
78
  break;
73
79
  }
74
80
  }
75
81
  catch (_) { }
76
- const ticketDateTimeInSeconds = parseDateTimeToSparkParkTime(ticketDateTime.toDate());
82
+ const ticketDateTimeInSeconds = parseDateTimeToSparkParkTime(ticketDateTime?.toDate());
77
83
  return { ticketNum, ticketDateTimeInSeconds };
78
84
  }
85
+ extractQueryParam(url, param) {
86
+ if (!url || !param) {
87
+ return null;
88
+ }
89
+ try {
90
+ const parsedUrl = new URL(url);
91
+ return parsedUrl.searchParams.get(param);
92
+ }
93
+ catch {
94
+ // In case the string is not a valid URL
95
+ return null;
96
+ }
97
+ }
79
98
  getTicketDateTimeByContent(content, date, time) {
80
99
  const _date = content.slice(date.start, date.end);
81
100
  const _time = content.slice(time.start, time.end);
@@ -131,4 +150,4 @@ export class TicketService {
131
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketService, decorators: [{
132
151
  type: Injectable
133
152
  }], ctorParameters: () => [{ type: i0.Injector }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUsvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUdoRSxNQUFNLE9BQWdCLGFBQWE7SUFPakMsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQStCLEVBQUUsVUFBZSxJQUFJLEVBQUUsbUJBQWlDLEVBQUU7UUFDbkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakYsTUFBTSxJQUFJLEdBQWUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEcsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELHdCQUF3QixDQUFDLFdBQStCLEVBQUUsVUFBZSxJQUFJLEVBQUUsbUJBQWlDLEVBQUU7UUFDaEgsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRixNQUFNLG1CQUFtQixHQUFHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQztRQUNsRyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQztRQUU1RixNQUFNLE1BQU0sR0FBOEI7WUFDeEMsUUFBUSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLEdBQUcsbUJBQW1CLElBQUksaUJBQWlCLEVBQUU7b0JBQ3BELEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUMvRSxDQUFDO1lBQ0YsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUM7U0FDckUsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO2FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUlELGlCQUFpQixDQUFDLE9BQWU7UUFDL0IsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksY0FBNkIsQ0FBQztRQUNsQyxJQUFJLENBQUM7WUFDSCwrQ0FBK0M7WUFDL0MsUUFBUSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssaUJBQWlCLENBQUMsR0FBRyxDQUFDO2dCQUMzQixLQUFLLGlCQUFpQixDQUFDLEdBQUc7b0JBQ3hCLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztvQkFDNUUseUNBQXlDO29CQUN6Qyx5Q0FBeUM7b0JBQ3pDLGNBQWMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRyxNQUFNO2dCQUNSLEtBQUssaUJBQWlCLENBQUMsR0FBRztvQkFDeEIsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO29CQUM3RSx5Q0FBeUM7b0JBQ3pDLHlDQUF5QztvQkFDekMsY0FBYyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFHLE1BQU07Z0JBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7b0JBQzVFLDRDQUE0QztvQkFDNUMsY0FBYyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuRixNQUFNO2dCQUNSLEtBQUssaUJBQWlCLENBQUMsUUFBUTtvQkFDN0IsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO29CQUM5RSw2Q0FBNkM7b0JBQzdDLGNBQWMsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDcEYsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVmLE1BQU0sdUJBQXVCLEdBQUcsNEJBQTRCLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFTywwQkFBMEIsQ0FBQyxPQUFlLEVBQUUsSUFBb0MsRUFBRSxJQUFvQztRQUM1SCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsT0FBTyxNQUFNLENBQUM7WUFDWixJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDN0IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsUUFBd0M7UUFDN0Ysa0JBQWtCO1FBQ2xCLDRDQUE0QztRQUM1QywwQ0FBMEM7UUFDMUMsK0NBQStDO1FBRS9DLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLGVBQWUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUIsSUFBSSx3QkFBd0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZFLHVHQUF1RztRQUN2Ryx5R0FBeUc7UUFDekcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxxREFBcUQ7WUFDckQsd0JBQXdCLElBQUksT0FBTyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RGLElBQUksbUJBQW1CLEdBQUcsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO1FBQ3JELElBQUksVUFBVSxHQUFHLG1CQUFtQjtZQUFFLG1CQUFtQixJQUFJLE9BQU8sQ0FBQztRQUVyRSxNQUFNLHVCQUF1QixHQUFHLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUMzSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBOEIsRUFBRSwwQkFBa0MsSUFBSTtRQUN0SSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsTUFBTSxRQUFRLEdBQVU7WUFDdEIsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNkLE1BQU07WUFDTixTQUFTO1NBQ1YsQ0FBQztRQUNGLElBQUksdUJBQXVCLEVBQUUsQ0FBQztZQUM1QixRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQUUsTUFBYyxFQUFFLGNBQThCLEVBQUUsdUJBQStCO1FBQ3pILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQXJJbUIsYUFBYTttSEFBYixhQUFhOzs0RkFBYixhQUFhO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tYW5kTm90aWZpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24tY29uZmlnJztcbmltcG9ydCB7IENvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DbGFzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1jb25maWcnO1xuaW1wb3J0IHsgQmFyY29kZVR5cGVMZW5ndGggfSBmcm9tICcuLi9lbnVtcy9iYXJjb2RlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUcmFjZVBheWxvYWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FuYWx5dGljcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ21kRGF0YUR0byB9IGZyb20gJy4uL2ludGVyZmFjZXMvY21kLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ0RhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaWNrZXRJZGVudGlmaWVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aWNrZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZhY2lsaXR5U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL2ZhY2lsaXR5L2ZhY2lsaXR5LnN0YXRlJztcbmltcG9ydCB7IFBhcmtlclN0YXRlIH0gZnJvbSAnLi4vbW9kdWxlcy9wYXJrZXIvcGFya2VyLnN0YXRlJztcbmltcG9ydCB7IFJlbW90ZUNvbW1hbmRUeXBlcyB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFJlbW90ZUNvbW1hbmRCYXNlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9ycGMtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IHBhcnNlRGF0ZVRpbWVUb1NwYXJrUGFya1RpbWUgfSBmcm9tICcuLi91dGlscy9kYXRlLnV0aWwnO1xuaW1wb3J0IHsgUmVtb3RlQ29tbWFuZFNlcnZpY2UgfSBmcm9tICcuL3JlbW90ZS1jb21tYW5kLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGlja2V0U2VydmljZSB7XG5cbiAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTtcbiAgcHJvdGVjdGVkIGNvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlOiBDb21tYW5kTm90aWZpY2F0aW9uU2VydmljZTtcbiAgcHJvdGVjdGVkIHJlbW90ZUNvbW1hbmRTZXJ2aWNlOiBSZW1vdGVDb21tYW5kU2VydmljZTtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnN0b3JlID0gaW5qZWN0b3IuZ2V0KFN0b3JlKTtcbiAgICB0aGlzLmNvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KENvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlKTtcbiAgICB0aGlzLnJlbW90ZUNvbW1hbmRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFJlbW90ZUNvbW1hbmRTZXJ2aWNlKTtcbiAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICB9XG5cbiAgc2VuZENvbW1hbmQoY29tbWFuZFR5cGU6IFJlbW90ZUNvbW1hbmRUeXBlcywgb3B0aW9uczogYW55ID0gbnVsbCwgYW5hbHl0aWNzUGF5bG9hZDogVHJhY2VQYXlsb2FkID0ge30pOiBPYnNlcnZhYmxlPHsgcGF5bG9hZERhdGE6IFJlbW90ZUNvbW1hbmRCYXNlLCByZXNwb25zZTogYW55IH0+IHtcbiAgICBjb25zdCBndWlkID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgIGNvbnN0IHRpY2tldElkZW50aWZpZXIgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFBhcmtlclN0YXRlLnRpY2tldElkZW50aWZpZXIpO1xuICAgIGNvbnN0IGRhdGE6IENvbmZpZ0RhdGEgPSB7IGNvbW1hbmRUeXBlLCB0aWNrZXRJZGVudGlmaWVyLCBvcHRpb25zIH07XG4gICAgY29uc3QgY21kRGF0YUR0byQgPSB0aGlzLmdldFRpY2tldFJlbW90ZUNvbW1hbmREYXRhKGNvbW1hbmRUeXBlLCBkYXRhLCB0aWNrZXRJZGVudGlmaWVyLCBvcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5yZW1vdGVDb21tYW5kU2VydmljZS5zZW5kKGNtZERhdGFEdG8kLCBndWlkLCBudWxsLCBhbmFseXRpY3NQYXlsb2FkKTtcbiAgfVxuXG4gIHNlbmRDb21tYW5kV2l0aFNuYWNrRGF0YShjb21tYW5kVHlwZTogUmVtb3RlQ29tbWFuZFR5cGVzLCBvcHRpb25zOiBhbnkgPSBudWxsLCBhbmFseXRpY3NQYXlsb2FkOiBUcmFjZVBheWxvYWQgPSB7fSk6IE9ic2VydmFibGU8eyBwYXlsb2FkRGF0YTogUmVtb3RlQ29tbWFuZEJhc2UsIHJlc3BvbnNlOiBhbnkgfT4ge1xuICAgIGNvbnN0IHRpY2tldElkZW50aWZpZXIgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFBhcmtlclN0YXRlLnRpY2tldElkZW50aWZpZXIpO1xuICAgIGNvbnN0IGVudGl0eVR5cGVUcmFuc2xhdGUgPSBvcHRpb25zPy5lbnRpdHlUeXBlVHJhbnNsYXRlIHx8IHRpY2tldElkZW50aWZpZXI/LmVudGl0eVR5cGVUcmFuc2xhdGU7XG4gICAgY29uc3QgZW50aXR5RGlzcGxheU5hbWUgPSBvcHRpb25zPy5lbnRpdHlEaXNwbGF5TmFtZSB8fCB0aWNrZXRJZGVudGlmaWVyPy5lbnRpdHlEaXNwbGF5TmFtZTtcblxuICAgIGNvbnN0IGNvbmZpZzogQ29tbWFuZE5vdGlmaWNhdGlvbkNvbmZpZyA9IHtcbiAgICAgIG1lc3NhZ2VzOiBbe1xuICAgICAgICB2YWx1ZTogYCR7ZW50aXR5VHlwZVRyYW5zbGF0ZX0gJHtlbnRpdHlEaXNwbGF5TmFtZX1gLFxuICAgICAgICBjbGFzczogZW50aXR5RGlzcGxheU5hbWUgPyBOb3RpZmljYXRpb25DbGFzcy5zdWJUaXRsZSA6IE5vdGlmaWNhdGlvbkNsYXNzLm5vbmUsXG4gICAgICB9XSxcbiAgICAgIGNvbW1hbmQ6IHRoaXMucmVtb3RlQ29tbWFuZFNlcnZpY2UuZ2V0UmVtb3RlQ29tbWFuZFRleHQoY29tbWFuZFR5cGUpLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zZW5kQ29tbWFuZChjb21tYW5kVHlwZSwgb3B0aW9ucywgYW5hbHl0aWNzUGF5bG9hZClcbiAgICAgIC5waXBlKHRoaXMuY29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2UuZGlzcGxheShjb25maWcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRUaWNrZXRSZW1vdGVDb21tYW5kRGF0YShjb21tYW5kVHlwZTogUmVtb3RlQ29tbWFuZFR5cGVzLCBkYXRhOiBDb25maWdEYXRhLCB0aWNrZXRJZGVudGlmaWVyPzogVGlja2V0SWRlbnRpZmllciwgb3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8Q21kRGF0YUR0bz47XG5cbiAgZXh0cmFjdFRpY2tldEluZm8oY29udGVudDogc3RyaW5nKTogeyB0aWNrZXROdW06IHN0cmluZywgdGlja2V0RGF0ZVRpbWVJblNlY29uZHM6IG51bWJlciB9IHtcbiAgICBsZXQgdGlja2V0TnVtOiBzdHJpbmc7XG4gICAgbGV0IHRpY2tldERhdGVUaW1lOiBtb21lbnQuTW9tZW50O1xuICAgIHRyeSB7XG4gICAgICAvLyBUbyBkZXRlcm1pbmUgd2hhdCB0eXBlLCBjaGVjayBjb250ZW50IGxlbmd0aFxuICAgICAgc3dpdGNoIChjb250ZW50Lmxlbmd0aCkge1xuICAgICAgICBjYXNlIEJhcmNvZGVUeXBlTGVuZ3RoLlFSMTpcbiAgICAgICAgY2FzZSBCYXJjb2RlVHlwZUxlbmd0aC5RUjI6XG4gICAgICAgICAgdGlja2V0TnVtID0gY29udGVudC5zbGljZSg2LCAxNCk7IC8vIExvY2F0aW9uIG9mIHRpY2tldCBudW1iZXI7IGZyb20gNyB0byAxNFxuICAgICAgICAgIC8vIExvY2F0aW9uIG9mIHRpY2tldCBkYXRlOyBmcm9tIDE0IHRvIDIwXG4gICAgICAgICAgLy8gTG9jYXRpb24gb2YgdGlja2V0IHRpbWU7IGZyb20gMjAgdG8gMjRcbiAgICAgICAgICB0aWNrZXREYXRlVGltZSA9IHRoaXMuZ2V0VGlja2V0RGF0ZVRpbWVCeUNvbnRlbnQoY29udGVudCwgeyBzdGFydDogMTQsIGVuZDogMjAgfSwgeyBzdGFydDogMjAsIGVuZDogMjQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQmFyY29kZVR5cGVMZW5ndGguUVI0OlxuICAgICAgICAgIHRpY2tldE51bSA9IGNvbnRlbnQuc2xpY2UoNywgMTYpOyAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgbnVtYmVyOyBmcm9tIDggdG8gMTYuXG4gICAgICAgICAgLy8gTG9jYXRpb24gb2YgdGlja2V0IGRhdGU7IGZyb20gMTYgdG8gMjJcbiAgICAgICAgICAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgdGltZTsgZnJvbSAyMiB0byAyOFxuICAgICAgICAgIHRpY2tldERhdGVUaW1lID0gdGhpcy5nZXRUaWNrZXREYXRlVGltZUJ5Q29udGVudChjb250ZW50LCB7IHN0YXJ0OiAxNiwgZW5kOiAyMiB9LCB7IHN0YXJ0OiAyMiwgZW5kOiAyOCB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBCYXJjb2RlVHlwZUxlbmd0aC5CYXJjb2RlMTpcbiAgICAgICAgICB0aWNrZXROdW0gPSBjb250ZW50LnNsaWNlKDcsIDE0KTsgLy8gTG9jYXRpb24gb2YgdGlja2V0IG51bWJlcjsgZnJvbSA3IHRvIDE0XG4gICAgICAgICAgLy8gTG9jYXRpb24gb2YgdGlja2V0IHRpbWUgaW5mbzsgZnJvbSAxIHRvIDdcbiAgICAgICAgICB0aWNrZXREYXRlVGltZSA9IHRoaXMuZ2V0VGlja2V0RGF0ZVRpbWVCeVRpY2tldFRpbWUoY29udGVudCwgeyBzdGFydDogMSwgZW5kOiA3IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEJhcmNvZGVUeXBlTGVuZ3RoLkJhcmNvZGUyOlxuICAgICAgICAgIHRpY2tldE51bSA9IGNvbnRlbnQuc2xpY2UoMTMsIDIyKTsgLy8gTG9jYXRpb24gb2YgdGlja2V0IG51bWJlcjsgZnJvbSAxNCB0byAyMlxuICAgICAgICAgIC8vIExvY2F0aW9uIG9mIHRpY2tldCB0aW1lIGluZm87IGZyb20gNyB0byAxM1xuICAgICAgICAgIHRpY2tldERhdGVUaW1lID0gdGhpcy5nZXRUaWNrZXREYXRlVGltZUJ5VGlja2V0VGltZShjb250ZW50LCB7IHN0YXJ0OiA3LCBlbmQ6IDEzIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKF8pIHsgfVxuXG4gICAgY29uc3QgdGlja2V0RGF0ZVRpbWVJblNlY29uZHMgPSBwYXJzZURhdGVUaW1lVG9TcGFya1BhcmtUaW1lKHRpY2tldERhdGVUaW1lLnRvRGF0ZSgpKTtcbiAgICByZXR1cm4geyB0aWNrZXROdW0sIHRpY2tldERhdGVUaW1lSW5TZWNvbmRzIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRpY2tldERhdGVUaW1lQnlDb250ZW50KGNvbnRlbnQ6IHN0cmluZywgZGF0ZTogeyBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciB9LCB0aW1lOiB7IHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyIH0pOiBtb21lbnQuTW9tZW50IHtcbiAgICBjb25zdCBfZGF0ZSA9IGNvbnRlbnQuc2xpY2UoZGF0ZS5zdGFydCwgZGF0ZS5lbmQpO1xuICAgIGNvbnN0IF90aW1lID0gY29udGVudC5zbGljZSh0aW1lLnN0YXJ0LCB0aW1lLmVuZCk7XG4gICAgcmV0dXJuIG1vbWVudCh7XG4gICAgICB5ZWFyOiAyMDAwICsgK19kYXRlLnNsaWNlKDQsIDYpLFxuICAgICAgbW9udGg6ICtfZGF0ZS5zbGljZSgyLCA0KSAtIDEsXG4gICAgICBkYXk6ICtfZGF0ZS5zbGljZSgwLCAyKSxcbiAgICAgIGhvdXI6ICtfdGltZS5zbGljZSgwLCAyKSxcbiAgICAgIG1pbnV0ZTogK190aW1lLnNsaWNlKDIsIDQpLFxuICAgICAgc2Vjb25kOiBfdGltZS5sZW5ndGggPT09IDYgPyArX3RpbWUuc2xpY2UoNCwgNikgOiAwXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpY2tldERhdGVUaW1lQnlUaWNrZXRUaW1lKGNvbnRlbnQ6IHN0cmluZywgbG9jYXRpb246IHsgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgfSk6IG1vbWVudC5Nb21lbnQge1xuICAgIC8vIG11bHRpcGxlIDYwMDAwOlxuICAgIC8vIGdldFRpbWUgbWV0aG9kIHJldHVybiBkYXRlIGluIG1pbGlzZWNvbmRzXG4gICAgLy8gdG8gY29udmVydCB0byBzZWNvbmRzIG11bHRpcGxlIGJ5IDEwMDAwXG4gICAgLy8gdG8gY29udmVydCBzZWNvbmRzIHRvIG1pbnV0ZXMgbXVsdGlwbGUgYnkgNjBcblxuICAgIGNvbnN0IHRpY2tldFRpbWUgPSArY29udGVudC5zbGljZShsb2NhdGlvbi5zdGFydCwgbG9jYXRpb24uZW5kKTtcbiAgICB2YXIgY3VyVGltZURhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgICBjdXJUaW1lRGF0ZVRpbWUuc2V0U2Vjb25kcygwKTtcblxuICAgIGxldCBkZWZhdWx0U21hcnRQYXJrRGF0ZVRpbWUgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKS5nZXRUaW1lKCk7XG4gICAgLy8gVGhlIGRlZmF1bHQgc21hcnQgcGFyayBkYXRlIHRpbWUgaXMgYWx3YXlzOiBTYXQgSmFuIDAxIDIwMDAgMDA6MDA6MDAgR01UKzAyMDAgKElzcmFlbCBTdGFuZGFyZCBUaW1lKVxuICAgIC8vIElmIHRoZSBjdXJyZW50IHRpbWUgZGF0ZSBpcyBpbiBEU1QgKEdNVCswMzAwKSB0aGVuIHRvIGF2b2lkIGluY29ycmVjdCByZXN1bHRzIHdlIG5lZWQgdG8gcmVtb3ZlIDEgaG91clxuICAgIGlmIChtb21lbnQoY3VyVGltZURhdGVUaW1lKS5pc0RTVCgpKSB7XG4gICAgICAvLyA2MCBNaW51dGVzICggMSBob3VyICkgaW4gbWlsaXNlY29uZHMgZXF1YWwgMzYwMDAwMFxuICAgICAgZGVmYXVsdFNtYXJ0UGFya0RhdGVUaW1lIC09IDM2MDAwMDA7XG4gICAgfVxuXG4gICAgdmFyIGN1clRpbWVJbk1pbnV0ZXMgPSAoY3VyVGltZURhdGVUaW1lLmdldFRpbWUoKSAtIGRlZmF1bHRTbWFydFBhcmtEYXRlVGltZSkgLyA2MDAwMDtcbiAgICB2YXIgY3VyVGltZVRpY2tldEZvcm1hdCA9IGN1clRpbWVJbk1pbnV0ZXMgJSAxMDAwMDAwO1xuICAgIGlmICh0aWNrZXRUaW1lID4gY3VyVGltZVRpY2tldEZvcm1hdCkgY3VyVGltZVRpY2tldEZvcm1hdCArPSAxMDAwMDAwO1xuXG4gICAgY29uc3QgdGlja2V0RGF0ZVRpbWVJbk1pbnV0ZXMgPSAoZGVmYXVsdFNtYXJ0UGFya0RhdGVUaW1lIC8gNjAwMDApICsgY3VyVGltZUluTWludXRlcyAtIChjdXJUaW1lVGlja2V0Rm9ybWF0IC0gdGlja2V0VGltZSk7XG4gICAgcmV0dXJuIG1vbWVudChuZXcgRGF0ZSh0aWNrZXREYXRlVGltZUluTWludXRlcyAqIDYwMDAwKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvVGlja2V0KHRpY2tldE51bTogc3RyaW5nLCBndWlkOiBzdHJpbmcsIHBhcmtJZDogbnVtYmVyLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHRpY2tldERhdGVUaW1lSW5TZWNvbmRzOiBudW1iZXIgPSBudWxsKSB7XG4gICAgY29uc3QgdGliYUtleXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUudGliYUtleXMpO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBhbnlbXSA9IFtcbiAgICAgIHRpYmFLZXlzW2d1aWRdLFxuICAgICAgcGFya0lkLFxuICAgICAgdGlja2V0TnVtLFxuICAgIF07XG4gICAgaWYgKHRpY2tldERhdGVUaW1lSW5TZWNvbmRzKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKHRpY2tldERhdGVUaW1lSW5TZWNvbmRzKTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHsgcmVsYXRpdmVUbzogYWN0aXZhdGVkUm91dGUgfSk7XG4gIH1cblxuICBzY2FuVGlja2V0KHRpY2tldE51bTogc3RyaW5nLCBndWlkOiBzdHJpbmcsIHBhcmtJZDogbnVtYmVyLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHRpY2tldERhdGVUaW1lSW5TZWNvbmRzOiBudW1iZXIpIHtcbiAgICB0aGlzLm5hdmlnYXRlVG9UaWNrZXQodGlja2V0TnVtLCBndWlkLCBwYXJrSWQsIGFjdGl2YXRlZFJvdXRlLCB0aWNrZXREYXRlVGltZUluU2Vjb25kcyk7XG4gIH1cbn1cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUsvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUdoRSxNQUFNLE9BQWdCLGFBQWE7SUFPakMsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFD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QUksT0FBTyxDQUFDO1FBRXJFLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzNILE9BQU8sTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUE4QixFQUFFLDBCQUFrQyxJQUFJO1FBQ3RJLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLFFBQVEsR0FBVTtZQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2QsTUFBTTtZQUNOLFNBQVM7U0FDVixDQUFDO1FBQ0YsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQixFQUFFLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBOEIsRUFBRSx1QkFBK0I7UUFDekgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFGLENBQUM7K0dBekptQixhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW1hbmROb3RpZmljYXRpb25Db25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9jb21tYW5kLW5vdGlmaWNhdGlvbi9jb21tYW5kLW5vdGlmaWNhdGlvbi1jb25maWcnO1xuaW1wb3J0IHsgQ29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9jb21tYW5kLW5vdGlmaWNhdGlvbi9jb21tYW5kLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNsYXNzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyBCYXJjb2RlVHlwZUxlbmd0aCB9IGZyb20gJy4uL2VudW1zL2JhcmNvZGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRyYWNlUGF5bG9hZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYW5hbHl0aWNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbWREYXRhRHRvIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jbWQtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlnRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRpY2tldElkZW50aWZpZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RpY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmFjaWxpdHlTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHkuc3RhdGUnO1xuaW1wb3J0IHsgUGFya2VyU3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL3Bhcmtlci9wYXJrZXIuc3RhdGUnO1xuaW1wb3J0IHsgUmVtb3RlQ29tbWFuZFR5cGVzIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgUmVtb3RlQ29tbWFuZEJhc2UgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L3JwYy1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgcGFyc2VEYXRlVGltZVRvU3BhcmtQYXJrVGltZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUudXRpbCc7XG5pbXBvcnQgeyBSZW1vdGVDb21tYW5kU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWNvbW1hbmQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUaWNrZXRTZXJ2aWNlIHtcblxuICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlO1xuICBwcm90ZWN0ZWQgY29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2U6IENvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgcmVtb3RlQ29tbWFuZFNlcnZpY2U6IFJlbW90ZUNvbW1hbmRTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc3RvcmUgPSBpbmplY3Rvci5nZXQoU3RvcmUpO1xuICAgIHRoaXMuY29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQ29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuICAgIHRoaXMucmVtb3RlQ29tbWFuZFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoUmVtb3RlQ29tbWFuZFNlcnZpY2UpO1xuICAgIHRoaXMucm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gIH1cblxuICBzZW5kQ29tbWFuZChjb21tYW5kVHlwZTogUmVtb3RlQ29tbWFuZFR5cGVzLCBvcHRpb25zOiBhbnkgPSBudWxsLCBhbmFseXRpY3NQYXlsb2FkOiBUcmFjZVBheWxvYWQgPSB7fSk6IE9ic2VydmFibGU8eyBwYXlsb2FkRGF0YTogUmVtb3RlQ29tbWFuZEJhc2UsIHJlc3BvbnNlOiBhbnkgfT4ge1xuICAgIGNvbnN0IGd1aWQgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZ3VpZCk7XG4gICAgY29uc3QgdGlja2V0SWRlbnRpZmllciA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGFya2VyU3RhdGUudGlja2V0SWRlbnRpZmllcik7XG4gICAgY29uc3QgZGF0YTogQ29uZmlnRGF0YSA9IHsgY29tbWFuZFR5cGUsIHRpY2tldElkZW50aWZpZXIsIG9wdGlvbnMgfTtcbiAgICBjb25zdCBjbWREYXRhRHRvJCA9IHRoaXMuZ2V0VGlja2V0UmVtb3RlQ29tbWFuZERhdGEoY29tbWFuZFR5cGUsIGRhdGEsIHRpY2tldElkZW50aWZpZXIsIG9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLnJlbW90ZUNvbW1hbmRTZXJ2aWNlLnNlbmQoY21kRGF0YUR0byQsIGd1aWQsIG51bGwsIGFuYWx5dGljc1BheWxvYWQpO1xuICB9XG5cbiAgc2VuZENvbW1hbmRXaXRoU25hY2tEYXRhKGNvbW1hbmRUeXBlOiBSZW1vdGVDb21tYW5kVHlwZXMsIG9wdGlvbnM6IGFueSA9IG51bGwsIGFuYWx5dGljc1BheWxvYWQ6IFRyYWNlUGF5bG9hZCA9IHt9KTogT2JzZXJ2YWJsZTx7IHBheWxvYWREYXRhOiBSZW1vdGVDb21tYW5kQmFzZSwgcmVzcG9uc2U6IGFueSB9PiB7XG4gICAgY29uc3QgdGlja2V0SWRlbnRpZmllciA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoUGFya2VyU3RhdGUudGlja2V0SWRlbnRpZmllcik7XG4gICAgY29uc3QgZW50aXR5VHlwZVRyYW5zbGF0ZSA9IG9wdGlvbnM/LmVudGl0eVR5cGVUcmFuc2xhdGUgfHwgdGlja2V0SWRlbnRpZmllcj8uZW50aXR5VHlwZVRyYW5zbGF0ZTtcbiAgICBjb25zdCBlbnRpdHlEaXNwbGF5TmFtZSA9IG9wdGlvbnM/LmVudGl0eURpc3BsYXlOYW1lIHx8IHRpY2tldElkZW50aWZpZXI/LmVudGl0eURpc3BsYXlOYW1lO1xuXG4gICAgY29uc3QgY29uZmlnOiBDb21tYW5kTm90aWZpY2F0aW9uQ29uZmlnID0ge1xuICAgICAgbWVzc2FnZXM6IFt7XG4gICAgICAgIHZhbHVlOiBgJHtlbnRpdHlUeXBlVHJhbnNsYXRlfSAke2VudGl0eURpc3BsYXlOYW1lfWAsXG4gICAgICAgIGNsYXNzOiBlbnRpdHlEaXNwbGF5TmFtZSA/IE5vdGlmaWNhdGlvbkNsYXNzLnN1YlRpdGxlIDogTm90aWZpY2F0aW9uQ2xhc3Mubm9uZSxcbiAgICAgIH1dLFxuICAgICAgY29tbWFuZDogdGhpcy5yZW1vdGVDb21tYW5kU2VydmljZS5nZXRSZW1vdGVDb21tYW5kVGV4dChjb21tYW5kVHlwZSksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnNlbmRDb21tYW5kKGNvbW1hbmRUeXBlLCBvcHRpb25zLCBhbmFseXRpY3NQYXlsb2FkKVxuICAgICAgLnBpcGUodGhpcy5jb21tYW5kTm90aWZpY2F0aW9uU2VydmljZS5kaXNwbGF5KGNvbmZpZykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRpY2tldFJlbW90ZUNvbW1hbmREYXRhKGNvbW1hbmRUeXBlOiBSZW1vdGVDb21tYW5kVHlwZXMsIGRhdGE6IENvbmZpZ0RhdGEsIHRpY2tldElkZW50aWZpZXI/OiBUaWNrZXRJZGVudGlmaWVyLCBvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxDbWREYXRhRHRvPjtcblxuICBleHRyYWN0VGlja2V0SW5mbyhjb250ZW50OiBzdHJpbmcpOiB7IHRpY2tldE51bTogc3RyaW5nLCB0aWNrZXREYXRlVGltZUluU2Vjb25kczogbnVtYmVyIH0ge1xuICAgIGxldCB0aWNrZXROdW06IHN0cmluZztcbiAgICBsZXQgdGlja2V0RGF0ZVRpbWU6IG1vbWVudC5Nb21lbnQ7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFRvIGRldGVybWluZSB3aGF0IHR5cGUsIGNoZWNrIGNvbnRlbnQgbGVuZ3RoXG4gICAgICBzd2l0Y2ggKGNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgIGNhc2UgQmFyY29kZVR5cGVMZW5ndGguUVIxOlxuICAgICAgICBjYXNlIEJhcmNvZGVUeXBlTGVuZ3RoLlFSMjpcbiAgICAgICAgICB0aWNrZXROdW0gPSBjb250ZW50LnNsaWNlKDYsIDE0KTsgLy8gTG9jYXRpb24gb2YgdGlja2V0IG51bWJlcjsgZnJvbSA3IHRvIDE0XG4gICAgICAgICAgLy8gTG9jYXRpb24gb2YgdGlja2V0IGRhdGU7IGZyb20gMTQgdG8gMjBcbiAgICAgICAgICAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgdGltZTsgZnJvbSAyMCB0byAyNFxuICAgICAgICAgIHRpY2tldERhdGVUaW1lID0gdGhpcy5nZXRUaWNrZXREYXRlVGltZUJ5Q29udGVudChjb250ZW50LCB7IHN0YXJ0OiAxNCwgZW5kOiAyMCB9LCB7IHN0YXJ0OiAyMCwgZW5kOiAyNCB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBCYXJjb2RlVHlwZUxlbmd0aC5RUjQ6XG4gICAgICAgICAgdGlja2V0TnVtID0gY29udGVudC5zbGljZSg3LCAxNik7IC8vIExvY2F0aW9uIG9mIHRpY2tldCBudW1iZXI7IGZyb20gOCB0byAxNi5cbiAgICAgICAgICAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgZGF0ZTsgZnJvbSAxNiB0byAyMlxuICAgICAgICAgIC8vIExvY2F0aW9uIG9mIHRpY2tldCB0aW1lOyBmcm9tIDIyIHRvIDI4XG4gICAgICAgICAgdGlja2V0RGF0ZVRpbWUgPSB0aGlzLmdldFRpY2tldERhdGVUaW1lQnlDb250ZW50KGNvbnRlbnQsIHsgc3RhcnQ6IDE2LCBlbmQ6IDIyIH0sIHsgc3RhcnQ6IDIyLCBlbmQ6IDI4IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEJhcmNvZGVUeXBlTGVuZ3RoLkJhcmNvZGUxOlxuICAgICAgICAgIHRpY2tldE51bSA9IGNvbnRlbnQuc2xpY2UoNywgMTQpOyAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgbnVtYmVyOyBmcm9tIDcgdG8gMTRcbiAgICAgICAgICAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgdGltZSBpbmZvOyBmcm9tIDEgdG8gN1xuICAgICAgICAgIHRpY2tldERhdGVUaW1lID0gdGhpcy5nZXRUaWNrZXREYXRlVGltZUJ5VGlja2V0VGltZShjb250ZW50LCB7IHN0YXJ0OiAxLCBlbmQ6IDcgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQmFyY29kZVR5cGVMZW5ndGguQmFyY29kZTI6XG4gICAgICAgICAgdGlja2V0TnVtID0gY29udGVudC5zbGljZSgxMywgMjIpOyAvLyBMb2NhdGlvbiBvZiB0aWNrZXQgbnVtYmVyOyBmcm9tIDE0IHRvIDIyXG4gICAgICAgICAgLy8gTG9jYXRpb24gb2YgdGlja2V0IHRpbWUgaW5mbzsgZnJvbSA3IHRvIDEzXG4gICAgICAgICAgdGlja2V0RGF0ZVRpbWUgPSB0aGlzLmdldFRpY2tldERhdGVUaW1lQnlUaWNrZXRUaW1lKGNvbnRlbnQsIHsgc3RhcnQ6IDcsIGVuZDogMTMgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgcVZhbHVlID0gdGhpcy5leHRyYWN0UXVlcnlQYXJhbShjb250ZW50LCAncScpO1xuICAgICAgICAgICAgaWYgKHFWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0VGlja2V0SW5mbyhxVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGNhdGNoIChfKSB7IH1cblxuICAgIGNvbnN0IHRpY2tldERhdGVUaW1lSW5TZWNvbmRzID0gcGFyc2VEYXRlVGltZVRvU3BhcmtQYXJrVGltZSh0aWNrZXREYXRlVGltZT8udG9EYXRlKCkpO1xuICAgIHJldHVybiB7IHRpY2tldE51bSwgdGlja2V0RGF0ZVRpbWVJblNlY29uZHMgfTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFF1ZXJ5UGFyYW0odXJsOiBzdHJpbmcsIHBhcmFtOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIXVybCB8fCAhcGFyYW0pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFVybCA9IG5ldyBVUkwodXJsKTtcbiAgICAgIHJldHVybiBwYXJzZWRVcmwuc2VhcmNoUGFyYW1zLmdldChwYXJhbSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJbiBjYXNlIHRoZSBzdHJpbmcgaXMgbm90IGEgdmFsaWQgVVJMXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRpY2tldERhdGVUaW1lQnlDb250ZW50KGNvbnRlbnQ6IHN0cmluZywgZGF0ZTogeyBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciB9LCB0aW1lOiB7IHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyIH0pOiBtb21lbnQuTW9tZW50IHtcbiAgICBjb25zdCBfZGF0ZSA9IGNvbnRlbnQuc2xpY2UoZGF0ZS5zdGFydCwgZGF0ZS5lbmQpO1xuICAgIGNvbnN0IF90aW1lID0gY29udGVudC5zbGljZSh0aW1lLnN0YXJ0LCB0aW1lLmVuZCk7XG4gICAgcmV0dXJuIG1vbWVudCh7XG4gICAgICB5ZWFyOiAyMDAwICsgK19kYXRlLnNsaWNlKDQsIDYpLFxuICAgICAgbW9udGg6ICtfZGF0ZS5zbGljZSgyLCA0KSAtIDEsXG4gICAgICBkYXk6ICtfZGF0ZS5zbGljZSgwLCAyKSxcbiAgICAgIGhvdXI6ICtfdGltZS5zbGljZSgwLCAyKSxcbiAgICAgIG1pbnV0ZTogK190aW1lLnNsaWNlKDIsIDQpLFxuICAgICAgc2Vjb25kOiBfdGltZS5sZW5ndGggPT09IDYgPyArX3RpbWUuc2xpY2UoNCwgNikgOiAwXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpY2tldERhdGVUaW1lQnlUaWNrZXRUaW1lKGNvbnRlbnQ6IHN0cmluZywgbG9jYXRpb246IHsgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgfSk6IG1vbWVudC5Nb21lbnQge1xuICAgIC8vIG11bHRpcGxlIDYwMDAwOlxuICAgIC8vIGdldFRpbWUgbWV0aG9kIHJldHVybiBkYXRlIGluIG1pbGlzZWNvbmRzXG4gICAgLy8gdG8gY29udmVydCB0byBzZWNvbmRzIG11bHRpcGxlIGJ5IDEwMDAwXG4gICAgLy8gdG8gY29udmVydCBzZWNvbmRzIHRvIG1pbnV0ZXMgbXVsdGlwbGUgYnkgNjBcblxuICAgIGNvbnN0IHRpY2tldFRpbWUgPSArY29udGVudC5zbGljZShsb2NhdGlvbi5zdGFydCwgbG9jYXRpb24uZW5kKTtcbiAgICB2YXIgY3VyVGltZURhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgICBjdXJUaW1lRGF0ZVRpbWUuc2V0U2Vjb25kcygwKTtcblxuICAgIGxldCBkZWZhdWx0U21hcnRQYXJrRGF0ZVRpbWUgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKS5nZXRUaW1lKCk7XG4gICAgLy8gVGhlIGRlZmF1bHQgc21hcnQgcGFyayBkYXRlIHRpbWUgaXMgYWx3YXlzOiBTYXQgSmFuIDAxIDIwMDAgMDA6MDA6MDAgR01UKzAyMDAgKElzcmFlbCBTdGFuZGFyZCBUaW1lKVxuICAgIC8vIElmIHRoZSBjdXJyZW50IHRpbWUgZGF0ZSBpcyBpbiBEU1QgKEdNVCswMzAwKSB0aGVuIHRvIGF2b2lkIGluY29ycmVjdCByZXN1bHRzIHdlIG5lZWQgdG8gcmVtb3ZlIDEgaG91clxuICAgIGlmIChtb21lbnQoY3VyVGltZURhdGVUaW1lKS5pc0RTVCgpKSB7XG4gICAgICAvLyA2MCBNaW51dGVzICggMSBob3VyICkgaW4gbWlsaXNlY29uZHMgZXF1YWwgMzYwMDAwMFxuICAgICAgZGVmYXVsdFNtYXJ0UGFya0RhdGVUaW1lIC09IDM2MDAwMDA7XG4gICAgfVxuXG4gICAgdmFyIGN1clRpbWVJbk1pbnV0ZXMgPSAoY3VyVGltZURhdGVUaW1lLmdldFRpbWUoKSAtIGRlZmF1bHRTbWFydFBhcmtEYXRlVGltZSkgLyA2MDAwMDtcbiAgICB2YXIgY3VyVGltZVRpY2tldEZvcm1hdCA9IGN1clRpbWVJbk1pbnV0ZXMgJSAxMDAwMDAwO1xuICAgIGlmICh0aWNrZXRUaW1lID4gY3VyVGltZVRpY2tldEZvcm1hdCkgY3VyVGltZVRpY2tldEZvcm1hdCArPSAxMDAwMDAwO1xuXG4gICAgY29uc3QgdGlja2V0RGF0ZVRpbWVJbk1pbnV0ZXMgPSAoZGVmYXVsdFNtYXJ0UGFya0RhdGVUaW1lIC8gNjAwMDApICsgY3VyVGltZUluTWludXRlcyAtIChjdXJUaW1lVGlja2V0Rm9ybWF0IC0gdGlja2V0VGltZSk7XG4gICAgcmV0dXJuIG1vbWVudChuZXcgRGF0ZSh0aWNrZXREYXRlVGltZUluTWludXRlcyAqIDYwMDAwKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvVGlja2V0KHRpY2tldE51bTogc3RyaW5nLCBndWlkOiBzdHJpbmcsIHBhcmtJZDogbnVtYmVyLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHRpY2tldERhdGVUaW1lSW5TZWNvbmRzOiBudW1iZXIgPSBudWxsKSB7XG4gICAgY29uc3QgdGliYUtleXMgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUudGliYUtleXMpO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBhbnlbXSA9IFtcbiAgICAgIHRpYmFLZXlzW2d1aWRdLFxuICAgICAgcGFya0lkLFxuICAgICAgdGlja2V0TnVtLFxuICAgIF07XG4gICAgaWYgKHRpY2tldERhdGVUaW1lSW5TZWNvbmRzKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKHRpY2tldERhdGVUaW1lSW5TZWNvbmRzKTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHsgcmVsYXRpdmVUbzogYWN0aXZhdGVkUm91dGUgfSk7XG4gIH1cblxuICBzY2FuVGlja2V0KHRpY2tldE51bTogc3RyaW5nLCBndWlkOiBzdHJpbmcsIHBhcmtJZDogbnVtYmVyLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHRpY2tldERhdGVUaW1lSW5TZWNvbmRzOiBudW1iZXIpIHtcbiAgICB0aGlzLm5hdmlnYXRlVG9UaWNrZXQodGlja2V0TnVtLCBndWlkLCBwYXJrSWQsIGFjdGl2YXRlZFJvdXRlLCB0aWNrZXREYXRlVGltZUluU2Vjb25kcyk7XG4gIH1cbn1cbiJdfQ==
@@ -113875,13 +113875,32 @@ class TicketService {
113875
113875
  ticketDateTime = this.getTicketDateTimeByTicketTime(content, { start: 7, end: 13 });
113876
113876
  break;
113877
113877
  default:
113878
+ {
113879
+ const qValue = this.extractQueryParam(content, 'q');
113880
+ if (qValue !== null) {
113881
+ return this.extractTicketInfo(qValue);
113882
+ }
113883
+ }
113878
113884
  break;
113879
113885
  }
113880
113886
  }
113881
113887
  catch (_) { }
113882
- const ticketDateTimeInSeconds = parseDateTimeToSparkParkTime(ticketDateTime.toDate());
113888
+ const ticketDateTimeInSeconds = parseDateTimeToSparkParkTime(ticketDateTime?.toDate());
113883
113889
  return { ticketNum, ticketDateTimeInSeconds };
113884
113890
  }
113891
+ extractQueryParam(url, param) {
113892
+ if (!url || !param) {
113893
+ return null;
113894
+ }
113895
+ try {
113896
+ const parsedUrl = new URL(url);
113897
+ return parsedUrl.searchParams.get(param);
113898
+ }
113899
+ catch {
113900
+ // In case the string is not a valid URL
113901
+ return null;
113902
+ }
113903
+ }
113885
113904
  getTicketDateTimeByContent(content, date, time) {
113886
113905
  const _date = content.slice(date.start, date.end);
113887
113906
  const _time = content.slice(time.start, time.end);