@mtgame/core 0.1.39 → 0.1.41

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.
@@ -20,6 +20,7 @@ import { FootballStatistic } from '../models/football-statistic';
20
20
  import { LeagueUserPermissions } from '../models/league-user';
21
21
  import { HandballStatistic } from '../models/handball-statistic';
22
22
  import { RugbyStatistic } from '../models/rugby-statistic';
23
+ import { TournamentGroup } from '../models/tournament-group';
23
24
  import * as i0 from "@angular/core";
24
25
  import * as i1 from "@angular/common/http";
25
26
  import * as i2 from "../services/config.service";
@@ -112,6 +113,13 @@ let TournamentApi = class TournamentApi {
112
113
  }))).toPromise();
113
114
  });
114
115
  }
116
+ getGroups(tournamentId) {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/groups/`)
119
+ .pipe(map(result => TournamentGroup.toFront(result)))
120
+ .toPromise();
121
+ });
122
+ }
115
123
  getTeams(tournamentId, groupId) {
116
124
  return __awaiter(this, void 0, void 0, function* () {
117
125
  let params = new HttpParams();
@@ -375,4 +383,4 @@ export function applyStatisticLeadersFilters(filters, params) {
375
383
  }
376
384
  return params;
377
385
  }
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixD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LENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ25FO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxPQUFnQyxFQUFFLE1BQWtCO0lBQy9GLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDeEM7S0FDRjtJQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7UUFDbEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDL0Q7SUFFRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUU7UUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN6RTtJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN6RDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVG91cm5hbWVudCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnROZXdzIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtbmV3cyc7XG5pbXBvcnQgeyBHYW1lLCBHYW1lU3RhdHVzZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZSc7XG5pbXBvcnQgeyBHYW1lVGltZWxpbmVTdGFnZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZS10aW1lbGluZS1zdGFnZXMnO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtJztcbmltcG9ydCB7IFRvdXJuYW1lbnRTdGFnZSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXN0YWdlJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXNwb25zZSB9IGZyb20gJy4vcGFnaW5hdGVkLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2tldGJhbGwtc3RhdGlzdGljJztcbmltcG9ydCB7IFZvbGxleWJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvdm9sbGV5YmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW1Vc2VyIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmltcG9ydCB7IFRvdXJuYW1lbnRTdGFnZVRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1zdGFnZS10ZWFtJztcbmltcG9ydCB7IFRvdXJuYW1lbnRFdmVudCwgVG91cm5hbWVudEV2ZW50VHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ldmVudCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG9ja2V5U3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgRm9vdGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvZm9vdGJhbGwtc3RhdGlzdGljJztcbmltcG9ydCB7IExlYWd1ZVVzZXJQZXJtaXNzaW9ucyB9IGZyb20gJy4uL21vZGVscy9sZWFndWUtdXNlcic7XG5pbXBvcnQgeyBIYW5kYmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9oYW5kYmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgUnVnYnlTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvcnVnYnktc3RhdGlzdGljJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50R2FtZXNGaWx0ZXJzIHtcbiAgdG91cm5hbWVudElkcz86IG51bWJlcltdO1xuICB0b3VybmFtZW50U2Vhc29uSWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRTdGFnZUlkPzogbnVtYmVyO1xuICB0b3VybmFtZW50VG91cj86IG51bWJlcjtcbiAgdGVhbUlkPzogbnVtYmVyO1xuICBwbGF5b2ZmU3RhZ2U/OiBudW1iZXI7XG4gIHBsYXlvZmZJZD86IG51bWJlcjtcbiAgaXNQbGF5b2ZmPzogYm9vbGVhbjtcbiAgc3RhdHVzPzogR2FtZVN0YXR1c2VzO1xuICBzdGF0dXNlcz86IEdhbWVTdGF0dXNlc1tdO1xuICB0b3VybmFtZW50Q291cnRJZD86IG51bWJlcjtcbiAgbGVhZ3VlUGxheWVySWQ/OiBudW1iZXI7XG4gIHVzZXJJZD86IG51bWJlcjtcbiAgcXVlcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0YXRpc3RpY0dyb3VwQnlUeXBlcyA9ICd0ZWFtJyB8ICd1c2VyJyB8ICd0ZWFtX3VzZXInIHwgJ3RvdXJuYW1lbnRfdGVhbScgfCAnbGVhZ3VlX3BsYXllcicgfCAndG91cm5hbWVudF90ZWFtX3VzZXInXG4gIHwgJ21vbnRoJyB8ICd3aW5fbG9zZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpc3RpY0ZpbHRlcnMge1xuICB0b3VybmFtZW50X2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X2lkcz86IG51bWJlcltdO1xuICB0b3VybmFtZW50X3NlYXNvbl9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90ZWFtX2lkPzogbnVtYmVyO1xuICBsZWFndWVfcGxheWVyX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RlYW1fdXNlcl9pZD86IG51bWJlcjtcbiAgdGVhbV9pZD86IG51bWJlcjtcbiAgdGVhbV91c2VyX2lkPzogbnVtYmVyO1xuICB1c2VyX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3N0YWdlX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RvdXI/OiBudW1iZXI7XG4gIHBsYXlvZmZfc3RhZ2U/OiBudW1iZXI7XG4gIHBsYXlvZmZfaWQ/OiBudW1iZXI7XG4gIGlzX3BsYXlvZmY/OiBib29sZWFuO1xuICBkYXRlX2Zyb20/OiBzdHJpbmc7XG4gIGRhdGVfdG8/OiBzdHJpbmc7XG4gIHF1ZXJ5Pzogc3RyaW5nO1xuICBwZXJfZ2FtZT86IGJvb2xlYW47XG4gIGdyb3VwX2J5OiBTdGF0aXN0aWNHcm91cEJ5VHlwZXM7XG4gIG9yZGVyX2J5Pzogc3RyaW5nO1xuICBwYWdlPzogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzIHtcbiAgdG91cm5hbWVudF9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9pZHM/OiBudW1iZXJbXTtcbiAgdG91cm5hbWVudF9zZWFzb25faWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdGVhbV9pZD86IG51bWJlcjtcbiAgdGVhbV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9zdGFnZV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90b3VyPzogbnVtYmVyO1xuICBwbGF5b2ZmX3N0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmX2lkPzogbnVtYmVyO1xuICBkYXRlX2Zyb20/OiBzdHJpbmc7XG4gIGRhdGVfdG8/OiBzdHJpbmc7XG4gIHBlcl9nYW1lPzogYm9vbGVhbjtcbiAgZ3JvdXBfYnk6IFN0YXRpc3RpY0dyb3VwQnlUeXBlcztcbiAgc2l6ZT86IG51bWJlcjtcbiAgZmllbGRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlciB7XG4gIGV2ZW50PzogVG91cm5hbWVudEV2ZW50VHlwZXM7XG4gIHNlYXJjaD86IHN0cmluZztcbiAgdG91cm5hbWVudFRvdXI/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnRBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQodG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5QWxpYXMobGVhZ3VlSWQ6IG51bWJlciwgYWxpYXM6IHN0cmluZyk6IFByb21pc2U8VG91cm5hbWVudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7bGVhZ3VlSWR9L3RvdXJuYW1lbnRzLyR7YWxpYXN9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldE5ld3ModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnROZXdzW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L25ld3MvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudE5ld3MudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEV2ZW50cyh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlcik6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8VG91cm5hbWVudEV2ZW50W10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKVxuICAgICAgLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmV2ZW50KSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2V2ZW50JywgVG91cm5hbWVudEV2ZW50VHlwZXNbZmlsdGVycy5ldmVudF0pO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuc2VhcmNoKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIGZpbHRlcnMuc2VhcmNoKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfdG91cicsIGZpbHRlcnMudG91cm5hbWVudFRvdXIudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZXZlbnRzL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IFRvdXJuYW1lbnRFdmVudC50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFN0YWdlcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3N0YWdlcy9gKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gVG91cm5hbWVudFN0YWdlLnRvRnJvbnQoZGF0YSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmYodG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFBsYXlvZmZbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vcGxheW9mZi9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBQbGF5b2ZmLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGxheW9mZkdhbWVzKHBsYXlvZmZJZDogbnVtYmVyLCBwbGF5b2ZmTnVtYmVyPzogc3RyaW5nKTogUHJvbWlzZTxHYW1lW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAocGxheW9mZk51bWJlcikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9udW1iZXInLCBwbGF5b2ZmTnVtYmVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3BsYXlvZmYvJHtwbGF5b2ZmSWR9L2dhbWVzL2AsXG4gICAgICB7cGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzU3RhZ2VzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVGltZWxpbmVTdGFnZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2dhbWVzX3N0YWdlcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gR2FtZVRpbWVsaW5lU3RhZ2VzLnRvRnJvbnQoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXModG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBUb3VybmFtZW50R2FtZXNGaWx0ZXJzID0ge30pOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEdhbWVbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpO1xuICAgIGlmIChzaXplKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgcGFyYW1zID0gYXBwbHlHYW1lc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2dhbWVzL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IEdhbWUudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtcyh0b3VybmFtZW50SWQ6IG51bWJlciwgZ3JvdXBJZD86IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1bXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChncm91cElkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdncm91cF9pZCcsIGdyb3VwSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vdGVhbXMvYCwge3BhcmFtc30pXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRTdGFnZVRlYW1zKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50U3RhZ2VUZWFtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3N0YWdlX3RlYW1zL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRTdGFnZVRlYW0udG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1CeUlkKHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbS8ke3RvdXJuYW1lbnRUZWFtSWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyQnlJZCh1c2VySWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3VzZXJJZH0vYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFRlYW1Vc2VyLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyR2FtZXModG91cm5hbWVudFVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbV91c2VyLyR7dG91cm5hbWVudFVzZXJJZH0vZ2FtZXMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QmFza2V0YmFsbFN0YXRpc3RpY0xlYWRlcnMoZmlsdGVyczogU3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMpOiBQcm9taXNlPHtba2V5OiBzdHJpbmddOiBCYXNrZXRiYWxsU3RhdGlzdGljW119PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvYmFza2V0YmFsbF9zdGF0aXN0aWNfbGVhZGVycy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiB7W2tleTogc3RyaW5nXTogYW55W119KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlc3VsdCkpIHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IEJhc2tldGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFZvbGxleWJhbGxTdGF0aXN0aWNMZWFkZXJzKGZpbHRlcnM6IFN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKTogUHJvbWlzZTx7W2tleTogc3RyaW5nXTogVm9sbGV5YmFsbFN0YXRpc3RpY1tdfT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3ZvbGxleWJhbGxfc3RhdGlzdGljX2xlYWRlcnMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDoge1trZXk6IHN0cmluZ106IGFueVtdfSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZXN1bHQpKSB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBWb2xsZXliYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRIb2NrZXlTdGF0aXN0aWNMZWFkZXJzKGZpbHRlcnM6IFN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKTogUHJvbWlzZTx7W2tleTogc3RyaW5nXTogSG9ja2V5U3RhdGlzdGljW119PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvaG9ja2V5X3N0YXRpc3RpY19sZWFkZXJzL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVzdWx0KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gSG9ja2V5U3RhdGlzdGljLnRvRnJvbnQocmVzdWx0W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRGb290YmFsbFN0YXRpc3RpY0xlYWRlcnMoZmlsdGVyczogU3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMpOiBQcm9taXNlPHtba2V5OiBzdHJpbmddOiBGb290YmFsbFN0YXRpc3RpY1tdfT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2Zvb3RiYWxsX3N0YXRpc3RpY19sZWFkZXJzL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVzdWx0KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gRm9vdGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEhhbmRiYWxsU3RhdGlzdGljTGVhZGVycyhmaWx0ZXJzOiBTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyk6IFByb21pc2U8e1trZXk6IHN0cmluZ106IEhhbmRiYWxsU3RhdGlzdGljW119PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvaGFuZGJhbGxfc3RhdGlzdGljX2xlYWRlcnMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDoge1trZXk6IHN0cmluZ106IGFueVtdfSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZXN1bHQpKSB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBIYW5kYmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QmFza2V0YmFsbFN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8QmFza2V0YmFsbFN0YXRpc3RpY1tdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9iYXNrZXRiYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBCYXNrZXRiYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Vm9sbGV5YmFsbFN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8Vm9sbGV5YmFsbFN0YXRpc3RpY1tdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS92b2xsZXliYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBWb2xsZXliYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0SG9ja2V5U3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxIb2NrZXlTdGF0aXN0aWNbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvaG9ja2V5X3N0YXRpc3RpYy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBIb2NrZXlTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRGb290YmFsbFN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8Rm9vdGJhbGxTdGF0aXN0aWNbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvZm9vdGJhbGxfc3RhdGlzdGljL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IEZvb3RiYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0SGFuZGJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEhhbmRiYWxsU3RhdGlzdGljW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2hhbmRiYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBIYW5kYmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFJ1Z2J5U3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxSdWdieVN0YXRpc3RpY1tdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9ydWdieV9zdGF0aXN0aWMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogUnVnYnlTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50VGVhbVVzZXJzKHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbS8ke3RvdXJuYW1lbnRUZWFtSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtVXNlci50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIG15UGVybWlzc2lvbih0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8TGVhZ3VlVXNlclBlcm1pc3Npb25zW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3Blcm1pc3Npb24vYCkucGlwZShcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiAoZGF0YS5wZXJtaXNzaW9ucyB8fCBbXSkubWFwKGl0ZW0gPT4gTGVhZ3VlVXNlclBlcm1pc3Npb25zW2l0ZW1dKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFRlYW1Ub3VybmFtZW50cyh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtLyR7dG91cm5hbWVudFRlYW1JZH0vdG91cm5hbWVudHMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gVG91cm5hbWVudC50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRVc2VyVG91cm5hbWVudHModG91cm5hbWVudFRlYW1Vc2VySWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3RvdXJuYW1lbnRUZWFtVXNlcklkfS90b3VybmFtZW50cy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBUb3VybmFtZW50LnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUdhbWVzRmlsdGVycyhmaWx0ZXJzOiBUb3VybmFtZW50R2FtZXNGaWx0ZXJzLCBwYXJhbXM6IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcbiAgaWYgKGZpbHRlcnMudG91cm5hbWVudElkcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfaWRzJywgZmlsdGVycy50b3VybmFtZW50SWRzLmpvaW4oJywnKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3N0YWdlX2lkJywgZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZC50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfdG91cicsIGZpbHRlcnMudG91cm5hbWVudFRvdXIudG9TdHJpbmcoKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMucGxheW9mZlN0YWdlKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9zdGFnZScsIGZpbHRlcnMucGxheW9mZlN0YWdlLnRvU3RyaW5nKCkpO1xuICB9XG4gIGlmIChmaWx0ZXJzLnRlYW1JZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RlYW1faWQnLCBmaWx0ZXJzLnRlYW1JZC50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoZmlsdGVycy5zdGF0dXMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBHYW1lU3RhdHVzZXNbZmlsdGVycy5zdGF0dXNdKTtcbiAgfVxuICBpZiAoZmlsdGVycy5zdGF0dXNlcykge1xuICAgIGNvbnN0IHN0YXR1c2VzID0gZmlsdGVycy5zdGF0dXNlcy5tYXAoaSA9PiBHYW1lU3RhdHVzZXNbaV0pO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3N0YXR1c2VzJywgc3RhdHVzZXMuam9pbignLCcpKTtcbiAgfVxuICBpZiAoZmlsdGVycy50b3VybmFtZW50Q291cnRJZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfY291cnRfaWQnLCBmaWx0ZXJzLnRvdXJuYW1lbnRDb3VydElkLnRvU3RyaW5nKCkpO1xuICB9XG4gIGlmIChmaWx0ZXJzLmxlYWd1ZVBsYXllcklkKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGVhZ3VlX3BsYXllcl9pZCcsIGZpbHRlcnMubGVhZ3VlUGxheWVySWQudG9TdHJpbmcoKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMudXNlcklkKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgndXNlcl9pZCcsIGZpbHRlcnMudXNlcklkLnRvU3RyaW5nKCkpO1xuICB9XG4gIGlmIChmaWx0ZXJzLnF1ZXJ5KSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgncXVlcnknLCBmaWx0ZXJzLnF1ZXJ5KTtcbiAgfVxuICBpZiAoZmlsdGVycy5pc1BsYXlvZmYgIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJzLmlzUGxheW9mZiAhPT0gbnVsbCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lzX3BsYXlvZmYnLCBmaWx0ZXJzLmlzUGxheW9mZiA/ICcxJyA6ICcwJyk7XG4gIH1cbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U3RhdGlzdGljRmlsdGVycyhmaWx0ZXJzOiBTdGF0aXN0aWNGaWx0ZXJzLCBwYXJhbXM6IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZmlsdGVycykpIHtcbiAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZmlsdGVycy5wZXJfZ2FtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGVyX2dhbWUnLCBmaWx0ZXJzLnBlcl9nYW1lID8gJzEnIDogJzAnKTtcbiAgfVxuXG4gIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRfaWRzKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF9pZHMnLCBmaWx0ZXJzLnRvdXJuYW1lbnRfaWRzLmpvaW4oJywnKSk7XG4gIH1cblxuICBpZiAoZmlsdGVycy5pc19wbGF5b2ZmICE9PSB1bmRlZmluZWQgJiYgZmlsdGVycy5pc19wbGF5b2ZmICE9PSBudWxsKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaXNfcGxheW9mZicsIGZpbHRlcnMuaXNfcGxheW9mZiA/ICcxJyA6ICcwJyk7XG4gIH1cblxuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyhmaWx0ZXJzOiBTdGF0aXN0aWNMZWFkZXJzRmlsdGVycywgcGFyYW1zOiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Blcl9nYW1lJywgZmlsdGVycy5wZXJfZ2FtZSA/ICcxJyA6ICcwJyk7XG4gIH1cblxuICBpZiAoZmlsdGVycy50b3VybmFtZW50X2lkcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfaWRzJywgZmlsdGVycy50b3VybmFtZW50X2lkcy5qb2luKCcsJykpO1xuICB9XG4gIGlmIChmaWx0ZXJzLmZpZWxkcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2ZpZWxkcycsIGZpbHRlcnMuZmllbGRzLmpvaW4oJywnKSk7XG4gIH1cbiAgcmV0dXJuIHBhcmFtcztcbn1cbiJdfQ==
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixD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QUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDekU7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDekQ7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb3VybmFtZW50TmV3cyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LW5ld3MnO1xuaW1wb3J0IHsgR2FtZSwgR2FtZVN0YXR1c2VzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZVRpbWVsaW5lU3RhZ2VzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUtdGltZWxpbmUtc3RhZ2VzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50U3RhZ2UgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1zdGFnZSc7XG5pbXBvcnQgeyBQbGF5b2ZmIH0gZnJvbSAnLi4vbW9kZWxzL3BsYXlvZmYnO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFza2V0YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9iYXNrZXRiYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBWb2xsZXliYWxsU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL3ZvbGxleWJhbGwtc3RhdGlzdGljJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtVXNlciB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0tdXNlcic7XG5pbXBvcnQgeyBUb3VybmFtZW50U3RhZ2VUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UtdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50RXZlbnQsIFRvdXJuYW1lbnRFdmVudFR5cGVzIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtZXZlbnQnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEhvY2tleVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktc3RhdGlzdGljJztcbmltcG9ydCB7IEZvb3RiYWxsU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2Zvb3RiYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBMZWFndWVVc2VyUGVybWlzc2lvbnMgfSBmcm9tICcuLi9tb2RlbHMvbGVhZ3VlLXVzZXInO1xuaW1wb3J0IHsgSGFuZGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvaGFuZGJhbGwtc3RhdGlzdGljJztcbmltcG9ydCB7IFJ1Z2J5U3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL3J1Z2J5LXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ncm91cCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG91cm5hbWVudEdhbWVzRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRJZHM/OiBudW1iZXJbXTtcbiAgdG91cm5hbWVudFNlYXNvbklkPzogbnVtYmVyO1xuICB0b3VybmFtZW50U3RhZ2VJZD86IG51bWJlcjtcbiAgdG91cm5hbWVudFRvdXI/OiBudW1iZXI7XG4gIHRlYW1JZD86IG51bWJlcjtcbiAgcGxheW9mZlN0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmSWQ/OiBudW1iZXI7XG4gIGlzUGxheW9mZj86IGJvb2xlYW47XG4gIHN0YXR1cz86IEdhbWVTdGF0dXNlcztcbiAgc3RhdHVzZXM/OiBHYW1lU3RhdHVzZXNbXTtcbiAgdG91cm5hbWVudENvdXJ0SWQ/OiBudW1iZXI7XG4gIGxlYWd1ZVBsYXllcklkPzogbnVtYmVyO1xuICB1c2VySWQ/OiBudW1iZXI7XG4gIHF1ZXJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aXN0aWNHcm91cEJ5VHlwZXMgPSAndGVhbScgfCAndXNlcicgfCAndGVhbV91c2VyJyB8ICd0b3VybmFtZW50X3RlYW0nIHwgJ2xlYWd1ZV9wbGF5ZXInIHwgJ3RvdXJuYW1lbnRfdGVhbV91c2VyJ1xuICB8ICdtb250aCcgfCAnd2luX2xvc2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aXN0aWNGaWx0ZXJzIHtcbiAgdG91cm5hbWVudF9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9pZHM/OiBudW1iZXJbXTtcbiAgdG91cm5hbWVudF9zZWFzb25faWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdGVhbV9pZD86IG51bWJlcjtcbiAgbGVhZ3VlX3BsYXllcl9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90ZWFtX3VzZXJfaWQ/OiBudW1iZXI7XG4gIHRlYW1faWQ/OiBudW1iZXI7XG4gIHRlYW1fdXNlcl9pZD86IG51bWJlcjtcbiAgdXNlcl9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9zdGFnZV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90b3VyPzogbnVtYmVyO1xuICBwbGF5b2ZmX3N0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmX2lkPzogbnVtYmVyO1xuICBpc19wbGF5b2ZmPzogYm9vbGVhbjtcbiAgZGF0ZV9mcm9tPzogc3RyaW5nO1xuICBkYXRlX3RvPzogc3RyaW5nO1xuICBxdWVyeT86IHN0cmluZztcbiAgcGVyX2dhbWU/OiBib29sZWFuO1xuICBncm91cF9ieTogU3RhdGlzdGljR3JvdXBCeVR5cGVzO1xuICBvcmRlcl9ieT86IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfaWRzPzogbnVtYmVyW107XG4gIHRvdXJuYW1lbnRfc2Vhc29uX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RlYW1faWQ/OiBudW1iZXI7XG4gIHRlYW1faWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfc3RhZ2VfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdG91cj86IG51bWJlcjtcbiAgcGxheW9mZl9zdGFnZT86IG51bWJlcjtcbiAgcGxheW9mZl9pZD86IG51bWJlcjtcbiAgZGF0ZV9mcm9tPzogc3RyaW5nO1xuICBkYXRlX3RvPzogc3RyaW5nO1xuICBwZXJfZ2FtZT86IGJvb2xlYW47XG4gIGdyb3VwX2J5OiBTdGF0aXN0aWNHcm91cEJ5VHlwZXM7XG4gIHNpemU/OiBudW1iZXI7XG4gIGZpZWxkczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXIge1xuICBldmVudD86IFRvdXJuYW1lbnRFdmVudFR5cGVzO1xuICBzZWFyY2g/OiBzdHJpbmc7XG4gIHRvdXJuYW1lbnRUb3VyPzogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50QXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBhc3luYyBnZXRCeUlkKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50LnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRCeUFsaWFzKGxlYWd1ZUlkOiBudW1iZXIsIGFsaWFzOiBzdHJpbmcpOiBQcm9taXNlPFRvdXJuYW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2xlYWd1ZS8ke2xlYWd1ZUlkfS90b3VybmFtZW50cy8ke2FsaWFzfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50LnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXROZXdzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50TmV3c1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9uZXdzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnROZXdzLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRFdmVudHModG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzPzogVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXIpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPFRvdXJuYW1lbnRFdmVudFtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBpZiAoZmlsdGVycy5ldmVudCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdldmVudCcsIFRvdXJuYW1lbnRFdmVudFR5cGVzW2ZpbHRlcnMuZXZlbnRdKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnNlYXJjaCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzZWFyY2gnLCBmaWx0ZXJzLnNlYXJjaCk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3RvdXInLCBmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2V2ZW50cy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBUb3VybmFtZW50RXZlbnQudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRTdGFnZXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRTdGFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9zdGFnZXMvYCkucGlwZShcbiAgICAgIG1hcChkYXRhID0+IFRvdXJuYW1lbnRTdGFnZS50b0Zyb250KGRhdGEpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2ZmKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxQbGF5b2ZmW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3BsYXlvZmYvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gUGxheW9mZi50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmZHYW1lcyhwbGF5b2ZmSWQ6IG51bWJlciwgcGxheW9mZk51bWJlcj86IHN0cmluZyk6IFByb21pc2U8R2FtZVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHBsYXlvZmZOdW1iZXIpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfbnVtYmVyJywgcGxheW9mZk51bWJlcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9wbGF5b2ZmLyR7cGxheW9mZklkfS9nYW1lcy9gLFxuICAgICAge3BhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lc1N0YWdlcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVRpbWVsaW5lU3RhZ2VzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lc19zdGFnZXMvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IEdhbWVUaW1lbGluZVN0YWdlcy50b0Zyb250KGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzKHRvdXJuYW1lbnRJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogVG91cm5hbWVudEdhbWVzRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKTtcbiAgICBpZiAoc2l6ZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIHBhcmFtcyA9IGFwcGx5R2FtZXNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lcy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBHYW1lLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R3JvdXBzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50R3JvdXBbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZ3JvdXBzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRHcm91cC50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXModG91cm5hbWVudElkOiBudW1iZXIsIGdyb3VwSWQ/OiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZ3JvdXBJZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZ3JvdXBfaWQnLCBncm91cElkLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3RlYW1zL2AsIHtwYXJhbXN9KVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhZ2VUZWFtcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlVGVhbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9zdGFnZV90ZWFtcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50U3RhZ2VUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtQnlJZCh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckJ5SWQodXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtX3VzZXIvJHt1c2VySWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtVXNlci50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckdhbWVzKHRvdXJuYW1lbnRVc2VySWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3RvdXJuYW1lbnRVc2VySWR9L2dhbWVzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJhc2tldGJhbGxTdGF0aXN0aWNMZWFkZXJzKGZpbHRlcnM6IFN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKTogUHJvbWlzZTx7W2tleTogc3RyaW5nXTogQmFza2V0YmFsbFN0YXRpc3RpY1tdfT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2Jhc2tldGJhbGxfc3RhdGlzdGljX2xlYWRlcnMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDoge1trZXk6IHN0cmluZ106IGFueVtdfSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZXN1bHQpKSB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBCYXNrZXRiYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRWb2xsZXliYWxsU3RhdGlzdGljTGVhZGVycyhmaWx0ZXJzOiBTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyk6IFByb21pc2U8e1trZXk6IHN0cmluZ106IFZvbGxleWJhbGxTdGF0aXN0aWNbXX0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS92b2xsZXliYWxsX3N0YXRpc3RpY19sZWFkZXJzL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVzdWx0KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gVm9sbGV5YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0SG9ja2V5U3RhdGlzdGljTGVhZGVycyhmaWx0ZXJzOiBTdGF0aXN0aWNMZWFkZXJzRmlsdGVycyk6IFByb21pc2U8e1trZXk6IHN0cmluZ106IEhvY2tleVN0YXRpc3RpY1tdfT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2hvY2tleV9zdGF0aXN0aWNfbGVhZGVycy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiB7W2tleTogc3RyaW5nXTogYW55W119KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlc3VsdCkpIHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IEhvY2tleVN0YXRpc3RpYy50b0Zyb250KHJlc3VsdFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rm9vdGJhbGxTdGF0aXN0aWNMZWFkZXJzKGZpbHRlcnM6IFN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKTogUHJvbWlzZTx7W2tleTogc3RyaW5nXTogRm9vdGJhbGxTdGF0aXN0aWNbXX0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0xlYWRlcnNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9mb290YmFsbF9zdGF0aXN0aWNfbGVhZGVycy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiB7W2tleTogc3RyaW5nXTogYW55W119KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlc3VsdCkpIHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IEZvb3RiYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRIYW5kYmFsbFN0YXRpc3RpY0xlYWRlcnMoZmlsdGVyczogU3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMpOiBQcm9taXNlPHtba2V5OiBzdHJpbmddOiBIYW5kYmFsbFN0YXRpc3RpY1tdfT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2hhbmRiYWxsX3N0YXRpc3RpY19sZWFkZXJzL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVzdWx0KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gSGFuZGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJhc2tldGJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEJhc2tldGJhbGxTdGF0aXN0aWNbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvYmFza2V0YmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogQmFza2V0YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFZvbGxleWJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPFZvbGxleWJhbGxTdGF0aXN0aWNbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdm9sbGV5YmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogVm9sbGV5YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEhvY2tleVN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8SG9ja2V5U3RhdGlzdGljW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2hvY2tleV9zdGF0aXN0aWMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogSG9ja2V5U3RhdGlzdGljLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rm9vdGJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEZvb3RiYWxsU3RhdGlzdGljW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gYXBwbHlTdGF0aXN0aWNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2Zvb3RiYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBGb290YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEhhbmRiYWxsU3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxIYW5kYmFsbFN0YXRpc3RpY1tdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IGFwcGx5U3RhdGlzdGljRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9oYW5kYmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogSGFuZGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRSdWdieVN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8UnVnYnlTdGF0aXN0aWNbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcnVnYnlfc3RhdGlzdGljL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IFJ1Z2J5U3RhdGlzdGljLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFRlYW1Vc2Vycyh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS91c2Vycy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbVVzZXIudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBteVBlcm1pc3Npb24odG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9wZXJtaXNzaW9uL2ApLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4gKGRhdGEucGVybWlzc2lvbnMgfHwgW10pLm1hcChpdGVtID0+IExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tpdGVtXSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRUZWFtVG91cm5hbWVudHModG91cm5hbWVudFRlYW1JZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbS8ke3RvdXJuYW1lbnRUZWFtSWR9L3RvdXJuYW1lbnRzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50VXNlclRvdXJuYW1lbnRzKHRvdXJuYW1lbnRUZWFtVXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtX3VzZXIvJHt0b3VybmFtZW50VGVhbVVzZXJJZH0vdG91cm5hbWVudHMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gVG91cm5hbWVudC50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlHYW1lc0ZpbHRlcnMoZmlsdGVyczogVG91cm5hbWVudEdhbWVzRmlsdGVycywgcGFyYW1zOiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRJZHMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X2lkcycsIGZpbHRlcnMudG91cm5hbWVudElkcy5qb2luKCcsJykpO1xuICB9XG4gIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF9zdGFnZV9pZCcsIGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQudG9TdHJpbmcoKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMudG91cm5hbWVudFRvdXIpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3RvdXInLCBmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyLnRvU3RyaW5nKCkpO1xuICB9XG4gIGlmIChmaWx0ZXJzLnBsYXlvZmZTdGFnZSkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfc3RhZ2UnLCBmaWx0ZXJzLnBsYXlvZmZTdGFnZS50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoZmlsdGVycy50ZWFtSWQpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMuc3RhdHVzKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3RhdHVzJywgR2FtZVN0YXR1c2VzW2ZpbHRlcnMuc3RhdHVzXSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMuc3RhdHVzZXMpIHtcbiAgICBjb25zdCBzdGF0dXNlcyA9IGZpbHRlcnMuc3RhdHVzZXMubWFwKGkgPT4gR2FtZVN0YXR1c2VzW2ldKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXNlcycsIHN0YXR1c2VzLmpvaW4oJywnKSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMudG91cm5hbWVudENvdXJ0SWQpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X2NvdXJ0X2lkJywgZmlsdGVycy50b3VybmFtZW50Q291cnRJZC50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoZmlsdGVycy5sZWFndWVQbGF5ZXJJZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xlYWd1ZV9wbGF5ZXJfaWQnLCBmaWx0ZXJzLmxlYWd1ZVBsYXllcklkLnRvU3RyaW5nKCkpO1xuICB9XG4gIGlmIChmaWx0ZXJzLnVzZXJJZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3VzZXJfaWQnLCBmaWx0ZXJzLnVzZXJJZC50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoZmlsdGVycy5xdWVyeSkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3F1ZXJ5JywgZmlsdGVycy5xdWVyeSk7XG4gIH1cbiAgaWYgKGZpbHRlcnMuaXNQbGF5b2ZmICE9PSB1bmRlZmluZWQgJiYgZmlsdGVycy5pc1BsYXlvZmYgIT09IG51bGwpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpc19wbGF5b2ZmJywgZmlsdGVycy5pc1BsYXlvZmYgPyAnMScgOiAnMCcpO1xuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVN0YXRpc3RpY0ZpbHRlcnMoZmlsdGVyczogU3RhdGlzdGljRmlsdGVycywgcGFyYW1zOiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Blcl9nYW1lJywgZmlsdGVycy5wZXJfZ2FtZSA/ICcxJyA6ICcwJyk7XG4gIH1cblxuICBpZiAoZmlsdGVycy50b3VybmFtZW50X2lkcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfaWRzJywgZmlsdGVycy50b3VybmFtZW50X2lkcy5qb2luKCcsJykpO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMuaXNfcGxheW9mZiAhPT0gdW5kZWZpbmVkICYmIGZpbHRlcnMuaXNfcGxheW9mZiAhPT0gbnVsbCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lzX3BsYXlvZmYnLCBmaWx0ZXJzLmlzX3BsYXlvZmYgPyAnMScgOiAnMCcpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMoZmlsdGVyczogU3RhdGlzdGljTGVhZGVyc0ZpbHRlcnMsIHBhcmFtczogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgIGlmIChmaWx0ZXJzW2tleV0pIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCBmaWx0ZXJzW2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmaWx0ZXJzLnBlcl9nYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMudG91cm5hbWVudF9pZHMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X2lkcycsIGZpbHRlcnMudG91cm5hbWVudF9pZHMuam9pbignLCcpKTtcbiAgfVxuICBpZiAoZmlsdGVycy5maWVsZHMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmaWVsZHMnLCBmaWx0ZXJzLmZpZWxkcy5qb2luKCcsJykpO1xuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG4iXX0=
@@ -12,6 +12,7 @@ import { HandballGameConfig } from './handball-game-config';
12
12
  import { Playoff } from './playoff';
13
13
  import { TournamentGroup } from './tournament-group';
14
14
  import { File } from './file';
15
+ import { RugbyGameConfig } from "./rugby-game-config";
15
16
  export var GameStatuses;
16
17
  (function (GameStatuses) {
17
18
  GameStatuses[GameStatuses["open"] = 1] = "open";
@@ -111,6 +112,18 @@ let Game = class Game extends BaseModel {
111
112
  set footballGameConfig(value) {
112
113
  this._footballGameConfig = value;
113
114
  }
115
+ get rugbyGameConfig() {
116
+ if (this._rugbyGameConfig && this._rugbyGameConfig.periodsCount) {
117
+ return this._rugbyGameConfig;
118
+ }
119
+ if (this.gameConfig) {
120
+ this._rugbyGameConfig = RugbyGameConfig.toFront(this.gameConfig);
121
+ }
122
+ return this._rugbyGameConfig;
123
+ }
124
+ set rugbyGameConfig(value) {
125
+ this._rugbyGameConfig = value;
126
+ }
114
127
  get scoreByPeriodList() {
115
128
  if (!this.scoreByPeriod) {
116
129
  return [];
@@ -181,6 +194,7 @@ Game = __decorate([
181
194
  hockey_game_config: 'hockeyGameConfig',
182
195
  football_game_config: 'footballGameConfig',
183
196
  handball_game_config: 'handballGameConfig',
197
+ rugby_game_config: 'rugbyGameConfig',
184
198
  score_by_period: 'scoreByPeriod',
185
199
  playoff_stage: 'playoffStage',
186
200
  tournament_stage_id: 'tournamentStageId',
@@ -215,4 +229,4 @@ Game = __decorate([
215
229
  })
216
230
  ], Game);
217
231
  export { Game };
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy9nYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sQ0FBTixJQUFZLFlBTVg7QUFORCxXQUFZLFlBQVk7SUFDdEIsK0NBQVEsQ0FBQTtJQUNSLDZEQUFXLENBQUE7SUFDWCxtREFBTSxDQUFBO0lBQ04sdURBQVEsQ0FBQTtJQUNSLGlEQUFLLENBQUE7QUFDUCxDQUFDLEVBTlcsWUFBWSxLQUFaLFlBQVksUUFNdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLDZEQUFZLENBQUE7SUFDWixtRkFBbUIsQ0FBQTtJQUNuQix1RkFBcUIsQ0FBQTtJQUNyQiw2R0FBZ0MsQ0FBQTtBQUNsQyxDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUFZRCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFvQixTQUFRLFNBQVM7SUFNaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTLElBQVEsQ0FBQztJQUdqQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVMsSUFBUSxDQUFDO0NBQ2pDLENBQUE7QUFKQztJQURDLFdBQVc7d0NBQ3FCO0FBR2pDO0lBREMsVUFBVTt1Q0FDcUI7QUFUckIsbUJBQW1CO0lBVi9CLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRTtZQUNiLEVBQUUsRUFBRSxJQUFJO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsTUFBTTtTQUNiO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLElBQUk7U0FDWDtLQUNGLENBQUM7R0FDVyxtQkFBbUIsQ0FVL0I7U0FWWSxtQkFBbUI7QUF1RWhDLElBQWEsSUFBSSxHQUFqQixNQUFhLElBQUssU0FBUSxTQUFTO0lBdUNqQyxJQUFJLG9CQUFvQjtRQUN0QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFO1lBQ3pFLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO1NBQ25DO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksb0JBQW9CLENBQUMsS0FBSztRQUM1QixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO1NBQ25DO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksb0JBQW9CLENBQUMsS0FBSztRQUM1QixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQy9CO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCLENBQUMsS0FBSztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sRUFBRSxDQUFDLE1BQU07WUFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztTQUMxRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ3hGO0lBQ0gsQ0FBQztJQUdELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBUyxJQUFRLENBQUM7SUFHakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFTLElBQVEsQ0FBQztDQUNqQyxDQUFBO0FBSkM7SUFEQyxXQUFXO3lCQUNxQjtBQUdqQztJQURDLFVBQVU7d0JBQ3FCO0FBdEpyQixJQUFJO0lBM0RoQixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUU7WUFDYixFQUFFLEVBQUUsSUFBSTtZQUNSLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osZUFBZSxFQUFFLGdCQUFnQjtZQUNqQyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsT0FBTyxFQUFFLFFBQVE7WUFDakIsZUFBZSxFQUFFLGdCQUFnQjtZQUNqQywwQkFBMEIsRUFBRSwwQkFBMEI7WUFDdEQsNkJBQTZCLEVBQUUsNEJBQTRCO1lBQzNELGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsVUFBVSxFQUFFLFdBQVc7WUFDdkIscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsV0FBVyxFQUFFLFlBQVk7WUFDekIsc0JBQXNCLEVBQUUsc0JBQXNCO1lBQzlDLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxhQUFhLEVBQUUsY0FBYztZQUM3QixtQkFBbUIsRUFBRSxtQkFBbUI7WUFDeEMscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLGtCQUFrQixFQUFFLG1CQUFtQjtZQUN2QyxnQkFBZ0IsRUFBRSxpQkFBaUI7WUFDbkMsV0FBVyxFQUFFLFlBQVk7WUFDekIsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFlBQVk7WUFDeEIsZ0JBQWdCLEVBQUUsaUJBQWlCO1NBQ3BDO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDL0IsSUFBSSxFQUFFLElBQUk7WUFDVixjQUFjLEVBQUUsbUJBQW1CO1lBQ25DLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLHdCQUF3QixFQUFFLG1CQUFtQjtZQUM3QyxRQUFRLEVBQUUsYUFBYTtZQUN2QixVQUFVLEVBQUUsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMsb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLGlCQUFpQixFQUFFLE9BQU87WUFDMUIsZUFBZSxFQUFFLFdBQVc7WUFDNUIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDM0IsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZUFBZSxFQUFFLGVBQWU7U0FDakM7S0FDRixDQUFDO0dBQ1csSUFBSSxDQXVKaEI7U0F2SlksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVUaW1lRmllbGQsIGVudW1GaWVsZCwgbGlzdEZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgQmFza2V0YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2Jhc2tldGJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL3ZvbGxleWJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgTGVhZ3VlQ291cnQgfSBmcm9tICcuL2xlYWd1ZS1jb3VydCc7XG5pbXBvcnQgeyBNZWRpYUl0ZW0gfSBmcm9tICcuL21lZGlhLWl0ZW0nO1xuaW1wb3J0IHsgSG9ja2V5R2FtZUNvbmZpZyB9IGZyb20gJy4vaG9ja2V5LWdhbWUtY29uZmlnJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuL3RvdXJuYW1lbnQnO1xuaW1wb3J0IHsgRm9vdGJhbGxHYW1lQ29uZmlnIH0gZnJvbSAnLi9mb290YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBIYW5kYmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2hhbmRiYWxsLWdhbWUtY29uZmlnJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuL3BsYXlvZmYnO1xuaW1wb3J0IHsgVG91cm5hbWVudEdyb3VwIH0gZnJvbSAnLi90b3VybmFtZW50LWdyb3VwJztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuL2ZpbGUnO1xuXG5leHBvcnQgZW51bSBHYW1lU3RhdHVzZXMge1xuICBvcGVuID0gMSxcbiAgaW5fcHJvZ3Jlc3MsXG4gIGNsb3NlZCxcbiAgYXJjaGl2ZWQsXG4gIGRyYWZ0XG59XG5cbmV4cG9ydCBlbnVtIEdhbWVSZXN1bHRUeXBlcyB7XG4gIHRlYW1fd29uID0gMSxcbiAgY29tcGV0aXRvcl90ZWFtX3dvbixcbiAgdGVhbV90ZWNobmljYWxfZGVmZWF0LFxuICBjb21wZXRpdG9yX3RlYW1fdGVjaG5pY2FsX2RlZmVhdFxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBuYW1lOiAnbmFtZScsXG4gICAgbG9nbzogJ2xvZ28nLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIGxvZ286IEZpbGVcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50VGVhbVNob3J0IGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBsb2dvOiBGaWxlO1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBzdGF0dXM6ICdzdGF0dXMnLFxuICAgIHRlYW06ICd0ZWFtJyxcbiAgICB0b3VybmFtZW50X3RlYW06ICd0b3VybmFtZW50VGVhbScsXG4gICAgdG91cm5hbWVudF90ZWFtX2lkOiAndG91cm5hbWVudFRlYW1JZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgY29tcGV0aXRvcl90ZWFtOiAnY29tcGV0aXRvclRlYW0nLFxuICAgIGNvbXBldGl0b3JfdG91cm5hbWVudF90ZWFtOiAnY29tcGV0aXRvclRvdXJuYW1lbnRUZWFtJyxcbiAgICBjb21wZXRpdG9yX3RvdXJuYW1lbnRfdGVhbV9pZDogJ2NvbXBldGl0b3JUb3VybmFtZW50VGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1faWQ6ICdjb21wZXRpdG9yVGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1fbmFtZTogJ2NvbXBldGl0b3JUZWFtTmFtZScsXG4gICAgZGF0ZXRpbWU6ICdkYXRldGltZScsXG4gICAgbG9jYXRpb246ICdsb2NhdGlvbicsXG4gICAgdGVhbV9zY29yZTogJ3RlYW1TY29yZScsXG4gICAgY29tcGV0aXRvcl90ZWFtX3Njb3JlOiAnY29tcGV0aXRvclRlYW1TY29yZScsXG4gICAgcmVzdWx0X3R5cGU6ICdyZXN1bHRUeXBlJyxcbiAgICBwbGF5b2ZmX251bWJlcjogJ3BsYXlvZmZOdW1iZXInLFxuICAgIHRvdXJuYW1lbnRfaWQ6ICd0b3VybmFtZW50SWQnLFxuICAgIHRvdXJuYW1lbnRfdG91cjogJ3RvdXJuYW1lbnRUb3VyJyxcbiAgICBnYW1lX2NvbmZpZzogJ2dhbWVDb25maWcnLFxuICAgIGJhc2tldGJhbGxfZ2FtZV9jb25maWc6ICdiYXNrZXRiYWxsR2FtZUNvbmZpZycsXG4gICAgdm9sbGV5YmFsbF9nYW1lX2NvbmZpZzogJ3ZvbGxleWJhbGxHYW1lQ29uZmlnJyxcbiAgICBob2NrZXlfZ2FtZV9jb25maWc6ICdob2NrZXlHYW1lQ29uZmlnJyxcbiAgICBmb290YmFsbF9nYW1lX2NvbmZpZzogJ2Zvb3RiYWxsR2FtZUNvbmZpZycsXG4gICAgaGFuZGJhbGxfZ2FtZV9jb25maWc6ICdoYW5kYmFsbEdhbWVDb25maWcnLFxuICAgIHNjb3JlX2J5X3BlcmlvZDogJ3Njb3JlQnlQZXJpb2QnLFxuICAgIHBsYXlvZmZfc3RhZ2U6ICdwbGF5b2ZmU3RhZ2UnLFxuICAgIHRvdXJuYW1lbnRfc3RhZ2VfaWQ6ICd0b3VybmFtZW50U3RhZ2VJZCcsXG4gICAgdG91cm5hbWVudF9wbGF5b2ZmX2lkOiAndG91cm5hbWVudFBsYXlvZmZJZCcsXG4gICAgdG91cm5hbWVudF9wbGF5b2ZmOiAndG91cm5hbWVudFBsYXlvZmYnLFxuICAgIHRvdXJuYW1lbnRfY291cnQ6ICd0b3VybmFtZW50Q291cnQnLFxuICAgIG1lZGlhX2NvdW50OiAnbWVkaWFDb3VudCcsXG4gICAgbWVkaWFfbGl2ZV9jb3VudDogJ21lZGlhTGl2ZUNvdW50JyxcbiAgICBtZWRpYTogJ21lZGlhJyxcbiAgICB0b3VybmFtZW50OiAndG91cm5hbWVudCcsXG4gICAgdG91cm5hbWVudF9ncm91cDogJ3RvdXJuYW1lbnRHcm91cCcsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgc3RhdHVzOiBlbnVtRmllbGQoR2FtZVN0YXR1c2VzKSxcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbVNob3J0LFxuICAgIGNvbXBldGl0b3JUZWFtOiBUZWFtLFxuICAgIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydCxcbiAgICBkYXRldGltZTogRGF0ZVRpbWVGaWVsZCxcbiAgICByZXN1bHRUeXBlOiBlbnVtRmllbGQoR2FtZVJlc3VsdFR5cGVzKSxcbiAgICBiYXNrZXRiYWxsR2FtZUNvbmZpZzogQmFza2V0YmFsbEdhbWVDb25maWcsXG4gICAgdm9sbGV5YmFsbEdhbWVDb25maWc6IFZvbGxleWJhbGxHYW1lQ29uZmlnLFxuICAgIGhvY2tleUdhbWVDb25maWc6IEhvY2tleUdhbWVDb25maWcsXG4gICAgZm9vdGJhbGxHYW1lQ29uZmlnOiBGb290YmFsbEdhbWVDb25maWcsXG4gICAgaGFuZGJhbGxHYW1lQ29uZmlnOiBIYW5kYmFsbEdhbWVDb25maWcsXG4gICAgdG91cm5hbWVudFBsYXlvZmY6IFBsYXlvZmYsXG4gICAgdG91cm5hbWVudENvdXJ0OiBMZWFndWVDb3VydCxcbiAgICBtZWRpYTogbGlzdEZpZWxkKE1lZGlhSXRlbSksXG4gICAgdG91cm5hbWVudDogVG91cm5hbWVudCxcbiAgICB0b3VybmFtZW50R3JvdXA6IFRvdXJuYW1lbnRHcm91cCxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBHYW1lIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgcHJpdmF0ZSBfYmFza2V0YmFsbEdhbWVDb25maWc6IEJhc2tldGJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF92b2xsZXliYWxsR2FtZUNvbmZpZzogVm9sbGV5YmFsbEdhbWVDb25maWc7XG4gIHByaXZhdGUgX2hvY2tleUdhbWVDb25maWc6IEhvY2tleUdhbWVDb25maWc7XG4gIHByaXZhdGUgX2Zvb3RiYWxsR2FtZUNvbmZpZzogRm9vdGJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9oYW5kYmFsbEdhbWVDb25maWc6IEhhbmRiYWxsR2FtZUNvbmZpZztcblxuICBpZDogbnVtYmVyO1xuICBzdGF0dXM6IEdhbWVTdGF0dXNlcztcbiAgdGVhbTogVGVhbTtcbiAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtU2hvcnQ7XG4gIHRlYW1JZDogbnVtYmVyO1xuICB0b3VybmFtZW50VGVhbUlkOiBudW1iZXI7XG4gIGNvbXBldGl0b3JUZWFtOiBUZWFtO1xuICBjb21wZXRpdG9yVG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtU2hvcnQ7XG4gIGNvbXBldGl0b3JUZWFtSWQ6IG51bWJlcjtcbiAgY29tcGV0aXRvclRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcjtcbiAgY29tcGV0aXRvclRlYW1OYW1lOiBzdHJpbmc7XG4gIGdhbWVDb25maWc6IGFueTtcbiAgZGF0ZXRpbWU6IERhdGU7XG4gIGxvY2F0aW9uOiBzdHJpbmc7XG4gIHRlYW1TY29yZTogbnVtYmVyO1xuICBjb21wZXRpdG9yVGVhbVNjb3JlOiBudW1iZXI7XG4gIHJlc3VsdFR5cGU6IEdhbWVSZXN1bHRUeXBlcztcbiAgcGxheW9mZk51bWJlcjogc3RyaW5nO1xuICB0b3VybmFtZW50SWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudFRvdXI6IG51bWJlcjtcbiAgc2NvcmVCeVBlcmlvZDogYW55O1xuICBwbGF5b2ZmU3RhZ2U6IHN0cmluZztcbiAgdG91cm5hbWVudFN0YWdlSWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudFBsYXlvZmZJZDogbnVtYmVyO1xuICB0b3VybmFtZW50UGxheW9mZjogUGxheW9mZjtcbiAgdG91cm5hbWVudENvdXJ0OiBMZWFndWVDb3VydDtcbiAgbWVkaWFDb3VudDogbnVtYmVyO1xuICBtZWRpYUxpdmVDb3VudDogbnVtYmVyO1xuICBtZWRpYTogTWVkaWFJdGVtW107XG4gIHRvdXJuYW1lbnQ6IFRvdXJuYW1lbnQ7XG4gIHRvdXJuYW1lbnRHcm91cDogVG91cm5hbWVudEdyb3VwO1xuXG4gIGdldCBiYXNrZXRiYWxsR2FtZUNvbmZpZygpOiBCYXNrZXRiYWxsR2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnICYmIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9iYXNrZXRiYWxsR2FtZUNvbmZpZyA9IEJhc2tldGJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGJhc2tldGJhbGxHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB2b2xsZXliYWxsR2FtZUNvbmZpZygpOiBWb2xsZXliYWxsR2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnICYmIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnLnNldHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl92b2xsZXliYWxsR2FtZUNvbmZpZyA9IFZvbGxleWJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IHZvbGxleWJhbGxHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBob2NrZXlHYW1lQ29uZmlnKCk6IEhvY2tleUdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl9ob2NrZXlHYW1lQ29uZmlnICYmIHRoaXMuX2hvY2tleUdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faG9ja2V5R2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5faG9ja2V5R2FtZUNvbmZpZyA9IEhvY2tleUdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faG9ja2V5R2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCBob2NrZXlHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5faG9ja2V5R2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGhhbmRiYWxsR2FtZUNvbmZpZygpOiBIYW5kYmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcgJiYgdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnID0gSGFuZGJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCBoYW5kYmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBmb290YmFsbEdhbWVDb25maWcoKTogRm9vdGJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnICYmIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9mb290YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZyA9IEZvb3RiYWxsR2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mb290YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgZm9vdGJhbGxHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2NvcmVCeVBlcmlvZExpc3QoKToge3BlcmlvZDogbnVtYmVyLCB0ZWFtU2NvcmU6IG51bWJlciwgY29tcGV0aXRvclRlYW1TY29yZTogbnVtYmVyfVtdIHtcbiAgICBpZiAoIXRoaXMuc2NvcmVCeVBlcmlvZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5zY29yZUJ5UGVyaW9kKS5tYXAocGVyaW9kID0+ICh7XG4gICAgICBwZXJpb2Q6ICtwZXJpb2QsXG4gICAgICB0ZWFtU2NvcmU6IHRoaXMuc2NvcmVCeVBlcmlvZFtwZXJpb2RdWzBdLFxuICAgICAgY29tcGV0aXRvclRlYW1TY29yZTogdGhpcy5zY29yZUJ5UGVyaW9kW3BlcmlvZF1bMV1cbiAgICB9KSk7XG4gIH1cblxuICBnZXQgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBHYW1lU3RhdHVzZXMuY2xvc2VkO1xuICB9XG5cbiAgZ2V0IGlzVGVhbVdvbigpIHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2NvcmUgPiB0aGlzLmNvbXBldGl0b3JUZWFtU2NvcmU7XG4gIH1cblxuICBnZXQgaXNDb21wZXRpdG9yVGVhbVdvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID4gdGhpcy50ZWFtU2NvcmU7XG4gIH1cblxuICBnZXQgdGVhbVdpbm5lcklkKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gR2FtZVN0YXR1c2VzLmNsb3NlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnRlYW1TY29yZSA9PT0gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMudGVhbS5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbVNjb3JlID4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID8gdGhpcy50ZWFtLmlkIDogdGhpcy5jb21wZXRpdG9yVGVhbS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbVNjb3JlID4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID8gdGhpcy50ZWFtSWQgOiB0aGlzLmNvbXBldGl0b3JUZWFtSWQ7XG4gICAgfVxuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy9nYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLENBQU4sSUFBWSxZQU1YO0FBTkQsV0FBWSxZQUFZO0lBQ3RCLCtDQUFRLENBQUE7SUFDUiw2REFBVyxDQUFBO0lBQ1gsbURBQU0sQ0FBQTtJQUNOLHVEQUFRLENBQUE7SUFDUixpREFBSyxDQUFBO0FB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QkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGFBQWEsRUFBRSxjQUFjO1lBQzdCLG1CQUFtQixFQUFFLG1CQUFtQjtZQUN4QyxxQkFBcUIsRUFBRSxxQkFBcUI7WUFDNUMsa0JBQWtCLEVBQUUsbUJBQW1CO1lBQ3ZDLGdCQUFnQixFQUFFLGlCQUFpQjtZQUNuQyxXQUFXLEVBQUUsWUFBWTtZQUN6QixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsWUFBWTtZQUN4QixnQkFBZ0IsRUFBRSxpQkFBaUI7U0FDcEM7UUFDRCxRQUFRLEVBQUU7WUFDUixNQUFNLEVBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUMvQixJQUFJLEVBQUUsSUFBSTtZQUNWLGNBQWMsRUFBRSxtQkFBbUI7WUFDbkMsY0FBYyxFQUFFLElBQUk7WUFDcEIsd0JBQXdCLEVBQUUsbUJBQW1CO1lBQzdDLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFVBQVUsRUFBRSxTQUFTLENBQUMsZUFBZSxDQUFDO1lBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0QyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsaUJBQWlCLEVBQUUsT0FBTztZQUMxQixlQUFlLEVBQUUsV0FBVztZQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUMzQixVQUFVLEVBQUUsVUFBVTtZQUN0QixlQUFlLEVBQUUsZUFBZTtTQUNqQztLQUNGLENBQUM7R0FDVyxJQUFJLENBc0toQjtTQXRLWSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxJbnN0YW5jZSwgQmFzZU1vZGVsLCBUb0Zyb250SG9vaywgVG9CYWNrSG9vaywgRGF0ZVRpbWVGaWVsZCwgZW51bUZpZWxkLCBsaXN0RmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vYmFza2V0YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBWb2xsZXliYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vdm9sbGV5YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBMZWFndWVDb3VydCB9IGZyb20gJy4vbGVhZ3VlLWNvdXJ0JztcbmltcG9ydCB7IE1lZGlhSXRlbSB9IGZyb20gJy4vbWVkaWEtaXRlbSc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lQ29uZmlnIH0gZnJvbSAnLi9ob2NrZXktZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgVG91cm5hbWVudCB9IGZyb20gJy4vdG91cm5hbWVudCc7XG5pbXBvcnQgeyBGb290YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2Zvb3RiYWxsLWdhbWUtY29uZmlnJztcbmltcG9ydCB7IEhhbmRiYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vaGFuZGJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgUGxheW9mZiB9IGZyb20gJy4vcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuL3RvdXJuYW1lbnQtZ3JvdXAnO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBSdWdieUdhbWVDb25maWcgfSBmcm9tIFwiLi9ydWdieS1nYW1lLWNvbmZpZ1wiO1xuXG5leHBvcnQgZW51bSBHYW1lU3RhdHVzZXMge1xuICBvcGVuID0gMSxcbiAgaW5fcHJvZ3Jlc3MsXG4gIGNsb3NlZCxcbiAgYXJjaGl2ZWQsXG4gIGRyYWZ0XG59XG5cbmV4cG9ydCBlbnVtIEdhbWVSZXN1bHRUeXBlcyB7XG4gIHRlYW1fd29uID0gMSxcbiAgY29tcGV0aXRvcl90ZWFtX3dvbixcbiAgdGVhbV90ZWNobmljYWxfZGVmZWF0LFxuICBjb21wZXRpdG9yX3RlYW1fdGVjaG5pY2FsX2RlZmVhdFxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBuYW1lOiAnbmFtZScsXG4gICAgbG9nbzogJ2xvZ28nLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIGxvZ286IEZpbGVcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50VGVhbVNob3J0IGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBsb2dvOiBGaWxlO1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBzdGF0dXM6ICdzdGF0dXMnLFxuICAgIHRlYW06ICd0ZWFtJyxcbiAgICB0b3VybmFtZW50X3RlYW06ICd0b3VybmFtZW50VGVhbScsXG4gICAgdG91cm5hbWVudF90ZWFtX2lkOiAndG91cm5hbWVudFRlYW1JZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgY29tcGV0aXRvcl90ZWFtOiAnY29tcGV0aXRvclRlYW0nLFxuICAgIGNvbXBldGl0b3JfdG91cm5hbWVudF90ZWFtOiAnY29tcGV0aXRvclRvdXJuYW1lbnRUZWFtJyxcbiAgICBjb21wZXRpdG9yX3RvdXJuYW1lbnRfdGVhbV9pZDogJ2NvbXBldGl0b3JUb3VybmFtZW50VGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1faWQ6ICdjb21wZXRpdG9yVGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1fbmFtZTogJ2NvbXBldGl0b3JUZWFtTmFtZScsXG4gICAgZGF0ZXRpbWU6ICdkYXRldGltZScsXG4gICAgbG9jYXRpb246ICdsb2NhdGlvbicsXG4gICAgdGVhbV9zY29yZTogJ3RlYW1TY29yZScsXG4gICAgY29tcGV0aXRvcl90ZWFtX3Njb3JlOiAnY29tcGV0aXRvclRlYW1TY29yZScsXG4gICAgcmVzdWx0X3R5cGU6ICdyZXN1bHRUeXBlJyxcbiAgICBwbGF5b2ZmX251bWJlcjogJ3BsYXlvZmZOdW1iZXInLFxuICAgIHRvdXJuYW1lbnRfaWQ6ICd0b3VybmFtZW50SWQnLFxuICAgIHRvdXJuYW1lbnRfdG91cjogJ3RvdXJuYW1lbnRUb3VyJyxcbiAgICBnYW1lX2NvbmZpZzogJ2dhbWVDb25maWcnLFxuICAgIGJhc2tldGJhbGxfZ2FtZV9jb25maWc6ICdiYXNrZXRiYWxsR2FtZUNvbmZpZycsXG4gICAgdm9sbGV5YmFsbF9nYW1lX2NvbmZpZzogJ3ZvbGxleWJhbGxHYW1lQ29uZmlnJyxcbiAgICBob2NrZXlfZ2FtZV9jb25maWc6ICdob2NrZXlHYW1lQ29uZmlnJyxcbiAgICBmb290YmFsbF9nYW1lX2NvbmZpZzogJ2Zvb3RiYWxsR2FtZUNvbmZpZycsXG4gICAgaGFuZGJhbGxfZ2FtZV9jb25maWc6ICdoYW5kYmFsbEdhbWVDb25maWcnLFxuICAgIHJ1Z2J5X2dhbWVfY29uZmlnOiAncnVnYnlHYW1lQ29uZmlnJyxcbiAgICBzY29yZV9ieV9wZXJpb2Q6ICdzY29yZUJ5UGVyaW9kJyxcbiAgICBwbGF5b2ZmX3N0YWdlOiAncGxheW9mZlN0YWdlJyxcbiAgICB0b3VybmFtZW50X3N0YWdlX2lkOiAndG91cm5hbWVudFN0YWdlSWQnLFxuICAgIHRvdXJuYW1lbnRfcGxheW9mZl9pZDogJ3RvdXJuYW1lbnRQbGF5b2ZmSWQnLFxuICAgIHRvdXJuYW1lbnRfcGxheW9mZjogJ3RvdXJuYW1lbnRQbGF5b2ZmJyxcbiAgICB0b3VybmFtZW50X2NvdXJ0OiAndG91cm5hbWVudENvdXJ0JyxcbiAgICBtZWRpYV9jb3VudDogJ21lZGlhQ291bnQnLFxuICAgIG1lZGlhX2xpdmVfY291bnQ6ICdtZWRpYUxpdmVDb3VudCcsXG4gICAgbWVkaWE6ICdtZWRpYScsXG4gICAgdG91cm5hbWVudDogJ3RvdXJuYW1lbnQnLFxuICAgIHRvdXJuYW1lbnRfZ3JvdXA6ICd0b3VybmFtZW50R3JvdXAnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHN0YXR1czogZW51bUZpZWxkKEdhbWVTdGF0dXNlcyksXG4gICAgdGVhbTogVGVhbSxcbiAgICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydCxcbiAgICBjb21wZXRpdG9yVGVhbTogVGVhbSxcbiAgICBjb21wZXRpdG9yVG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtU2hvcnQsXG4gICAgZGF0ZXRpbWU6IERhdGVUaW1lRmllbGQsXG4gICAgcmVzdWx0VHlwZTogZW51bUZpZWxkKEdhbWVSZXN1bHRUeXBlcyksXG4gICAgYmFza2V0YmFsbEdhbWVDb25maWc6IEJhc2tldGJhbGxHYW1lQ29uZmlnLFxuICAgIHZvbGxleWJhbGxHYW1lQ29uZmlnOiBWb2xsZXliYWxsR2FtZUNvbmZpZyxcbiAgICBob2NrZXlHYW1lQ29uZmlnOiBIb2NrZXlHYW1lQ29uZmlnLFxuICAgIGZvb3RiYWxsR2FtZUNvbmZpZzogRm9vdGJhbGxHYW1lQ29uZmlnLFxuICAgIGhhbmRiYWxsR2FtZUNvbmZpZzogSGFuZGJhbGxHYW1lQ29uZmlnLFxuICAgIHRvdXJuYW1lbnRQbGF5b2ZmOiBQbGF5b2ZmLFxuICAgIHRvdXJuYW1lbnRDb3VydDogTGVhZ3VlQ291cnQsXG4gICAgbWVkaWE6IGxpc3RGaWVsZChNZWRpYUl0ZW0pLFxuICAgIHRvdXJuYW1lbnQ6IFRvdXJuYW1lbnQsXG4gICAgdG91cm5hbWVudEdyb3VwOiBUb3VybmFtZW50R3JvdXAsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgR2FtZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIHByaXZhdGUgX2Jhc2tldGJhbGxHYW1lQ29uZmlnOiBCYXNrZXRiYWxsR2FtZUNvbmZpZztcbiAgcHJpdmF0ZSBfdm9sbGV5YmFsbEdhbWVDb25maWc6IFZvbGxleWJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9ob2NrZXlHYW1lQ29uZmlnOiBIb2NrZXlHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9mb290YmFsbEdhbWVDb25maWc6IEZvb3RiYWxsR2FtZUNvbmZpZztcbiAgcHJpdmF0ZSBfaGFuZGJhbGxHYW1lQ29uZmlnOiBIYW5kYmFsbEdhbWVDb25maWc7XG4gIHByaXZhdGUgX3J1Z2J5R2FtZUNvbmZpZzogUnVnYnlHYW1lQ29uZmlnO1xuXG4gIGlkOiBudW1iZXI7XG4gIHN0YXR1czogR2FtZVN0YXR1c2VzO1xuICB0ZWFtOiBUZWFtO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydDtcbiAgdGVhbUlkOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcjtcbiAgY29tcGV0aXRvclRlYW06IFRlYW07XG4gIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydDtcbiAgY29tcGV0aXRvclRlYW1JZDogbnVtYmVyO1xuICBjb21wZXRpdG9yVG91cm5hbWVudFRlYW1JZDogbnVtYmVyO1xuICBjb21wZXRpdG9yVGVhbU5hbWU6IHN0cmluZztcbiAgZ2FtZUNvbmZpZzogYW55O1xuICBkYXRldGltZTogRGF0ZTtcbiAgbG9jYXRpb246IHN0cmluZztcbiAgdGVhbVNjb3JlOiBudW1iZXI7XG4gIGNvbXBldGl0b3JUZWFtU2NvcmU6IG51bWJlcjtcbiAgcmVzdWx0VHlwZTogR2FtZVJlc3VsdFR5cGVzO1xuICBwbGF5b2ZmTnVtYmVyOiBzdHJpbmc7XG4gIHRvdXJuYW1lbnRJZDogbnVtYmVyO1xuICB0b3VybmFtZW50VG91cjogbnVtYmVyO1xuICBzY29yZUJ5UGVyaW9kOiBhbnk7XG4gIHBsYXlvZmZTdGFnZTogc3RyaW5nO1xuICB0b3VybmFtZW50U3RhZ2VJZDogbnVtYmVyO1xuICB0b3VybmFtZW50UGxheW9mZklkOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRQbGF5b2ZmOiBQbGF5b2ZmO1xuICB0b3VybmFtZW50Q291cnQ6IExlYWd1ZUNvdXJ0O1xuICBtZWRpYUNvdW50OiBudW1iZXI7XG4gIG1lZGlhTGl2ZUNvdW50OiBudW1iZXI7XG4gIG1lZGlhOiBNZWRpYUl0ZW1bXTtcbiAgdG91cm5hbWVudDogVG91cm5hbWVudDtcbiAgdG91cm5hbWVudEdyb3VwOiBUb3VybmFtZW50R3JvdXA7XG5cbiAgZ2V0IGJhc2tldGJhbGxHYW1lQ29uZmlnKCk6IEJhc2tldGJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnID0gQmFza2V0YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgYmFza2V0YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9iYXNrZXRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHZvbGxleWJhbGxHYW1lQ29uZmlnKCk6IFZvbGxleWJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcuc2V0c0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnID0gVm9sbGV5YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgdm9sbGV5YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl92b2xsZXliYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGhvY2tleUdhbWVDb25maWcoKTogSG9ja2V5R2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hvY2tleUdhbWVDb25maWcgJiYgdGhpcy5faG9ja2V5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gSG9ja2V5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhvY2tleUdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgaGFuZGJhbGxHYW1lQ29uZmlnKCk6IEhhbmRiYWxsR2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyAmJiB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcgPSBIYW5kYmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhhbmRiYWxsR2FtZUNvbmZpZyh2YWx1ZSkge1xuICAgIHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvb3RiYWxsR2FtZUNvbmZpZygpOiBGb290YmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl9mb290YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnID0gRm9vdGJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCBmb290YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9mb290YmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBydWdieUdhbWVDb25maWcoKTogUnVnYnlHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fcnVnYnlHYW1lQ29uZmlnICYmIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZyA9IFJ1Z2J5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgcnVnYnlHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fcnVnYnlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2NvcmVCeVBlcmlvZExpc3QoKToge3BlcmlvZDogbnVtYmVyLCB0ZWFtU2NvcmU6IG51bWJlciwgY29tcGV0aXRvclRlYW1TY29yZTogbnVtYmVyfVtdIHtcbiAgICBpZiAoIXRoaXMuc2NvcmVCeVBlcmlvZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5zY29yZUJ5UGVyaW9kKS5tYXAocGVyaW9kID0+ICh7XG4gICAgICBwZXJpb2Q6ICtwZXJpb2QsXG4gICAgICB0ZWFtU2NvcmU6IHRoaXMuc2NvcmVCeVBlcmlvZFtwZXJpb2RdWzBdLFxuICAgICAgY29tcGV0aXRvclRlYW1TY29yZTogdGhpcy5zY29yZUJ5UGVyaW9kW3BlcmlvZF1bMV1cbiAgICB9KSk7XG4gIH1cblxuICBnZXQgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBHYW1lU3RhdHVzZXMuY2xvc2VkO1xuICB9XG5cbiAgZ2V0IGlzVGVhbVdvbigpIHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2NvcmUgPiB0aGlzLmNvbXBldGl0b3JUZWFtU2NvcmU7XG4gIH1cblxuICBnZXQgaXNDb21wZXRpdG9yVGVhbVdvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID4gdGhpcy50ZWFtU2NvcmU7XG4gIH1cblxuICBnZXQgdGVhbVdpbm5lcklkKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gR2FtZVN0YXR1c2VzLmNsb3NlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnRlYW1TY29yZSA9PT0gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMudGVhbS5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbVNjb3JlID4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID8gdGhpcy50ZWFtLmlkIDogdGhpcy5jb21wZXRpdG9yVGVhbS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbVNjb3JlID4gdGhpcy5jb21wZXRpdG9yVGVhbVNjb3JlID8gdGhpcy50ZWFtSWQgOiB0aGlzLmNvbXBldGl0b3JUZWFtSWQ7XG4gICAgfVxuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
@@ -40,13 +40,19 @@ RugbyStatistic = __decorate([
40
40
  points: 'points',
41
41
  tries: 'tries',
42
42
  penalty_tries: 'penaltyTries',
43
+ conversion_shots: 'conversionShots',
43
44
  conversion_goals: 'conversionGoals',
44
45
  conversion_misses: 'conversionMisses',
46
+ conversion_goals_percent: 'conversionGoalsPercent',
45
47
  drawing_ball: 'drawingBall',
48
+ penalty_shots: 'penaltyShots',
46
49
  penalty_misses: 'penaltyMisses',
47
50
  penalty_goals: 'penaltyGoals',
51
+ penalty_goals_percent: 'penaltyGoalsPercent',
52
+ drop_goal_shots: 'dropGoalShots',
48
53
  drop_goals: 'dropGoals',
49
54
  drop_goal_misses: 'dropGoalMisses',
55
+ drop_goal_percent: 'dropGoalPercent',
50
56
  free_kicks: 'freeKicks',
51
57
  yellow_cards: 'yellowCards',
52
58
  red_cards: 'redCards',
@@ -58,16 +64,24 @@ RugbyStatistic = __decorate([
58
64
  plus_minus: 'plusMinus',
59
65
  game_time: 'gameTime',
60
66
  // Team statistic
67
+ scrums: 'scrums',
61
68
  scrums_won: 'scrumsWon',
62
69
  scrum_losses: 'scrumLosses',
70
+ scrums_won_percent: 'scrumsWonPercent',
63
71
  scrums_won_free: 'scrumsWonFree',
72
+ lineouts: 'lineouts',
64
73
  lineouts_success: 'lineoutsSuccess',
74
+ lineout_loses: 'lineoutLoses',
65
75
  lineouts_steal: 'lineoutsSteal',
66
76
  quick_throws: 'quickThrows',
77
+ rucks: 'rucks',
67
78
  rucks_won: 'rucksWon',
68
79
  ruck_losses: 'ruckLosses',
80
+ rucks_won_percent: 'rucksWonPercent',
81
+ mauls: 'mauls',
69
82
  mauls_won: 'maulsWon',
70
83
  maul_losses: 'maulLosses',
84
+ mauls_won_percent: 'maulWonPercent',
71
85
  fouls: 'fouls'
72
86
  },
73
87
  relation: {
@@ -81,4 +95,4 @@ RugbyStatistic = __decorate([
81
95
  })
82
96
  ], RugbyStatistic);
83
97
  export { RugbyStatistic };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVnYnktc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL3J1Z2J5LXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBMERuRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFlLFNBQVEsU0FBUztJQTRDM0MsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFHRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVMsSUFBUSxDQUFDO0lBR2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBUyxJQUFRLENBQUM7Q0FDakMsQ0FBQTtBQUpDO0lBREMsV0FBVzttQ0FDcUI7QUFHakM7SUFEQyxVQUFVO2tDQUNxQjtBQXpEckIsY0FBYztJQXhEMUIsYUFBYSxDQUFDO1FBQ2IsYUFBYSxFQUFFO1lBQ2Isb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLElBQUksRUFBRSxNQUFNO1lBQ1osU0FBUyxFQUFFLFVBQVU7WUFDckIsSUFBSSxFQUFFLE1BQU07WUFDWixlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLFlBQVk7WUFDekIsZUFBZSxFQUFFLGVBQWU7WUFDaEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsYUFBYSxFQUFFLGNBQWM7WUFDN0IsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLGlCQUFpQixFQUFFLGtCQUFrQjtZQUNyQyxZQUFZLEVBQUUsYUFBYTtZQUMzQixjQUFjLEVBQUUsZUFBZTtZQUMvQixhQUFhLEVBQUUsY0FBYztZQUM3QixVQUFVLEVBQUUsV0FBVztZQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsVUFBVSxFQUFFLFdBQVc7WUFDdkIsWUFBWSxFQUFFLGFBQWE7WUFDM0IsU0FBUyxFQUFFLFVBQVU7WUFDckIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsSUFBSSxFQUFFLE1BQU07WUFDWixlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTLEVBQUUsVUFBVTtZQUVyQixpQkFBaUI7WUFDakIsVUFBVSxFQUFFLFdBQVc7WUFDdkIsWUFBWSxFQUFFLGFBQWE7WUFDM0IsZUFBZSxFQUFFLGVBQWU7WUFDaEMsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLGNBQWMsRUFBRSxlQUFlO1lBQy9CLFlBQVksRUFBRSxhQUFhO1lBQzNCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLEtBQUssRUFBRSxPQUFPO1NBQ2Y7UUFDRCxRQUFRLEVBQUU7WUFDUixrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLGNBQWMsRUFBRSxjQUFjO1lBQzlCLEtBQUssRUFBRSxTQUFTO1NBQ2pCO0tBQ0YsQ0FBQztHQUNXLGNBQWMsQ0EwRDFCO1NBMURZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIE1vZGVsSW5zdGFuY2UsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlRmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW1Vc2VyIH0gZnJvbSAnLi90b3VybmFtZW50LXRlYW0tdXNlcic7XG5pbXBvcnQgeyBUZWFtIH0gZnJvbSAnLi90ZWFtJztcbmltcG9ydCB7IFRlYW1Vc2VyIH0gZnJvbSAnLi90ZWFtLXVzZXInO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlcic7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgdG91cm5hbWVudF90ZWFtX3VzZXI6ICd0b3VybmFtZW50VGVhbVVzZXInLFxuICAgIHRlYW06ICd0ZWFtJyxcbiAgICB0ZWFtX3VzZXI6ICd0ZWFtVXNlcicsXG4gICAgdXNlcjogJ3VzZXInLFxuICAgIHRvdXJuYW1lbnRfdGVhbTogJ3RvdXJuYW1lbnRUZWFtJyxcbiAgICBtb250aDogJ21vbnRoJyxcbiAgICB3aW5fbG9zZTogJ3dpbkxvc2UnLFxuICAgIGdhbWVzX2NvdW50OiAnZ2FtZXNDb3VudCcsXG4gICAgd29uX2dhbWVzX2NvdW50OiAnd29uR2FtZXNDb3VudCcsXG4gICAgbmV3YmllOiAnbmV3YmllJyxcbiAgICAvLyBVc2VyIHN0YXRpc3RpY1xuICAgIHBvaW50czogJ3BvaW50cycsXG4gICAgdHJpZXM6ICd0cmllcycsXG4gICAgcGVuYWx0eV90cmllczogJ3BlbmFsdHlUcmllcycsXG4gICAgY29udmVyc2lvbl9nb2FsczogJ2NvbnZlcnNpb25Hb2FscycsXG4gICAgY29udmVyc2lvbl9taXNzZXM6ICdjb252ZXJzaW9uTWlzc2VzJyxcbiAgICBkcmF3aW5nX2JhbGw6ICdkcmF3aW5nQmFsbCcsXG4gICAgcGVuYWx0eV9taXNzZXM6ICdwZW5hbHR5TWlzc2VzJyxcbiAgICBwZW5hbHR5X2dvYWxzOiAncGVuYWx0eUdvYWxzJyxcbiAgICBkcm9wX2dvYWxzOiAnZHJvcEdvYWxzJyxcbiAgICBkcm9wX2dvYWxfbWlzc2VzOiAnZHJvcEdvYWxNaXNzZXMnLFxuICAgIGZyZWVfa2lja3M6ICdmcmVlS2lja3MnLFxuICAgIHllbGxvd19jYXJkczogJ3llbGxvd0NhcmRzJyxcbiAgICByZWRfY2FyZHM6ICdyZWRDYXJkcycsXG4gICAgb2ZmbG9hZHM6ICdvZmZsb2FkcycsXG4gICAgdGFja2xlczogJ3RhY2tsZXMnLFxuICAgIG91dHM6ICdvdXRzJyxcbiAgICBoYW5kbGluZ19lcnJvcnM6ICdoYW5kbGluZ0Vycm9ycycsXG4gICAgY2Fycmllc19vdGhlcl9nYWlubGluZTogJ2NhcnJpZXNPdGhlckdhaW5saW5lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJyxcbiAgICBnYW1lX3RpbWU6ICdnYW1lVGltZScsXG5cbiAgICAvLyBUZWFtIHN0YXRpc3RpY1xuICAgIHNjcnVtc193b246ICdzY3J1bXNXb24nLFxuICAgIHNjcnVtX2xvc3NlczogJ3NjcnVtTG9zc2VzJyxcbiAgICBzY3J1bXNfd29uX2ZyZWU6ICdzY3J1bXNXb25GcmVlJyxcbiAgICBsaW5lb3V0c19zdWNjZXNzOiAnbGluZW91dHNTdWNjZXNzJyxcbiAgICBsaW5lb3V0c19zdGVhbDogJ2xpbmVvdXRzU3RlYWwnLFxuICAgIHF1aWNrX3Rocm93czogJ3F1aWNrVGhyb3dzJyxcbiAgICBydWNrc193b246ICdydWNrc1dvbicsXG4gICAgcnVja19sb3NzZXM6ICdydWNrTG9zc2VzJyxcbiAgICBtYXVsc193b246ICdtYXVsc1dvbicsXG4gICAgbWF1bF9sb3NzZXM6ICdtYXVsTG9zc2VzJyxcbiAgICBmb3VsczogJ2ZvdWxzJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHRvdXJuYW1lbnRUZWFtVXNlcjogVG91cm5hbWVudFRlYW1Vc2VyLFxuICAgIHRlYW06IFRlYW0sXG4gICAgdGVhbVVzZXI6IFRlYW1Vc2VyLFxuICAgIHVzZXI6IFVzZXIsXG4gICAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtLFxuICAgIG1vbnRoOiBEYXRlRmllbGRcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBSdWdieVN0YXRpc3RpYyBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIHRvdXJuYW1lbnRUZWFtVXNlcjogVG91cm5hbWVudFRlYW1Vc2VyO1xuICB0ZWFtOiBUZWFtO1xuICB0ZWFtVXNlcjogVGVhbVVzZXI7XG4gIHVzZXI6IFVzZXI7XG4gIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbTtcbiAgbW9udGg6IERhdGU7XG4gIHdpbkxvc2U6IGJvb2xlYW47XG4gIGdhbWVzQ291bnQ6IG51bWJlcjtcbiAgd29uR2FtZXNDb3VudDogbnVtYmVyO1xuICBuZXdiaWU6IGJvb2xlYW47XG4gIHBvaW50czogbnVtYmVyO1xuICB0cmllczogbnVtYmVyO1xuICBwZW5hbHR5VHJpZXM6IG51bWJlcjtcbiAgY29udmVyc2lvbkdvYWxzOiBudW1iZXI7XG4gIGNvbnZlcnNpb25NaXNzZXM6IG51bWJlcjtcbiAgZHJhd2luZ0JhbGw6IG51bWJlcjtcbiAgcGVuYWx0eU1pc3NlczogbnVtYmVyO1xuICBwZW5hbHR5R29hbHM6IG51bWJlcjtcbiAgZHJvcEdvYWxzOiBudW1iZXI7XG4gIGRyb3BHb2FsTWlzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBvZmZsb2FkczogbnVtYmVyO1xuICB0YWNrbGVzOiBudW1iZXI7XG4gIG91dHM6IG51bWJlcjtcbiAgaGFuZGxpbmdFcnJvcnM6IG51bWJlcjtcbiAgY2Fycmllc090aGVyR2FpbmxpbmU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG5cbiAgc2NydW1zV29uOiBudW1iZXI7XG4gIHNjcnVtTG9zc2VzOiBudW1iZXI7XG4gIHNjcnVtc1dvbkZyZWU6IG51bWJlcjtcbiAgbGluZW91dHNTdWNjZXNzOiBudW1iZXI7XG4gIGxpbmVvdXRzU3RlYWw6IG51bWJlcjtcbiAgcXVpY2tUaHJvd3M6IG51bWJlcjtcbiAgcnVja3NXb246IG51bWJlcjtcbiAgcnVja0xvc3NlczogbnVtYmVyO1xuICBtYXVsc1dvbjogbnVtYmVyO1xuICBtYXVsTG9zc2VzOiBudW1iZXI7XG4gIGZvdWxzOiBudW1iZXI7XG5cbiAgZ2V0IHVzZXJNaW51dGVzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmdhbWVUaW1lKSB7XG4gICAgICByZXR1cm4gJzAwOjAwJztcbiAgICB9XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC0gbWludXRlcyAqIDYwKTtcbiAgICByZXR1cm4gYCR7bWludXRlcyA8IDEwID8gMCA6ICcnfSR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyAwIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVnYnktc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL3J1Z2J5LXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBd0VuRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFlLFNBQVEsU0FBUztJQTBEM0MsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFHRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVMsSUFBUSxDQUFDO0lBR2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBUyxJQUFRLENBQUM7Q0FDakMsQ0FBQTtBQUpDO0lBREMsV0FBVzttQ0FDcUI7QUFHakM7SUFEQyxVQUFVO2tDQUNxQjtBQXZFckIsY0FBYztJQXRFMUIsYUFBYSxDQUFDO1FBQ2IsYUFBYSxFQUFFO1lBQ2Isb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLElBQUksRUFBRSxNQUFNO1lBQ1osU0FBUyxFQUFFLFVBQVU7WUFDckIsSUFBSSxFQUFFLE1BQU07WUFDWixlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLFlBQVk7WUFDekIsZUFBZSxFQUFFLGVBQWU7WUFDaEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsYUFBYSxFQUFFLGNBQWM7WUFDN0IsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLGdCQUFnQixFQUFFLGlCQUFpQjtZQUNuQyxpQkFBaUIsRUFBRSxrQkFBa0I7WUFDckMsd0JBQXdCLEVBQUUsd0JBQXdCO1lBQ2xELFlBQVksRUFBRSxhQUFhO1lBQzNCLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGFBQWEsRUFBRSxjQUFjO1lBQzdCLHFCQUFxQixFQUFFLHFCQUFxQjtZQUM1QyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxVQUFVLEVBQUUsV0FBVztZQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFlBQVksRUFBRSxhQUFhO1lBQzNCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLElBQUksRUFBRSxNQUFNO1lBQ1osZUFBZSxFQUFFLGdCQUFnQjtZQUNqQyxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsVUFBVSxFQUFFLFdBQVc7WUFDdkIsU0FBUyxFQUFFLFVBQVU7WUFFckIsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFlBQVksRUFBRSxhQUFhO1lBQzNCLGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0QyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxRQUFRLEVBQUUsVUFBVTtZQUNwQixnQkFBZ0IsRUFBRSxpQkFBaUI7WUFDbkMsYUFBYSxFQUFFLGNBQWM7WUFDN0IsY0FBYyxFQUFFLGVBQWU7WUFDL0IsWUFBWSxFQUFFLGFBQWE7WUFDM0IsS0FBSyxFQUFFLE9BQU87WUFDZCxTQUFTLEVBQUUsVUFBVTtZQUNyQixXQUFXLEVBQUUsWUFBWTtZQUN6QixpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsS0FBSyxFQUFFLE9BQU87WUFDZCxTQUFTLEVBQUUsVUFBVTtZQUNyQixXQUFXLEVBQUUsWUFBWTtZQUN6QixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsS0FBSyxFQUFFLE9BQU87U0FDZjtRQUNELFFBQVEsRUFBRTtZQUNSLGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxJQUFJO1lBQ1YsY0FBYyxFQUFFLGNBQWM7WUFDOUIsS0FBSyxFQUFFLFNBQVM7U0FDakI7S0FDRixDQUFDO0dBQ1csY0FBYyxDQXdFMUI7U0F4RVksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgTW9kZWxJbnN0YW5jZSwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVGaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgVGVhbVVzZXIgfSBmcm9tICcuL3RlYW0tdXNlcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtIH0gZnJvbSAnLi90b3VybmFtZW50LXRlYW0nO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICB0b3VybmFtZW50X3RlYW1fdXNlcjogJ3RvdXJuYW1lbnRUZWFtVXNlcicsXG4gICAgdGVhbTogJ3RlYW0nLFxuICAgIHRlYW1fdXNlcjogJ3RlYW1Vc2VyJyxcbiAgICB1c2VyOiAndXNlcicsXG4gICAgdG91cm5hbWVudF90ZWFtOiAndG91cm5hbWVudFRlYW0nLFxuICAgIG1vbnRoOiAnbW9udGgnLFxuICAgIHdpbl9sb3NlOiAnd2luTG9zZScsXG4gICAgZ2FtZXNfY291bnQ6ICdnYW1lc0NvdW50JyxcbiAgICB3b25fZ2FtZXNfY291bnQ6ICd3b25HYW1lc0NvdW50JyxcbiAgICBuZXdiaWU6ICduZXdiaWUnLFxuICAgIC8vIFVzZXIgc3RhdGlzdGljXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICB0cmllczogJ3RyaWVzJyxcbiAgICBwZW5hbHR5X3RyaWVzOiAncGVuYWx0eVRyaWVzJyxcbiAgICBjb252ZXJzaW9uX3Nob3RzOiAnY29udmVyc2lvblNob3RzJyxcbiAgICBjb252ZXJzaW9uX2dvYWxzOiAnY29udmVyc2lvbkdvYWxzJyxcbiAgICBjb252ZXJzaW9uX21pc3NlczogJ2NvbnZlcnNpb25NaXNzZXMnLFxuICAgIGNvbnZlcnNpb25fZ29hbHNfcGVyY2VudDogJ2NvbnZlcnNpb25Hb2Fsc1BlcmNlbnQnLFxuICAgIGRyYXdpbmdfYmFsbDogJ2RyYXdpbmdCYWxsJyxcbiAgICBwZW5hbHR5X3Nob3RzOiAncGVuYWx0eVNob3RzJyxcbiAgICBwZW5hbHR5X21pc3NlczogJ3BlbmFsdHlNaXNzZXMnLFxuICAgIHBlbmFsdHlfZ29hbHM6ICdwZW5hbHR5R29hbHMnLFxuICAgIHBlbmFsdHlfZ29hbHNfcGVyY2VudDogJ3BlbmFsdHlHb2Fsc1BlcmNlbnQnLFxuICAgIGRyb3BfZ29hbF9zaG90czogJ2Ryb3BHb2FsU2hvdHMnLFxuICAgIGRyb3BfZ29hbHM6ICdkcm9wR29hbHMnLFxuICAgIGRyb3BfZ29hbF9taXNzZXM6ICdkcm9wR29hbE1pc3NlcycsXG4gICAgZHJvcF9nb2FsX3BlcmNlbnQ6ICdkcm9wR29hbFBlcmNlbnQnLFxuICAgIGZyZWVfa2lja3M6ICdmcmVlS2lja3MnLFxuICAgIHllbGxvd19jYXJkczogJ3llbGxvd0NhcmRzJyxcbiAgICByZWRfY2FyZHM6ICdyZWRDYXJkcycsXG4gICAgb2ZmbG9hZHM6ICdvZmZsb2FkcycsXG4gICAgdGFja2xlczogJ3RhY2tsZXMnLFxuICAgIG91dHM6ICdvdXRzJyxcbiAgICBoYW5kbGluZ19lcnJvcnM6ICdoYW5kbGluZ0Vycm9ycycsXG4gICAgY2Fycmllc19vdGhlcl9nYWlubGluZTogJ2NhcnJpZXNPdGhlckdhaW5saW5lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJyxcbiAgICBnYW1lX3RpbWU6ICdnYW1lVGltZScsXG5cbiAgICAvLyBUZWFtIHN0YXRpc3RpY1xuICAgIHNjcnVtczogJ3NjcnVtcycsXG4gICAgc2NydW1zX3dvbjogJ3NjcnVtc1dvbicsXG4gICAgc2NydW1fbG9zc2VzOiAnc2NydW1Mb3NzZXMnLFxuICAgIHNjcnVtc193b25fcGVyY2VudDogJ3NjcnVtc1dvblBlcmNlbnQnLFxuICAgIHNjcnVtc193b25fZnJlZTogJ3NjcnVtc1dvbkZyZWUnLFxuICAgIGxpbmVvdXRzOiAnbGluZW91dHMnLFxuICAgIGxpbmVvdXRzX3N1Y2Nlc3M6ICdsaW5lb3V0c1N1Y2Nlc3MnLFxuICAgIGxpbmVvdXRfbG9zZXM6ICdsaW5lb3V0TG9zZXMnLFxuICAgIGxpbmVvdXRzX3N0ZWFsOiAnbGluZW91dHNTdGVhbCcsXG4gICAgcXVpY2tfdGhyb3dzOiAncXVpY2tUaHJvd3MnLFxuICAgIHJ1Y2tzOiAncnVja3MnLFxuICAgIHJ1Y2tzX3dvbjogJ3J1Y2tzV29uJyxcbiAgICBydWNrX2xvc3NlczogJ3J1Y2tMb3NzZXMnLFxuICAgIHJ1Y2tzX3dvbl9wZXJjZW50OiAncnVja3NXb25QZXJjZW50JyxcbiAgICBtYXVsczogJ21hdWxzJyxcbiAgICBtYXVsc193b246ICdtYXVsc1dvbicsXG4gICAgbWF1bF9sb3NzZXM6ICdtYXVsTG9zc2VzJyxcbiAgICBtYXVsc193b25fcGVyY2VudDogJ21hdWxXb25QZXJjZW50JyxcbiAgICBmb3VsczogJ2ZvdWxzJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHRvdXJuYW1lbnRUZWFtVXNlcjogVG91cm5hbWVudFRlYW1Vc2VyLFxuICAgIHRlYW06IFRlYW0sXG4gICAgdGVhbVVzZXI6IFRlYW1Vc2VyLFxuICAgIHVzZXI6IFVzZXIsXG4gICAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtLFxuICAgIG1vbnRoOiBEYXRlRmllbGRcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBSdWdieVN0YXRpc3RpYyBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIHRvdXJuYW1lbnRUZWFtVXNlcjogVG91cm5hbWVudFRlYW1Vc2VyO1xuICB0ZWFtOiBUZWFtO1xuICB0ZWFtVXNlcjogVGVhbVVzZXI7XG4gIHVzZXI6IFVzZXI7XG4gIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbTtcbiAgbW9udGg6IERhdGU7XG4gIHdpbkxvc2U6IGJvb2xlYW47XG4gIGdhbWVzQ291bnQ6IG51bWJlcjtcbiAgd29uR2FtZXNDb3VudDogbnVtYmVyO1xuICBuZXdiaWU6IGJvb2xlYW47XG4gIHBvaW50czogbnVtYmVyO1xuICB0cmllczogbnVtYmVyO1xuICBwZW5hbHR5VHJpZXM6IG51bWJlcjtcbiAgY29udmVyc2lvblNob3RzOiBudW1iZXI7XG4gIGNvbnZlcnNpb25Hb2FsczogbnVtYmVyO1xuICBjb252ZXJzaW9uTWlzc2VzOiBudW1iZXI7XG4gIGNvbnZlcnNpb25Hb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgZHJhd2luZ0JhbGw6IG51bWJlcjtcbiAgcGVuYWx0eVNob3RzOiBudW1iZXI7XG4gIHBlbmFsdHlNaXNzZXM6IG51bWJlcjtcbiAgcGVuYWx0eUdvYWxzOiBudW1iZXI7XG4gIHBlbmFsdHlHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgZHJvcEdvYWxTaG90czogbnVtYmVyO1xuICBkcm9wR29hbHM6IG51bWJlcjtcbiAgZHJvcEdvYWxNaXNzZXM6IG51bWJlcjtcbiAgZHJvcEdvYWxQZXJjZW50OiBudW1iZXI7XG4gIGZyZWVLaWNrczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBvZmZsb2FkczogbnVtYmVyO1xuICB0YWNrbGVzOiBudW1iZXI7XG4gIG91dHM6IG51bWJlcjtcbiAgaGFuZGxpbmdFcnJvcnM6IG51bWJlcjtcbiAgY2Fycmllc090aGVyR2FpbmxpbmU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG5cbiAgc2NydW1zOiBudW1iZXI7XG4gIHNjcnVtc1dvbjogbnVtYmVyO1xuICBzY3J1bUxvc3NlczogbnVtYmVyO1xuICBzY3J1bXNXb25QZXJjZW50OiBudW1iZXI7XG4gIHNjcnVtc1dvbkZyZWU6IG51bWJlcjtcbiAgbGluZW91dHM6IG51bWJlcjtcbiAgbGluZW91dHNTdWNjZXNzOiBudW1iZXI7XG4gIGxpbmVvdXRMb3NlczogbnVtYmVyO1xuICBsaW5lb3V0c1N0ZWFsOiBudW1iZXI7XG4gIHF1aWNrVGhyb3dzOiBudW1iZXI7XG4gIHJ1Y2tzOiBudW1iZXI7XG4gIHJ1Y2tzV29uOiBudW1iZXI7XG4gIHJ1Y2tMb3NzZXM6IG51bWJlcjtcbiAgcnVja3NXb25QZXJjZW50OiBudW1iZXI7XG4gIG1hdWxzOiBudW1iZXI7XG4gIG1hdWxzV29uOiBudW1iZXI7XG4gIG1hdWxMb3NzZXM6IG51bWJlcjtcbiAgbWF1bFdvblBlcmNlbnQ6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcblxuICBnZXQgdXNlck1pbnV0ZXMoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZ2FtZVRpbWUpIHtcbiAgICAgIHJldHVybiAnMDA6MDAnO1xuICAgIH1cbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC8gNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMuZ2FtZVRpbWUgLSBtaW51dGVzICogNjApO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAwIDogJyd9JHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IDAgOiAnJ30ke3NlY29uZHN9YDtcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19