@mtgame/core 0.1.114 → 0.1.117

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.
Files changed (40) hide show
  1. package/api/public-api.d.ts +1 -0
  2. package/api/tournament-api.d.ts +5 -0
  3. package/api/waterpolo-game-api.d.ts +18 -0
  4. package/bundles/mtgame-core.umd.js +1116 -155
  5. package/bundles/mtgame-core.umd.js.map +1 -1
  6. package/esm2015/api/public-api.js +2 -1
  7. package/esm2015/api/tournament-api.js +24 -1
  8. package/esm2015/api/waterpolo-game-api.js +65 -0
  9. package/esm2015/localization/public-api.js +2 -1
  10. package/esm2015/localization/user-profile.js +18 -1
  11. package/esm2015/localization/waterpolo-game-log-types.js +33 -0
  12. package/esm2015/models/game.js +18 -2
  13. package/esm2015/models/public-api.js +7 -1
  14. package/esm2015/models/sport.js +13 -1
  15. package/esm2015/models/team.js +7 -1
  16. package/esm2015/models/tournament.js +10 -1
  17. package/esm2015/models/user.js +4 -1
  18. package/esm2015/models/waterpolo-game-config.js +45 -0
  19. package/esm2015/models/waterpolo-game-log.js +135 -0
  20. package/esm2015/models/waterpolo-game-statistic.js +198 -0
  21. package/esm2015/models/waterpolo-game-team-statistic.js +27 -0
  22. package/esm2015/models/waterpolo-profile.js +42 -0
  23. package/esm2015/models/waterpolo-statistic.js +156 -0
  24. package/fesm2015/mtgame-core.js +744 -1
  25. package/fesm2015/mtgame-core.js.map +1 -1
  26. package/localization/public-api.d.ts +1 -0
  27. package/localization/user-profile.d.ts +16 -0
  28. package/localization/waterpolo-game-log-types.d.ts +31 -0
  29. package/models/game.d.ts +5 -1
  30. package/models/public-api.d.ts +6 -0
  31. package/models/sport.d.ts +7 -1
  32. package/models/user.d.ts +2 -0
  33. package/models/waterpolo-game-config.d.ts +20 -0
  34. package/models/waterpolo-game-log.d.ts +81 -0
  35. package/models/waterpolo-game-statistic.d.ts +96 -0
  36. package/models/waterpolo-game-team-statistic.d.ts +9 -0
  37. package/models/waterpolo-profile.d.ts +19 -0
  38. package/models/waterpolo-statistic.d.ts +115 -0
  39. package/mtgame-core.metadata.json +1 -1
  40. package/package.json +1 -1
@@ -0,0 +1,156 @@
1
+ import { __decorate } from "tslib";
2
+ import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';
3
+ import { TournamentTeamUser } from './tournament-team-user';
4
+ import { Team } from './team';
5
+ import { TeamUser } from './team-user';
6
+ import { User } from './user';
7
+ import { TournamentTeam } from './tournament-team';
8
+ import { LeaguePlayer } from './league-player';
9
+ let WaterpoloStatistic = class WaterpoloStatistic extends BaseModel {
10
+ get assists() {
11
+ return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);
12
+ }
13
+ get goalpass() {
14
+ return (this.totalGoals || 0) + (this.assists || 0);
15
+ }
16
+ get userMinutes() {
17
+ if (!this.gameTime) {
18
+ return '00:00';
19
+ }
20
+ const minutes = Math.floor(this.gameTime / 60);
21
+ const seconds = Math.floor(this.gameTime - minutes * 60);
22
+ return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;
23
+ }
24
+ get gamesWonPercent() {
25
+ if (!this.gamesCount) {
26
+ return 0;
27
+ }
28
+ return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;
29
+ }
30
+ get tournamentTeamPoints() {
31
+ return this.tournamentTeam && this.tournamentTeam.points;
32
+ }
33
+ static toFront(data) { }
34
+ static toBack(data) { }
35
+ };
36
+ __decorate([
37
+ ToFrontHook
38
+ ], WaterpoloStatistic, "toFront", null);
39
+ __decorate([
40
+ ToBackHook
41
+ ], WaterpoloStatistic, "toBack", null);
42
+ WaterpoloStatistic = __decorate([
43
+ ModelInstance({
44
+ mappingFields: {
45
+ league_player: 'leaguePlayer',
46
+ tournament_team_user: 'tournamentTeamUser',
47
+ team: 'team',
48
+ team_user: 'teamUser',
49
+ user: 'user',
50
+ tournament_team: 'tournamentTeam',
51
+ month: 'month',
52
+ win_lose: 'winLose',
53
+ games_count: 'gamesCount',
54
+ won_games_count: 'wonGamesCount',
55
+ lose_games_count: 'loseGamesCount',
56
+ points: 'points',
57
+ pp_shots: 'ppShots',
58
+ pp_shot_misses: 'ppShotMisses',
59
+ pp_shots_on_goal: 'ppShotsOnGoal',
60
+ pp_shots_blocked: 'ppShotsBlocked',
61
+ ev_shots: 'evShots',
62
+ ev_shot_misses: 'evShotMisses',
63
+ ev_shots_on_goal: 'evShotsOnGoal',
64
+ ev_shots_blocked: 'evShotsBlocked',
65
+ sh_shots: 'shShots',
66
+ sh_shot_misses: 'shShotMisses',
67
+ sh_shots_on_goal: 'shShotsOnGoal',
68
+ sh_shots_blocked: 'shShotsBlocked',
69
+ pp_goals_percent: 'ppGoalsPercent',
70
+ pp_goals: 'ppGoals',
71
+ ev_goals_percent: 'evGoalsPercent',
72
+ ev_goals: 'evGoals',
73
+ sh_goals_percent: 'shGoalsPercent',
74
+ goals: 'goals',
75
+ total_goals: 'totalGoals',
76
+ sh_goals: 'shGoals',
77
+ shot_misses: 'shotMisses',
78
+ shots_on_goal: 'shotsOnGoal',
79
+ shots_blocked: 'shotsBlocked',
80
+ shots: 'shots',
81
+ total_shots: 'totalShots',
82
+ goals_percent: 'goalsPercent',
83
+ total_goals_percent: 'totalGoalsPercent',
84
+ pp_assists: 'ppAssists',
85
+ ev_assists: 'evAssists',
86
+ sh_assists: 'shAssists',
87
+ shootout_attempts: 'shootoutAttempts',
88
+ shootout_goals: 'shootoutGoals',
89
+ after_game_shootout_attempts: 'afterGameShootoutAttempts',
90
+ after_game_shootout_goals: 'afterGameShootoutGoals',
91
+ block_shots: 'blockShots',
92
+ face_off_losses: 'faceOffLosses',
93
+ face_off_wins: 'faceOffWins',
94
+ face_offs: 'faceOffs',
95
+ face_off_percent: 'faceOffPercent',
96
+ saves: 'saves',
97
+ total_saves: 'totalSaves',
98
+ shootout_saves: 'shootoutSaves',
99
+ shots_against: 'shotsAgainst',
100
+ shootout_shots_against: 'shootoutShotsAgainst',
101
+ total_shots_against: 'totalShotsAgainst',
102
+ saves_percent: 'savesPercent',
103
+ total_saves_percent: 'totalSavesPercent',
104
+ goals_against: 'goalsAgainst',
105
+ shootout_goals_against: 'shootoutGoalsAgainst',
106
+ total_goals_against: 'totalGoalsAgainst',
107
+ safety_rate: 'safetyRate',
108
+ penalty_minutes: 'penaltyMinutes',
109
+ game_time: 'gameTime',
110
+ plus_minus: 'plusMinus',
111
+ yellow_cards: 'yellowCards',
112
+ red_cards: 'redCards',
113
+ fouls: 'fouls',
114
+ losses: 'losses',
115
+ steals: 'steals',
116
+ drawn_fouls: 'drawnFouls',
117
+ pp_free_kick_goals: 'ppFreeKickGoals',
118
+ pp_free_kick_on_goals: 'ppFreeKickOnGoals',
119
+ pp_free_kick_misses: 'ppFreeKickMisses',
120
+ sh_free_kick_goals: 'shFreeKickGoals',
121
+ sh_free_kick_on_goals: 'shFreeKickOnGoals',
122
+ sh_free_kick_misses: 'shFreeKickMisses',
123
+ ev_free_kick_goals: 'evFreeKickGoals',
124
+ ev_free_kick_on_goals: 'evFreeKickOnGoals',
125
+ ev_free_kick_misses: 'evFreeKickMisses',
126
+ free_kick_passes: 'freeKickPasses',
127
+ free_kick_selfs: 'freeKickSelfs',
128
+ pp_corner_goals: 'ppCornerGoals',
129
+ pp_corner_on_goals: 'ppCornerOnGoals',
130
+ pp_corner_misses: 'ppCornerMisses',
131
+ sh_corner_goals: 'shCornerGoals',
132
+ sh_corner_on_goals: 'shCornerOnGoals',
133
+ sh_corner_misses: 'shCornerMisses',
134
+ ev_corner_goals: 'evCornerGoals',
135
+ ev_corner_on_goals: 'evCornerOnGoals',
136
+ ev_corner_misses: 'evCornerMisses',
137
+ corner_passes: 'cornerPasses',
138
+ corner_selfs: 'cornerSelfs',
139
+ total_corners: 'totalCorners',
140
+ total_free_kicks: 'totalFreeKicks',
141
+ newbie: 'newbie',
142
+ rank: 'rank',
143
+ },
144
+ relation: {
145
+ leaguePlayer: LeaguePlayer,
146
+ tournamentTeamUser: TournamentTeamUser,
147
+ team: Team,
148
+ teamUser: TeamUser,
149
+ user: User,
150
+ tournamentTeam: TournamentTeam,
151
+ month: DateField
152
+ }
153
+ })
154
+ ], WaterpoloStatistic);
155
+ export { WaterpoloStatistic };
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLXN0YXRpc3RpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy93YXRlcnBvbG8tc3RhdGlzdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0lBaUhsQyxrQkFBa0IsU0FBbEIsa0JBQW1CLFNBQVEsU0FBUztJQW9HL0MsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE1BQU0sT0FBTyxHQUFH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bEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGFBQWEsRUFBRSxjQUFjO1lBQzdCLFlBQVksRUFBRSxhQUFhO1lBQzNCLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtTQUNiO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLFlBQVk7WUFDMUIsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLElBQUk7WUFDVixjQUFjLEVBQUUsY0FBYztZQUM5QixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7R0FDVyxrQkFBa0IsQ0FxSTlCO1NBcklZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgTW9kZWxJbnN0YW5jZSwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVGaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgVGVhbVVzZXIgfSBmcm9tICcuL3RlYW0tdXNlcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtIH0gZnJvbSAnLi90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgQmFzZVN0YXRpc3RpYywgV2luTG9zZVR5cGUgfSBmcm9tICcuL2Jhc2Utc3RhdGlzdGljJztcbmltcG9ydCB7IExlYWd1ZVBsYXllciB9IGZyb20gJy4vbGVhZ3VlLXBsYXllcic7XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGxlYWd1ZV9wbGF5ZXI6ICdsZWFndWVQbGF5ZXInLFxuICAgIHRvdXJuYW1lbnRfdGVhbV91c2VyOiAndG91cm5hbWVudFRlYW1Vc2VyJyxcbiAgICB0ZWFtOiAndGVhbScsXG4gICAgdGVhbV91c2VyOiAndGVhbVVzZXInLFxuICAgIHVzZXI6ICd1c2VyJyxcbiAgICB0b3VybmFtZW50X3RlYW06ICd0b3VybmFtZW50VGVhbScsXG4gICAgbW9udGg6ICdtb250aCcsXG4gICAgd2luX2xvc2U6ICd3aW5Mb3NlJyxcbiAgICBnYW1lc19jb3VudDogJ2dhbWVzQ291bnQnLFxuICAgIHdvbl9nYW1lc19jb3VudDogJ3dvbkdhbWVzQ291bnQnLFxuICAgIGxvc2VfZ2FtZXNfY291bnQ6ICdsb3NlR2FtZXNDb3VudCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90czogJ3BwU2hvdHMnLFxuICAgIHBwX3Nob3RfbWlzc2VzOiAncHBTaG90TWlzc2VzJyxcbiAgICBwcF9zaG90c19vbl9nb2FsOiAncHBTaG90c09uR29hbCcsXG4gICAgcHBfc2hvdHNfYmxvY2tlZDogJ3BwU2hvdHNCbG9ja2VkJyxcbiAgICBldl9zaG90czogJ2V2U2hvdHMnLFxuICAgIGV2X3Nob3RfbWlzc2VzOiAnZXZTaG90TWlzc2VzJyxcbiAgICBldl9zaG90c19vbl9nb2FsOiAnZXZTaG90c09uR29hbCcsXG4gICAgZXZfc2hvdHNfYmxvY2tlZDogJ2V2U2hvdHNCbG9ja2VkJyxcbiAgICBzaF9zaG90czogJ3NoU2hvdHMnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF9nb2Fsc19wZXJjZW50OiAncHBHb2Fsc1BlcmNlbnQnLFxuICAgIHBwX2dvYWxzOiAncHBHb2FscycsXG4gICAgZXZfZ29hbHNfcGVyY2VudDogJ2V2R29hbHNQZXJjZW50JyxcbiAgICBldl9nb2FsczogJ2V2R29hbHMnLFxuICAgIHNoX2dvYWxzX3BlcmNlbnQ6ICdzaEdvYWxzUGVyY2VudCcsXG4gICAgZ29hbHM6ICdnb2FscycsXG4gICAgdG90YWxfZ29hbHM6ICd0b3RhbEdvYWxzJyxcbiAgICBzaF9nb2FsczogJ3NoR29hbHMnLFxuICAgIHNob3RfbWlzc2VzOiAnc2hvdE1pc3NlcycsXG4gICAgc2hvdHNfb25fZ29hbDogJ3Nob3RzT25Hb2FsJyxcbiAgICBzaG90c19ibG9ja2VkOiAnc2hvdHNCbG9ja2VkJyxcbiAgICBzaG90czogJ3Nob3RzJyxcbiAgICB0b3RhbF9zaG90czogJ3RvdGFsU2hvdHMnLFxuICAgIGdvYWxzX3BlcmNlbnQ6ICdnb2Fsc1BlcmNlbnQnLFxuICAgIHRvdGFsX2dvYWxzX3BlcmNlbnQ6ICd0b3RhbEdvYWxzUGVyY2VudCcsXG4gICAgcHBfYXNzaXN0czogJ3BwQXNzaXN0cycsXG4gICAgZXZfYXNzaXN0czogJ2V2QXNzaXN0cycsXG4gICAgc2hfYXNzaXN0czogJ3NoQXNzaXN0cycsXG4gICAgc2hvb3RvdXRfYXR0ZW1wdHM6ICdzaG9vdG91dEF0dGVtcHRzJyxcbiAgICBzaG9vdG91dF9nb2FsczogJ3Nob290b3V0R29hbHMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfYXR0ZW1wdHM6ICdhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzJyxcbiAgICBhZnRlcl9nYW1lX3Nob290b3V0X2dvYWxzOiAnYWZ0ZXJHYW1lU2hvb3RvdXRHb2FscycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBmYWNlX29mZl9sb3NzZXM6ICdmYWNlT2ZmTG9zc2VzJyxcbiAgICBmYWNlX29mZl93aW5zOiAnZmFjZU9mZldpbnMnLFxuICAgIGZhY2Vfb2ZmczogJ2ZhY2VPZmZzJyxcbiAgICBmYWNlX29mZl9wZXJjZW50OiAnZmFjZU9mZlBlcmNlbnQnLFxuICAgIHNhdmVzOiAnc2F2ZXMnLFxuICAgIHRvdGFsX3NhdmVzOiAndG90YWxTYXZlcycsXG4gICAgc2hvb3RvdXRfc2F2ZXM6ICdzaG9vdG91dFNhdmVzJyxcbiAgICBzaG90c19hZ2FpbnN0OiAnc2hvdHNBZ2FpbnN0JyxcbiAgICBzaG9vdG91dF9zaG90c19hZ2FpbnN0OiAnc2hvb3RvdXRTaG90c0FnYWluc3QnLFxuICAgIHRvdGFsX3Nob3RzX2FnYWluc3Q6ICd0b3RhbFNob3RzQWdhaW5zdCcsXG4gICAgc2F2ZXNfcGVyY2VudDogJ3NhdmVzUGVyY2VudCcsXG4gICAgdG90YWxfc2F2ZXNfcGVyY2VudDogJ3RvdGFsU2F2ZXNQZXJjZW50JyxcbiAgICBnb2Fsc19hZ2FpbnN0OiAnZ29hbHNBZ2FpbnN0JyxcbiAgICBzaG9vdG91dF9nb2Fsc19hZ2FpbnN0OiAnc2hvb3RvdXRHb2Fsc0FnYWluc3QnLFxuICAgIHRvdGFsX2dvYWxzX2FnYWluc3Q6ICd0b3RhbEdvYWxzQWdhaW5zdCcsXG4gICAgc2FmZXR5X3JhdGU6ICdzYWZldHlSYXRlJyxcbiAgICBwZW5hbHR5X21pbnV0ZXM6ICdwZW5hbHR5TWludXRlcycsXG4gICAgZ2FtZV90aW1lOiAnZ2FtZVRpbWUnLFxuICAgIHBsdXNfbWludXM6ICdwbHVzTWludXMnLFxuICAgIHllbGxvd19jYXJkczogJ3llbGxvd0NhcmRzJyxcbiAgICByZWRfY2FyZHM6ICdyZWRDYXJkcycsXG4gICAgZm91bHM6ICdmb3VscycsXG4gICAgbG9zc2VzOiAnbG9zc2VzJyxcbiAgICBzdGVhbHM6ICdzdGVhbHMnLFxuICAgIGRyYXduX2ZvdWxzOiAnZHJhd25Gb3VscycsXG4gICAgcHBfZnJlZV9raWNrX2dvYWxzOiAncHBGcmVlS2lja0dvYWxzJyxcbiAgICBwcF9mcmVlX2tpY2tfb25fZ29hbHM6ICdwcEZyZWVLaWNrT25Hb2FscycsXG4gICAgcHBfZnJlZV9raWNrX21pc3NlczogJ3BwRnJlZUtpY2tNaXNzZXMnLFxuICAgIHNoX2ZyZWVfa2lja19nb2FsczogJ3NoRnJlZUtpY2tHb2FscycsXG4gICAgc2hfZnJlZV9raWNrX29uX2dvYWxzOiAnc2hGcmVlS2lja09uR29hbHMnLFxuICAgIHNoX2ZyZWVfa2lja19taXNzZXM6ICdzaEZyZWVLaWNrTWlzc2VzJyxcbiAgICBldl9mcmVlX2tpY2tfZ29hbHM6ICdldkZyZWVLaWNrR29hbHMnLFxuICAgIGV2X2ZyZWVfa2lja19vbl9nb2FsczogJ2V2RnJlZUtpY2tPbkdvYWxzJyxcbiAgICBldl9mcmVlX2tpY2tfbWlzc2VzOiAnZXZGcmVlS2lja01pc3NlcycsXG4gICAgZnJlZV9raWNrX3Bhc3NlczogJ2ZyZWVLaWNrUGFzc2VzJyxcbiAgICBmcmVlX2tpY2tfc2VsZnM6ICdmcmVlS2lja1NlbGZzJyxcbiAgICBwcF9jb3JuZXJfZ29hbHM6ICdwcENvcm5lckdvYWxzJyxcbiAgICBwcF9jb3JuZXJfb25fZ29hbHM6ICdwcENvcm5lck9uR29hbHMnLFxuICAgIHBwX2Nvcm5lcl9taXNzZXM6ICdwcENvcm5lck1pc3NlcycsXG4gICAgc2hfY29ybmVyX2dvYWxzOiAnc2hDb3JuZXJHb2FscycsXG4gICAgc2hfY29ybmVyX29uX2dvYWxzOiAnc2hDb3JuZXJPbkdvYWxzJyxcbiAgICBzaF9jb3JuZXJfbWlzc2VzOiAnc2hDb3JuZXJNaXNzZXMnLFxuICAgIGV2X2Nvcm5lcl9nb2FsczogJ2V2Q29ybmVyR29hbHMnLFxuICAgIGV2X2Nvcm5lcl9vbl9nb2FsczogJ2V2Q29ybmVyT25Hb2FscycsXG4gICAgZXZfY29ybmVyX21pc3NlczogJ2V2Q29ybmVyTWlzc2VzJyxcbiAgICBjb3JuZXJfcGFzc2VzOiAnY29ybmVyUGFzc2VzJyxcbiAgICBjb3JuZXJfc2VsZnM6ICdjb3JuZXJTZWxmcycsXG4gICAgdG90YWxfY29ybmVyczogJ3RvdGFsQ29ybmVycycsXG4gICAgdG90YWxfZnJlZV9raWNrczogJ3RvdGFsRnJlZUtpY2tzJyxcbiAgICBuZXdiaWU6ICduZXdiaWUnLFxuICAgIHJhbms6ICdyYW5rJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBsZWFndWVQbGF5ZXI6IExlYWd1ZVBsYXllcixcbiAgICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcixcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRlYW1Vc2VyOiBUZWFtVXNlcixcbiAgICB1c2VyOiBVc2VyLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbSxcbiAgICBtb250aDogRGF0ZUZpZWxkXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgQmFzZVN0YXRpc3RpYyB7XG4gIGxlYWd1ZVBsYXllcjogTGVhZ3VlUGxheWVyO1xuICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcjtcbiAgdGVhbTogVGVhbTtcbiAgdGVhbVVzZXI6IFRlYW1Vc2VyO1xuICB1c2VyOiBVc2VyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIG1vbnRoOiBEYXRlO1xuICB3aW5Mb3NlOiBXaW5Mb3NlVHlwZTtcbiAgZ2FtZXNDb3VudDogbnVtYmVyO1xuICB3b25HYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VHYW1lc0NvdW50OiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBwcFNob3RzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdHM6IG51bWJlcjtcbiAgZXZTaG90TWlzc2VzOiBudW1iZXI7XG4gIGV2U2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgZXZTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hTaG90czogbnVtYmVyO1xuICBzaFNob3RNaXNzZXM6IG51bWJlcjtcbiAgc2hTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBwcEdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBwcEdvYWxzOiBudW1iZXI7XG4gIGV2R29hbHNQZXJjZW50OiBudW1iZXI7XG4gIGV2R29hbHM6IG51bWJlcjtcbiAgc2hHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgc2hHb2FsczogbnVtYmVyO1xuICBnb2FsczogbnVtYmVyO1xuICB0b3RhbEdvYWxzOiBudW1iZXI7XG4gIHRvdGFsR29hbHNQZXJjZW50O1xuICBzaG90TWlzc2VzOiBudW1iZXI7XG4gIHNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaG90czogbnVtYmVyO1xuICB0b3RhbFNob3RzOiBudW1iZXI7XG4gIGdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBwcEFzc2lzdHM6IG51bWJlcjtcbiAgZXZBc3Npc3RzOiBudW1iZXI7XG4gIHNoQXNzaXN0czogbnVtYmVyO1xuICBzaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIHNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRBdHRlbXB0czogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEdvYWxzOiBudW1iZXI7XG4gIGJsb2NrU2hvdHM6IG51bWJlcjtcbiAgZmFjZU9mZkxvc3NlczogbnVtYmVyO1xuICBmYWNlT2ZmV2luczogbnVtYmVyO1xuICBmYWNlT2ZmczogbnVtYmVyO1xuICBmYWNlT2ZmUGVyY2VudDogbnVtYmVyO1xuICBzYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxTYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgc2F2ZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICB0b3RhbFNhdmVzOiBudW1iZXI7XG4gIHNob3RzQWdhaW5zdDogbnVtYmVyO1xuICBzaG9vdG91dFNob3RzQWdhaW5zdDogbnVtYmVyO1xuICB0b3RhbFNob3RzQWdhaW5zdDogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgdG90YWxHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2FmZXR5UmF0ZTogbnVtYmVyO1xuICBwZW5hbHR5TWludXRlczogbnVtYmVyO1xuICBnYW1lVGltZTogbnVtYmVyO1xuICBwbHVzTWludXM6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcbiAgeWVsbG93Q2FyZHM6IG51bWJlcjtcbiAgcmVkQ2FyZHM6IG51bWJlcjtcbiAgbG9zc2VzOiBudW1iZXI7XG4gIHN0ZWFsczogbnVtYmVyO1xuICBkcmF3bkZvdWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBzaEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBzaEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrUGFzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2VsZnM6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2FsczogbnVtYmVyO1xuICBwcENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgcHBDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2FsczogbnVtYmVyO1xuICBzaENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgc2hDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2FsczogbnVtYmVyO1xuICBldkNvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgZXZDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgY29ybmVyUGFzc2VzOiBudW1iZXI7XG4gIGNvcm5lclNlbGZzOiBudW1iZXI7XG4gIHRvdGFsQ29ybmVyczogbnVtYmVyO1xuICB0b3RhbEZyZWVLaWNrczogbnVtYmVyO1xuICBuZXdiaWU6IGJvb2xlYW47XG4gIHJhbms6IG51bWJlcjtcblxuICBnZXQgYXNzaXN0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEFzc2lzdHMgfHwgMCkgKyAodGhpcy5zaEFzc2lzdHMgfHwgMCkgKyAodGhpcy5ldkFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHBhc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMudG90YWxHb2FscyB8fCAwKSArICh0aGlzLmFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdXNlck1pbnV0ZXMoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZ2FtZVRpbWUpIHtcbiAgICAgIHJldHVybiAnMDA6MDAnO1xuICAgIH1cbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC8gNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMuZ2FtZVRpbWUgLSBtaW51dGVzICogNjApO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAwIDogJyd9JHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IDAgOiAnJ30ke3NlY29uZHN9YDtcbiAgfVxuXG4gIGdldCBnYW1lc1dvblBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZ2FtZXNDb3VudCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKDEwMDAgKiB0aGlzLndvbkdhbWVzQ291bnQgLyB0aGlzLmdhbWVzQ291bnQpIC8gMTA7XG4gIH1cblxuICBnZXQgdG91cm5hbWVudFRlYW1Qb2ludHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3VybmFtZW50VGVhbSAmJiB0aGlzLnRvdXJuYW1lbnRUZWFtLnBvaW50cztcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19