@mtgame/core 2.0.10 → 2.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/tournament-api.d.ts +1 -1
- package/api/tournament-stage-api.d.ts +1 -1
- package/esm2020/api/basketball-game-api.mjs +4 -4
- package/esm2020/api/feedback-api.mjs +4 -4
- package/esm2020/api/file-api.mjs +4 -4
- package/esm2020/api/football-game-api.mjs +4 -4
- package/esm2020/api/game-base-api.mjs +4 -4
- package/esm2020/api/handball-game-api.mjs +4 -4
- package/esm2020/api/hockey-game-api.mjs +4 -4
- package/esm2020/api/league-api.mjs +4 -4
- package/esm2020/api/league-news-api.mjs +4 -4
- package/esm2020/api/league-player-api.mjs +4 -4
- package/esm2020/api/media-api.mjs +4 -4
- package/esm2020/api/notification-api.mjs +4 -4
- package/esm2020/api/notification-base-api.mjs +4 -4
- package/esm2020/api/org-notification-api.mjs +4 -4
- package/esm2020/api/public-team-api.mjs +4 -4
- package/esm2020/api/public-user-api.mjs +4 -4
- package/esm2020/api/reference-api.mjs +4 -4
- package/esm2020/api/rugby-game-api.mjs +4 -4
- package/esm2020/api/team-api.mjs +4 -4
- package/esm2020/api/team-event-api.mjs +4 -4
- package/esm2020/api/tournament-api.mjs +4 -4
- package/esm2020/api/tournament-join-api.mjs +4 -4
- package/esm2020/api/tournament-round-api.mjs +4 -4
- package/esm2020/api/tournament-season-api.mjs +4 -4
- package/esm2020/api/tournament-stage-api.mjs +14 -6
- package/esm2020/api/user-api.mjs +4 -4
- package/esm2020/api/volleyball-game-api.mjs +4 -4
- package/esm2020/api/waterpolo-game-api.mjs +4 -4
- package/esm2020/http-cookie.interceptor.mjs +4 -4
- package/esm2020/models/achievement.mjs +1 -1
- package/esm2020/models/basketball-game-config.mjs +1 -1
- package/esm2020/models/basketball-game-log.mjs +1 -1
- package/esm2020/models/basketball-game-statistic.mjs +1 -1
- package/esm2020/models/basketball-game-team-statistic.mjs +1 -1
- package/esm2020/models/basketball-profile.mjs +1 -1
- package/esm2020/models/basketball-statistic.mjs +1 -1
- package/esm2020/models/city.mjs +1 -1
- package/esm2020/models/device-info.mjs +1 -1
- package/esm2020/models/feedback.mjs +1 -1
- package/esm2020/models/file.mjs +1 -1
- package/esm2020/models/football-game-config.mjs +1 -1
- package/esm2020/models/football-game-log.mjs +1 -1
- package/esm2020/models/football-game-statistic.mjs +1 -1
- package/esm2020/models/football-game-team-statistic.mjs +1 -1
- package/esm2020/models/football-profile.mjs +1 -1
- package/esm2020/models/football-statistic.mjs +1 -1
- package/esm2020/models/game-bill.mjs +1 -1
- package/esm2020/models/game-invite.mjs +1 -1
- package/esm2020/models/game-timeline-stages.mjs +1 -1
- package/esm2020/models/game-user-disqualification.mjs +1 -1
- package/esm2020/models/game-user-limitation.mjs +1 -1
- package/esm2020/models/game-user.mjs +1 -1
- package/esm2020/models/game.mjs +1 -1
- package/esm2020/models/handball-game-config.mjs +1 -1
- package/esm2020/models/handball-game-log.mjs +1 -1
- package/esm2020/models/handball-game-statistic.mjs +1 -1
- package/esm2020/models/handball-game-team-statistic.mjs +1 -1
- package/esm2020/models/handball-profile.mjs +1 -1
- package/esm2020/models/handball-statistic.mjs +1 -1
- package/esm2020/models/hockey-game-config.mjs +1 -1
- package/esm2020/models/hockey-game-log.mjs +1 -1
- package/esm2020/models/hockey-game-statistic.mjs +1 -1
- package/esm2020/models/hockey-game-team-statistic.mjs +1 -1
- package/esm2020/models/hockey-profile.mjs +1 -1
- package/esm2020/models/hockey-statistic.mjs +1 -1
- package/esm2020/models/league-banner.mjs +1 -1
- package/esm2020/models/league-court.mjs +1 -1
- package/esm2020/models/league-document.mjs +1 -1
- package/esm2020/models/league-news.mjs +1 -1
- package/esm2020/models/league-partner.mjs +1 -1
- package/esm2020/models/league-player-field-value.mjs +1 -1
- package/esm2020/models/league-player-field.mjs +1 -1
- package/esm2020/models/league-player.mjs +1 -1
- package/esm2020/models/league-playlist.mjs +1 -1
- package/esm2020/models/league-team-field.mjs +1 -1
- package/esm2020/models/league-user.mjs +1 -1
- package/esm2020/models/league.mjs +1 -1
- package/esm2020/models/media-item.mjs +1 -1
- package/esm2020/models/notification-settings.mjs +1 -1
- package/esm2020/models/notification.mjs +1 -1
- package/esm2020/models/organization-bill.mjs +1 -1
- package/esm2020/models/organization-statistic.mjs +1 -1
- package/esm2020/models/organization-tariff.mjs +1 -1
- package/esm2020/models/organization.mjs +1 -1
- package/esm2020/models/playoff.mjs +1 -1
- package/esm2020/models/poll.mjs +1 -1
- package/esm2020/models/rugby-foul-type.mjs +1 -1
- package/esm2020/models/rugby-game-config.mjs +1 -1
- package/esm2020/models/rugby-game-log.mjs +1 -1
- package/esm2020/models/rugby-game-statistic.mjs +1 -1
- package/esm2020/models/rugby-game-team-statistic.mjs +1 -1
- package/esm2020/models/rugby-profile.mjs +1 -1
- package/esm2020/models/rugby-statistic.mjs +1 -1
- package/esm2020/models/season-tournament.mjs +1 -1
- package/esm2020/models/sport.mjs +1 -1
- package/esm2020/models/team-access.mjs +1 -1
- package/esm2020/models/team-achievement.mjs +1 -1
- package/esm2020/models/team-event-invite.mjs +1 -1
- package/esm2020/models/team-event.mjs +1 -1
- package/esm2020/models/team-invite-external.mjs +1 -1
- package/esm2020/models/team-invite.mjs +1 -1
- package/esm2020/models/team-permission.mjs +1 -1
- package/esm2020/models/team-user.mjs +1 -1
- package/esm2020/models/team.mjs +1 -1
- package/esm2020/models/teams-and-users.mjs +1 -1
- package/esm2020/models/tournament-disqualification.mjs +1 -1
- package/esm2020/models/tournament-division.mjs +1 -1
- package/esm2020/models/tournament-event.mjs +1 -1
- package/esm2020/models/tournament-group.mjs +1 -1
- package/esm2020/models/tournament-invite.mjs +1 -1
- package/esm2020/models/tournament-join-team.mjs +1 -1
- package/esm2020/models/tournament-join1x1-data.mjs +1 -1
- package/esm2020/models/tournament-news.mjs +1 -1
- package/esm2020/models/tournament-round-team.mjs +1 -1
- package/esm2020/models/tournament-round.mjs +1 -1
- package/esm2020/models/tournament-season.mjs +1 -1
- package/esm2020/models/tournament-stage-team.mjs +1 -1
- package/esm2020/models/tournament-stage.mjs +1 -1
- package/esm2020/models/tournament-team-field-value.mjs +1 -1
- package/esm2020/models/tournament-team-user-invite.mjs +1 -1
- package/esm2020/models/tournament-team-user.mjs +1 -1
- package/esm2020/models/tournament-team.mjs +1 -1
- package/esm2020/models/tournament.mjs +1 -1
- package/esm2020/models/user-access.mjs +1 -1
- package/esm2020/models/user-permission.mjs +1 -1
- package/esm2020/models/user-profile.mjs +1 -1
- package/esm2020/models/user.mjs +1 -1
- package/esm2020/models/util.mjs +5 -2
- package/esm2020/models/volleyball-game-config.mjs +1 -1
- package/esm2020/models/volleyball-game-log.mjs +1 -1
- package/esm2020/models/volleyball-game-statistic.mjs +1 -1
- package/esm2020/models/volleyball-game-team-statistic.mjs +1 -1
- package/esm2020/models/volleyball-profile.mjs +1 -1
- package/esm2020/models/volleyball-statistic.mjs +1 -1
- package/esm2020/models/waterpolo-game-config.mjs +1 -1
- package/esm2020/models/waterpolo-game-log.mjs +1 -1
- package/esm2020/models/waterpolo-game-statistic.mjs +1 -1
- package/esm2020/models/waterpolo-game-team-statistic.mjs +1 -1
- package/esm2020/models/waterpolo-profile.mjs +1 -1
- package/esm2020/models/waterpolo-statistic.mjs +1 -1
- package/esm2020/services/base.service.mjs +4 -4
- package/esm2020/services/centrifugo.service.mjs +7 -7
- package/esm2020/services/config.service.mjs +4 -4
- package/esm2020/services/device-info.service.mjs +4 -4
- package/esm2020/storage/new.mjs +10 -10
- package/esm2020/storage/old-storage-engine.mjs +3 -3
- package/esm2020/storage/storage-engine.mjs +2 -2
- package/esm2020/websocket/game.websocket.mjs +4 -4
- package/fesm2015/mtgame-core.mjs +127 -117
- package/fesm2015/mtgame-core.mjs.map +1 -1
- package/fesm2020/mtgame-core.mjs +130 -120
- package/fesm2020/mtgame-core.mjs.map +1 -1
- package/{mtgame-core.d.ts → index.d.ts} +0 -0
- package/models/base-statistic.d.ts +1 -1
- package/models/game.d.ts +1 -1
- package/package.json +5 -5
- package/services/base.controller.d.ts +1 -1
- package/storage/new.d.ts +1 -1
- package/storage/storage-engine.d.ts +2 -2
- package/utils/data.d.ts +4 -4
|
@@ -468,4 +468,4 @@ WaterpoloGameStatistic = __decorate([
|
|
|
468
468
|
})
|
|
469
469
|
], WaterpoloGameStatistic);
|
|
470
470
|
export { WaterpoloGameStatistic };
|
|
471
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPMUQsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBdUIsU0FBUSxpQkFBaUI7SUFtSzNELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsT0FBTyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsSUFBSSx3QkFBd0I7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM3RCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxHQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNuRCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsSUFBSSx3QkFBd0I7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM3RCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUM7WUFDakcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUM7WUFDakcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUM7WUFDakcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztZQUNsRixDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQ2xGLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUM7WUFDbEYsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDO1lBQy9GLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7WUFDekYsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQ3RGLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQztZQUM3RixDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUM7WUFDdkYsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDN0YsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUM7WUFDNUYsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQ3RGLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQzdGLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUN6RyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDcEQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCO1lBQ2pGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMseUJBQXlCO1lBQzNGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLDBCQUEwQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzFELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDckYsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQzFILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDcEMsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDOUIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDeEMsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSwwQkFBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLDBCQUEwQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ2pFLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUYsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELElBQUkseUJBQXlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQUdELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELElBQUkseUJBQXlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDckQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDckQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1lBQ3hHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3JELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDL0MsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQztZQUN0RyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1lBQ3ZHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNuRCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1lBQ3RHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUM7WUFDdkcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ25ELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlFLENBQUM7Q0FDRixDQUFBO0FBaHVCWSxzQkFBc0I7SUFMbEMsS0FBSyxDQUFDO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLGFBQWE7U0FDekI7S0FDRixDQUFDO0dBQ1csc0JBQXNCLENBZ3VCbEM7U0FodUJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsLCBkYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICB1cGRhdGVkQXQ6IGRhdGVUaW1lRmllbGQsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvR2FtZVN0YXRpc3RpYyBleHRlbmRzIEdhbWVTdGF0aXN0aWNCYXNlIHtcbiAgZ2FtZVVzZXJJZDogbnVtYmVyO1xuICBwb2ludHM6IG51bWJlcjtcbiAgcHBTaG90TWlzc2VzOiBudW1iZXI7XG4gIHBwU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZTaG90TWlzc2VzOiBudW1iZXI7XG4gIGV2U2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgZXZTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hTaG90TWlzc2VzOiBudW1iZXI7XG4gIHNoU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2VG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBHb2FsczogbnVtYmVyO1xuICBldkdvYWxzOiBudW1iZXI7XG4gIHNoR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBldk1hbmV1dmVyU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBBc3Npc3RzOiBudW1iZXI7XG4gIGV2QXNzaXN0czogbnVtYmVyO1xuICBzaEFzc2lzdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRBdHRlbXB0czogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBibG9ja1Nob3RzOiBudW1iZXI7XG4gIGZhY2VPZmZMb3NzZXM6IG51bWJlcjtcbiAgZmFjZU9mZldpbnM6IG51bWJlcjtcbiAgcHBTYXZlczogbnVtYmVyO1xuICBzaFNhdmVzOiBudW1iZXI7XG4gIGV2U2F2ZXM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBldk1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgcHBGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBldkZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBDb3JuZXJTYXZlczogbnVtYmVyO1xuICBzaENvcm5lclNhdmVzOiBudW1iZXI7XG4gIGV2Q29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBzaFRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIGV2VG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dFNhdmVzOiBudW1iZXI7XG4gIHBwR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIG1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgcGVuYWx0eU1pbnV0ZXM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGZvdWxzOiBudW1iZXI7XG4gIG1pbm9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1ham9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1hdGNoUGVuYWx0aWVzOiBudW1iZXI7XG4gIHBlbmFsdHlGb3VsczogbnVtYmVyO1xuICB0dXJub3ZlcnM6IG51bWJlcjtcbiAgYXR0YWNrRm91bHM6IG51bWJlcjtcbiAgcGVyc29uYWxGb3VsczogbnVtYmVyO1xuICBkcmF3bkZvdWxzOiBudW1iZXI7XG4gIGRyYXduVHVybm92ZXJzOiBudW1iZXI7XG4gIHllbGxvd0NhcmRzOiBudW1iZXI7XG4gIHJlZENhcmRzOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xuICBzdGVhbHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgcHBGcmVlS2lja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZnJlZUtpY2tQYXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTZWxmczogbnVtYmVyO1xuICBwcENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHBwQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBwcENvcm5lck1pc3NlczogbnVtYmVyO1xuICBwcENvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHNoQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBzaENvcm5lck1pc3NlczogbnVtYmVyO1xuICBzaENvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNvcm5lckdvYWxzOiBudW1iZXI7XG4gIGV2Q29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBldkNvcm5lck1pc3NlczogbnVtYmVyO1xuICBldkNvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBjb3JuZXJQYXNzZXM6IG51bWJlcjtcbiAgY29ybmVyU2VsZnM6IG51bWJlcjtcbiAgdGFja2xlczogbnVtYmVyO1xuICBwbGF5ZXJFZmZpY2llbmN5OiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcblxuICBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVXNlcklkO1xuICB9XG5cbiAgZ2V0IGdhbWVNaW51dGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgfVxuXG4gIGdldCBwZW5hbHR5VGltZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wZW5hbHR5TWludXRlcykge1xuICAgICAgcmV0dXJuICcwMDowMCc7XG4gICAgfVxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLyA2MCk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IodGhpcy5wZW5hbHR5TWludXRlcyAtIG1pbnV0ZXMgKiA2MCk7XG4gICAgcmV0dXJuIGAke21pbnV0ZXMgPCAxMCA/IDAgOiAnJ30ke21pbnV0ZXN9OiR7c2Vjb25kcyA8IDEwID8gMCA6ICcnfSR7c2Vjb25kc31gO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApICArICh0aGlzLmV2QXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbENvdW50ZXJBdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tHb2FscyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICArICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwQ291bnRlckF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hDb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja1Nob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBldkNvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdE9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLmNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyB8fCAhdGhpcy5jb3VudGVyQXR0YWNrU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyAvIHRoaXMuY291bnRlckF0dGFja1Nob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsTWFuZXV2ZXJHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLmV2TWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyTWlzc2VzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyU2hvdHNCbG9ja2VkIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm1hbmV1dmVyU2hvdE1pc3NlcyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxNYW5ldXZlckdvYWxzIHx8ICF0aGlzLm1hbmV1dmVyU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbE1hbmV1dmVyR29hbHMgLyB0aGlzLm1hbmV1dmVyU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxDZW50ZXJGb3J3YXJkR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRHb2FscyB8fCAwKSArICAodGhpcy5ldkNlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcENlbnRlckZvcndhcmRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoQ2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZDZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdE1pc3NlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzICsgdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkO1xuICB9XG5cbiAgZ2V0IGNlbnRlckZvcndhcmRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxDZW50ZXJGb3J3YXJkR29hbHMgfHwgIXRoaXMuY2VudGVyRm9yd2FyZFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxDZW50ZXJGb3J3YXJkR29hbHMgLyB0aGlzLmNlbnRlckZvcndhcmRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgdGhpcy5wcENvdW50ZXJBdHRhY2tTaG90cyArIHRoaXMucHBNYW5ldXZlclNob3RzICsgdGhpcy5wcENlbnRlckZvcndhcmRTaG90cztcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCkgICtcbiAgICAgIHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLmV2TWFuZXV2ZXJTaG90cyArIHRoaXMuZXZDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgc2hTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja1Nob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgIHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnNoTWFuZXV2ZXJTaG90cyArIHRoaXMuc2hDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2R29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQcEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbFNoR29hbHMgKyB0aGlzLnRvdGFsRXZHb2FscyArIHRoaXMudG90YWxQcEdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nb2FscyArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEdvYWxzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5tYW5ldXZlclNob3RNaXNzZXMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90TWlzc2VzO1xuICB9XG5cbiAgZ2V0IHNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmluR2FtZVNob3RNaXNzZXM7XG4gIH1cblxuICBnZXQgdG90YWxQcFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLm1hbmV1dmVyU2hvdE9uR29hbHMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90T25Hb2FscztcbiAgfVxuXG4gIGdldCB0b3RhbFBwU2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lU2hvdHNPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHBTaG90cyArIHRoaXMuZXZTaG90cyArIHRoaXMuc2hTaG90cztcbiAgfVxuXG4gIGdldCB0b3RhbFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdHMgKyB0aGlzLnNob290b3V0U2hvdHM7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tTaG90c0Jsb2NrZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja1Nob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrT25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja09uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxGcmVlS2lja0dvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbEZyZWVLaWNrcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mcmVlS2lja1NlbGZzIHx8IDApICsgKHRoaXMuZnJlZUtpY2tQYXNzZXMgfHwgMCkgK1xuICAgICAgdGhpcy5mcmVlS2lja1Nob3RNaXNzZXMgKyB0aGlzLmZyZWVLaWNrT25Hb2FscyArIHRoaXMudG90YWxGcmVlS2lja0dvYWxzICsgdGhpcy5mcmVlS2lja1Nob3RzQmxvY2tlZDtcbiAgfVxuXG4gIGdldCBmcmVlS2lja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEZyZWVLaWNrR29hbHMgfHwgIXRoaXMudG90YWxGcmVlS2lja3MpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbEZyZWVLaWNrR29hbHMgLyB0aGlzLnRvdGFsRnJlZUtpY2tzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ29ybmVyR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJHb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lck9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvcm5lclNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuZXZDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxDb3JuZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmNvcm5lclNlbGZzIHx8IDApICsgKHRoaXMuY29ybmVyUGFzc2VzIHx8IDApICsgdGhpcy5jb3JuZXJTaG90c0Jsb2NrZWQgK1xuICAgICAgdGhpcy5jb3JuZXJPbkdvYWxzICsgdGhpcy5jb3JuZXJTaG90TWlzc2VzICsgdGhpcy50b3RhbENvcm5lckdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkICsgdGhpcy5tYW5ldXZlclNob3RzQmxvY2tlZCArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCArXG4gICAgICB0aGlzLmZyZWVLaWNrU2hvdHNCbG9ja2VkICsgdGhpcy5jb3JuZXJTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgdG90YWxGb3VscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mb3VscyB8fCAwKSArICh0aGlzLnBlcnNvbmFsRm91bHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQZW5hbHRpZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiAodGhpcy5taW5vclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1ham9yUGVuYWx0aWVzIHx8IDApICsgKHRoaXMubWF0Y2hQZW5hbHRpZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzIHx8IDApICsgKHRoaXMuZXZHb2FscyB8fCAwKSArICh0aGlzLnBwR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c01pc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzT25Hb2FsICsgdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzTWlzcztcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIC8gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsSW5HYW1lR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbENlbnRlckZvcndhcmRHb2FscyArIHRoaXMudG90YWxNYW5ldXZlckdvYWxzICsgdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyArIHRoaXMucG9zaXRpb25BdHRhY2tHb2FscztcbiAgfVxuXG4gIGdldCBwcEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFBwR29hbHMgfHwgIXRoaXMucHBTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsUHBHb2FscyAvIHRoaXMucHBTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBldkdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2R29hbHMgfHwgIXRoaXMuZXZTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZHb2FscyAvIHRoaXMuZXZTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFNoR29hbHMgfHwgIXRoaXMuc2hTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2hHb2FscyAvIHRoaXMuc2hTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHNPbkdvYWwgfHwgIXRoaXMuc2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG90c09uR29hbCAvIHRoaXMuc2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmdvYWxzIHx8ICF0aGlzLnNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZ29hbHMgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsR29hbHMgfHwgIXRoaXMudG90YWxTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnRvdGFsU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZmFjZU9mZlBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZmFjZU9mZldpbnMgfHwgIXRoaXMuZmFjZU9mZnMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5mYWNlT2ZmV2lucyAvIHRoaXMuZmFjZU9mZnMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRHb2FscyB8fCAhdGhpcy5zaG9vdG91dFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvb3RvdXRHb2FscyAvIHRoaXMuc2hvb3RvdXRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBnb2FscGFzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy50b3RhbEdvYWxzIHx8IDApICsgKHRoaXMuYXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIC8qZ29hbGllIHN0YXQgKi9cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTYXZlcyB8fCAwKSArICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyArICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja1NhdmVzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyAvIHRoaXMucG9zaXRpb25BdHRhY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRlckF0dGFja1NhdmVzICsgKHRoaXMuY291bnRlckF0dGFja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyB8fCAhdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY291bnRlckF0dGFja1NhdmVzIC8gdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cblxuICBnZXQgY2VudGVyRm9yd2FyZFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzICsgKHRoaXMuY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNlbnRlckZvcndhcmRTYXZlcyB8fCAhdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzIC8gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFuZXV2ZXJTYXZlcyArICh0aGlzLm1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLm1hbmV1dmVyU2F2ZXMgfHwgIXRoaXMubWFuZXV2ZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5tYW5ldXZlclNhdmVzIC8gdGhpcy5tYW5ldXZlclNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1Nob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZyZWVLaWNrU2F2ZXMgKyAodGhpcy5mcmVlS2lja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5mcmVlS2lja1NhdmVzIHx8ICF0aGlzLmZyZWVLaWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZnJlZUtpY2tTYXZlcyAvIHRoaXMuZnJlZUtpY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY29ybmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvcm5lclNhdmVzICsgKHRoaXMuY29ybmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5jb3JuZXJTYXZlcyB8fCAhdGhpcy5jb3JuZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5jb3JuZXJTYXZlcyAvIHRoaXMuY29ybmVyU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IGluR2FtZVNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApICsgKHRoaXMucHBTYXZlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyArIHRoaXMubWFuZXV2ZXJTYXZlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzO1xuICB9XG5cbiAgZ2V0IHNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lU2F2ZXMgKyB0aGlzLmZyZWVLaWNrU2F2ZXMgKyB0aGlzLmNvcm5lclNhdmVzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLmNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5tYW5ldXZlckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5jZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob290b3V0U2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCkgKyAodGhpcy5zaG9vdG91dEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBnYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuZnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5jb3JuZXJHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZVNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNhdmVzICsgdGhpcy5nYW1lR29hbHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVNob3RzQWdhaW5zdCArIHRoaXMuc2hvb3RvdXRTaG90c0FnYWluc3Q7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRTYXZlcyB8fCAhdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNob290b3V0U2F2ZXMgLyB0aGlzLnNob290b3V0U2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5zYXZlcyB8fCAhdGhpcy5nYW1lU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2F2ZXMgLyB0aGlzLmdhbWVTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTYXZlcyB8fCAhdGhpcy50b3RhbFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2F2ZXMgLyB0aGlzLnRvdGFsU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICtcbiAgICAgICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hDb3JuZXJHb2Fsc0FnYWluc3QgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFNoU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG90YWxTaFNhdmVzICsgdGhpcy50b3RhbFNoR29hbHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTaFNhdmVzIHx8ICF0aGlzLnRvdGFsU2hTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFNoU2F2ZXMgLyB0aGlzLnRvdGFsU2hTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxFdlNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2Q291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5ldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRXZTaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbEV2U2F2ZXMgKyB0aGlzLnRvdGFsRXZHb2Fsc0FnYWluc3Q7XG4gIH1cblxuICBnZXQgdG90YWxFdlNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2U2F2ZXMgfHwgIXRoaXMudG90YWxFdlNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZTYXZlcyAvIHRoaXMudG90YWxFdlNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxufVxuIl19
|
|
471
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPbkQsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBdUIsU0FBUSxpQkFBaUI7SUFtSzNELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsT0FBTyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsR0FBRyxD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QUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlFLENBQUM7Q0FDRixDQUFBO0FBaHVCWSxzQkFBc0I7SUFMbEMsS0FBSyxDQUFDO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLGFBQWE7U0FDekI7S0FDRixDQUFDO0dBQ1csc0JBQXNCLENBZ3VCbEM7U0FodUJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsLCBkYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICB1cGRhdGVkQXQ6IGRhdGVUaW1lRmllbGQsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvR2FtZVN0YXRpc3RpYyBleHRlbmRzIEdhbWVTdGF0aXN0aWNCYXNlIHtcbiAgZ2FtZVVzZXJJZDogbnVtYmVyO1xuICBwb2ludHM6IG51bWJlcjtcbiAgcHBTaG90TWlzc2VzOiBudW1iZXI7XG4gIHBwU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZTaG90TWlzc2VzOiBudW1iZXI7XG4gIGV2U2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgZXZTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hTaG90TWlzc2VzOiBudW1iZXI7XG4gIHNoU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2VG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBHb2FsczogbnVtYmVyO1xuICBldkdvYWxzOiBudW1iZXI7XG4gIHNoR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBldk1hbmV1dmVyU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBBc3Npc3RzOiBudW1iZXI7XG4gIGV2QXNzaXN0czogbnVtYmVyO1xuICBzaEFzc2lzdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRBdHRlbXB0czogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBibG9ja1Nob3RzOiBudW1iZXI7XG4gIGZhY2VPZmZMb3NzZXM6IG51bWJlcjtcbiAgZmFjZU9mZldpbnM6IG51bWJlcjtcbiAgcHBTYXZlczogbnVtYmVyO1xuICBzaFNhdmVzOiBudW1iZXI7XG4gIGV2U2F2ZXM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBldk1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgcHBGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBldkZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBDb3JuZXJTYXZlczogbnVtYmVyO1xuICBzaENvcm5lclNhdmVzOiBudW1iZXI7XG4gIGV2Q29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBzaFRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIGV2VG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dFNhdmVzOiBudW1iZXI7XG4gIHBwR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIG1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgcGVuYWx0eU1pbnV0ZXM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGZvdWxzOiBudW1iZXI7XG4gIG1pbm9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1ham9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1hdGNoUGVuYWx0aWVzOiBudW1iZXI7XG4gIHBlbmFsdHlGb3VsczogbnVtYmVyO1xuICB0dXJub3ZlcnM6IG51bWJlcjtcbiAgYXR0YWNrRm91bHM6IG51bWJlcjtcbiAgcGVyc29uYWxGb3VsczogbnVtYmVyO1xuICBkcmF3bkZvdWxzOiBudW1iZXI7XG4gIGRyYXduVHVybm92ZXJzOiBudW1iZXI7XG4gIHllbGxvd0NhcmRzOiBudW1iZXI7XG4gIHJlZENhcmRzOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xuICBzdGVhbHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgcHBGcmVlS2lja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZnJlZUtpY2tQYXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTZWxmczogbnVtYmVyO1xuICBwcENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHBwQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBwcENvcm5lck1pc3NlczogbnVtYmVyO1xuICBwcENvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHNoQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBzaENvcm5lck1pc3NlczogbnVtYmVyO1xuICBzaENvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNvcm5lckdvYWxzOiBudW1iZXI7XG4gIGV2Q29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBldkNvcm5lck1pc3NlczogbnVtYmVyO1xuICBldkNvcm5lclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBjb3JuZXJQYXNzZXM6IG51bWJlcjtcbiAgY29ybmVyU2VsZnM6IG51bWJlcjtcbiAgdGFja2xlczogbnVtYmVyO1xuICBwbGF5ZXJFZmZpY2llbmN5OiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcblxuICBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVXNlcklkO1xuICB9XG5cbiAgZ2V0IGdhbWVNaW51dGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgfVxuXG4gIGdldCBwZW5hbHR5VGltZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wZW5hbHR5TWludXRlcykge1xuICAgICAgcmV0dXJuICcwMDowMCc7XG4gICAgfVxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLyA2MCk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IodGhpcy5wZW5hbHR5TWludXRlcyAtIG1pbnV0ZXMgKiA2MCk7XG4gICAgcmV0dXJuIGAke21pbnV0ZXMgPCAxMCA/IDAgOiAnJ30ke21pbnV0ZXN9OiR7c2Vjb25kcyA8IDEwID8gMCA6ICcnfSR7c2Vjb25kc31gO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApICArICh0aGlzLmV2QXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbENvdW50ZXJBdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tHb2FscyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICArICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwQ291bnRlckF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hDb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja1Nob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBldkNvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdE9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLmNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyB8fCAhdGhpcy5jb3VudGVyQXR0YWNrU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyAvIHRoaXMuY291bnRlckF0dGFja1Nob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsTWFuZXV2ZXJHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLmV2TWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyTWlzc2VzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyU2hvdHNCbG9ja2VkIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm1hbmV1dmVyU2hvdE1pc3NlcyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxNYW5ldXZlckdvYWxzIHx8ICF0aGlzLm1hbmV1dmVyU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbE1hbmV1dmVyR29hbHMgLyB0aGlzLm1hbmV1dmVyU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxDZW50ZXJGb3J3YXJkR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRHb2FscyB8fCAwKSArICAodGhpcy5ldkNlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcENlbnRlckZvcndhcmRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoQ2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZDZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdE1pc3NlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzICsgdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkO1xuICB9XG5cbiAgZ2V0IGNlbnRlckZvcndhcmRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxDZW50ZXJGb3J3YXJkR29hbHMgfHwgIXRoaXMuY2VudGVyRm9yd2FyZFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxDZW50ZXJGb3J3YXJkR29hbHMgLyB0aGlzLmNlbnRlckZvcndhcmRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgdGhpcy5wcENvdW50ZXJBdHRhY2tTaG90cyArIHRoaXMucHBNYW5ldXZlclNob3RzICsgdGhpcy5wcENlbnRlckZvcndhcmRTaG90cztcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCkgICtcbiAgICAgIHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLmV2TWFuZXV2ZXJTaG90cyArIHRoaXMuZXZDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgc2hTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja1Nob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgIHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnNoTWFuZXV2ZXJTaG90cyArIHRoaXMuc2hDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2R29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQcEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbFNoR29hbHMgKyB0aGlzLnRvdGFsRXZHb2FscyArIHRoaXMudG90YWxQcEdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nb2FscyArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEdvYWxzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5tYW5ldXZlclNob3RNaXNzZXMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90TWlzc2VzO1xuICB9XG5cbiAgZ2V0IHNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmluR2FtZVNob3RNaXNzZXM7XG4gIH1cblxuICBnZXQgdG90YWxQcFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLm1hbmV1dmVyU2hvdE9uR29hbHMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90T25Hb2FscztcbiAgfVxuXG4gIGdldCB0b3RhbFBwU2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lU2hvdHNPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHBTaG90cyArIHRoaXMuZXZTaG90cyArIHRoaXMuc2hTaG90cztcbiAgfVxuXG4gIGdldCB0b3RhbFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdHMgKyB0aGlzLnNob290b3V0U2hvdHM7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tTaG90c0Jsb2NrZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja1Nob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2hvdHNCbG9ja2VkIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrT25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja09uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxGcmVlS2lja0dvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbEZyZWVLaWNrcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mcmVlS2lja1NlbGZzIHx8IDApICsgKHRoaXMuZnJlZUtpY2tQYXNzZXMgfHwgMCkgK1xuICAgICAgdGhpcy5mcmVlS2lja1Nob3RNaXNzZXMgKyB0aGlzLmZyZWVLaWNrT25Hb2FscyArIHRoaXMudG90YWxGcmVlS2lja0dvYWxzICsgdGhpcy5mcmVlS2lja1Nob3RzQmxvY2tlZDtcbiAgfVxuXG4gIGdldCBmcmVlS2lja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEZyZWVLaWNrR29hbHMgfHwgIXRoaXMudG90YWxGcmVlS2lja3MpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbEZyZWVLaWNrR29hbHMgLyB0aGlzLnRvdGFsRnJlZUtpY2tzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ29ybmVyR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJHb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lck9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvcm5lclNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuZXZDb3JuZXJTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxDb3JuZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmNvcm5lclNlbGZzIHx8IDApICsgKHRoaXMuY29ybmVyUGFzc2VzIHx8IDApICsgdGhpcy5jb3JuZXJTaG90c0Jsb2NrZWQgK1xuICAgICAgdGhpcy5jb3JuZXJPbkdvYWxzICsgdGhpcy5jb3JuZXJTaG90TWlzc2VzICsgdGhpcy50b3RhbENvcm5lckdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkICsgdGhpcy5tYW5ldXZlclNob3RzQmxvY2tlZCArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZCArXG4gICAgICB0aGlzLmZyZWVLaWNrU2hvdHNCbG9ja2VkICsgdGhpcy5jb3JuZXJTaG90c0Jsb2NrZWQ7XG4gIH1cblxuICBnZXQgdG90YWxGb3VscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mb3VscyB8fCAwKSArICh0aGlzLnBlcnNvbmFsRm91bHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQZW5hbHRpZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiAodGhpcy5taW5vclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1ham9yUGVuYWx0aWVzIHx8IDApICsgKHRoaXMubWF0Y2hQZW5hbHRpZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzIHx8IDApICsgKHRoaXMuZXZHb2FscyB8fCAwKSArICh0aGlzLnBwR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c01pc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzT25Hb2FsICsgdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzTWlzcztcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIC8gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsSW5HYW1lR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbENlbnRlckZvcndhcmRHb2FscyArIHRoaXMudG90YWxNYW5ldXZlckdvYWxzICsgdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyArIHRoaXMucG9zaXRpb25BdHRhY2tHb2FscztcbiAgfVxuXG4gIGdldCBwcEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFBwR29hbHMgfHwgIXRoaXMucHBTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsUHBHb2FscyAvIHRoaXMucHBTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBldkdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2R29hbHMgfHwgIXRoaXMuZXZTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZHb2FscyAvIHRoaXMuZXZTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFNoR29hbHMgfHwgIXRoaXMuc2hTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2hHb2FscyAvIHRoaXMuc2hTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHNPbkdvYWwgfHwgIXRoaXMuc2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG90c09uR29hbCAvIHRoaXMuc2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmdvYWxzIHx8ICF0aGlzLnNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZ29hbHMgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsR29hbHMgfHwgIXRoaXMudG90YWxTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnRvdGFsU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZmFjZU9mZlBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZmFjZU9mZldpbnMgfHwgIXRoaXMuZmFjZU9mZnMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5mYWNlT2ZmV2lucyAvIHRoaXMuZmFjZU9mZnMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRHb2FscyB8fCAhdGhpcy5zaG9vdG91dFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvb3RvdXRHb2FscyAvIHRoaXMuc2hvb3RvdXRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBnb2FscGFzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy50b3RhbEdvYWxzIHx8IDApICsgKHRoaXMuYXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIC8qZ29hbGllIHN0YXQgKi9cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTYXZlcyB8fCAwKSArICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyArICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja1NhdmVzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyAvIHRoaXMucG9zaXRpb25BdHRhY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRlckF0dGFja1NhdmVzICsgKHRoaXMuY291bnRlckF0dGFja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyB8fCAhdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY291bnRlckF0dGFja1NhdmVzIC8gdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cblxuICBnZXQgY2VudGVyRm9yd2FyZFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzICsgKHRoaXMuY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNlbnRlckZvcndhcmRTYXZlcyB8fCAhdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzIC8gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFuZXV2ZXJTYXZlcyArICh0aGlzLm1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLm1hbmV1dmVyU2F2ZXMgfHwgIXRoaXMubWFuZXV2ZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5tYW5ldXZlclNhdmVzIC8gdGhpcy5tYW5ldXZlclNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1Nob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZyZWVLaWNrU2F2ZXMgKyAodGhpcy5mcmVlS2lja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5mcmVlS2lja1NhdmVzIHx8ICF0aGlzLmZyZWVLaWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZnJlZUtpY2tTYXZlcyAvIHRoaXMuZnJlZUtpY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY29ybmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvcm5lclNhdmVzICsgKHRoaXMuY29ybmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5jb3JuZXJTYXZlcyB8fCAhdGhpcy5jb3JuZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5jb3JuZXJTYXZlcyAvIHRoaXMuY29ybmVyU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IGluR2FtZVNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApICsgKHRoaXMucHBTYXZlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyArIHRoaXMubWFuZXV2ZXJTYXZlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzO1xuICB9XG5cbiAgZ2V0IHNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lU2F2ZXMgKyB0aGlzLmZyZWVLaWNrU2F2ZXMgKyB0aGlzLmNvcm5lclNhdmVzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLmNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5tYW5ldXZlckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5jZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob290b3V0U2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCkgKyAodGhpcy5zaG9vdG91dEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBnYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuZnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5jb3JuZXJHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZVNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNhdmVzICsgdGhpcy5nYW1lR29hbHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVNob3RzQWdhaW5zdCArIHRoaXMuc2hvb3RvdXRTaG90c0FnYWluc3Q7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRTYXZlcyB8fCAhdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNob290b3V0U2F2ZXMgLyB0aGlzLnNob290b3V0U2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5zYXZlcyB8fCAhdGhpcy5nYW1lU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2F2ZXMgLyB0aGlzLmdhbWVTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTYXZlcyB8fCAhdGhpcy50b3RhbFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2F2ZXMgLyB0aGlzLnRvdGFsU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICtcbiAgICAgICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hDb3JuZXJHb2Fsc0FnYWluc3QgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFNoU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG90YWxTaFNhdmVzICsgdGhpcy50b3RhbFNoR29hbHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTaFNhdmVzIHx8ICF0aGlzLnRvdGFsU2hTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFNoU2F2ZXMgLyB0aGlzLnRvdGFsU2hTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxFdlNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2Q291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5ldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRXZTaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbEV2U2F2ZXMgKyB0aGlzLnRvdGFsRXZHb2Fsc0FnYWluc3Q7XG4gIH1cblxuICBnZXQgdG90YWxFdlNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2U2F2ZXMgfHwgIXRoaXMudG90YWxFdlNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZTYXZlcyAvIHRoaXMudG90YWxFdlNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxufVxuIl19
|
|
@@ -12,4 +12,4 @@ WaterpoloGameTeamStatistic = __decorate([
|
|
|
12
12
|
})
|
|
13
13
|
], WaterpoloGameTeamStatistic);
|
|
14
14
|
export { WaterpoloGameTeamStatistic };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtdGVhbS1zdGF0aXN0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2RlbHMvd2F0ZXJwb2xvLWdhbWUtdGVhbS1zdGF0aXN0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVNwRCxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEyQixTQUFRLFNBQVM7Q0FHeEQsQ0FBQTtBQUhZLDBCQUEwQjtJQU50QyxLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1lBQ3JDLGNBQWMsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUM7U0FDaEQ7S0FDRixDQUFDO0dBQ1csMEJBQTBCLENBR3RDO1NBSFksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWwsIEJhc2VNb2RlbCwgbmVzdGVkTW9kZWwgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgV2F0ZXJwb2xvU3RhdGlzdGljIH0gZnJvbSAnLi93YXRlcnBvbG8tc3RhdGlzdGljJztcbmltcG9ydCB7IEdhbWVUZWFtU3RhdGlzdGljQmFzZSB9IGZyb20gJy4vZ2FtZS10ZWFtLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICB0ZWFtOiBuZXN0ZWRNb2RlbChXYXRlcnBvbG9TdGF0aXN0aWMpLFxuICAgIGNvbXBldGl0b3JUZWFtOiBuZXN0ZWRNb2RlbChXYXRlcnBvbG9TdGF0aXN0aWMpLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFdhdGVycG9sb0dhbWVUZWFtU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVRlYW1TdGF0aXN0aWNCYXNlIHtcbiAgdGVhbTogV2F0ZXJwb2xvU3RhdGlzdGljO1xuICBjb21wZXRpdG9yVGVhbTogV2F0ZXJwb2xvU3RhdGlzdGljO1xufVxuIl19
|
|
@@ -23,4 +23,4 @@ WaterpoloProfile = __decorate([
|
|
|
23
23
|
})
|
|
24
24
|
], WaterpoloProfile);
|
|
25
25
|
export { WaterpoloProfile };
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLXByb2ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2RlbHMvd2F0ZXJwb2xvLXByb2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxNQUFNLENBQU4sSUFBWSxxQkFLWDtBQUxELFdBQVkscUJBQXFCO0lBQy9CLDZFQUFjLENBQUE7SUFDZCw2RUFBVSxDQUFBO0lBQ1YscUZBQWMsQ0FBQTtJQUNkLHFGQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEM7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLHlEQUFRLENBQUE7SUFDUiwyREFBSyxDQUFBO0FBQ1AsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFRTSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLFNBQVM7Q0FLOUMsQ0FBQTtBQUxZLGdCQUFnQjtJQU41QixLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsU0FBUyxDQUFDLHFCQUFxQixDQUFDO1lBQzFDLFFBQVEsRUFBRSxTQUFTLENBQUMsaUJBQWlCLENBQUM7U0FDdkM7S0FDRixDQUFDO0dBQ1csZ0JBQWdCLENBSzVCO1NBTFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBlbnVtRmllbGQsIE1vZGVsIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGVudW0gR2FtZVdhdGVycG9sb1Bvc2l0aW9uIHtcbiAgZ29hbGtlZXBlciA9IDEsXG4gIGRlZmVuc2VtZW4sXG4gIGNlbnRlcl9mb3J3YXJkLFxuICBtb2JpbGVfZm9yd2FyZFxufVxuXG5leHBvcnQgZW51bSBXYXRlcnBvbG9Xb3JrSGFuZCB7XG4gIGxlZnQgPSAxLFxuICByaWdodFxufVxuXG5ATW9kZWwoe1xuICByZWxhdGlvbjoge1xuICAgIHBvc2l0aW9uOiBlbnVtRmllbGQoR2FtZVdhdGVycG9sb1Bvc2l0aW9uKSxcbiAgICB3b3JrSGFuZDogZW51bUZpZWxkKFdhdGVycG9sb1dvcmtIYW5kKVxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFdhdGVycG9sb1Byb2ZpbGUgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICB1c2VySWQ6IG51bWJlcjtcbiAgcG9zaXRpb246IEdhbWVXYXRlcnBvbG9Qb3NpdGlvbjtcbiAgd29ya0hhbmQ6IFdhdGVycG9sb1dvcmtIYW5kO1xufVxuIl19
|
|
@@ -54,4 +54,4 @@ WaterpoloStatistic = __decorate([
|
|
|
54
54
|
})
|
|
55
55
|
], WaterpoloStatistic);
|
|
56
56
|
export { WaterpoloStatistic };
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLXN0YXRpc3RpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy93YXRlcnBvbG8tc3RhdGlzdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFhL0MsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBb1JuRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDM0QsQ0FBQztDQUNGLENBQUE7QUF4VFksa0JBQWtCO0lBWDlCLEtBQUssQ0FBQztRQUNMLFFBQVEsRUFBRTtZQUNSLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQ3ZDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztZQUNuRCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixjQUFjLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUMzQyxLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7R0FDVyxrQkFBa0IsQ0F3VDlCO1NBeFRZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsLCBkYXRlRmllbGQsIG5lc3RlZE1vZGVsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtVXNlciB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBUZWFtVXNlciB9IGZyb20gJy4vdGVhbS11c2VyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbSc7XG5pbXBvcnQgeyBCYXNlU3RhdGlzdGljLCBXaW5Mb3NlVHlwZSB9IGZyb20gJy4vYmFzZS1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgTGVhZ3VlUGxheWVyIH0gZnJvbSAnLi9sZWFndWUtcGxheWVyJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICBsZWFndWVQbGF5ZXI6IG5lc3RlZE1vZGVsKExlYWd1ZVBsYXllciksXG4gICAgdG91cm5hbWVudFRlYW1Vc2VyOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50VGVhbVVzZXIpLFxuICAgIHRlYW06IG5lc3RlZE1vZGVsKFRlYW0pLFxuICAgIHRlYW1Vc2VyOiBuZXN0ZWRNb2RlbChUZWFtVXNlciksXG4gICAgdXNlcjogbmVzdGVkTW9kZWwoVXNlciksXG4gICAgdG91cm5hbWVudFRlYW06IG5lc3RlZE1vZGVsKFRvdXJuYW1lbnRUZWFtKSxcbiAgICBtb250aDogZGF0ZUZpZWxkXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvU3RhdGlzdGljIGV4dGVuZHMgQmFzZVN0YXRpc3RpYyB7XG4gIGxlYWd1ZVBsYXllcjogTGVhZ3VlUGxheWVyO1xuICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcjtcbiAgdGVhbTogVGVhbTtcbiAgdGVhbVVzZXI6IFRlYW1Vc2VyO1xuICB1c2VyOiBVc2VyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIG1vbnRoOiBEYXRlO1xuICB3aW5Mb3NlOiBXaW5Mb3NlVHlwZTtcbiAgZ2FtZXNDb3VudDogbnVtYmVyO1xuICB3b25HYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VHYW1lc0NvdW50OiBudW1iZXI7XG4gIHRlYW1TY29yZVN1bTogbnVtYmVyO1xuICB0ZWFtTWlzc2VkU3VtOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRQb2ludHM6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdE1pc3NlczogbnVtYmVyO1xuICBldlNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2U2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoU2hvdE1pc3NlczogbnVtYmVyO1xuICBzaFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwVG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBldlRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwR29hbHM6IG51bWJlcjtcbiAgZXZHb2FsczogbnVtYmVyO1xuICBzaEdvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwQXNzaXN0czogbnVtYmVyO1xuICBldkFzc2lzdHM6IG51bWJlcjtcbiAgc2hBc3Npc3RzOiBudW1iZXI7XG4gIHNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHBwU2F2ZXM6IG51bWJlcjtcbiAgc2hTYXZlczogbnVtYmVyO1xuICBldlNhdmVzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHBwQ29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJTYXZlczogbnVtYmVyO1xuICBldkNvcm5lclNhdmVzOiBudW1iZXI7XG4gIHBwVG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBldlRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBwcEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcE1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBtYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICBmb3VsczogbnVtYmVyO1xuICBtaW5vclBlbmFsdGllczogbnVtYmVyO1xuICBtYWpvclBlbmFsdGllczogbnVtYmVyO1xuICBtYXRjaFBlbmFsdGllczogbnVtYmVyO1xuICBwZW5hbHR5Rm91bHM6IG51bWJlcjtcbiAgdHVybm92ZXJzOiBudW1iZXI7XG4gIGF0dGFja0ZvdWxzOiBudW1iZXI7XG4gIHBlcnNvbmFsRm91bHM6IG51bWJlcjtcbiAgZHJhd25Gb3VsczogbnVtYmVyO1xuICBkcmF3blR1cm5vdmVyczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hGcmVlS2lja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBldkZyZWVLaWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGZyZWVLaWNrUGFzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2VsZnM6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2FsczogbnVtYmVyO1xuICBwcENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgcHBDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgcHBDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2FsczogbnVtYmVyO1xuICBzaENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgc2hDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2FsczogbnVtYmVyO1xuICBldkNvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgZXZDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgY29ybmVyUGFzc2VzOiBudW1iZXI7XG4gIGNvcm5lclNlbGZzOiBudW1iZXI7XG4gIHRhY2tsZXM6IG51bWJlcjtcbiAgcGxheWVyRWZmaWNpZW5jeTogbnVtYmVyO1xuXG4gIC8qYWRkaXRpb25hbCBzdGF0aXN0aWMqL1xuICBwcFNob3RzOiBudW1iZXI7XG4gIHNoU2hvdHM6IG51bWJlcjtcbiAgZXZTaG90czogbnVtYmVyO1xuICBwcEdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBzaEdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBldkdvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbFBwR29hbHM6IG51bWJlcjtcbiAgdG90YWxTaEdvYWxzOiBudW1iZXI7XG4gIHRvdGFsRXZHb2FsczogbnVtYmVyO1xuICBnb2FsczogbnVtYmVyO1xuICB0b3RhbEdvYWxzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgcG9zaXRpb25BdHRhY2tTaG90c09uR29hbDogbnVtYmVyO1xuICBwb3NpdGlvbkF0dGFja1Nob3RzTWlzczogbnVtYmVyO1xuICBwb3NpdGlvbkF0dGFja1Nob3RzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrR29hbHNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTaG90T25Hb2FsczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdE1pc3NlczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdHM6IG51bWJlcjtcbiAgY291bnRlckF0dGFja0dvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgbWFuZXV2ZXJTaG90TWlzc2VzOiBudW1iZXI7XG4gIG1hbmV1dmVyU2hvdE9uR29hbHM6IG51bWJlcjtcbiAgbWFuZXV2ZXJTaG90czogbnVtYmVyO1xuICBtYW5ldXZlckdvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBjZW50ZXJGb3J3YXJkU2hvdE9uR29hbHM6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNob3RNaXNzZXM6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNob3RzOiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2hvdE1pc3NlczogbnVtYmVyO1xuICBmcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgdG90YWxGcmVlS2lja3M6IG51bWJlcjtcbiAgZnJlZUtpY2tHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxDb3JuZXJHb2FsczogbnVtYmVyO1xuICB0b3RhbENvcm5lcnM6IG51bWJlcjtcbiAgdG90YWxJbkdhbWVHb2FsczogbnVtYmVyO1xuICBpbkdhbWVTaG90TWlzc2VzOiBudW1iZXI7XG4gIHRvdGFsUHBTaG90TWlzc2VzOiBudW1iZXI7XG4gIHNob3RNaXNzZXM6IG51bWJlcjtcbiAgdG90YWxQcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGluR2FtZVNob3RzT25Hb2FsczogbnVtYmVyO1xuICBzaG90c09uR29hbDogbnVtYmVyO1xuICBzaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hvdHM6IG51bWJlcjtcbiAgc2hvdHNPbkdvYWxQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsU2hvdHM6IG51bWJlcjtcbiAgZ29hbHNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsR29hbHNQZXJjZW50OiBudW1iZXI7XG4gIGZhY2VPZmZzOiBudW1iZXI7XG4gIGZhY2VPZmZQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsRm91bHM6IG51bWJlcjtcbiAgdG90YWxQZW5hbHRpZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTaG90czogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzUGVyY2VudDogbnVtYmVyO1xuXG4gIC8qZ29hbGllIHN0YXQqL1xuICBwb3NpdGlvbkF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTYXZlczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNhdmVzUGVyY2VudDogbnVtYmVyO1xuICBtYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIG1hbmV1dmVyU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIG1hbmV1dmVyU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgZnJlZUtpY2tTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgY29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgY29ybmVyU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvcm5lclNhdmVzUGVyY2VudDogbnVtYmVyO1xuICBpbkdhbWVTYXZlczogbnVtYmVyO1xuICBzYXZlczogbnVtYmVyO1xuICB0b3RhbFNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGdhbWVTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgc2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHRvdGFsU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGluR2FtZUdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbFNoU2F2ZXM6IG51bWJlcjtcbiAgdG90YWxTaEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbFNoU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHRvdGFsU2hTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxFdlNhdmVzOiBudW1iZXI7XG4gIHRvdGFsRXZHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgdG90YWxFdlNob3RzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbEV2U2F2ZXNQZXJjZW50OiBudW1iZXI7XG5cbiAgbmV3YmllOiBib29sZWFuO1xuICByYW5rOiBudW1iZXI7XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGdvYWxwYXNzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnRvdGFsR29hbHMgfHwgMCkgKyAodGhpcy5hc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHVzZXJNaW51dGVzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmdhbWVUaW1lKSB7XG4gICAgICByZXR1cm4gJzAwOjAwJztcbiAgICB9XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC0gbWludXRlcyAqIDYwKTtcbiAgICByZXR1cm4gYCR7bWludXRlcyA8IDEwID8gMCA6ICcnfSR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyAwIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBnZXQgcGVuYWx0eVRpbWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucGVuYWx0eU1pbnV0ZXMpIHtcbiAgICAgIHJldHVybiAnMDA6MDAnO1xuICAgIH1cbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLnBlbmFsdHlNaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLSBtaW51dGVzICogNjApO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAwIDogJyd9JHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IDAgOiAnJ30ke3NlY29uZHN9YDtcbiAgfVxuXG4gIGdldCBnYW1lc1dvblBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZ2FtZXNDb3VudCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKDEwMDAgKiB0aGlzLndvbkdhbWVzQ291bnQgLyB0aGlzLmdhbWVzQ291bnQpIC8gMTA7XG4gIH1cblxuICBnZXQgdG91cm5hbWVudFRlYW1Qb2ludHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3VybmFtZW50VGVhbSAmJiB0aGlzLnRvdXJuYW1lbnRUZWFtLnBvaW50cztcbiAgfVxufVxuIl19
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLXN0YXRpc3RpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy93YXRlcnBvbG8tc3RhdGlzdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFheEMsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBbUIsU0FBUSxhQUFhO0lBb1JuRCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDM0QsQ0FBQztDQUNGLENBQUE7QUF4VFksa0JBQWtCO0lBWDlCLEtBQUssQ0FBQztRQUNMLFFBQVEsRUFBRTtZQUNSLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQ3ZDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztZQUNuRCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixjQUFjLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUMzQyxLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7R0FDVyxrQkFBa0IsQ0F3VDlCO1NBeFRZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsLCBkYXRlRmllbGQsIG5lc3RlZE1vZGVsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtVXNlciB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBUZWFtVXNlciB9IGZyb20gJy4vdGVhbS11c2VyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbSc7XG5pbXBvcnQgeyBCYXNlU3RhdGlzdGljLCBXaW5Mb3NlVHlwZSB9IGZyb20gJy4vYmFzZS1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgTGVhZ3VlUGxheWVyIH0gZnJvbSAnLi9sZWFndWUtcGxheWVyJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICBsZWFndWVQbGF5ZXI6IG5lc3RlZE1vZGVsKExlYWd1ZVBsYXllciksXG4gICAgdG91cm5hbWVudFRlYW1Vc2VyOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50VGVhbVVzZXIpLFxuICAgIHRlYW06IG5lc3RlZE1vZGVsKFRlYW0pLFxuICAgIHRlYW1Vc2VyOiBuZXN0ZWRNb2RlbChUZWFtVXNlciksXG4gICAgdXNlcjogbmVzdGVkTW9kZWwoVXNlciksXG4gICAgdG91cm5hbWVudFRlYW06IG5lc3RlZE1vZGVsKFRvdXJuYW1lbnRUZWFtKSxcbiAgICBtb250aDogZGF0ZUZpZWxkXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvU3RhdGlzdGljIGV4dGVuZHMgQmFzZVN0YXRpc3RpYyB7XG4gIGxlYWd1ZVBsYXllcjogTGVhZ3VlUGxheWVyO1xuICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcjtcbiAgdGVhbTogVGVhbTtcbiAgdGVhbVVzZXI6IFRlYW1Vc2VyO1xuICB1c2VyOiBVc2VyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIG1vbnRoOiBEYXRlO1xuICB3aW5Mb3NlOiBXaW5Mb3NlVHlwZTtcbiAgZ2FtZXNDb3VudDogbnVtYmVyO1xuICB3b25HYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VHYW1lc0NvdW50OiBudW1iZXI7XG4gIHRlYW1TY29yZVN1bTogbnVtYmVyO1xuICB0ZWFtTWlzc2VkU3VtOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRQb2ludHM6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdE1pc3NlczogbnVtYmVyO1xuICBldlNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2U2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoU2hvdE1pc3NlczogbnVtYmVyO1xuICBzaFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwVG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBldlRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwR29hbHM6IG51bWJlcjtcbiAgZXZHb2FsczogbnVtYmVyO1xuICBzaEdvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlclNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwQXNzaXN0czogbnVtYmVyO1xuICBldkFzc2lzdHM6IG51bWJlcjtcbiAgc2hBc3Npc3RzOiBudW1iZXI7XG4gIHNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHBwU2F2ZXM6IG51bWJlcjtcbiAgc2hTYXZlczogbnVtYmVyO1xuICBldlNhdmVzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHBwQ29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJTYXZlczogbnVtYmVyO1xuICBldkNvcm5lclNhdmVzOiBudW1iZXI7XG4gIHBwVG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBldlRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBwcEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcE1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBtYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICBmb3VsczogbnVtYmVyO1xuICBtaW5vclBlbmFsdGllczogbnVtYmVyO1xuICBtYWpvclBlbmFsdGllczogbnVtYmVyO1xuICBtYXRjaFBlbmFsdGllczogbnVtYmVyO1xuICBwZW5hbHR5Rm91bHM6IG51bWJlcjtcbiAgdHVybm92ZXJzOiBudW1iZXI7XG4gIGF0dGFja0ZvdWxzOiBudW1iZXI7XG4gIHBlcnNvbmFsRm91bHM6IG51bWJlcjtcbiAgZHJhd25Gb3VsczogbnVtYmVyO1xuICBkcmF3blR1cm5vdmVyczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hGcmVlS2lja1Nob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBldkZyZWVLaWNrU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGZyZWVLaWNrUGFzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2VsZnM6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2FsczogbnVtYmVyO1xuICBwcENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgcHBDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgcHBDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2FsczogbnVtYmVyO1xuICBzaENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgc2hDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2FsczogbnVtYmVyO1xuICBldkNvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgZXZDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZDb3JuZXJTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgY29ybmVyUGFzc2VzOiBudW1iZXI7XG4gIGNvcm5lclNlbGZzOiBudW1iZXI7XG4gIHRhY2tsZXM6IG51bWJlcjtcbiAgcGxheWVyRWZmaWNpZW5jeTogbnVtYmVyO1xuXG4gIC8qYWRkaXRpb25hbCBzdGF0aXN0aWMqL1xuICBwcFNob3RzOiBudW1iZXI7XG4gIHNoU2hvdHM6IG51bWJlcjtcbiAgZXZTaG90czogbnVtYmVyO1xuICBwcEdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBzaEdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBldkdvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbFBwR29hbHM6IG51bWJlcjtcbiAgdG90YWxTaEdvYWxzOiBudW1iZXI7XG4gIHRvdGFsRXZHb2FsczogbnVtYmVyO1xuICBnb2FsczogbnVtYmVyO1xuICB0b3RhbEdvYWxzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgcG9zaXRpb25BdHRhY2tTaG90c09uR29hbDogbnVtYmVyO1xuICBwb3NpdGlvbkF0dGFja1Nob3RzTWlzczogbnVtYmVyO1xuICBwb3NpdGlvbkF0dGFja1Nob3RzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrR29hbHNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTaG90T25Hb2FsczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdE1pc3NlczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdHM6IG51bWJlcjtcbiAgY291bnRlckF0dGFja0dvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgbWFuZXV2ZXJTaG90TWlzc2VzOiBudW1iZXI7XG4gIG1hbmV1dmVyU2hvdE9uR29hbHM6IG51bWJlcjtcbiAgbWFuZXV2ZXJTaG90czogbnVtYmVyO1xuICBtYW5ldXZlckdvYWxzUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBjZW50ZXJGb3J3YXJkU2hvdE9uR29hbHM6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNob3RNaXNzZXM6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNob3RzOiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2hvdE1pc3NlczogbnVtYmVyO1xuICBmcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgdG90YWxGcmVlS2lja3M6IG51bWJlcjtcbiAgZnJlZUtpY2tHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxDb3JuZXJHb2FsczogbnVtYmVyO1xuICB0b3RhbENvcm5lcnM6IG51bWJlcjtcbiAgdG90YWxJbkdhbWVHb2FsczogbnVtYmVyO1xuICBpbkdhbWVTaG90TWlzc2VzOiBudW1iZXI7XG4gIHRvdGFsUHBTaG90TWlzc2VzOiBudW1iZXI7XG4gIHNob3RNaXNzZXM6IG51bWJlcjtcbiAgdG90YWxQcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGluR2FtZVNob3RzT25Hb2FsczogbnVtYmVyO1xuICBzaG90c09uR29hbDogbnVtYmVyO1xuICBzaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hvdHM6IG51bWJlcjtcbiAgc2hvdHNPbkdvYWxQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsU2hvdHM6IG51bWJlcjtcbiAgZ29hbHNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsR29hbHNQZXJjZW50OiBudW1iZXI7XG4gIGZhY2VPZmZzOiBudW1iZXI7XG4gIGZhY2VPZmZQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsRm91bHM6IG51bWJlcjtcbiAgdG90YWxQZW5hbHRpZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTaG90czogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzUGVyY2VudDogbnVtYmVyO1xuXG4gIC8qZ29hbGllIHN0YXQqL1xuICBwb3NpdGlvbkF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBvc2l0aW9uQXR0YWNrU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTYXZlczogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZFNhdmVzUGVyY2VudDogbnVtYmVyO1xuICBtYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIG1hbmV1dmVyU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIG1hbmV1dmVyU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgZnJlZUtpY2tTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgY29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgY29ybmVyU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvcm5lclNhdmVzUGVyY2VudDogbnVtYmVyO1xuICBpbkdhbWVTYXZlczogbnVtYmVyO1xuICBzYXZlczogbnVtYmVyO1xuICB0b3RhbFNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGdhbWVTaG90c0FnYWluc3Q6IG51bWJlcjtcbiAgc2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHRvdGFsU2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIGluR2FtZUdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbFNoU2F2ZXM6IG51bWJlcjtcbiAgdG90YWxTaEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbFNoU2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHRvdGFsU2hTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxFdlNhdmVzOiBudW1iZXI7XG4gIHRvdGFsRXZHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgdG90YWxFdlNob3RzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbEV2U2F2ZXNQZXJjZW50OiBudW1iZXI7XG5cbiAgbmV3YmllOiBib29sZWFuO1xuICByYW5rOiBudW1iZXI7XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGdvYWxwYXNzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnRvdGFsR29hbHMgfHwgMCkgKyAodGhpcy5hc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHVzZXJNaW51dGVzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmdhbWVUaW1lKSB7XG4gICAgICByZXR1cm4gJzAwOjAwJztcbiAgICB9XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC0gbWludXRlcyAqIDYwKTtcbiAgICByZXR1cm4gYCR7bWludXRlcyA8IDEwID8gMCA6ICcnfSR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyAwIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBnZXQgcGVuYWx0eVRpbWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucGVuYWx0eU1pbnV0ZXMpIHtcbiAgICAgIHJldHVybiAnMDA6MDAnO1xuICAgIH1cbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLnBlbmFsdHlNaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLSBtaW51dGVzICogNjApO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAwIDogJyd9JHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IDAgOiAnJ30ke3NlY29uZHN9YDtcbiAgfVxuXG4gIGdldCBnYW1lc1dvblBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZ2FtZXNDb3VudCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKDEwMDAgKiB0aGlzLndvbkdhbWVzQ291bnQgLyB0aGlzLmdhbWVzQ291bnQpIC8gMTA7XG4gIH1cblxuICBnZXQgdG91cm5hbWVudFRlYW1Qb2ludHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3VybmFtZW50VGVhbSAmJiB0aGlzLnRvdXJuYW1lbnRUZWFtLnBvaW50cztcbiAgfVxufVxuIl19
|
|
@@ -9,10 +9,10 @@ export class BaseService {
|
|
|
9
9
|
this.store.dispose();
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
|
+
BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: BaseService, decorators: [{
|
|
15
15
|
type: Injectable,
|
|
16
16
|
args: [{ providedIn: 'root' }]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc2VydmljZXMvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUd6QyxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVZLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0tBSy9CO0lBSEMsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0dBTFUsV0FBVzs0R0FBWCxXQUFXLGNBREMsTUFBTTsyRkFDbEIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JhZ2Uvc3RvcmUnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IG5ldyBTdG9yZSgpO1xuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,6 +8,9 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
import * as i1 from "@angular/common/http";
|
|
9
9
|
import * as i2 from "./config.service";
|
|
10
10
|
export class CentrifugoService {
|
|
11
|
+
get connected$() {
|
|
12
|
+
return this.connectedSubject;
|
|
13
|
+
}
|
|
11
14
|
constructor(httpClient, configService, platformId) {
|
|
12
15
|
this.httpClient = httpClient;
|
|
13
16
|
this.configService = configService;
|
|
@@ -16,9 +19,6 @@ export class CentrifugoService {
|
|
|
16
19
|
this.subscriptions = {};
|
|
17
20
|
this.connectedSubject = new BehaviorSubject(false);
|
|
18
21
|
}
|
|
19
|
-
get connected$() {
|
|
20
|
-
return this.connectedSubject;
|
|
21
|
-
}
|
|
22
22
|
listen(channel) {
|
|
23
23
|
if (!isPlatformBrowser(this.platformId)) {
|
|
24
24
|
return new Observable(observer => {
|
|
@@ -114,13 +114,13 @@ export class CentrifugoService {
|
|
|
114
114
|
this.channels$[channel].next(message);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
CentrifugoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
118
|
-
CentrifugoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
117
|
+
CentrifugoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: CentrifugoService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
118
|
+
CentrifugoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: CentrifugoService, providedIn: 'root' });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: CentrifugoService, decorators: [{
|
|
120
120
|
type: Injectable,
|
|
121
121
|
args: [{ providedIn: 'root' }]
|
|
122
122
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }, { type: undefined, decorators: [{
|
|
123
123
|
type: Inject,
|
|
124
124
|
args: [PLATFORM_ID]
|
|
125
125
|
}] }]; } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc2VydmljZXMvY2VudHJpZnVnby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQU0sYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFPcEQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCLEVBQ1AsVUFBa0I7UUFGdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNQLGVBQVUsR0FBVixVQUFVLENBQVE7UUFiekMsY0FBUyxHQUFvQyxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBb0MsRUFBRSxDQUFDO1FBR3BELHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBVTNELENBQUM7SUFSTCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBUUQsTUFBTSxDQUFJLE9BQU87UUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEs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QUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzNDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztRQUNILGFBQWE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE9BQWU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBWTtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzsrR0FqSVUsaUJBQWlCLHlFQWNsQixXQUFXO21IQWRWLGlCQUFpQixjQURMLE1BQU07NEZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQWUzQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBvZiwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDZW50cmlmdWdlIH0gZnJvbSAnY2VudHJpZnVnZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ2NlbnRyaWZ1Z2UvYnVpbGQvc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbnRlcmZhY2UgQ2VudHJpZnVnb0NvbmZpZyB7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjaGFubmVscyQ6IHsgW2tleTogc3RyaW5nXTogU3ViamVjdDxhbnk+IH0gPSB7fTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFN1YnNjcmlwdGlvbiB9ID0ge307XG4gIHByaXZhdGUgY2VudHJpZnVnZTogQ2VudHJpZnVnZTtcbiAgcHJpdmF0ZSBpbml0aWFsaXplRW5naW5lU3ViamVjdDogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgZ2V0IGNvbm5lY3RlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkU3ViamVjdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICkgeyB9XG5cbiAgbGlzdGVuPFQ+KGNoYW5uZWwpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFubmVsIGluIHRoaXMuY2hhbm5lbHMkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0gPSBuZXcgU3ViamVjdDxUPigpO1xuICAgIHRoaXMuY29ubmVjdCgpLnN1YnNjcmliZShjb25uZWN0ZWQgPT4ge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdID0gdGhpcy5hZGRFbmdpbmVTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gIH1cblxuICB1bnN1YnNjcmliZShjaGFubmVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdLnVuc3Vic2NyaWJlKCk7XG4gICAgICBkZWxldGUgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdO1xuICAgIH1cbiAgICBpZiAodGhpcy5jaGFubmVscyRbY2hhbm5lbF0pIHtcbiAgICAgIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdLmNvbXBsZXRlKCk7XG4gICAgICBkZWxldGUgdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuICB9XG5cbiAgY29ubmVjdCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG4gICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PENlbnRyaWZ1Z29Db25maWc+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvY2VudHJpZnVnb192Mi9gKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lKHtcbiAgICAgICAgICAgIHVybDogdGhpcy5jb25maWdTZXJ2aWNlLmdldCgnY2VudHJpZnVnb1VybCcpLFxuICAgICAgICAgICAgdG9rZW46IGNvbmZpZy50b2tlbixcbiAgICAgICAgICAgIHRyYW5zcG9ydHM6IFsnd2Vic29ja2V0J11cbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2Uub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2VudHJpZnVnZS5vbignZGlzY29ubmVjdGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2UuY29ubmVjdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdC5waXBlKGZpbHRlcihpdGVtID0+IEJvb2xlYW4oaXRlbSkpLCB0YWtlKDEpKTtcbiAgfVxuXG4gIGFzeW5jIHB1Ymxpc2goY2hhbm5lbDogc3RyaW5nLCBtZXNzYWdlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25uZWN0ZWQgPSBhd2FpdCB0aGlzLmNvbm5lY3QoKS5waXBlKGZpbHRlcihpdGVtID0+IEJvb2xlYW4oaXRlbSkpLCB0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICBpZiAoIWNvbm5lY3RlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDZW50cmlmdWdlIGNvbm5lY3Rpb24gZXJyb3InKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2VudHJpZnVnZS5wdWJsaXNoKGNoYW5uZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBjaGFubmVsIG9mIE9iamVjdC5rZXlzKHRoaXMuY2hhbm5lbHMkKSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZShjaGFubmVsKTtcbiAgICB9XG4gICAgdGhpcy5jaGFubmVscyQgPSB7fTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVuZ2luZShjb25maWc6IHtcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHRyYW5zcG9ydHM6IHN0cmluZ1tdXG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UgPSBuZXcgQ2VudHJpZnVnZShjb25maWcudXJsLCB7XG4gICAgICB0b2tlbjogY29uZmlnLnRva2VuLFxuICAgICAgZGVidWc6IHRydWUsXG4gICAgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuY2VudHJpZnVnZS5fZGVidWdFbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsOiBzdHJpbmcpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuY2VudHJpZnVnZS5uZXdTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgc3ViLm9uKCdwdWJsaWNhdGlvbicsIGN0eCA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVNZXNzYWdlKGNoYW5uZWwsIGN0eC5kYXRhKTtcbiAgICB9KTtcbiAgICBzdWIuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHN1YjtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZU1lc3NhZ2UoY2hhbm5lbDogc3RyaW5nLCBtZXNzYWdlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0ubmV4dChtZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc2VydmljZXMvY2VudHJpZnVnby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQU0sYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFPcEQsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFDVSxVQUFzQixFQUN0QixhQUE0QixFQUNQLFVBQWtCO1FBRnZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDUCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBYnpDLGNBQVMsR0FBb0MsRUFBRSxDQUFDO1FBQ2hELGtCQUFhLEdBQW9DLEVBQUUsQ0FBQztRQUdwRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQVUzRCxDQUFDO0lBRUwsTUFBTSxDQUFJLE9BQU87UUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDakIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNqQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO2lCQUMvRixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztvQkFDNUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO29CQUNuQixVQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUM7aUJBQzFCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO29CQUNuQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO29CQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLE9BQVk7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7UUFDekMsS0FBSyxNQUFNLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BSXhCO1FBQ0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzNDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztRQUNILGFBQWE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE9BQWU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBWTtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs4R0FqSVUsaUJBQWlCLHlFQWNsQixXQUFXO2tIQWRWLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQWUzQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBvZiwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDZW50cmlmdWdlIH0gZnJvbSAnY2VudHJpZnVnZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ2NlbnRyaWZ1Z2UvYnVpbGQvc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbnRlcmZhY2UgQ2VudHJpZnVnb0NvbmZpZyB7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjaGFubmVscyQ6IHsgW2tleTogc3RyaW5nXTogU3ViamVjdDxhbnk+IH0gPSB7fTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFN1YnNjcmlwdGlvbiB9ID0ge307XG4gIHByaXZhdGUgY2VudHJpZnVnZTogQ2VudHJpZnVnZTtcbiAgcHJpdmF0ZSBpbml0aWFsaXplRW5naW5lU3ViamVjdDogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgZ2V0IGNvbm5lY3RlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkU3ViamVjdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICkgeyB9XG5cbiAgbGlzdGVuPFQ+KGNoYW5uZWwpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFubmVsIGluIHRoaXMuY2hhbm5lbHMkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0gPSBuZXcgU3ViamVjdDxUPigpO1xuICAgIHRoaXMuY29ubmVjdCgpLnN1YnNjcmliZShjb25uZWN0ZWQgPT4ge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdID0gdGhpcy5hZGRFbmdpbmVTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gIH1cblxuICB1bnN1YnNjcmliZShjaGFubmVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdLnVuc3Vic2NyaWJlKCk7XG4gICAgICBkZWxldGUgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdO1xuICAgIH1cbiAgICBpZiAodGhpcy5jaGFubmVscyRbY2hhbm5lbF0pIHtcbiAgICAgIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdLmNvbXBsZXRlKCk7XG4gICAgICBkZWxldGUgdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuICB9XG5cbiAgY29ubmVjdCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG4gICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PENlbnRyaWZ1Z29Db25maWc+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvY2VudHJpZnVnb192Mi9gKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lKHtcbiAgICAgICAgICAgIHVybDogdGhpcy5jb25maWdTZXJ2aWNlLmdldCgnY2VudHJpZnVnb1VybCcpLFxuICAgICAgICAgICAgdG9rZW46IGNvbmZpZy50b2tlbixcbiAgICAgICAgICAgIHRyYW5zcG9ydHM6IFsnd2Vic29ja2V0J11cbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2Uub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2VudHJpZnVnZS5vbignZGlzY29ubmVjdGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2UuY29ubmVjdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdC5waXBlKGZpbHRlcihpdGVtID0+IEJvb2xlYW4oaXRlbSkpLCB0YWtlKDEpKTtcbiAgfVxuXG4gIGFzeW5jIHB1Ymxpc2goY2hhbm5lbDogc3RyaW5nLCBtZXNzYWdlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDZW50cmlmdWdvIGlzIG5vdCBhdmFpbGFibGUgaW4gc3NyIG1vZGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25uZWN0ZWQgPSBhd2FpdCB0aGlzLmNvbm5lY3QoKS5waXBlKGZpbHRlcihpdGVtID0+IEJvb2xlYW4oaXRlbSkpLCB0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICBpZiAoIWNvbm5lY3RlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDZW50cmlmdWdlIGNvbm5lY3Rpb24gZXJyb3InKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2VudHJpZnVnZS5wdWJsaXNoKGNoYW5uZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBjaGFubmVsIG9mIE9iamVjdC5rZXlzKHRoaXMuY2hhbm5lbHMkKSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZShjaGFubmVsKTtcbiAgICB9XG4gICAgdGhpcy5jaGFubmVscyQgPSB7fTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVuZ2luZShjb25maWc6IHtcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHRyYW5zcG9ydHM6IHN0cmluZ1tdXG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UgPSBuZXcgQ2VudHJpZnVnZShjb25maWcudXJsLCB7XG4gICAgICB0b2tlbjogY29uZmlnLnRva2VuLFxuICAgICAgZGVidWc6IHRydWUsXG4gICAgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuY2VudHJpZnVnZS5fZGVidWdFbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsOiBzdHJpbmcpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuY2VudHJpZnVnZS5uZXdTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgc3ViLm9uKCdwdWJsaWNhdGlvbicsIGN0eCA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVNZXNzYWdlKGNoYW5uZWwsIGN0eC5kYXRhKTtcbiAgICB9KTtcbiAgICBzdWIuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHN1YjtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZU1lc3NhZ2UoY2hhbm5lbDogc3RyaW5nLCBtZXNzYWdlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0ubmV4dChtZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
@@ -30,9 +30,9 @@ export class ConfigService extends BaseService {
|
|
|
30
30
|
return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
ConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
ConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
ConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: ConfigService, deps: [{ token: CONFIG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
ConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: ConfigService, providedIn: 'root' });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: ConfigService, decorators: [{
|
|
36
36
|
type: Injectable,
|
|
37
37
|
args: [{ providedIn: 'root' }]
|
|
38
38
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
41
41
|
type: Inject,
|
|
42
42
|
args: [CONFIG_DATA]
|
|
43
43
|
}] }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9zZXJ2aWNlcy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUU3QyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFHbEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxXQUFXO0lBQzVDLFlBQzJDLFVBQWU7UUFFeEQsS0FBSyxFQUFFLENBQUM7UUFGaUMsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUd4RCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hDLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RixDQUFDOzswR0EvQlUsYUFBYSxrQkFFRixXQUFXOzhHQUZ0QixhQUFhLGNBREQsTUFBTTsyRkFDbEIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQUczQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcblxuY29uc3QgQ09ORklHX1NUT1JFX0tFWSA9ICdjb25maWcnO1xuXG5leHBvcnQgY29uc3QgQ09ORklHX0RBVEEgPSAnbXRnLWNvcmUtY29uZmlnLWRhdGEnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb25maWdTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENPTkZJR19EQVRBKSBwcml2YXRlIGNvbmZpZ0RhdGE6IGFueVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChjb25maWdEYXRhKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemUoY29uZmlnRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbmZpZyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0KENPTkZJR19TVE9SRV9LRVkpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS52YWx1ZShDT05GSUdfU1RPUkVfS0VZKSB8fCB7fTtcbiAgfVxuXG4gIGluaXRpYWxpemUoZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5zYXZlKENPTkZJR19TVE9SRV9LRVksIGRhdGEpO1xuICB9XG5cbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5zYXZlKENPTkZJR19TVE9SRV9LRVksIHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgW2tleV06IHZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnZhbHVlKENPTkZJR19TVE9SRV9LRVkpICYmIHRoaXMuc3RvcmUudmFsdWUoQ09ORklHX1NUT1JFX0tFWSlba2V5XTtcbiAgfVxufVxuIl19
|
|
@@ -32,13 +32,13 @@ export class DeviceInfoService {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
DeviceInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
DeviceInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
DeviceInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: DeviceInfoService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
DeviceInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: DeviceInfoService, providedIn: 'root' });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: DeviceInfoService, decorators: [{
|
|
38
38
|
type: Injectable,
|
|
39
39
|
args: [{ providedIn: 'root' }]
|
|
40
40
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
41
41
|
type: Inject,
|
|
42
42
|
args: [PLATFORM_ID]
|
|
43
43
|
}] }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWluZm8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL2RldmljZS1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ2lDLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO0lBRTlDLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUNwQixRQUFRLEVBQUUsV0FBVyxDQUFDLFNBQVM7WUFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJO1lBQzNCLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTztZQUNqQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUk7WUFDckMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPO1lBQzNDLE1BQU0sRUFBRSxJQUFJO1lBQ1osR0FBRyxDQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQztvQkFDRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRO29CQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTzt3QkFDbkYsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJO3dCQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUMsT0FBTzs0QkFDakYsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLOzRCQUNuQixDQUFDLENBQUMsSUFBSTtpQkFDVDtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUNMO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBOUJVLGlCQUFpQixrQkFFbEIsV0FBVztrSEFGVixpQkFBaUIsY0FETCxNQUFNOzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzswQkFHM0IsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlSW5mbywgRGV2aWNlVGhlbWUgfSBmcm9tICcuLi9tb2RlbHMvZGV2aWNlLWluZm8nO1xuaW1wb3J0IHsgVUFQYXJzZXIgfSBmcm9tIFwidWEtcGFyc2VyLWpzXCJcbmltcG9ydCAqIGFzIEZpbmdlclByaW50IGZyb20gJ0BmaW5nZXJwcmludGpzL2ZpbmdlcnByaW50anMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VJbmZvU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByb3RlY3RlZCBwbGF0Zm9ybTogYW55XG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0KCk6IFByb21pc2U8RGV2aWNlSW5mbz4ge1xuICAgIGNvbnN0IGZwID0gYXdhaXQgRmluZ2VyUHJpbnQubG9hZCgpO1xuICAgIGNvbnN0IGZpbmdlcnByaW50ID0gYXdhaXQgZnAuZ2V0KCk7XG4gICAgY29uc3QgcGFyc2VyID0gbmV3IFVBUGFyc2VyKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICByZXR1cm4gbmV3IERldmljZUluZm8oe1xuICAgICAgZGV2aWNlSWQ6IGZpbmdlcnByaW50LnZpc2l0b3JJZCxcbiAgICAgIG9zTmFtZTogcGFyc2VyLmdldE9TKCkubmFtZSxcbiAgICAgIG9zVmVyc2lvbjogcGFyc2VyLmdldE9TKCkudmVyc2lvbixcbiAgICAgIGJyb3dzZXJOYW1lOiBwYXJzZXIuZ2V0QnJvd3NlcigpLm5hbWUsXG4gICAgICBicm93c2VyVmVyc2lvbjogcGFyc2VyLmdldEJyb3dzZXIoKS52ZXJzaW9uLFxuICAgICAgZGV2aWNlOiBudWxsLFxuICAgICAgLi4uKFxuICAgICAgICBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtKVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGxhbmd1YWdlOiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlLFxuICAgICAgICAgICAgdGhlbWU6IHdpbmRvdy5tYXRjaE1lZGlhICYmIHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlc1xuICAgICAgICAgICAgICA/IERldmljZVRoZW1lLmRhcmtcbiAgICAgICAgICAgICAgOiB3aW5kb3cubWF0Y2hNZWRpYSAmJiB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCknKS5tYXRjaGVzXG4gICAgICAgICAgICAgID8gRGV2aWNlVGhlbWUubGlnaHRcbiAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fVxuICAgICAgKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|