@mtgame/core 0.0.31 → 0.0.34

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.
@@ -16,6 +16,7 @@ import { TournamentStageTeam } from '../models/tournament-stage-team';
16
16
  import { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';
17
17
  import { ConfigService } from '../services/config.service';
18
18
  import { HockeyStatistic } from '../models/hockey-statistic';
19
+ import { LeagueUserPermissions } from '../models/league-user';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@angular/common/http";
21
22
  import * as i2 from "../services/config.service";
@@ -196,6 +197,11 @@ let TournamentApi = class TournamentApi {
196
197
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(map(result => TournamentTeamUser.toFront(result))).toPromise();
197
198
  });
198
199
  }
200
+ myPermission(tournamentId) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(map((data) => (data.permissions || []).map(item => LeagueUserPermissions[item]))).toPromise();
203
+ });
204
+ }
199
205
  };
200
206
  TournamentApi.ctorParameters = () => [
201
207
  { type: HttpClient },
@@ -206,4 +212,4 @@ TournamentApi = __decorate([
206
212
  Injectable({ providedIn: 'root' })
207
213
  ], TournamentApi);
208
214
  export { TournamentApi };
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBb0M3RCxJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBQ3hCLFlBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV0QyxDQUFDO0lBRUssVUFBVSxDQUFDLEtBQWE7O1lBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEtBQUssR0FBRyxDQUFDO2lCQUMxRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0tBQUE7SUFFSyxPQUFPLENBQUMsWUFBb0I7O1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksUUFBUSxDQUFDO2lCQUN0RyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNuRCxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0tBQUE7SUFFSyxTQUFTLENBQUMsWUFBb0IsRUFBRSxJQUFZLEVBQUUsSUFBWSxFQUFFLE9BQW9DOztZQUNwRyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN2RCxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUNuRTtnQkFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7b0JBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQy9DO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixZQUFZLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUM7aUJBQ3ZJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQzFDLElBQUksRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDM0MsQ0FBQyxDQUFDLENBQUM7aUJBQ0gsU0FBUyxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRUssbUJBQW1CLENBQUMsWUFBb0I7O1lBQzVDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM5RyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssVUFBVSxDQUFDLFlBQW9COztZQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixZQUFZLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDL0csR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN2QyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLENBQUM7S0FBQTtJQUVLLGVBQWUsQ0FBQyxTQUFpQjs7WUFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsU0FBUyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDcEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFSyxjQUFjLENBQUMsWUFBb0I7O1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksZ0JBQWdCLENBQUM7aUJBQzlHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDbkQsU0FBUyxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLFlBQW9CLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxVQUFrQyxFQUFFOztZQUNuRyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDM0QsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzlDO1lBQ0QsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFO2dCQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0U7WUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3hCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDdkU7WUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0Q7WUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDN0Q7WUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixZQUFZLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUM7aUJBQ3RJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsWUFBb0I7O1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksU0FBUyxDQUFDO2lCQUN2RyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNuRCxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0tBQUE7SUFFSyxhQUFhLENBQUMsWUFBb0I7O1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksZUFBZSxDQUFDO2lCQUM3RyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ3hELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxnQkFBd0I7O1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLGdCQUFnQixHQUFHLENBQUM7aUJBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ25ELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxNQUFjOztZQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxNQUFNLEdBQUcsQ0FBQztpQkFDckcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUN2RCxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsZ0JBQXdCOztZQUN6QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxnQkFBZ0IsU0FBUyxDQUFDO2lCQUNySCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUN6QyxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0tBQUE7SUFFSyxzQkFBc0IsQ0FBQyxPQUEwQjs7WUFDckQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sRUFBRTtnQkFDWCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ3hDO2lCQUNGO2dCQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7b0JBQ2xDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUMzRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFSyxzQkFBc0IsQ0FBQyxPQUEwQjs7WUFDckQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sRUFBRTtnQkFDWCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ3hDO2lCQUNGO2dCQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7b0JBQ2xDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUMzRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFSyxrQkFBa0IsQ0FBQyxPQUEwQjs7WUFDakQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sRUFBRTtnQkFDWCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ3hDO2lCQUNGO2dCQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7b0JBQ2xDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN2RyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQy9DLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssc0JBQXNCLENBQUMsZ0JBQXdCOztZQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDJCQUEyQixnQkFBZ0IsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN0SCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbEQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7Q0FDRixDQUFBOztZQW5MdUIsVUFBVTtZQUNQLGFBQWE7OztBQUgzQixhQUFhO0lBRHpCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztHQUNwQixhQUFhLENBcUx6QjtTQXJMWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb3VybmFtZW50TmV3cyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LW5ld3MnO1xuaW1wb3J0IHsgR2FtZSwgR2FtZVN0YXR1c2VzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZVRpbWVsaW5lU3RhZ2VzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUtdGltZWxpbmUtc3RhZ2VzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50U3RhZ2UgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1zdGFnZSc7XG5pbXBvcnQgeyBQbGF5b2ZmIH0gZnJvbSAnLi4vbW9kZWxzL3BsYXlvZmYnO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFza2V0YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9iYXNrZXRiYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBWb2xsZXliYWxsU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL3ZvbGxleWJhbGwtc3RhdGlzdGljJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtVXNlciB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0tdXNlcic7XG5pbXBvcnQgeyBUb3VybmFtZW50U3RhZ2VUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UtdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50RXZlbnQsIFRvdXJuYW1lbnRFdmVudFR5cGVzIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtZXZlbnQnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEhvY2tleVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktc3RhdGlzdGljJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50R2FtZXNGaWx0ZXJzIHtcbiAgdG91cm5hbWVudFN0YWdlSWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRUb3VyPzogbnVtYmVyO1xuICB0ZWFtSWQ/OiBudW1iZXI7XG4gIHBsYXlvZmZTdGFnZT86IG51bWJlcjtcbiAgcGxheW9mZklkPzogbnVtYmVyO1xuICBzdGF0dXM/OiBHYW1lU3RhdHVzZXM7XG59XG5cbmV4cG9ydCB0eXBlIFN0YXRpc3RpY0dyb3VwQnlUeXBlcyA9ICd0ZWFtJyB8ICd1c2VyJyB8ICd0ZWFtX3VzZXInIHwgJ3RvdXJuYW1lbnRfdGVhbScgfCAndG91cm5hbWVudF90ZWFtX3VzZXInIHwgJ21vbnRoJyB8ICd3aW5fbG9zZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpc3RpY0ZpbHRlcnMge1xuICB0b3VybmFtZW50X2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RlYW1faWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdGVhbV91c2VyX2lkPzogbnVtYmVyO1xuICB0ZWFtX2lkPzogbnVtYmVyO1xuICB0ZWFtX3VzZXJfaWQ/OiBudW1iZXI7XG4gIHVzZXJfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfc3RhZ2VfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdG91cj86IG51bWJlcjtcbiAgcGxheW9mZl9zdGFnZT86IG51bWJlcjtcbiAgcGxheW9mZl9pZD86IG51bWJlcjtcbiAgZGF0ZV9mcm9tPzogc3RyaW5nO1xuICBkYXRlX3RvPzogc3RyaW5nO1xuICBwZXJfZ2FtZT86IGJvb2xlYW47XG4gIGdyb3VwX2J5OiBTdGF0aXN0aWNHcm91cEJ5VHlwZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXIge1xuICBldmVudD86IFRvdXJuYW1lbnRFdmVudFR5cGVzO1xuICBzZWFyY2g/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnRBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IFByb21pc2U8VG91cm5hbWVudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke2FsaWFzfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50LnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXROZXdzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50TmV3c1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9uZXdzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnROZXdzLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRFdmVudHModG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzPzogVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXIpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPFRvdXJuYW1lbnRFdmVudFtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBpZiAoZmlsdGVycy5ldmVudCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdldmVudCcsIFRvdXJuYW1lbnRFdmVudFR5cGVzW2ZpbHRlcnMuZXZlbnRdKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnNlYXJjaCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzZWFyY2gnLCBmaWx0ZXJzLnNlYXJjaCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZXZlbnRzL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IFRvdXJuYW1lbnRFdmVudC50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFN0YWdlcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3N0YWdlcy9gKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gVG91cm5hbWVudFN0YWdlLnRvRnJvbnQoZGF0YSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmYodG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFBsYXlvZmZbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vcGxheW9mZi9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBQbGF5b2ZmLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGxheW9mZkdhbWVzKHBsYXlvZmZJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcGxheW9mZi8ke3BsYXlvZmZJZH0vZ2FtZXMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzU3RhZ2VzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVGltZWxpbmVTdGFnZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2dhbWVzX3N0YWdlcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gR2FtZVRpbWVsaW5lU3RhZ2VzLnRvRnJvbnQoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXModG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBUb3VybmFtZW50R2FtZXNGaWx0ZXJzID0ge30pOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEdhbWVbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpO1xuICAgIGlmIChzaXplKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfc3RhZ2VfaWQnLCBmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF90b3VyJywgZmlsdGVycy50b3VybmFtZW50VG91ci50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMucGxheW9mZlN0YWdlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwbGF5b2ZmX3N0YWdlJywgZmlsdGVycy5wbGF5b2ZmU3RhZ2UudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRlYW1JZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndGVhbV9pZCcsIGZpbHRlcnMudGVhbUlkLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5zdGF0dXMpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3N0YXR1cycsIEdhbWVTdGF0dXNlc1tmaWx0ZXJzLnN0YXR1c10pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2dhbWVzL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IEdhbWUudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vdGVhbXMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFRlYW0udG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0YWdlVGVhbXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRTdGFnZVRlYW1bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vc3RhZ2VfdGVhbXMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFN0YWdlVGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbUJ5SWQodG91cm5hbWVudFRlYW1JZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtLyR7dG91cm5hbWVudFRlYW1JZH0vYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFRlYW0udG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJCeUlkKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbVVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbV91c2VyLyR7dXNlcklkfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbVVzZXIudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJHYW1lcyh0b3VybmFtZW50VXNlcklkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtX3VzZXIvJHt0b3VybmFtZW50VXNlcklkfS9nYW1lcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBHYW1lLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRCYXNrZXRiYWxsU3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxCYXNrZXRiYWxsU3RhdGlzdGljW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZmlsdGVycykpIHtcbiAgICAgICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCBmaWx0ZXJzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWx0ZXJzLnBlcl9nYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGVyX2dhbWUnLCBmaWx0ZXJzLnBlcl9nYW1lID8gJzEnIDogJzAnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2Jhc2tldGJhbGxfc3RhdGlzdGljL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBCYXNrZXRiYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Vm9sbGV5YmFsbFN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8Vm9sbGV5YmFsbFN0YXRpc3RpY1tdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgICAgIGlmIChmaWx0ZXJzW2tleV0pIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmlsdGVycy5wZXJfZ2FtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Blcl9nYW1lJywgZmlsdGVycy5wZXJfZ2FtZSA/ICcxJyA6ICcwJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS92b2xsZXliYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gVm9sbGV5YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEhvY2tleVN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8SG9ja2V5U3RhdGlzdGljW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZmlsdGVycykpIHtcbiAgICAgICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCBmaWx0ZXJzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWx0ZXJzLnBlcl9nYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGVyX2dhbWUnLCBmaWx0ZXJzLnBlcl9nYW1lID8gJzEnIDogJzAnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2hvY2tleV9zdGF0aXN0aWMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleVN0YXRpc3RpYy50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRUZWFtVXNlcnModG91cm5hbWVudFRlYW1JZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbVVzZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtLyR7dG91cm5hbWVudFRlYW1JZH0vdXNlcnMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFRlYW1Vc2VyLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixD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QWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDJCQUEyQixnQkFBZ0IsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN0SCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbEQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsWUFBb0I7O1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLFlBQVksY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNsSCxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3RGLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7WUF6THVCLFVBQVU7WUFDUCxhQUFhOzs7QUFIM0IsYUFBYTtJQUR6QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7R0FDcEIsYUFBYSxDQTJMekI7U0EzTFksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUb3VybmFtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudE5ld3MgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1uZXdzJztcbmltcG9ydCB7IEdhbWUsIEdhbWVTdGF0dXNlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVUaW1lbGluZVN0YWdlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lLXRpbWVsaW5lLXN0YWdlcyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UnO1xuaW1wb3J0IHsgUGxheW9mZiB9IGZyb20gJy4uL21vZGVscy9wbGF5b2ZmJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi9wYWdpbmF0ZWQtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2tldGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvYmFza2V0YmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlVGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXN0YWdlLXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudEV2ZW50LCBUb3VybmFtZW50RXZlbnRUeXBlcyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LWV2ZW50JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvaG9ja2V5LXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBMZWFndWVVc2VyUGVybWlzc2lvbnMgfSBmcm9tICcuLi9tb2RlbHMvbGVhZ3VlLXVzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMge1xuICB0b3VybmFtZW50U3RhZ2VJZD86IG51bWJlcjtcbiAgdG91cm5hbWVudFRvdXI/OiBudW1iZXI7XG4gIHRlYW1JZD86IG51bWJlcjtcbiAgcGxheW9mZlN0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmSWQ/OiBudW1iZXI7XG4gIHN0YXR1cz86IEdhbWVTdGF0dXNlcztcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGlzdGljR3JvdXBCeVR5cGVzID0gJ3RlYW0nIHwgJ3VzZXInIHwgJ3RlYW1fdXNlcicgfCAndG91cm5hbWVudF90ZWFtJyB8ICd0b3VybmFtZW50X3RlYW1fdXNlcicgfCAnbW9udGgnIHwgJ3dpbl9sb3Nlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGlzdGljRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdGVhbV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90ZWFtX3VzZXJfaWQ/OiBudW1iZXI7XG4gIHRlYW1faWQ/OiBudW1iZXI7XG4gIHRlYW1fdXNlcl9pZD86IG51bWJlcjtcbiAgdXNlcl9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9zdGFnZV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90b3VyPzogbnVtYmVyO1xuICBwbGF5b2ZmX3N0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmX2lkPzogbnVtYmVyO1xuICBkYXRlX2Zyb20/OiBzdHJpbmc7XG4gIGRhdGVfdG8/OiBzdHJpbmc7XG4gIHBlcl9nYW1lPzogYm9vbGVhbjtcbiAgZ3JvdXBfYnk6IFN0YXRpc3RpY0dyb3VwQnlUeXBlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlciB7XG4gIGV2ZW50PzogVG91cm5hbWVudEV2ZW50VHlwZXM7XG4gIHNlYXJjaD86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudEFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlBbGlhcyhhbGlhczogc3RyaW5nKTogUHJvbWlzZTxUb3VybmFtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7YWxpYXN9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldE5ld3ModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnROZXdzW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L25ld3MvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudE5ld3MudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEV2ZW50cyh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlcik6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8VG91cm5hbWVudEV2ZW50W10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKVxuICAgICAgLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmV2ZW50KSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2V2ZW50JywgVG91cm5hbWVudEV2ZW50VHlwZXNbZmlsdGVycy5ldmVudF0pO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuc2VhcmNoKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIGZpbHRlcnMuc2VhcmNoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9ldmVudHMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogVG91cm5hbWVudEV2ZW50LnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50U3RhZ2VzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50U3RhZ2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vc3RhZ2VzL2ApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBUb3VybmFtZW50U3RhZ2UudG9Gcm9udChkYXRhKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGxheW9mZih0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8UGxheW9mZltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9wbGF5b2ZmL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFBsYXlvZmYudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2ZmR2FtZXMocGxheW9mZklkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9wbGF5b2ZmLyR7cGxheW9mZklkfS9nYW1lcy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBHYW1lLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXNTdGFnZXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVUaW1lbGluZVN0YWdlcz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZ2FtZXNfc3RhZ2VzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBHYW1lVGltZWxpbmVTdGFnZXMudG9Gcm9udChkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lcyh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMgPSB7fSk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8R2FtZVtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSk7XG4gICAgaWYgKHNpemUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF9zdGFnZV9pZCcsIGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3RvdXInLCBmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5wbGF5b2ZmU3RhZ2UpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfc3RhZ2UnLCBmaWx0ZXJzLnBsYXlvZmZTdGFnZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnN0YXR1cykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3RhdHVzJywgR2FtZVN0YXR1c2VzW2ZpbHRlcnMuc3RhdHVzXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZ2FtZXMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogR2FtZS50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1zKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS90ZWFtcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhZ2VUZWFtcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlVGVhbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9zdGFnZV90ZWFtcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50U3RhZ2VUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtQnlJZCh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckJ5SWQodXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtX3VzZXIvJHt1c2VySWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtVXNlci50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckdhbWVzKHRvdXJuYW1lbnRVc2VySWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3RvdXJuYW1lbnRVc2VySWR9L2dhbWVzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJhc2tldGJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPEJhc2tldGJhbGxTdGF0aXN0aWNbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvYmFza2V0YmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEJhc2tldGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRWb2xsZXliYWxsU3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxWb2xsZXliYWxsU3RhdGlzdGljW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZmlsdGVycykpIHtcbiAgICAgICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCBmaWx0ZXJzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWx0ZXJzLnBlcl9nYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGVyX2dhbWUnLCBmaWx0ZXJzLnBlcl9nYW1lID8gJzEnIDogJzAnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3ZvbGxleWJhbGxfc3RhdGlzdGljL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBWb2xsZXliYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0SG9ja2V5U3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxIb2NrZXlTdGF0aXN0aWNbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvaG9ja2V5X3N0YXRpc3RpYy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gSG9ja2V5U3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFRlYW1Vc2Vycyh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS91c2Vycy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbVVzZXIudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBteVBlcm1pc3Npb24odG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9wZXJtaXNzaW9uL2ApLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4gKGRhdGEucGVybWlzc2lvbnMgfHwgW10pLm1hcChpdGVtID0+IExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tpdGVtXSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -37,6 +37,15 @@ let HockeyGameStatistic = class HockeyGameStatistic extends BaseModel {
37
37
  get shootOuts() {
38
38
  return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);
39
39
  }
40
+ get shotsAgainst() {
41
+ return (this.saves || 0) + (this.goalsAgainst || 0);
42
+ }
43
+ get savesPercent() {
44
+ if (!this.shotsAgainst || !this.saves) {
45
+ return 0;
46
+ }
47
+ return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
48
+ }
40
49
  static toFront(data) { }
41
50
  static toBack(data) { }
42
51
  };
@@ -85,4 +94,4 @@ HockeyGameStatistic = __decorate([
85
94
  })
86
95
  ], HockeyGameStatistic);
87
96
  export { HockeyGameStatistic };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUF1QzFGLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW9CLFNBQVEsU0FBUztJQStCaEQsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVMsSUFBUSxDQUFDO0lBR2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBUyxJQUFRLENBQUM7Q0FDakMsQ0FBQTtBQUpDO0lBREMsV0FBVzt3Q0FDcUI7QUFHakM7SUFEQyxVQUFVO3VDQUNxQjtBQW5GckIsbUJBQW1CO0lBcEMvQixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUU7WUFDYixZQUFZLEVBQUUsWUFBWTtZQUMxQixVQUFVLEVBQUUsV0FBVztZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixjQUFjLEVBQUUsY0FBYztZQUM5QixnQkFBZ0IsRUFBRSxlQUFlO1lBQ2pDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxjQUFjLEVBQUUsY0FBYztZQUM5QixnQkFBZ0IsRUFBRSxlQUFlO1lBQ2pDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxjQUFjLEVBQUUsY0FBYztZQUM5QixnQkFBZ0IsRUFBRSxlQUFlO1lBQ2pDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxRQUFRLEVBQUUsU0FBUztZQUNuQixRQUFRLEVBQUUsU0FBUztZQUNuQixRQUFRLEVBQUUsU0FBUztZQUNuQixVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsV0FBVztZQUN2QixpQkFBaUIsRUFBRSxrQkFBa0I7WUFDckMsY0FBYyxFQUFFLGVBQWU7WUFDL0IsV0FBVyxFQUFFLFlBQVk7WUFDekIsZUFBZSxFQUFFLGVBQWU7WUFDaEMsYUFBYSxFQUFFLGFBQWE7WUFDNUIsS0FBSyxFQUFFLE9BQU87WUFDZCxhQUFhLEVBQUUsY0FBYztZQUM3QixXQUFXLEVBQUUsWUFBWTtZQUN6QixlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFVBQVUsRUFBRSxXQUFXO1NBQ3hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLGFBQWE7U0FDekI7S0FDRixDQUFDO0dBQ1csbUJBQW1CLENBb0YvQjtTQXBGWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90X21pc3NlczogJ3BwU2hvdE1pc3NlcycsXG4gICAgcHBfc2hvdHNfb25fZ29hbDogJ3BwU2hvdHNPbkdvYWwnLFxuICAgIHBwX3Nob3RzX2Jsb2NrZWQ6ICdwcFNob3RzQmxvY2tlZCcsXG4gICAgZXZfc2hvdF9taXNzZXM6ICdldlNob3RNaXNzZXMnLFxuICAgIGV2X3Nob3RzX29uX2dvYWw6ICdldlNob3RzT25Hb2FsJyxcbiAgICBldl9zaG90c19ibG9ja2VkOiAnZXZTaG90c0Jsb2NrZWQnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF9nb2FsczogJ3BwR29hbHMnLFxuICAgIGV2X2dvYWxzOiAnZXZHb2FscycsXG4gICAgc2hfZ29hbHM6ICdzaEdvYWxzJyxcbiAgICBwcF9hc3Npc3RzOiAncHBBc3Npc3RzJyxcbiAgICBldl9hc3Npc3RzOiAnZXZBc3Npc3RzJyxcbiAgICBzaF9hc3Npc3RzOiAnc2hBc3Npc3RzJyxcbiAgICBzaG9vdG91dF9hdHRlbXB0czogJ3Nob290b3V0QXR0ZW1wdHMnLFxuICAgIHNob290b3V0X2dvYWxzOiAnc2hvb3RvdXRHb2FscycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBmYWNlX29mZl9sb3NzZXM6ICdmYWNlT2ZmTG9zc2VzJyxcbiAgICBmYWNlX29mZl93aW5zOiAnZmFjZU9mZldpbnMnLFxuICAgIHNhdmVzOiAnc2F2ZXMnLFxuICAgIGdvYWxzX2FnYWluc3Q6ICdnb2Fsc0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgcGVuYWx0eV9taW51dGVzOiAncGVuYWx0eU1pbnV0ZXMnLFxuICAgIGdhbWVfdGltZTogJ2dhbWVUaW1lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHVwZGF0ZWRBdDogRGF0ZVRpbWVGaWVsZCxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBIb2NrZXlHYW1lU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVN0YXRpc3RpY0Jhc2Uge1xuICBnYW1lVXNlcklkOiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBwcFNob3RNaXNzZXM6IG51bWJlcjtcbiAgcHBTaG90c09uR29hbDogbnVtYmVyO1xuICBwcFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldlNob3RNaXNzZXM6IG51bWJlcjtcbiAgZXZTaG90c09uR29hbDogbnVtYmVyO1xuICBldlNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaFNob3RNaXNzZXM6IG51bWJlcjtcbiAgc2hTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBwcEdvYWxzOiBudW1iZXI7XG4gIGV2R29hbHM6IG51bWJlcjtcbiAgc2hHb2FsczogbnVtYmVyO1xuICBwcEFzc2lzdHM6IG51bWJlcjtcbiAgZXZBc3Npc3RzOiBudW1iZXI7XG4gIHNoQXNzaXN0czogbnVtYmVyO1xuICBzaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIHNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHNhdmVzOiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICB1cGRhdGVkQXQ6IERhdGU7XG5cbiAgZ2V0IGlkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVVzZXJJZDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBwU2hvdHMgKyB0aGlzLmV2U2hvdHMgKyB0aGlzLnNoU2hvdHM7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBHb2FscyB8fCAwKSArICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5ldkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZhY2VPZmZzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmZhY2VPZmZXaW5zIHx8IDApICsgKHRoaXMuZmFjZU9mZkxvc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdE91dHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKSArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUF1QzFGLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW9CLFNBQVEsU0FBUztJQStCaEQsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUdELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBUyxJQUFRLENBQUM7SUFHakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFTLElBQVEsQ0FBQztDQUNqQyxDQUFBO0FBSkM7SUFEQyxXQUFXO3dDQUNxQjtBQUdqQztJQURDLFVBQVU7dUNBQ3FCO0FBOUZyQixtQkFBbUI7SUFwQy9CLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRTtZQUNiLFlBQVksRUFBRSxZQUFZO1lBQzFCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGdCQUFnQixFQUFFLGVBQWU7WUFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGdCQUFnQixFQUFFLGVBQWU7WUFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGdCQUFnQixFQUFFLGVBQWU7WUFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLGlCQUFpQixFQUFFLGtCQUFrQjtZQUNyQyxjQUFjLEVBQUUsZUFBZTtZQUMvQixXQUFXLEVBQUUsWUFBWTtZQUN6QixlQUFlLEVBQUUsZUFBZTtZQUNoQyxhQUFhLEVBQUUsYUFBYTtZQUM1QixLQUFLLEVBQUUsT0FBTztZQUNkLGFBQWEsRUFBRSxjQUFjO1lBQzdCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsU0FBUyxFQUFFLFVBQVU7WUFDckIsVUFBVSxFQUFFLFdBQVc7U0FDeEI7UUFDRCxRQUFRLEVBQUU7WUFDUixTQUFTLEVBQUUsYUFBYTtTQUN6QjtLQUNGLENBQUM7R0FDVyxtQkFBbUIsQ0ErRi9CO1NBL0ZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVUaW1lRmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgR2FtZVN0YXRpc3RpY0Jhc2UgfSBmcm9tICcuL2dhbWUtc3RhdGlzdGljLWJhc2UnO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBnYW1lX3VzZXJfaWQ6ICdnYW1lVXNlcklkJyxcbiAgICB1cGRhdGVkX2F0OiAndXBkYXRlZEF0JyxcbiAgICBwb2ludHM6ICdwb2ludHMnLFxuICAgIHBwX3Nob3RfbWlzc2VzOiAncHBTaG90TWlzc2VzJyxcbiAgICBwcF9zaG90c19vbl9nb2FsOiAncHBTaG90c09uR29hbCcsXG4gICAgcHBfc2hvdHNfYmxvY2tlZDogJ3BwU2hvdHNCbG9ja2VkJyxcbiAgICBldl9zaG90X21pc3NlczogJ2V2U2hvdE1pc3NlcycsXG4gICAgZXZfc2hvdHNfb25fZ29hbDogJ2V2U2hvdHNPbkdvYWwnLFxuICAgIGV2X3Nob3RzX2Jsb2NrZWQ6ICdldlNob3RzQmxvY2tlZCcsXG4gICAgc2hfc2hvdF9taXNzZXM6ICdzaFNob3RNaXNzZXMnLFxuICAgIHNoX3Nob3RzX29uX2dvYWw6ICdzaFNob3RzT25Hb2FsJyxcbiAgICBzaF9zaG90c19ibG9ja2VkOiAnc2hTaG90c0Jsb2NrZWQnLFxuICAgIHBwX2dvYWxzOiAncHBHb2FscycsXG4gICAgZXZfZ29hbHM6ICdldkdvYWxzJyxcbiAgICBzaF9nb2FsczogJ3NoR29hbHMnLFxuICAgIHBwX2Fzc2lzdHM6ICdwcEFzc2lzdHMnLFxuICAgIGV2X2Fzc2lzdHM6ICdldkFzc2lzdHMnLFxuICAgIHNoX2Fzc2lzdHM6ICdzaEFzc2lzdHMnLFxuICAgIHNob290b3V0X2F0dGVtcHRzOiAnc2hvb3RvdXRBdHRlbXB0cycsXG4gICAgc2hvb3RvdXRfZ29hbHM6ICdzaG9vdG91dEdvYWxzJyxcbiAgICBibG9ja19zaG90czogJ2Jsb2NrU2hvdHMnLFxuICAgIGZhY2Vfb2ZmX2xvc3NlczogJ2ZhY2VPZmZMb3NzZXMnLFxuICAgIGZhY2Vfb2ZmX3dpbnM6ICdmYWNlT2ZmV2lucycsXG4gICAgc2F2ZXM6ICdzYXZlcycsXG4gICAgZ29hbHNfYWdhaW5zdDogJ2dvYWxzQWdhaW5zdCcsXG4gICAgc2FmZXR5X3JhdGU6ICdzYWZldHlSYXRlJyxcbiAgICBwZW5hbHR5X21pbnV0ZXM6ICdwZW5hbHR5TWludXRlcycsXG4gICAgZ2FtZV90aW1lOiAnZ2FtZVRpbWUnLFxuICAgIHBsdXNfbWludXM6ICdwbHVzTWludXMnXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgdXBkYXRlZEF0OiBEYXRlVGltZUZpZWxkLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEhvY2tleUdhbWVTdGF0aXN0aWMgZXh0ZW5kcyBCYXNlTW9kZWwgaW1wbGVtZW50cyBHYW1lU3RhdGlzdGljQmFzZSB7XG4gIGdhbWVVc2VySWQ6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdE1pc3NlczogbnVtYmVyO1xuICBldlNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2U2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoU2hvdE1pc3NlczogbnVtYmVyO1xuICBzaFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwR29hbHM6IG51bWJlcjtcbiAgZXZHb2FsczogbnVtYmVyO1xuICBzaEdvYWxzOiBudW1iZXI7XG4gIHBwQXNzaXN0czogbnVtYmVyO1xuICBldkFzc2lzdHM6IG51bWJlcjtcbiAgc2hBc3Npc3RzOiBudW1iZXI7XG4gIHNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBibG9ja1Nob3RzOiBudW1iZXI7XG4gIGZhY2VPZmZMb3NzZXM6IG51bWJlcjtcbiAgZmFjZU9mZldpbnM6IG51bWJlcjtcbiAgc2F2ZXM6IG51bWJlcjtcbiAgZ29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgcGVuYWx0eU1pbnV0ZXM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcblxuICBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVXNlcklkO1xuICB9XG5cbiAgZ2V0IHNob3RzT25Hb2FsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90c0Jsb2NrZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLnNoU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGV2U2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHBTaG90cyArIHRoaXMuZXZTaG90cyArIHRoaXMuc2hTaG90cztcbiAgfVxuXG4gIGdldCBnb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEdvYWxzIHx8IDApICsgKHRoaXMuc2hHb2FscyB8fCAwKSArICh0aGlzLmV2R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgYXNzaXN0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEFzc2lzdHMgfHwgMCkgKyAodGhpcy5ldkFzc2lzdHMgfHwgMCkgKyAodGhpcy5zaEFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob290T3V0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEF0dGVtcHRzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2F2ZXMgfHwgMCkgKyAodGhpcy5nb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgc2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob3RzQWdhaW5zdCB8fCAhdGhpcy5zYXZlcykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNhdmVzIC8gdGhpcy5zaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { __decorate } from "tslib";
2
+ import { User } from './user';
3
+ import { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';
4
+ export var LeagueUserRoles;
5
+ (function (LeagueUserRoles) {
6
+ LeagueUserRoles[LeagueUserRoles["admin"] = 1] = "admin";
7
+ LeagueUserRoles[LeagueUserRoles["moderator"] = 2] = "moderator";
8
+ LeagueUserRoles[LeagueUserRoles["game_manager"] = 3] = "game_manager";
9
+ })(LeagueUserRoles || (LeagueUserRoles = {}));
10
+ export var LeagueUserPermissions;
11
+ (function (LeagueUserPermissions) {
12
+ LeagueUserPermissions[LeagueUserPermissions["settings"] = 1] = "settings";
13
+ LeagueUserPermissions[LeagueUserPermissions["users"] = 2] = "users";
14
+ LeagueUserPermissions[LeagueUserPermissions["teams"] = 3] = "teams";
15
+ LeagueUserPermissions[LeagueUserPermissions["media"] = 4] = "media";
16
+ LeagueUserPermissions[LeagueUserPermissions["news"] = 5] = "news";
17
+ LeagueUserPermissions[LeagueUserPermissions["game_export"] = 6] = "game_export";
18
+ LeagueUserPermissions[LeagueUserPermissions["schedule"] = 7] = "schedule";
19
+ LeagueUserPermissions[LeagueUserPermissions["game_management"] = 8] = "game_management";
20
+ })(LeagueUserPermissions || (LeagueUserPermissions = {}));
21
+ let LeagueUser = class LeagueUser extends BaseModel {
22
+ set role(value) {
23
+ this._role = LeagueUserRoles[value];
24
+ }
25
+ get role() {
26
+ return this._role;
27
+ }
28
+ static toFront(data) { }
29
+ static toBack(data) { }
30
+ };
31
+ __decorate([
32
+ ToFrontHook
33
+ ], LeagueUser, "toFront", null);
34
+ __decorate([
35
+ ToBackHook
36
+ ], LeagueUser, "toBack", null);
37
+ LeagueUser = __decorate([
38
+ ModelInstance({
39
+ mappingFields: {
40
+ id: 'id',
41
+ user: 'user',
42
+ role: 'role',
43
+ permissions: 'permissions'
44
+ },
45
+ relation: {
46
+ user: User,
47
+ permissions: listField(enumField(LeagueUserPermissions))
48
+ }
49
+ })
50
+ ], LeagueUser);
51
+ export { LeagueUser };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZ3VlLXVzZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvbGVhZ3VlLXVzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR2pHLE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsdURBQVMsQ0FBQTtJQUNULCtEQUFTLENBQUE7SUFDVCxxRUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBU1g7QUFURCxXQUFZLHFCQUFxQjtJQUMvQix5RUFBWSxDQUFBO0lBQ1osbUVBQUssQ0FBQTtJQUNMLG1FQUFLLENBQUE7SUFDTCxtRUFBSyxDQUFBO0lBQ0wsaUVBQUksQ0FBQTtJQUNKLCtFQUFXLENBQUE7SUFDWCx5RUFBUSxDQUFBO0lBQ1IsdUZBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQVNoQztBQWNELElBQWEsVUFBVSxHQUF2QixNQUFhLFVBQVcsU0FBUSxTQUFTO0lBTXZDLElBQUksSUFBSSxDQUFDLEtBQTZCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBUyxJQUFRLENBQUM7SUFHakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFTLElBQVEsQ0FBQztDQUNqQyxDQUFBO0FBSkM7SUFEQyxXQUFXOytCQUNxQjtBQUdqQztJQURDLFVBQVU7OEJBQ3FCO0FBbEJyQixVQUFVO0lBWnRCLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRTtZQUNiLEVBQUUsRUFBRSxJQUFJO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsTUFBTTtZQUNaLFdBQVcsRUFBRSxhQUFhO1NBQzNCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3pEO0tBQ0YsQ0FBQztHQUNXLFVBQVUsQ0FtQnRCO1NBbkJZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IEJhc2VNb2RlbCwgZW51bUZpZWxkLCBsaXN0RmllbGQsIE1vZGVsSW5zdGFuY2UsIFRvQmFja0hvb2ssIFRvRnJvbnRIb29rIH0gZnJvbSAnLi91dGlsJztcblxuXG5leHBvcnQgZW51bSBMZWFndWVVc2VyUm9sZXMge1xuICBhZG1pbiA9IDEsXG4gIG1vZGVyYXRvcixcbiAgZ2FtZV9tYW5hZ2VyXG59XG5cbmV4cG9ydCBlbnVtIExlYWd1ZVVzZXJQZXJtaXNzaW9ucyB7XG4gIHNldHRpbmdzID0gMSxcbiAgdXNlcnMsXG4gIHRlYW1zLFxuICBtZWRpYSxcbiAgbmV3cyxcbiAgZ2FtZV9leHBvcnQsXG4gIHNjaGVkdWxlLFxuICBnYW1lX21hbmFnZW1lbnRcbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgdXNlcjogJ3VzZXInLFxuICAgIHJvbGU6ICdyb2xlJyxcbiAgICBwZXJtaXNzaW9uczogJ3Blcm1pc3Npb25zJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHVzZXI6IFVzZXIsXG4gICAgcGVybWlzc2lvbnM6IGxpc3RGaWVsZChlbnVtRmllbGQoTGVhZ3VlVXNlclBlcm1pc3Npb25zKSlcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBMZWFndWVVc2VyIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgdXNlcjogVXNlcjtcbiAgX3JvbGU6IExlYWd1ZVVzZXJSb2xlcztcbiAgcGVybWlzc2lvbnM6IExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tdO1xuXG4gIHNldCByb2xlKHZhbHVlOiBMZWFndWVVc2VyUm9sZXN8c3RyaW5nKSB7XG4gICAgdGhpcy5fcm9sZSA9IExlYWd1ZVVzZXJSb2xlc1t2YWx1ZV07XG4gIH1cblxuICBnZXQgcm9sZSgpOiBMZWFndWVVc2VyUm9sZXN8c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcm9sZTtcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19
@@ -16,6 +16,7 @@ import { TournamentStageTeam } from '../models/tournament-stage-team';
16
16
  import { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';
17
17
  import { ConfigService } from '../services/config.service';
18
18
  import { HockeyStatistic } from '../models/hockey-statistic';
19
+ import { LeagueUserPermissions } from '../models/league-user';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@angular/common/http";
21
22
  import * as i2 from "../services/config.service";
@@ -269,6 +270,13 @@ var TournamentApi = /** @class */ (function () {
269
270
  });
270
271
  });
271
272
  };
273
+ TournamentApi.prototype.myPermission = function (tournamentId) {
274
+ return __awaiter(this, void 0, void 0, function () {
275
+ return __generator(this, function (_a) {
276
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament/" + tournamentId + "/permission/").pipe(map(function (data) { return (data.permissions || []).map(function (item) { return LeagueUserPermissions[item]; }); })).toPromise()];
277
+ });
278
+ });
279
+ };
272
280
  TournamentApi.ctorParameters = function () { return [
273
281
  { type: HttpClient },
274
282
  { type: ConfigService }
@@ -280,4 +288,4 @@ var TournamentApi = /** @class */ (function () {
280
288
  return TournamentApi;
281
289
  }());
282
290
  export { TournamentApi };
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixD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QUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUEvQixDQUErQixDQUFDLENBQy9DLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUssOENBQXNCLEdBQTVCLFVBQTZCLGdCQUF3Qjs7O2dCQUNuRCxzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZ0NBQTJCLGdCQUFnQixZQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3RILEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxDQUNsRCxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjs7Z0JBbExxQixVQUFVO2dCQUNQLGFBQWE7OztJQUgzQixhQUFhO1FBRHpCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztPQUNwQixhQUFhLENBcUx6Qjt3QkExT0Q7Q0EwT0MsQUFyTEQsSUFxTEM7U0FyTFksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUb3VybmFtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudE5ld3MgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1uZXdzJztcbmltcG9ydCB7IEdhbWUsIEdhbWVTdGF0dXNlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVUaW1lbGluZVN0YWdlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lLXRpbWVsaW5lLXN0YWdlcyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UnO1xuaW1wb3J0IHsgUGxheW9mZiB9IGZyb20gJy4uL21vZGVscy9wbGF5b2ZmJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi9wYWdpbmF0ZWQtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2tldGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvYmFza2V0YmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlVGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXN0YWdlLXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudEV2ZW50LCBUb3VybmFtZW50RXZlbnRUeXBlcyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LWV2ZW50JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvaG9ja2V5LXN0YXRpc3RpYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG91cm5hbWVudEdhbWVzRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRTdGFnZUlkPzogbnVtYmVyO1xuICB0b3VybmFtZW50VG91cj86IG51bWJlcjtcbiAgdGVhbUlkPzogbnVtYmVyO1xuICBwbGF5b2ZmU3RhZ2U/OiBudW1iZXI7XG4gIHBsYXlvZmZJZD86IG51bWJlcjtcbiAgc3RhdHVzPzogR2FtZVN0YXR1c2VzO1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aXN0aWNHcm91cEJ5VHlwZXMgPSAndGVhbScgfCAndXNlcicgfCAndGVhbV91c2VyJyB8ICd0b3VybmFtZW50X3RlYW0nIHwgJ3RvdXJuYW1lbnRfdGVhbV91c2VyJyB8ICdtb250aCcgfCAnd2luX2xvc2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aXN0aWNGaWx0ZXJzIHtcbiAgdG91cm5hbWVudF9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90ZWFtX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RlYW1fdXNlcl9pZD86IG51bWJlcjtcbiAgdGVhbV9pZD86IG51bWJlcjtcbiAgdGVhbV91c2VyX2lkPzogbnVtYmVyO1xuICB1c2VyX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3N0YWdlX2lkPzogbnVtYmVyO1xuICB0b3VybmFtZW50X3RvdXI/OiBudW1iZXI7XG4gIHBsYXlvZmZfc3RhZ2U/OiBudW1iZXI7XG4gIHBsYXlvZmZfaWQ/OiBudW1iZXI7XG4gIGRhdGVfZnJvbT86IHN0cmluZztcbiAgZGF0ZV90bz86IHN0cmluZztcbiAgcGVyX2dhbWU/OiBib29sZWFuO1xuICBncm91cF9ieTogU3RhdGlzdGljR3JvdXBCeVR5cGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdXJuYW1lbnRFdmVudHNMaXN0RmlsdGVyIHtcbiAgZXZlbnQ/OiBUb3VybmFtZW50RXZlbnRUeXBlcztcbiAgc2VhcmNoPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50QXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBhc3luYyBnZXRCeUFsaWFzKGFsaWFzOiBzdHJpbmcpOiBQcm9taXNlPFRvdXJuYW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHthbGlhc30vYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudC50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TmV3cyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudE5ld3NbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vbmV3cy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50TmV3cy50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0RXZlbnRzKHRvdXJuYW1lbnRJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVycz86IFRvdXJuYW1lbnRFdmVudHNMaXN0RmlsdGVyKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxUb3VybmFtZW50RXZlbnRbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpXG4gICAgICAuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgaWYgKGZpbHRlcnMuZXZlbnQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZXZlbnQnLCBUb3VybmFtZW50RXZlbnRUeXBlc1tmaWx0ZXJzLmV2ZW50XSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy5zZWFyY2gpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2VhcmNoJywgZmlsdGVycy5zZWFyY2gpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L2V2ZW50cy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBUb3VybmFtZW50RXZlbnQudG9Gcm9udChyZXN1bHQuYm9keSlcbiAgICAgIH0pKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRTdGFnZXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRTdGFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9zdGFnZXMvYCkucGlwZShcbiAgICAgIG1hcChkYXRhID0+IFRvdXJuYW1lbnRTdGFnZS50b0Zyb250KGRhdGEpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2ZmKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxQbGF5b2ZmW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3BsYXlvZmYvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gUGxheW9mZi50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmZHYW1lcyhwbGF5b2ZmSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3BsYXlvZmYvJHtwbGF5b2ZmSWR9L2dhbWVzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lc1N0YWdlcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVRpbWVsaW5lU3RhZ2VzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lc19zdGFnZXMvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IEdhbWVUaW1lbGluZVN0YWdlcy50b0Zyb250KGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzKHRvdXJuYW1lbnRJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogVG91cm5hbWVudEdhbWVzRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKTtcbiAgICBpZiAoc2l6ZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3N0YWdlX2lkJywgZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudG91cm5hbWVudFRvdXIpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfdG91cicsIGZpbHRlcnMudG91cm5hbWVudFRvdXIudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnBsYXlvZmZTdGFnZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9zdGFnZScsIGZpbHRlcnMucGxheW9mZlN0YWdlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50ZWFtSWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RlYW1faWQnLCBmaWx0ZXJzLnRlYW1JZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMuc3RhdHVzKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBHYW1lU3RhdHVzZXNbZmlsdGVycy5zdGF0dXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lcy9gLCB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiBHYW1lLnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3RlYW1zL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRTdGFnZVRlYW1zKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50U3RhZ2VUZWFtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L3N0YWdlX3RlYW1zL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRTdGFnZVRlYW0udG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1CeUlkKHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbS8ke3RvdXJuYW1lbnRUZWFtSWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyQnlJZCh1c2VySWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3VzZXJJZH0vYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudFRlYW1Vc2VyLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyR2FtZXModG91cm5hbWVudFVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbV91c2VyLyR7dG91cm5hbWVudFVzZXJJZH0vZ2FtZXMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QmFza2V0YmFsbFN0YXRpc3RpYyhmaWx0ZXJzPzogU3RhdGlzdGljRmlsdGVycyk6IFByb21pc2U8QmFza2V0YmFsbFN0YXRpc3RpY1tdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgICAgIGlmIChmaWx0ZXJzW2tleV0pIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmlsdGVycy5wZXJfZ2FtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Blcl9nYW1lJywgZmlsdGVycy5wZXJfZ2FtZSA/ICcxJyA6ICcwJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9iYXNrZXRiYWxsX3N0YXRpc3RpYy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gQmFza2V0YmFsbFN0YXRpc3RpYy50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFZvbGxleWJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPFZvbGxleWJhbGxTdGF0aXN0aWNbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdm9sbGV5YmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFZvbGxleWJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRIb2NrZXlTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPEhvY2tleVN0YXRpc3RpY1tdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgICAgIGlmIChmaWx0ZXJzW2tleV0pIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmlsdGVycy5wZXJfZ2FtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Blcl9nYW1lJywgZmlsdGVycy5wZXJfZ2FtZSA/ICcxJyA6ICcwJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9ob2NrZXlfc3RhdGlzdGljL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50VGVhbVVzZXJzKHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdGVhbS8ke3RvdXJuYW1lbnRUZWFtSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtVXNlci50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1hcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJhcGkvdG91cm5hbWVudC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixD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YSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUb3VybmFtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudE5ld3MgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1uZXdzJztcbmltcG9ydCB7IEdhbWUsIEdhbWVTdGF0dXNlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVUaW1lbGluZVN0YWdlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lLXRpbWVsaW5lLXN0YWdlcyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UnO1xuaW1wb3J0IHsgUGxheW9mZiB9IGZyb20gJy4uL21vZGVscy9wbGF5b2ZmJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi9wYWdpbmF0ZWQtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2tldGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvYmFza2V0YmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFN0YWdlVGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXN0YWdlLXRlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudEV2ZW50LCBUb3VybmFtZW50RXZlbnRUeXBlcyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LWV2ZW50JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvaG9ja2V5LXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBMZWFndWVVc2VyUGVybWlzc2lvbnMgfSBmcm9tICcuLi9tb2RlbHMvbGVhZ3VlLXVzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMge1xuICB0b3VybmFtZW50U3RhZ2VJZD86IG51bWJlcjtcbiAgdG91cm5hbWVudFRvdXI/OiBudW1iZXI7XG4gIHRlYW1JZD86IG51bWJlcjtcbiAgcGxheW9mZlN0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmSWQ/OiBudW1iZXI7XG4gIHN0YXR1cz86IEdhbWVTdGF0dXNlcztcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGlzdGljR3JvdXBCeVR5cGVzID0gJ3RlYW0nIHwgJ3VzZXInIHwgJ3RlYW1fdXNlcicgfCAndG91cm5hbWVudF90ZWFtJyB8ICd0b3VybmFtZW50X3RlYW1fdXNlcicgfCAnbW9udGgnIHwgJ3dpbl9sb3Nlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGlzdGljRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRfaWQ/OiBudW1iZXI7XG4gIHRvdXJuYW1lbnRfdGVhbV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90ZWFtX3VzZXJfaWQ/OiBudW1iZXI7XG4gIHRlYW1faWQ/OiBudW1iZXI7XG4gIHRlYW1fdXNlcl9pZD86IG51bWJlcjtcbiAgdXNlcl9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF9zdGFnZV9pZD86IG51bWJlcjtcbiAgdG91cm5hbWVudF90b3VyPzogbnVtYmVyO1xuICBwbGF5b2ZmX3N0YWdlPzogbnVtYmVyO1xuICBwbGF5b2ZmX2lkPzogbnVtYmVyO1xuICBkYXRlX2Zyb20/OiBzdHJpbmc7XG4gIGRhdGVfdG8/OiBzdHJpbmc7XG4gIHBlcl9nYW1lPzogYm9vbGVhbjtcbiAgZ3JvdXBfYnk6IFN0YXRpc3RpY0dyb3VwQnlUeXBlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlciB7XG4gIGV2ZW50PzogVG91cm5hbWVudEV2ZW50VHlwZXM7XG4gIHNlYXJjaD86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudEFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlBbGlhcyhhbGlhczogc3RyaW5nKTogUHJvbWlzZTxUb3VybmFtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7YWxpYXN9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldE5ld3ModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnROZXdzW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L25ld3MvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gVG91cm5hbWVudE5ld3MudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEV2ZW50cyh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlcik6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8VG91cm5hbWVudEV2ZW50W10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKVxuICAgICAgLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmV2ZW50KSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2V2ZW50JywgVG91cm5hbWVudEV2ZW50VHlwZXNbZmlsdGVycy5ldmVudF0pO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuc2VhcmNoKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIGZpbHRlcnMuc2VhcmNoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9ldmVudHMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogVG91cm5hbWVudEV2ZW50LnRvRnJvbnQocmVzdWx0LmJvZHkpXG4gICAgICB9KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50U3RhZ2VzKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50U3RhZ2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vc3RhZ2VzL2ApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBUb3VybmFtZW50U3RhZ2UudG9Gcm9udChkYXRhKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGxheW9mZih0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8UGxheW9mZltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9wbGF5b2ZmL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFBsYXlvZmYudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2ZmR2FtZXMocGxheW9mZklkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9wbGF5b2ZmLyR7cGxheW9mZklkfS9nYW1lcy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBHYW1lLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXNTdGFnZXModG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVUaW1lbGluZVN0YWdlcz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZ2FtZXNfc3RhZ2VzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBHYW1lVGltZWxpbmVTdGFnZXMudG9Gcm9udChkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lcyh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMgPSB7fSk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8R2FtZVtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSk7XG4gICAgaWYgKHNpemUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF9zdGFnZV9pZCcsIGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3RvdXInLCBmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5wbGF5b2ZmU3RhZ2UpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfc3RhZ2UnLCBmaWx0ZXJzLnBsYXlvZmZTdGFnZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnN0YXR1cykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3RhdHVzJywgR2FtZVN0YXR1c2VzW2ZpbHRlcnMuc3RhdHVzXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudC8ke3RvdXJuYW1lbnRJZH0vZ2FtZXMvYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogR2FtZS50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1zKHRvdXJuYW1lbnRJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS90ZWFtcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhZ2VUZWFtcyh0b3VybmFtZW50SWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlVGVhbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9zdGFnZV90ZWFtcy9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50U3RhZ2VUZWFtLnRvRnJvbnQocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtQnlJZCh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS9gKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbS50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckJ5SWQodXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF90ZWFtX3VzZXIvJHt1c2VySWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnRUZWFtVXNlci50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckdhbWVzKHRvdXJuYW1lbnRVc2VySWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW1fdXNlci8ke3RvdXJuYW1lbnRVc2VySWR9L2dhbWVzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJhc2tldGJhbGxTdGF0aXN0aWMoZmlsdGVycz86IFN0YXRpc3RpY0ZpbHRlcnMpOiBQcm9taXNlPEJhc2tldGJhbGxTdGF0aXN0aWNbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvYmFza2V0YmFsbF9zdGF0aXN0aWMvYCwge3BhcmFtc30pLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEJhc2tldGJhbGxTdGF0aXN0aWMudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRWb2xsZXliYWxsU3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxWb2xsZXliYWxsU3RhdGlzdGljW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZmlsdGVycykpIHtcbiAgICAgICAgaWYgKGZpbHRlcnNba2V5XSkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCBmaWx0ZXJzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWx0ZXJzLnBlcl9nYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGVyX2dhbWUnLCBmaWx0ZXJzLnBlcl9nYW1lID8gJzEnIDogJzAnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3ZvbGxleWJhbGxfc3RhdGlzdGljL2AsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBWb2xsZXliYWxsU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0SG9ja2V5U3RhdGlzdGljKGZpbHRlcnM/OiBTdGF0aXN0aWNGaWx0ZXJzKTogUHJvbWlzZTxIb2NrZXlTdGF0aXN0aWNbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgICBpZiAoZmlsdGVyc1trZXldKSB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbHRlcnMucGVyX2dhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwZXJfZ2FtZScsIGZpbHRlcnMucGVyX2dhbWUgPyAnMScgOiAnMCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvaG9ja2V5X3N0YXRpc3RpYy9gLCB7cGFyYW1zfSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gSG9ja2V5U3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudFRlYW1Vc2Vycyh0b3VybmFtZW50VGVhbUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRUZWFtVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3RlYW0vJHt0b3VybmFtZW50VGVhbUlkfS91c2Vycy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBUb3VybmFtZW50VGVhbVVzZXIudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBteVBlcm1pc3Npb24odG91cm5hbWVudElkOiBudW1iZXIpOiBQcm9taXNlPExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9wZXJtaXNzaW9uL2ApLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4gKGRhdGEucGVybWlzc2lvbnMgfHwgW10pLm1hcChpdGVtID0+IExlYWd1ZVVzZXJQZXJtaXNzaW9uc1tpdGVtXSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -89,6 +89,23 @@ var HockeyGameStatistic = /** @class */ (function (_super) {
89
89
  enumerable: true,
90
90
  configurable: true
91
91
  });
92
+ Object.defineProperty(HockeyGameStatistic.prototype, "shotsAgainst", {
93
+ get: function () {
94
+ return (this.saves || 0) + (this.goalsAgainst || 0);
95
+ },
96
+ enumerable: true,
97
+ configurable: true
98
+ });
99
+ Object.defineProperty(HockeyGameStatistic.prototype, "savesPercent", {
100
+ get: function () {
101
+ if (!this.shotsAgainst || !this.saves) {
102
+ return 0;
103
+ }
104
+ return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
105
+ },
106
+ enumerable: true,
107
+ configurable: true
108
+ });
92
109
  HockeyGameStatistic.toFront = function (data) { };
93
110
  HockeyGameStatistic.toBack = function (data) { };
94
111
  __decorate([
@@ -138,4 +155,4 @@ var HockeyGameStatistic = /** @class */ (function (_super) {
138
155
  return HockeyGameStatistic;
139
156
  }(BaseModel));
140
157
  export { HockeyGameStatistic };
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUF1QzFGO0lBQXlDLHVDQUFTO0lBQWxEOztJQW9GQSxDQUFDO0lBckRDLHNCQUFJLG1DQUFFO2FBQU47WUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw0Q0FBVzthQUFmO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDZDQUFZO2FBQWhCO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJDQUFVO2FBQWQ7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0NBQU87YUFBWDtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFB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QUMvQixXQUFXLEVBQUUsWUFBWTtnQkFDekIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixLQUFLLEVBQUUsT0FBTztnQkFDZCxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGVBQWUsRUFBRSxnQkFBZ0I7Z0JBQ2pDLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsV0FBVzthQUN4QjtZQUNELFFBQVEsRUFBRTtnQkFDUixTQUFTLEVBQUUsYUFBYTthQUN6QjtTQUNGLENBQUM7T0FDVyxtQkFBbUIsQ0FvRi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXBGRCxDQUF5QyxTQUFTLEdBb0ZqRDtTQXBGWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90X21pc3NlczogJ3BwU2hvdE1pc3NlcycsXG4gICAgcHBfc2hvdHNfb25fZ29hbDogJ3BwU2hvdHNPbkdvYWwnLFxuICAgIHBwX3Nob3RzX2Jsb2NrZWQ6ICdwcFNob3RzQmxvY2tlZCcsXG4gICAgZXZfc2hvdF9taXNzZXM6ICdldlNob3RNaXNzZXMnLFxuICAgIGV2X3Nob3RzX29uX2dvYWw6ICdldlNob3RzT25Hb2FsJyxcbiAgICBldl9zaG90c19ibG9ja2VkOiAnZXZTaG90c0Jsb2NrZWQnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF9nb2FsczogJ3BwR29hbHMnLFxuICAgIGV2X2dvYWxzOiAnZXZHb2FscycsXG4gICAgc2hfZ29hbHM6ICdzaEdvYWxzJyxcbiAgICBwcF9hc3Npc3RzOiAncHBBc3Npc3RzJyxcbiAgICBldl9hc3Npc3RzOiAnZXZBc3Npc3RzJyxcbiAgICBzaF9hc3Npc3RzOiAnc2hBc3Npc3RzJyxcbiAgICBzaG9vdG91dF9hdHRlbXB0czogJ3Nob290b3V0QXR0ZW1wdHMnLFxuICAgIHNob290b3V0X2dvYWxzOiAnc2hvb3RvdXRHb2FscycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBmYWNlX29mZl9sb3NzZXM6ICdmYWNlT2ZmTG9zc2VzJyxcbiAgICBmYWNlX29mZl93aW5zOiAnZmFjZU9mZldpbnMnLFxuICAgIHNhdmVzOiAnc2F2ZXMnLFxuICAgIGdvYWxzX2FnYWluc3Q6ICdnb2Fsc0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgcGVuYWx0eV9taW51dGVzOiAncGVuYWx0eU1pbnV0ZXMnLFxuICAgIGdhbWVfdGltZTogJ2dhbWVUaW1lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHVwZGF0ZWRBdDogRGF0ZVRpbWVGaWVsZCxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBIb2NrZXlHYW1lU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVN0YXRpc3RpY0Jhc2Uge1xuICBnYW1lVXNlcklkOiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBwcFNob3RNaXNzZXM6IG51bWJlcjtcbiAgcHBTaG90c09uR29hbDogbnVtYmVyO1xuICBwcFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldlNob3RNaXNzZXM6IG51bWJlcjtcbiAgZXZTaG90c09uR29hbDogbnVtYmVyO1xuICBldlNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaFNob3RNaXNzZXM6IG51bWJlcjtcbiAgc2hTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBwcEdvYWxzOiBudW1iZXI7XG4gIGV2R29hbHM6IG51bWJlcjtcbiAgc2hHb2FsczogbnVtYmVyO1xuICBwcEFzc2lzdHM6IG51bWJlcjtcbiAgZXZBc3Npc3RzOiBudW1iZXI7XG4gIHNoQXNzaXN0czogbnVtYmVyO1xuICBzaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIHNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHNhdmVzOiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICB1cGRhdGVkQXQ6IERhdGU7XG5cbiAgZ2V0IGlkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVVzZXJJZDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBwU2hvdHMgKyB0aGlzLmV2U2hvdHMgKyB0aGlzLnNoU2hvdHM7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBHb2FscyB8fCAwKSArICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5ldkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZhY2VPZmZzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmZhY2VPZmZXaW5zIHx8IDApICsgKHRoaXMuZmFjZU9mZkxvc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdE91dHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKSArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUF1QzFGO0lBQXlDLHVDQUFTO0lBQWxEOztJQStGQSxDQUFDO0lBaEVDLHNCQUFJLG1DQUFFO2FBQU47WUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw0Q0FBVzthQUFmO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDZDQUFZO2FBQWhCO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJDQUFVO2FBQWQ7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0NBQU87YUFBWDtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFB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ZTtnQkFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsZ0JBQWdCLEVBQUUsZUFBZTtnQkFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsZ0JBQWdCLEVBQUUsZUFBZTtnQkFDakMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixpQkFBaUIsRUFBRSxrQkFBa0I7Z0JBQ3JDLGNBQWMsRUFBRSxlQUFlO2dCQUMvQixXQUFXLEVBQUUsWUFBWTtnQkFDekIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixLQUFLLEVBQUUsT0FBTztnQkFDZCxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGVBQWUsRUFBRSxnQkFBZ0I7Z0JBQ2pDLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsV0FBVzthQUN4QjtZQUNELFFBQVEsRUFBRTtnQkFDUixTQUFTLEVBQUUsYUFBYTthQUN6QjtTQUNGLENBQUM7T0FDVyxtQkFBbUIsQ0ErRi9CO0lBQUQsMEJBQUM7Q0FBQSxBQS9GRCxDQUF5QyxTQUFTLEdBK0ZqRDtTQS9GWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90X21pc3NlczogJ3BwU2hvdE1pc3NlcycsXG4gICAgcHBfc2hvdHNfb25fZ29hbDogJ3BwU2hvdHNPbkdvYWwnLFxuICAgIHBwX3Nob3RzX2Jsb2NrZWQ6ICdwcFNob3RzQmxvY2tlZCcsXG4gICAgZXZfc2hvdF9taXNzZXM6ICdldlNob3RNaXNzZXMnLFxuICAgIGV2X3Nob3RzX29uX2dvYWw6ICdldlNob3RzT25Hb2FsJyxcbiAgICBldl9zaG90c19ibG9ja2VkOiAnZXZTaG90c0Jsb2NrZWQnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF9nb2FsczogJ3BwR29hbHMnLFxuICAgIGV2X2dvYWxzOiAnZXZHb2FscycsXG4gICAgc2hfZ29hbHM6ICdzaEdvYWxzJyxcbiAgICBwcF9hc3Npc3RzOiAncHBBc3Npc3RzJyxcbiAgICBldl9hc3Npc3RzOiAnZXZBc3Npc3RzJyxcbiAgICBzaF9hc3Npc3RzOiAnc2hBc3Npc3RzJyxcbiAgICBzaG9vdG91dF9hdHRlbXB0czogJ3Nob290b3V0QXR0ZW1wdHMnLFxuICAgIHNob290b3V0X2dvYWxzOiAnc2hvb3RvdXRHb2FscycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBmYWNlX29mZl9sb3NzZXM6ICdmYWNlT2ZmTG9zc2VzJyxcbiAgICBmYWNlX29mZl93aW5zOiAnZmFjZU9mZldpbnMnLFxuICAgIHNhdmVzOiAnc2F2ZXMnLFxuICAgIGdvYWxzX2FnYWluc3Q6ICdnb2Fsc0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgcGVuYWx0eV9taW51dGVzOiAncGVuYWx0eU1pbnV0ZXMnLFxuICAgIGdhbWVfdGltZTogJ2dhbWVUaW1lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJ1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHVwZGF0ZWRBdDogRGF0ZVRpbWVGaWVsZCxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBIb2NrZXlHYW1lU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVN0YXRpc3RpY0Jhc2Uge1xuICBnYW1lVXNlcklkOiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBwcFNob3RNaXNzZXM6IG51bWJlcjtcbiAgcHBTaG90c09uR29hbDogbnVtYmVyO1xuICBwcFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldlNob3RNaXNzZXM6IG51bWJlcjtcbiAgZXZTaG90c09uR29hbDogbnVtYmVyO1xuICBldlNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaFNob3RNaXNzZXM6IG51bWJlcjtcbiAgc2hTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBwcEdvYWxzOiBudW1iZXI7XG4gIGV2R29hbHM6IG51bWJlcjtcbiAgc2hHb2FsczogbnVtYmVyO1xuICBwcEFzc2lzdHM6IG51bWJlcjtcbiAgZXZBc3Npc3RzOiBudW1iZXI7XG4gIHNoQXNzaXN0czogbnVtYmVyO1xuICBzaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIHNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHNhdmVzOiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICB1cGRhdGVkQXQ6IERhdGU7XG5cbiAgZ2V0IGlkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVVzZXJJZDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBwU2hvdHMgKyB0aGlzLmV2U2hvdHMgKyB0aGlzLnNoU2hvdHM7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBHb2FscyB8fCAwKSArICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5ldkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZhY2VPZmZzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmZhY2VPZmZXaW5zIHx8IDApICsgKHRoaXMuZmFjZU9mZkxvc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdE91dHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKSArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNhdmVzIHx8IDApICsgKHRoaXMuZ29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5zaG90c0FnYWluc3QgfHwgIXRoaXMuc2F2ZXMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zYXZlcyAvIHRoaXMuc2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
@@ -0,0 +1,61 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { User } from './user';
3
+ import { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';
4
+ export var LeagueUserRoles;
5
+ (function (LeagueUserRoles) {
6
+ LeagueUserRoles[LeagueUserRoles["admin"] = 1] = "admin";
7
+ LeagueUserRoles[LeagueUserRoles["moderator"] = 2] = "moderator";
8
+ LeagueUserRoles[LeagueUserRoles["game_manager"] = 3] = "game_manager";
9
+ })(LeagueUserRoles || (LeagueUserRoles = {}));
10
+ export var LeagueUserPermissions;
11
+ (function (LeagueUserPermissions) {
12
+ LeagueUserPermissions[LeagueUserPermissions["settings"] = 1] = "settings";
13
+ LeagueUserPermissions[LeagueUserPermissions["users"] = 2] = "users";
14
+ LeagueUserPermissions[LeagueUserPermissions["teams"] = 3] = "teams";
15
+ LeagueUserPermissions[LeagueUserPermissions["media"] = 4] = "media";
16
+ LeagueUserPermissions[LeagueUserPermissions["news"] = 5] = "news";
17
+ LeagueUserPermissions[LeagueUserPermissions["game_export"] = 6] = "game_export";
18
+ LeagueUserPermissions[LeagueUserPermissions["schedule"] = 7] = "schedule";
19
+ LeagueUserPermissions[LeagueUserPermissions["game_management"] = 8] = "game_management";
20
+ })(LeagueUserPermissions || (LeagueUserPermissions = {}));
21
+ var LeagueUser = /** @class */ (function (_super) {
22
+ __extends(LeagueUser, _super);
23
+ function LeagueUser() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ Object.defineProperty(LeagueUser.prototype, "role", {
27
+ get: function () {
28
+ return this._role;
29
+ },
30
+ set: function (value) {
31
+ this._role = LeagueUserRoles[value];
32
+ },
33
+ enumerable: true,
34
+ configurable: true
35
+ });
36
+ LeagueUser.toFront = function (data) { };
37
+ LeagueUser.toBack = function (data) { };
38
+ __decorate([
39
+ ToFrontHook
40
+ ], LeagueUser, "toFront", null);
41
+ __decorate([
42
+ ToBackHook
43
+ ], LeagueUser, "toBack", null);
44
+ LeagueUser = __decorate([
45
+ ModelInstance({
46
+ mappingFields: {
47
+ id: 'id',
48
+ user: 'user',
49
+ role: 'role',
50
+ permissions: 'permissions'
51
+ },
52
+ relation: {
53
+ user: User,
54
+ permissions: listField(enumField(LeagueUserPermissions))
55
+ }
56
+ })
57
+ ], LeagueUser);
58
+ return LeagueUser;
59
+ }(BaseModel));
60
+ export { LeagueUser };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZ3VlLXVzZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvbGVhZ3VlLXVzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR2pHLE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsdURBQVMsQ0FBQTtJQUNULCtEQUFTLENBQUE7SUFDVCxxRUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBU1g7QUFURCxXQUFZLHFCQUFxQjtJQUMvQix5RUFBWSxDQUFBO0lBQ1osbUVBQUssQ0FBQTtJQUNMLG1FQUFLLENBQUE7SUFDTCxtRUFBSyxDQUFBO0lBQ0wsaUVBQUksQ0FBQTtJQUNKLCtFQUFXLENBQUE7SUFDWCx5RUFBUSxDQUFBO0lBQ1IsdUZBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQVNoQztBQWNEO0lBQWdDLDhCQUFTO0lBQXpDOztJQW1CQSxDQUFDO0lBYkMsc0JBQUksNEJBQUk7YUFJUjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO2FBTkQsVUFBUyxLQUE2QjtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDOzs7T0FBQTtJQU9NLGtCQUFPLEdBQWQsVUFBZSxJQUFTLElBQVEsQ0FBQztJQUcxQixpQkFBTSxHQUFiLFVBQWMsSUFBUyxJQUFRLENBQUM7SUFIaEM7UUFEQyxXQUFXO21DQUNxQjtJQUdqQztRQURDLFVBQVU7a0NBQ3FCO0lBbEJyQixVQUFVO1FBWnRCLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRTtnQkFDYixFQUFFLEVBQUUsSUFBSTtnQkFDUixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsTUFBTTtnQkFDWixXQUFXLEVBQUUsYUFBYTthQUMzQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsSUFBSTtnQkFDVixXQUFXLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQztPQUNXLFVBQVUsQ0FtQnRCO0lBQUQsaUJBQUM7Q0FBQSxBQW5CRCxDQUFnQyxTQUFTLEdBbUJ4QztTQW5CWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlcic7XG5pbXBvcnQgeyBCYXNlTW9kZWwsIGVudW1GaWVsZCwgbGlzdEZpZWxkLCBNb2RlbEluc3RhbmNlLCBUb0JhY2tIb29rLCBUb0Zyb250SG9vayB9IGZyb20gJy4vdXRpbCc7XG5cblxuZXhwb3J0IGVudW0gTGVhZ3VlVXNlclJvbGVzIHtcbiAgYWRtaW4gPSAxLFxuICBtb2RlcmF0b3IsXG4gIGdhbWVfbWFuYWdlclxufVxuXG5leHBvcnQgZW51bSBMZWFndWVVc2VyUGVybWlzc2lvbnMge1xuICBzZXR0aW5ncyA9IDEsXG4gIHVzZXJzLFxuICB0ZWFtcyxcbiAgbWVkaWEsXG4gIG5ld3MsXG4gIGdhbWVfZXhwb3J0LFxuICBzY2hlZHVsZSxcbiAgZ2FtZV9tYW5hZ2VtZW50XG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGlkOiAnaWQnLFxuICAgIHVzZXI6ICd1c2VyJyxcbiAgICByb2xlOiAncm9sZScsXG4gICAgcGVybWlzc2lvbnM6ICdwZXJtaXNzaW9ucydcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB1c2VyOiBVc2VyLFxuICAgIHBlcm1pc3Npb25zOiBsaXN0RmllbGQoZW51bUZpZWxkKExlYWd1ZVVzZXJQZXJtaXNzaW9ucykpXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTGVhZ3VlVXNlciBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIGlkOiBudW1iZXI7XG4gIHVzZXI6IFVzZXI7XG4gIF9yb2xlOiBMZWFndWVVc2VyUm9sZXM7XG4gIHBlcm1pc3Npb25zOiBMZWFndWVVc2VyUGVybWlzc2lvbnNbXTtcblxuICBzZXQgcm9sZSh2YWx1ZTogTGVhZ3VlVXNlclJvbGVzfHN0cmluZykge1xuICAgIHRoaXMuX3JvbGUgPSBMZWFndWVVc2VyUm9sZXNbdmFsdWVdO1xuICB9XG5cbiAgZ2V0IHJvbGUoKTogTGVhZ3VlVXNlclJvbGVzfHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3JvbGU7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
@@ -2087,6 +2087,15 @@ let HockeyGameStatistic = class HockeyGameStatistic extends BaseModel {
2087
2087
  get shootOuts() {
2088
2088
  return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);
2089
2089
  }
2090
+ get shotsAgainst() {
2091
+ return (this.saves || 0) + (this.goalsAgainst || 0);
2092
+ }
2093
+ get savesPercent() {
2094
+ if (!this.shotsAgainst || !this.saves) {
2095
+ return 0;
2096
+ }
2097
+ return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
2098
+ }
2090
2099
  static toFront(data) { }
2091
2100
  static toBack(data) { }
2092
2101
  };
@@ -4020,6 +4029,54 @@ TournamentStageTeam = __decorate([
4020
4029
  })
4021
4030
  ], TournamentStageTeam);
4022
4031
 
4032
+ var LeagueUserRoles;
4033
+ (function (LeagueUserRoles) {
4034
+ LeagueUserRoles[LeagueUserRoles["admin"] = 1] = "admin";
4035
+ LeagueUserRoles[LeagueUserRoles["moderator"] = 2] = "moderator";
4036
+ LeagueUserRoles[LeagueUserRoles["game_manager"] = 3] = "game_manager";
4037
+ })(LeagueUserRoles || (LeagueUserRoles = {}));
4038
+ var LeagueUserPermissions;
4039
+ (function (LeagueUserPermissions) {
4040
+ LeagueUserPermissions[LeagueUserPermissions["settings"] = 1] = "settings";
4041
+ LeagueUserPermissions[LeagueUserPermissions["users"] = 2] = "users";
4042
+ LeagueUserPermissions[LeagueUserPermissions["teams"] = 3] = "teams";
4043
+ LeagueUserPermissions[LeagueUserPermissions["media"] = 4] = "media";
4044
+ LeagueUserPermissions[LeagueUserPermissions["news"] = 5] = "news";
4045
+ LeagueUserPermissions[LeagueUserPermissions["game_export"] = 6] = "game_export";
4046
+ LeagueUserPermissions[LeagueUserPermissions["schedule"] = 7] = "schedule";
4047
+ LeagueUserPermissions[LeagueUserPermissions["game_management"] = 8] = "game_management";
4048
+ })(LeagueUserPermissions || (LeagueUserPermissions = {}));
4049
+ let LeagueUser = class LeagueUser extends BaseModel {
4050
+ set role(value) {
4051
+ this._role = LeagueUserRoles[value];
4052
+ }
4053
+ get role() {
4054
+ return this._role;
4055
+ }
4056
+ static toFront(data) { }
4057
+ static toBack(data) { }
4058
+ };
4059
+ __decorate([
4060
+ ToFrontHook
4061
+ ], LeagueUser, "toFront", null);
4062
+ __decorate([
4063
+ ToBackHook
4064
+ ], LeagueUser, "toBack", null);
4065
+ LeagueUser = __decorate([
4066
+ ModelInstance({
4067
+ mappingFields: {
4068
+ id: 'id',
4069
+ user: 'user',
4070
+ role: 'role',
4071
+ permissions: 'permissions'
4072
+ },
4073
+ relation: {
4074
+ user: User,
4075
+ permissions: listField(enumField(LeagueUserPermissions))
4076
+ }
4077
+ })
4078
+ ], LeagueUser);
4079
+
4023
4080
  let TournamentApi = class TournamentApi {
4024
4081
  constructor(httpClient, configService) {
4025
4082
  this.httpClient = httpClient;
@@ -4197,6 +4254,11 @@ let TournamentApi = class TournamentApi {
4197
4254
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(map(result => TournamentTeamUser.toFront(result))).toPromise();
4198
4255
  });
4199
4256
  }
4257
+ myPermission(tournamentId) {
4258
+ return __awaiter(this, void 0, void 0, function* () {
4259
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(map((data) => (data.permissions || []).map(item => LeagueUserPermissions[item]))).toPromise();
4260
+ });
4261
+ }
4200
4262
  };
4201
4263
  TournamentApi.ctorParameters = () => [
4202
4264
  { type: HttpClient },