@mtgame/core 0.2.109 → 0.2.110

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.
@@ -93,6 +93,53 @@ TournamentTeamShort = __decorate([
93
93
  })
94
94
  ], TournamentTeamShort);
95
95
  export { TournamentTeamShort };
96
+ let MhlCarouselTeam = class MhlCarouselTeam extends BaseModel {
97
+ static toFront(data) { }
98
+ static toBack(data) { }
99
+ };
100
+ __decorate([
101
+ ToFrontHook
102
+ ], MhlCarouselTeam, "toFront", null);
103
+ __decorate([
104
+ ToBackHook
105
+ ], MhlCarouselTeam, "toBack", null);
106
+ MhlCarouselTeam = __decorate([
107
+ ModelInstance({
108
+ mappingFields: {
109
+ team: 'team',
110
+ tournament_team: 'tournamentTeam',
111
+ score: 'score',
112
+ score_by_period: 'scoreByPeriod',
113
+ },
114
+ relation: {
115
+ team: Team,
116
+ tournamentTeam: TournamentTeamShort,
117
+ }
118
+ })
119
+ ], MhlCarouselTeam);
120
+ export { MhlCarouselTeam };
121
+ let MhlCarousel = class MhlCarousel extends BaseModel {
122
+ static toFront(data) { }
123
+ static toBack(data) { }
124
+ };
125
+ __decorate([
126
+ ToFrontHook
127
+ ], MhlCarousel, "toFront", null);
128
+ __decorate([
129
+ ToBackHook
130
+ ], MhlCarousel, "toBack", null);
131
+ MhlCarousel = __decorate([
132
+ ModelInstance({
133
+ mappingFields: {
134
+ game_ids: 'gameIds',
135
+ teams: 'teams',
136
+ },
137
+ relation: {
138
+ teams: listField(MhlCarouselTeam),
139
+ }
140
+ })
141
+ ], MhlCarousel);
142
+ export { MhlCarousel };
96
143
  let Game = class Game extends BaseModel {
97
144
  get basketballGameConfig() {
98
145
  if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {
@@ -298,6 +345,7 @@ Game = __decorate([
298
345
  tournament: 'tournament',
299
346
  tournament_group: 'tournamentGroup',
300
347
  additional_data: 'additionalData',
348
+ mhl_carousel: 'mhlCarousel',
301
349
  },
302
350
  relation: {
303
351
  status: enumField(GameStatuses),
@@ -321,8 +369,9 @@ Game = __decorate([
321
369
  tournament: Tournament,
322
370
  tournamentGroup: TournamentGroup,
323
371
  additionalData: GameAdditionalData,
372
+ mhlCarousel: MhlCarousel,
324
373
  }
325
374
  })
326
375
  ], Game);
327
376
  export { Game };
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy9nYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQU4sSUFBWSxZ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a0I7WUFDdEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsbUJBQW1CLEVBQUUsbUJBQW1CO1lBQ3hDLG1CQUFtQixFQUFFLG1CQUFtQjtZQUN4QyxpQkFBaUIsRUFBRSxPQUFPO1lBQzFCLGVBQWUsRUFBRSxXQUFXO1lBQzVCLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzNCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDO0dBQ1csSUFBSSxDQThOaEI7U0E5TlksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVUaW1lRmllbGQsIGVudW1GaWVsZCwgbGlzdEZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgQmFza2V0YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2Jhc2tldGJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL3ZvbGxleWJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgTGVhZ3VlQ291cnQgfSBmcm9tICcuL2xlYWd1ZS1jb3VydCc7XG5pbXBvcnQgeyBNZWRpYUl0ZW0gfSBmcm9tICcuL21lZGlhLWl0ZW0nO1xuaW1wb3J0IHsgSG9ja2V5R2FtZUNvbmZpZyB9IGZyb20gJy4vaG9ja2V5LWdhbWUtY29uZmlnJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuL3RvdXJuYW1lbnQnO1xuaW1wb3J0IHsgRm9vdGJhbGxHYW1lQ29uZmlnIH0gZnJvbSAnLi9mb290YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBIYW5kYmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2hhbmRiYWxsLWdhbWUtY29uZmlnJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuL3BsYXlvZmYnO1xuaW1wb3J0IHsgVG91cm5hbWVudEdyb3VwIH0gZnJvbSAnLi90b3VybmFtZW50LWdyb3VwJztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgUnVnYnlHYW1lQ29uZmlnIH0gZnJvbSAnLi9ydWdieS1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBXYXRlcnBvbG9HYW1lQ29uZmlnIH0gZnJvbSAnLi93YXRlcnBvbG8tZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgU3BvcnQgfSBmcm9tICcuL3Nwb3J0JztcbmltcG9ydCB7IFdyZXN0YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL3dyZXN0YmFsbC1nYW1lLWNvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIEdhbWVTdGF0dXNlcyB7XG4gIG9wZW4gPSAxLFxuICBpbl9wcm9ncmVzcyxcbiAgY2xvc2VkLFxuICBhcmNoaXZlZCxcbiAgZHJhZnRcbn1cblxuZXhwb3J0IGVudW0gR2FtZVJlc3VsdFR5cGVzIHtcbiAgdGVhbV93b24gPSAxLFxuICBjb21wZXRpdG9yX3RlYW1fd29uLFxuICB0ZWFtX3RlY2huaWNhbF9kZWZlYXQsXG4gIGNvbXBldGl0b3JfdGVhbV90ZWNobmljYWxfZGVmZWF0LFxuICBkcmF3XG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIG1obF9jYXJvdXNlbDogJ21obENhcm91c2VsJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBHYW1lQWRkaXRpb25hbERhdGEge1xuICBtaGxDYXJvdXNlbDogYm9vbGVhbjtcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgbmlja25hbWU6ICduaWNrbmFtZScsXG4gICAgY29sb3I6ICdjb2xvcicsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgR2FtZVRlYW1BZGRpdGlvbmFsRGF0YSB7XG4gIG5pY2tuYW1lOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG5cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgbmFtZTogJ25hbWUnLFxuICAgIGxvZ286ICdsb2dvJyxcbiAgICBhZGRpdGlvbmFsX2RhdGE6ICdhZGRpdGlvbmFsRGF0YScsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgbG9nbzogRmlsZSxcbiAgICBhZGRpdGlvbmFsRGF0YTogR2FtZVRlYW1BZGRpdGlvbmFsRGF0YSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50VGVhbVNob3J0IGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBsb2dvOiBGaWxlO1xuICBhZGRpdGlvbmFsRGF0YTogR2FtZVRlYW1BZGRpdGlvbmFsRGF0YTtcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgc3RhdHVzOiAnc3RhdHVzJyxcbiAgICB0ZWFtOiAndGVhbScsXG4gICAgdG91cm5hbWVudF90ZWFtOiAndG91cm5hbWVudFRlYW0nLFxuICAgIHRvdXJuYW1lbnRfdGVhbV9pZDogJ3RvdXJuYW1lbnRUZWFtSWQnLFxuICAgIHRlYW1faWQ6ICd0ZWFtSWQnLFxuICAgIGNvbXBldGl0b3JfdGVhbTogJ2NvbXBldGl0b3JUZWFtJyxcbiAgICBjb21wZXRpdG9yX3RvdXJuYW1lbnRfdGVhbTogJ2NvbXBldGl0b3JUb3VybmFtZW50VGVhbScsXG4gICAgY29tcGV0aXRvcl90b3VybmFtZW50X3RlYW1faWQ6ICdjb21wZXRpdG9yVG91cm5hbWVudFRlYW1JZCcsXG4gICAgY29tcGV0aXRvcl90ZWFtX2lkOiAnY29tcGV0aXRvclRlYW1JZCcsXG4gICAgY29tcGV0aXRvcl90ZWFtX25hbWU6ICdjb21wZXRpdG9yVGVhbU5hbWUnLFxuICAgIGRhdGV0aW1lOiAnZGF0ZXRpbWUnLFxuICAgIGxvY2F0aW9uOiAnbG9jYXRpb24nLFxuICAgIHRlYW1fc2NvcmU6ICd0ZWFtU2NvcmUnLFxuICAgIGNvbXBldGl0b3JfdGVhbV9zY29yZTogJ2NvbXBldGl0b3JUZWFtU2NvcmUnLFxuICAgIHJlc3VsdF90eXBlOiAncmVzdWx0VHlwZScsXG4gICAgcGxheW9mZl9udW1iZXI6ICdwbGF5b2ZmTnVtYmVyJyxcbiAgICB0b3VybmFtZW50X2lkOiAndG91cm5hbWVudElkJyxcbiAgICB0b3VybmFtZW50X3RvdXI6ICd0b3VybmFtZW50VG91cicsXG4gICAgZ2FtZV9jb25maWc6ICdnYW1lQ29uZmlnJyxcbiAgICBiYXNrZXRiYWxsX2dhbWVfY29uZmlnOiAnYmFza2V0YmFsbEdhbWVDb25maWcnLFxuICAgIHZvbGxleWJhbGxfZ2FtZV9jb25maWc6ICd2b2xsZXliYWxsR2FtZUNvbmZpZycsXG4gICAgaG9ja2V5X2dhbWVfY29uZmlnOiAnaG9ja2V5R2FtZUNvbmZpZycsXG4gICAgZm9vdGJhbGxfZ2FtZV9jb25maWc6ICdmb290YmFsbEdhbWVDb25maWcnLFxuICAgIGhhbmRiYWxsX2dhbWVfY29uZmlnOiAnaGFuZGJhbGxHYW1lQ29uZmlnJyxcbiAgICBydWdieV9nYW1lX2NvbmZpZzogJ3J1Z2J5R2FtZUNvbmZpZycsXG4gICAgd2F0ZXJwb2xvX2dhbWVfY29uZmlnOiAnd2F0ZXJwb2xvR2FtZUNvbmZpZycsXG4gICAgd3Jlc3RiYWxsX2dhbWVfY29uZmlnOiAnd3Jlc3RiYWxsR2FtZUNvbmZpZycsXG4gICAgc2NvcmVfYnlfcGVyaW9kOiAnc2NvcmVCeVBlcmlvZCcsXG4gICAgcGxheW9mZl9zdGFnZTogJ3BsYXlvZmZTdGFnZScsXG4gICAgcGxheW9mZl9yb3VuZDogJ3BsYXlvZmZSb3VuZCcsXG4gICAgdG91cm5hbWVudF9zdGFnZV9pZDogJ3RvdXJuYW1lbnRTdGFnZUlkJyxcbiAgICB0b3VybmFtZW50X3BsYXlvZmZfaWQ6ICd0b3VybmFtZW50UGxheW9mZklkJyxcbiAgICB0b3VybmFtZW50X3BsYXlvZmY6ICd0b3VybmFtZW50UGxheW9mZicsXG4gICAgdG91cm5hbWVudF9jb3VydDogJ3RvdXJuYW1lbnRDb3VydCcsXG4gICAgbWVkaWFfY291bnQ6ICdtZWRpYUNvdW50JyxcbiAgICBtZWRpYV9saXZlX2NvdW50OiAnbWVkaWFMaXZlQ291bnQnLFxuICAgIG1lZGlhOiAnbWVkaWEnLFxuICAgIHRvdXJuYW1lbnQ6ICd0b3VybmFtZW50JyxcbiAgICB0b3VybmFtZW50X2dyb3VwOiAndG91cm5hbWVudEdyb3VwJyxcbiAgICBhZGRpdGlvbmFsX2RhdGE6ICdhZGRpdGlvbmFsRGF0YScsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgc3RhdHVzOiBlbnVtRmllbGQoR2FtZVN0YXR1c2VzKSxcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbVNob3J0LFxuICAgIGNvbXBldGl0b3JUZWFtOiBUZWFtLFxuICAgIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydCxcbiAgICBkYXRldGltZTogRGF0ZVRpbWVGaWVsZCxcbiAgICByZXN1bHRUeXBlOiBlbnVtRmllbGQoR2FtZVJlc3VsdFR5cGVzKSxcbiAgICBiYXNrZXRiYWxsR2FtZUNvbmZpZzogQmFza2V0YmFsbEdhbWVDb25maWcsXG4gICAgdm9sbGV5YmFsbEdhbWVDb25maWc6IFZvbGxleWJhbGxHYW1lQ29uZmlnLFxuICAgIGhvY2tleUdhbWVDb25maWc6IEhvY2tleUdhbWVDb25maWcsXG4gICAgZm9vdGJhbGxHYW1lQ29uZmlnOiBGb290YmFsbEdhbWVDb25maWcsXG4gICAgaGFuZGJhbGxHYW1lQ29uZmlnOiBIYW5kYmFsbEdhbWVDb25maWcsXG4gICAgcnVnYnlHYW1lQ29uZmlnOiBSdWdieUdhbWVDb25maWcsXG4gICAgd2F0ZXJwb2xvR2FtZUNvbmZpZzogV2F0ZXJwb2xvR2FtZUNvbmZpZyxcbiAgICB3cmVzdGJhbGxHYW1lQ29uZmlnOiBXcmVzdGJhbGxHYW1lQ29uZmlnLFxuICAgIHRvdXJuYW1lbnRQbGF5b2ZmOiBQbGF5b2ZmLFxuICAgIHRvdXJuYW1lbnRDb3VydDogTGVhZ3VlQ291cnQsXG4gICAgbWVkaWE6IGxpc3RGaWVsZChNZWRpYUl0ZW0pLFxuICAgIHRvdXJuYW1lbnQ6IFRvdXJuYW1lbnQsXG4gICAgdG91cm5hbWVudEdyb3VwOiBUb3VybmFtZW50R3JvdXAsXG4gICAgYWRkaXRpb25hbERhdGE6IEdhbWVBZGRpdGlvbmFsRGF0YSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBHYW1lIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgcHJpdmF0ZSBfYmFza2V0YmFsbEdhbWVDb25maWc6IEJhc2tldGJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF92b2xsZXliYWxsR2FtZUNvbmZpZzogVm9sbGV5YmFsbEdhbWVDb25maWc7XG4gIHByaXZhdGUgX2hvY2tleUdhbWVDb25maWc6IEhvY2tleUdhbWVDb25maWc7XG4gIHByaXZhdGUgX2Zvb3RiYWxsR2FtZUNvbmZpZzogRm9vdGJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9oYW5kYmFsbEdhbWVDb25maWc6IEhhbmRiYWxsR2FtZUNvbmZpZztcbiAgcHJpdmF0ZSBfcnVnYnlHYW1lQ29uZmlnOiBSdWdieUdhbWVDb25maWc7XG4gIHByaXZhdGUgX3dhdGVycG9sb0dhbWVDb25maWc6IFdhdGVycG9sb0dhbWVDb25maWc7XG4gIHByaXZhdGUgX3dyZXN0YmFsbEdhbWVDb25maWc6IFdyZXN0YmFsbEdhbWVDb25maWc7XG5cbiAgaWQ6IG51bWJlcjtcbiAgc3RhdHVzOiBHYW1lU3RhdHVzZXM7XG4gIHRlYW06IFRlYW07XG4gIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbVNob3J0O1xuICB0ZWFtSWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudFRlYW1JZDogbnVtYmVyO1xuICBjb21wZXRpdG9yVGVhbTogVGVhbTtcbiAgY29tcGV0aXRvclRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbVNob3J0O1xuICBjb21wZXRpdG9yVGVhbUlkOiBudW1iZXI7XG4gIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbUlkOiBudW1iZXI7XG4gIGNvbXBldGl0b3JUZWFtTmFtZTogc3RyaW5nO1xuICBnYW1lQ29uZmlnOiBhbnk7XG4gIGRhdGV0aW1lOiBEYXRlO1xuICBsb2NhdGlvbjogc3RyaW5nO1xuICB0ZWFtU2NvcmU6IG51bWJlcjtcbiAgY29tcGV0aXRvclRlYW1TY29yZTogbnVtYmVyO1xuICByZXN1bHRUeXBlOiBHYW1lUmVzdWx0VHlwZXM7XG4gIHBsYXlvZmZOdW1iZXI6IHN0cmluZztcbiAgdG91cm5hbWVudElkOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRUb3VyOiBudW1iZXI7XG4gIHNjb3JlQnlQZXJpb2Q6IGFueTtcbiAgcGxheW9mZlN0YWdlOiBzdHJpbmc7XG4gIHBsYXlvZmZSb3VuZDogbnVtYmVyO1xuICB0b3VybmFtZW50U3RhZ2VJZDogbnVtYmVyO1xuICB0b3VybmFtZW50UGxheW9mZklkOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRQbGF5b2ZmOiBQbGF5b2ZmO1xuICB0b3VybmFtZW50Q291cnQ6IExlYWd1ZUNvdXJ0O1xuICBtZWRpYUNvdW50OiBudW1iZXI7XG4gIG1lZGlhTGl2ZUNvdW50OiBudW1iZXI7XG4gIG1lZGlhOiBNZWRpYUl0ZW1bXTtcbiAgdG91cm5hbWVudDogVG91cm5hbWVudDtcbiAgdG91cm5hbWVudEdyb3VwOiBUb3VybmFtZW50R3JvdXA7XG4gIGFkZGl0aW9uYWxEYXRhOiBHYW1lQWRkaXRpb25hbERhdGE7XG5cbiAgZ2V0IGJhc2tldGJhbGxHYW1lQ29uZmlnKCk6IEJhc2tldGJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnID0gQmFza2V0YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgYmFza2V0YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9iYXNrZXRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHZvbGxleWJhbGxHYW1lQ29uZmlnKCk6IFZvbGxleWJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcuc2V0c0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnID0gVm9sbGV5YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgdm9sbGV5YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl92b2xsZXliYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGhvY2tleUdhbWVDb25maWcoKTogSG9ja2V5R2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hvY2tleUdhbWVDb25maWcgJiYgdGhpcy5faG9ja2V5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gSG9ja2V5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhvY2tleUdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgaGFuZGJhbGxHYW1lQ29uZmlnKCk6IEhhbmRiYWxsR2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyAmJiB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcgPSBIYW5kYmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhhbmRiYWxsR2FtZUNvbmZpZyh2YWx1ZSkge1xuICAgIHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvb3RiYWxsR2FtZUNvbmZpZygpOiBGb290YmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl9mb290YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnID0gRm9vdGJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCBmb290YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9mb290YmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBydWdieUdhbWVDb25maWcoKTogUnVnYnlHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fcnVnYnlHYW1lQ29uZmlnICYmIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZyA9IFJ1Z2J5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgcnVnYnlHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fcnVnYnlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgd2F0ZXJwb2xvR2FtZUNvbmZpZygpOiBXYXRlcnBvbG9HYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fd2F0ZXJwb2xvR2FtZUNvbmZpZyAmJiB0aGlzLl93YXRlcnBvbG9HYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWcgPSBXYXRlcnBvbG9HYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWc7XG4gIH1cblxuICBzZXQgd2F0ZXJwb2xvR2FtZUNvbmZpZyh2YWx1ZSkge1xuICAgIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB3cmVzdGJhbGxHYW1lQ29uZmlnKCk6IFdyZXN0YmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl93cmVzdGJhbGxHYW1lQ29uZmlnICYmIHRoaXMuX3dyZXN0YmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZyA9IFdyZXN0YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCB3cmVzdGJhbGxHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNjb3JlQnlQZXJpb2RMaXN0KCk6IHtwZXJpb2Q6IG51bWJlciwgdGVhbVNjb3JlOiBudW1iZXIsIGNvbXBldGl0b3JUZWFtU2NvcmU6IG51bWJlcn1bXSB7XG4gICAgaWYgKCF0aGlzLnNjb3JlQnlQZXJpb2QpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuc2NvcmVCeVBlcmlvZCkubWFwKHBlcmlvZCA9PiAoe1xuICAgICAgcGVyaW9kOiArcGVyaW9kLFxuICAgICAgdGVhbVNjb3JlOiB0aGlzLnNjb3JlQnlQZXJpb2RbcGVyaW9kXVswXSxcbiAgICAgIGNvbXBldGl0b3JUZWFtU2NvcmU6IHRoaXMuc2NvcmVCeVBlcmlvZFtwZXJpb2RdWzFdXG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0IGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gR2FtZVN0YXR1c2VzLmNsb3NlZDtcbiAgfVxuXG4gIGdldCBpc1RlYW1Xb24oKSB7XG4gICAgcmV0dXJuIFtHYW1lUmVzdWx0VHlwZXMudGVhbV93b24sIEdhbWVSZXN1bHRUeXBlcy5jb21wZXRpdG9yX3RlYW1fdGVjaG5pY2FsX2RlZmVhdF0uaW5jbHVkZXModGhpcy5yZXN1bHRUeXBlKTtcbiAgfVxuXG4gIGdldCBpc0NvbXBldGl0b3JUZWFtV29uKCkge1xuICAgIHJldHVybiBbR2FtZVJlc3VsdFR5cGVzLmNvbXBldGl0b3JfdGVhbV93b24sIEdhbWVSZXN1bHRUeXBlcy50ZWFtX3RlY2huaWNhbF9kZWZlYXRdLmluY2x1ZGVzKHRoaXMucmVzdWx0VHlwZSk7XG4gIH1cblxuICBnZXQgdGVhbVdpbm5lcklkKCkge1xuICAgIGlmICghdGhpcy5pc0Nsb3NlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbS5pZCB8fCB0aGlzLnRlYW1JZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDb21wZXRpdG9yVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRvclRlYW0uaWQgfHwgdGhpcy5jb21wZXRpdG9yVGVhbUlkO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldCB0ZWFtTG9zZXJJZCgpIHtcbiAgICBpZiAoIXRoaXMuaXNDbG9zZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1RlYW1Xb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0b3JUZWFtLmlkIHx8IHRoaXMuY29tcGV0aXRvclRlYW1JZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDb21wZXRpdG9yVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbS5pZCB8fCB0aGlzLnRlYW1JZDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXQgc3BvcnQoKTogU3BvcnQge1xuICAgIGlmICh0aGlzLnRvdXJuYW1lbnQ/LnNwb3J0Py5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMudG91cm5hbWVudC5zcG9ydDtcbiAgICB9XG4gICAgaWYgKHRoaXMudGVhbT8uc3BvcnQ/LmlkKSB7XG4gICAgICByZXR1cm4gdGhpcy50ZWFtLnNwb3J0O1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wZXRpdG9yVGVhbT8uc3BvcnQ/LmlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdG9yVGVhbS5zcG9ydDtcbiAgICB9XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
377
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy9nYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQU4sSUFBWSxZ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QUFFLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDM0IsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZUFBZSxFQUFFLGVBQWU7WUFDaEMsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxXQUFXLEVBQUUsV0FBVztTQUN6QjtLQUNGLENBQUM7R0FDVyxJQUFJLENBK05oQjtTQS9OWSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxJbnN0YW5jZSwgQmFzZU1vZGVsLCBUb0Zyb250SG9vaywgVG9CYWNrSG9vaywgRGF0ZVRpbWVGaWVsZCwgZW51bUZpZWxkLCBsaXN0RmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vYmFza2V0YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBWb2xsZXliYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vdm9sbGV5YmFsbC1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBMZWFndWVDb3VydCB9IGZyb20gJy4vbGVhZ3VlLWNvdXJ0JztcbmltcG9ydCB7IE1lZGlhSXRlbSB9IGZyb20gJy4vbWVkaWEtaXRlbSc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lQ29uZmlnIH0gZnJvbSAnLi9ob2NrZXktZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgVG91cm5hbWVudCB9IGZyb20gJy4vdG91cm5hbWVudCc7XG5pbXBvcnQgeyBGb290YmFsbEdhbWVDb25maWcgfSBmcm9tICcuL2Zvb3RiYWxsLWdhbWUtY29uZmlnJztcbmltcG9ydCB7IEhhbmRiYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vaGFuZGJhbGwtZ2FtZS1jb25maWcnO1xuaW1wb3J0IHsgUGxheW9mZiB9IGZyb20gJy4vcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuL3RvdXJuYW1lbnQtZ3JvdXAnO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBSdWdieUdhbWVDb25maWcgfSBmcm9tICcuL3J1Z2J5LWdhbWUtY29uZmlnJztcbmltcG9ydCB7IFdhdGVycG9sb0dhbWVDb25maWcgfSBmcm9tICcuL3dhdGVycG9sby1nYW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBTcG9ydCB9IGZyb20gJy4vc3BvcnQnO1xuaW1wb3J0IHsgV3Jlc3RiYWxsR2FtZUNvbmZpZyB9IGZyb20gJy4vd3Jlc3RiYWxsLWdhbWUtY29uZmlnJztcblxuZXhwb3J0IGVudW0gR2FtZVN0YXR1c2VzIHtcbiAgb3BlbiA9IDEsXG4gIGluX3Byb2dyZXNzLFxuICBjbG9zZWQsXG4gIGFyY2hpdmVkLFxuICBkcmFmdFxufVxuXG5leHBvcnQgZW51bSBHYW1lUmVzdWx0VHlwZXMge1xuICB0ZWFtX3dvbiA9IDEsXG4gIGNvbXBldGl0b3JfdGVhbV93b24sXG4gIHRlYW1fdGVjaG5pY2FsX2RlZmVhdCxcbiAgY29tcGV0aXRvcl90ZWFtX3RlY2huaWNhbF9kZWZlYXQsXG4gIGRyYXdcbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgbWhsX2Nhcm91c2VsOiAnbWhsQ2Fyb3VzZWwnLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEdhbWVBZGRpdGlvbmFsRGF0YSB7XG4gIG1obENhcm91c2VsOiBib29sZWFuO1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBuaWNrbmFtZTogJ25pY2tuYW1lJyxcbiAgICBjb2xvcjogJ2NvbG9yJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBHYW1lVGVhbUFkZGl0aW9uYWxEYXRhIHtcbiAgbmlja25hbWU6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cblxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBuYW1lOiAnbmFtZScsXG4gICAgbG9nbzogJ2xvZ28nLFxuICAgIGFkZGl0aW9uYWxfZGF0YTogJ2FkZGl0aW9uYWxEYXRhJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBsb2dvOiBGaWxlLFxuICAgIGFkZGl0aW9uYWxEYXRhOiBHYW1lVGVhbUFkZGl0aW9uYWxEYXRhLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnRUZWFtU2hvcnQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxvZ286IEZpbGU7XG4gIGFkZGl0aW9uYWxEYXRhOiBHYW1lVGVhbUFkZGl0aW9uYWxEYXRhO1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICB0ZWFtOiAndGVhbScsXG4gICAgdG91cm5hbWVudF90ZWFtOiAndG91cm5hbWVudFRlYW0nLFxuICAgIHNjb3JlOiAnc2NvcmUnLFxuICAgIHNjb3JlX2J5X3BlcmlvZDogJ3Njb3JlQnlQZXJpb2QnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHRlYW06IFRlYW0sXG4gICAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtU2hvcnQsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTWhsQ2Fyb3VzZWxUZWFtIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgdGVhbTogVGVhbTtcbiAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtU2hvcnQ7XG4gIHNjb3JlOiBudW1iZXI7XG4gIHNjb3JlQnlQZXJpb2Q6IHtba2V5OiBzdHJpbmddOiBudW1iZXJ9O1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBnYW1lX2lkczogJ2dhbWVJZHMnLFxuICAgIHRlYW1zOiAndGVhbXMnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHRlYW1zOiBsaXN0RmllbGQoTWhsQ2Fyb3VzZWxUZWFtKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaGxDYXJvdXNlbCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIGdhbWVJZHM6IG51bWJlcltdO1xuICB0ZWFtczogTWhsQ2Fyb3VzZWxUZWFtO1xuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICBzdGF0dXM6ICdzdGF0dXMnLFxuICAgIHRlYW06ICd0ZWFtJyxcbiAgICB0b3VybmFtZW50X3RlYW06ICd0b3VybmFtZW50VGVhbScsXG4gICAgdG91cm5hbWVudF90ZWFtX2lkOiAndG91cm5hbWVudFRlYW1JZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgY29tcGV0aXRvcl90ZWFtOiAnY29tcGV0aXRvclRlYW0nLFxuICAgIGNvbXBldGl0b3JfdG91cm5hbWVudF90ZWFtOiAnY29tcGV0aXRvclRvdXJuYW1lbnRUZWFtJyxcbiAgICBjb21wZXRpdG9yX3RvdXJuYW1lbnRfdGVhbV9pZDogJ2NvbXBldGl0b3JUb3VybmFtZW50VGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1faWQ6ICdjb21wZXRpdG9yVGVhbUlkJyxcbiAgICBjb21wZXRpdG9yX3RlYW1fbmFtZTogJ2NvbXBldGl0b3JUZWFtTmFtZScsXG4gICAgZGF0ZXRpbWU6ICdkYXRldGltZScsXG4gICAgbG9jYXRpb246ICdsb2NhdGlvbicsXG4gICAgdGVhbV9zY29yZTogJ3RlYW1TY29yZScsXG4gICAgY29tcGV0aXRvcl90ZWFtX3Njb3JlOiAnY29tcGV0aXRvclRlYW1TY29yZScsXG4gICAgcmVzdWx0X3R5cGU6ICdyZXN1bHRUeXBlJyxcbiAgICBwbGF5b2ZmX251bWJlcjogJ3BsYXlvZmZOdW1iZXInLFxuICAgIHRvdXJuYW1lbnRfaWQ6ICd0b3VybmFtZW50SWQnLFxuICAgIHRvdXJuYW1lbnRfdG91cjogJ3RvdXJuYW1lbnRUb3VyJyxcbiAgICBnYW1lX2NvbmZpZzogJ2dhbWVDb25maWcnLFxuICAgIGJhc2tldGJhbGxfZ2FtZV9jb25maWc6ICdiYXNrZXRiYWxsR2FtZUNvbmZpZycsXG4gICAgdm9sbGV5YmFsbF9nYW1lX2NvbmZpZzogJ3ZvbGxleWJhbGxHYW1lQ29uZmlnJyxcbiAgICBob2NrZXlfZ2FtZV9jb25maWc6ICdob2NrZXlHYW1lQ29uZmlnJyxcbiAgICBmb290YmFsbF9nYW1lX2NvbmZpZzogJ2Zvb3RiYWxsR2FtZUNvbmZpZycsXG4gICAgaGFuZGJhbGxfZ2FtZV9jb25maWc6ICdoYW5kYmFsbEdhbWVDb25maWcnLFxuICAgIHJ1Z2J5X2dhbWVfY29uZmlnOiAncnVnYnlHYW1lQ29uZmlnJyxcbiAgICB3YXRlcnBvbG9fZ2FtZV9jb25maWc6ICd3YXRlcnBvbG9HYW1lQ29uZmlnJyxcbiAgICB3cmVzdGJhbGxfZ2FtZV9jb25maWc6ICd3cmVzdGJhbGxHYW1lQ29uZmlnJyxcbiAgICBzY29yZV9ieV9wZXJpb2Q6ICdzY29yZUJ5UGVyaW9kJyxcbiAgICBwbGF5b2ZmX3N0YWdlOiAncGxheW9mZlN0YWdlJyxcbiAgICBwbGF5b2ZmX3JvdW5kOiAncGxheW9mZlJvdW5kJyxcbiAgICB0b3VybmFtZW50X3N0YWdlX2lkOiAndG91cm5hbWVudFN0YWdlSWQnLFxuICAgIHRvdXJuYW1lbnRfcGxheW9mZl9pZDogJ3RvdXJuYW1lbnRQbGF5b2ZmSWQnLFxuICAgIHRvdXJuYW1lbnRfcGxheW9mZjogJ3RvdXJuYW1lbnRQbGF5b2ZmJyxcbiAgICB0b3VybmFtZW50X2NvdXJ0OiAndG91cm5hbWVudENvdXJ0JyxcbiAgICBtZWRpYV9jb3VudDogJ21lZGlhQ291bnQnLFxuICAgIG1lZGlhX2xpdmVfY291bnQ6ICdtZWRpYUxpdmVDb3VudCcsXG4gICAgbWVkaWE6ICdtZWRpYScsXG4gICAgdG91cm5hbWVudDogJ3RvdXJuYW1lbnQnLFxuICAgIHRvdXJuYW1lbnRfZ3JvdXA6ICd0b3VybmFtZW50R3JvdXAnLFxuICAgIGFkZGl0aW9uYWxfZGF0YTogJ2FkZGl0aW9uYWxEYXRhJyxcbiAgICBtaGxfY2Fyb3VzZWw6ICdtaGxDYXJvdXNlbCcsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgc3RhdHVzOiBlbnVtRmllbGQoR2FtZVN0YXR1c2VzKSxcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbVNob3J0LFxuICAgIGNvbXBldGl0b3JUZWFtOiBUZWFtLFxuICAgIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydCxcbiAgICBkYXRldGltZTogRGF0ZVRpbWVGaWVsZCxcbiAgICByZXN1bHRUeXBlOiBlbnVtRmllbGQoR2FtZVJlc3VsdFR5cGVzKSxcbiAgICBiYXNrZXRiYWxsR2FtZUNvbmZpZzogQmFza2V0YmFsbEdhbWVDb25maWcsXG4gICAgdm9sbGV5YmFsbEdhbWVDb25maWc6IFZvbGxleWJhbGxHYW1lQ29uZmlnLFxuICAgIGhvY2tleUdhbWVDb25maWc6IEhvY2tleUdhbWVDb25maWcsXG4gICAgZm9vdGJhbGxHYW1lQ29uZmlnOiBGb290YmFsbEdhbWVDb25maWcsXG4gICAgaGFuZGJhbGxHYW1lQ29uZmlnOiBIYW5kYmFsbEdhbWVDb25maWcsXG4gICAgcnVnYnlHYW1lQ29uZmlnOiBSdWdieUdhbWVDb25maWcsXG4gICAgd2F0ZXJwb2xvR2FtZUNvbmZpZzogV2F0ZXJwb2xvR2FtZUNvbmZpZyxcbiAgICB3cmVzdGJhbGxHYW1lQ29uZmlnOiBXcmVzdGJhbGxHYW1lQ29uZmlnLFxuICAgIHRvdXJuYW1lbnRQbGF5b2ZmOiBQbGF5b2ZmLFxuICAgIHRvdXJuYW1lbnRDb3VydDogTGVhZ3VlQ291cnQsXG4gICAgbWVkaWE6IGxpc3RGaWVsZChNZWRpYUl0ZW0pLFxuICAgIHRvdXJuYW1lbnQ6IFRvdXJuYW1lbnQsXG4gICAgdG91cm5hbWVudEdyb3VwOiBUb3VybmFtZW50R3JvdXAsXG4gICAgYWRkaXRpb25hbERhdGE6IEdhbWVBZGRpdGlvbmFsRGF0YSxcbiAgICBtaGxDYXJvdXNlbDogTWhsQ2Fyb3VzZWwsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgR2FtZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIHByaXZhdGUgX2Jhc2tldGJhbGxHYW1lQ29uZmlnOiBCYXNrZXRiYWxsR2FtZUNvbmZpZztcbiAgcHJpdmF0ZSBfdm9sbGV5YmFsbEdhbWVDb25maWc6IFZvbGxleWJhbGxHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9ob2NrZXlHYW1lQ29uZmlnOiBIb2NrZXlHYW1lQ29uZmlnO1xuICBwcml2YXRlIF9mb290YmFsbEdhbWVDb25maWc6IEZvb3RiYWxsR2FtZUNvbmZpZztcbiAgcHJpdmF0ZSBfaGFuZGJhbGxHYW1lQ29uZmlnOiBIYW5kYmFsbEdhbWVDb25maWc7XG4gIHByaXZhdGUgX3J1Z2J5R2FtZUNvbmZpZzogUnVnYnlHYW1lQ29uZmlnO1xuICBwcml2YXRlIF93YXRlcnBvbG9HYW1lQ29uZmlnOiBXYXRlcnBvbG9HYW1lQ29uZmlnO1xuICBwcml2YXRlIF93cmVzdGJhbGxHYW1lQ29uZmlnOiBXcmVzdGJhbGxHYW1lQ29uZmlnO1xuXG4gIGlkOiBudW1iZXI7XG4gIHN0YXR1czogR2FtZVN0YXR1c2VzO1xuICB0ZWFtOiBUZWFtO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydDtcbiAgdGVhbUlkOiBudW1iZXI7XG4gIHRvdXJuYW1lbnRUZWFtSWQ6IG51bWJlcjtcbiAgY29tcGV0aXRvclRlYW06IFRlYW07XG4gIGNvbXBldGl0b3JUb3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW1TaG9ydDtcbiAgY29tcGV0aXRvclRlYW1JZDogbnVtYmVyO1xuICBjb21wZXRpdG9yVG91cm5hbWVudFRlYW1JZDogbnVtYmVyO1xuICBjb21wZXRpdG9yVGVhbU5hbWU6IHN0cmluZztcbiAgZ2FtZUNvbmZpZzogYW55O1xuICBkYXRldGltZTogRGF0ZTtcbiAgbG9jYXRpb246IHN0cmluZztcbiAgdGVhbVNjb3JlOiBudW1iZXI7XG4gIGNvbXBldGl0b3JUZWFtU2NvcmU6IG51bWJlcjtcbiAgcmVzdWx0VHlwZTogR2FtZVJlc3VsdFR5cGVzO1xuICBwbGF5b2ZmTnVtYmVyOiBzdHJpbmc7XG4gIHRvdXJuYW1lbnRJZDogbnVtYmVyO1xuICB0b3VybmFtZW50VG91cjogbnVtYmVyO1xuICBzY29yZUJ5UGVyaW9kOiBhbnk7XG4gIHBsYXlvZmZTdGFnZTogc3RyaW5nO1xuICBwbGF5b2ZmUm91bmQ6IG51bWJlcjtcbiAgdG91cm5hbWVudFN0YWdlSWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudFBsYXlvZmZJZDogbnVtYmVyO1xuICB0b3VybmFtZW50UGxheW9mZjogUGxheW9mZjtcbiAgdG91cm5hbWVudENvdXJ0OiBMZWFndWVDb3VydDtcbiAgbWVkaWFDb3VudDogbnVtYmVyO1xuICBtZWRpYUxpdmVDb3VudDogbnVtYmVyO1xuICBtZWRpYTogTWVkaWFJdGVtW107XG4gIHRvdXJuYW1lbnQ6IFRvdXJuYW1lbnQ7XG4gIHRvdXJuYW1lbnRHcm91cDogVG91cm5hbWVudEdyb3VwO1xuICBhZGRpdGlvbmFsRGF0YTogR2FtZUFkZGl0aW9uYWxEYXRhO1xuICBtaGxDYXJvdXNlbDogTWhsQ2Fyb3VzZWw7XG5cbiAgZ2V0IGJhc2tldGJhbGxHYW1lQ29uZmlnKCk6IEJhc2tldGJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX2Jhc2tldGJhbGxHYW1lQ29uZmlnID0gQmFza2V0YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYmFza2V0YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgYmFza2V0YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9iYXNrZXRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHZvbGxleWJhbGxHYW1lQ29uZmlnKCk6IFZvbGxleWJhbGxHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWcuc2V0c0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3ZvbGxleWJhbGxHYW1lQ29uZmlnID0gVm9sbGV5YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdm9sbGV5YmFsbEdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgdm9sbGV5YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl92b2xsZXliYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGhvY2tleUdhbWVDb25maWcoKTogSG9ja2V5R2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hvY2tleUdhbWVDb25maWcgJiYgdGhpcy5faG9ja2V5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gSG9ja2V5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhvY2tleUdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9ob2NrZXlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgaGFuZGJhbGxHYW1lQ29uZmlnKCk6IEhhbmRiYWxsR2FtZUNvbmZpZyB7XG4gICAgaWYgKHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyAmJiB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nYW1lQ29uZmlnKSB7XG4gICAgICB0aGlzLl9oYW5kYmFsbEdhbWVDb25maWcgPSBIYW5kYmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faGFuZGJhbGxHYW1lQ29uZmlnO1xuICB9XG5cbiAgc2V0IGhhbmRiYWxsR2FtZUNvbmZpZyh2YWx1ZSkge1xuICAgIHRoaXMuX2hhbmRiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvb3RiYWxsR2FtZUNvbmZpZygpOiBGb290YmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl9mb290YmFsbEdhbWVDb25maWcgJiYgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5fZm9vdGJhbGxHYW1lQ29uZmlnID0gRm9vdGJhbGxHYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Zvb3RiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCBmb290YmFsbEdhbWVDb25maWcodmFsdWUpIHtcbiAgICB0aGlzLl9mb290YmFsbEdhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBydWdieUdhbWVDb25maWcoKTogUnVnYnlHYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fcnVnYnlHYW1lQ29uZmlnICYmIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZy5wZXJpb2RzQ291bnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3J1Z2J5R2FtZUNvbmZpZyA9IFJ1Z2J5R2FtZUNvbmZpZy50b0Zyb250KHRoaXMuZ2FtZUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ydWdieUdhbWVDb25maWc7XG4gIH1cblxuICBzZXQgcnVnYnlHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fcnVnYnlHYW1lQ29uZmlnID0gdmFsdWU7XG4gIH1cblxuICBnZXQgd2F0ZXJwb2xvR2FtZUNvbmZpZygpOiBXYXRlcnBvbG9HYW1lQ29uZmlnIHtcbiAgICBpZiAodGhpcy5fd2F0ZXJwb2xvR2FtZUNvbmZpZyAmJiB0aGlzLl93YXRlcnBvbG9HYW1lQ29uZmlnLnBlcmlvZHNDb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWc7XG4gICAgfVxuICAgIGlmICh0aGlzLmdhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWcgPSBXYXRlcnBvbG9HYW1lQ29uZmlnLnRvRnJvbnQodGhpcy5nYW1lQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWc7XG4gIH1cblxuICBzZXQgd2F0ZXJwb2xvR2FtZUNvbmZpZyh2YWx1ZSkge1xuICAgIHRoaXMuX3dhdGVycG9sb0dhbWVDb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB3cmVzdGJhbGxHYW1lQ29uZmlnKCk6IFdyZXN0YmFsbEdhbWVDb25maWcge1xuICAgIGlmICh0aGlzLl93cmVzdGJhbGxHYW1lQ29uZmlnICYmIHRoaXMuX3dyZXN0YmFsbEdhbWVDb25maWcucGVyaW9kc0NvdW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2FtZUNvbmZpZykge1xuICAgICAgdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZyA9IFdyZXN0YmFsbEdhbWVDb25maWcudG9Gcm9udCh0aGlzLmdhbWVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZztcbiAgfVxuXG4gIHNldCB3cmVzdGJhbGxHYW1lQ29uZmlnKHZhbHVlKSB7XG4gICAgdGhpcy5fd3Jlc3RiYWxsR2FtZUNvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNjb3JlQnlQZXJpb2RMaXN0KCk6IHtwZXJpb2Q6IG51bWJlciwgdGVhbVNjb3JlOiBudW1iZXIsIGNvbXBldGl0b3JUZWFtU2NvcmU6IG51bWJlcn1bXSB7XG4gICAgaWYgKCF0aGlzLnNjb3JlQnlQZXJpb2QpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuc2NvcmVCeVBlcmlvZCkubWFwKHBlcmlvZCA9PiAoe1xuICAgICAgcGVyaW9kOiArcGVyaW9kLFxuICAgICAgdGVhbVNjb3JlOiB0aGlzLnNjb3JlQnlQZXJpb2RbcGVyaW9kXVswXSxcbiAgICAgIGNvbXBldGl0b3JUZWFtU2NvcmU6IHRoaXMuc2NvcmVCeVBlcmlvZFtwZXJpb2RdWzFdXG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0IGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gR2FtZVN0YXR1c2VzLmNsb3NlZDtcbiAgfVxuXG4gIGdldCBpc1RlYW1Xb24oKSB7XG4gICAgcmV0dXJuIFtHYW1lUmVzdWx0VHlwZXMudGVhbV93b24sIEdhbWVSZXN1bHRUeXBlcy5jb21wZXRpdG9yX3RlYW1fdGVjaG5pY2FsX2RlZmVhdF0uaW5jbHVkZXModGhpcy5yZXN1bHRUeXBlKTtcbiAgfVxuXG4gIGdldCBpc0NvbXBldGl0b3JUZWFtV29uKCkge1xuICAgIHJldHVybiBbR2FtZVJlc3VsdFR5cGVzLmNvbXBldGl0b3JfdGVhbV93b24sIEdhbWVSZXN1bHRUeXBlcy50ZWFtX3RlY2huaWNhbF9kZWZlYXRdLmluY2x1ZGVzKHRoaXMucmVzdWx0VHlwZSk7XG4gIH1cblxuICBnZXQgdGVhbVdpbm5lcklkKCkge1xuICAgIGlmICghdGhpcy5pc0Nsb3NlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbS5pZCB8fCB0aGlzLnRlYW1JZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDb21wZXRpdG9yVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRvclRlYW0uaWQgfHwgdGhpcy5jb21wZXRpdG9yVGVhbUlkO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldCB0ZWFtTG9zZXJJZCgpIHtcbiAgICBpZiAoIXRoaXMuaXNDbG9zZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1RlYW1Xb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0b3JUZWFtLmlkIHx8IHRoaXMuY29tcGV0aXRvclRlYW1JZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDb21wZXRpdG9yVGVhbVdvbikge1xuICAgICAgcmV0dXJuIHRoaXMudGVhbS5pZCB8fCB0aGlzLnRlYW1JZDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXQgc3BvcnQoKTogU3BvcnQge1xuICAgIGlmICh0aGlzLnRvdXJuYW1lbnQ/LnNwb3J0Py5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMudG91cm5hbWVudC5zcG9ydDtcbiAgICB9XG4gICAgaWYgKHRoaXMudGVhbT8uc3BvcnQ/LmlkKSB7XG4gICAgICByZXR1cm4gdGhpcy50ZWFtLnNwb3J0O1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wZXRpdG9yVGVhbT8uc3BvcnQ/LmlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdG9yVGVhbS5zcG9ydDtcbiAgICB9XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
@@ -1978,6 +1978,51 @@ TournamentTeamShort = __decorate([
1978
1978
  }
1979
1979
  })
1980
1980
  ], TournamentTeamShort);
1981
+ let MhlCarouselTeam = class MhlCarouselTeam extends BaseModel {
1982
+ static toFront(data) { }
1983
+ static toBack(data) { }
1984
+ };
1985
+ __decorate([
1986
+ ToFrontHook
1987
+ ], MhlCarouselTeam, "toFront", null);
1988
+ __decorate([
1989
+ ToBackHook
1990
+ ], MhlCarouselTeam, "toBack", null);
1991
+ MhlCarouselTeam = __decorate([
1992
+ ModelInstance({
1993
+ mappingFields: {
1994
+ team: 'team',
1995
+ tournament_team: 'tournamentTeam',
1996
+ score: 'score',
1997
+ score_by_period: 'scoreByPeriod',
1998
+ },
1999
+ relation: {
2000
+ team: Team,
2001
+ tournamentTeam: TournamentTeamShort,
2002
+ }
2003
+ })
2004
+ ], MhlCarouselTeam);
2005
+ let MhlCarousel = class MhlCarousel extends BaseModel {
2006
+ static toFront(data) { }
2007
+ static toBack(data) { }
2008
+ };
2009
+ __decorate([
2010
+ ToFrontHook
2011
+ ], MhlCarousel, "toFront", null);
2012
+ __decorate([
2013
+ ToBackHook
2014
+ ], MhlCarousel, "toBack", null);
2015
+ MhlCarousel = __decorate([
2016
+ ModelInstance({
2017
+ mappingFields: {
2018
+ game_ids: 'gameIds',
2019
+ teams: 'teams',
2020
+ },
2021
+ relation: {
2022
+ teams: listField(MhlCarouselTeam),
2023
+ }
2024
+ })
2025
+ ], MhlCarousel);
1981
2026
  let Game = class Game extends BaseModel {
1982
2027
  get basketballGameConfig() {
1983
2028
  if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {
@@ -2183,6 +2228,7 @@ Game = __decorate([
2183
2228
  tournament: 'tournament',
2184
2229
  tournament_group: 'tournamentGroup',
2185
2230
  additional_data: 'additionalData',
2231
+ mhl_carousel: 'mhlCarousel',
2186
2232
  },
2187
2233
  relation: {
2188
2234
  status: enumField(GameStatuses),
@@ -2206,6 +2252,7 @@ Game = __decorate([
2206
2252
  tournament: Tournament,
2207
2253
  tournamentGroup: TournamentGroup,
2208
2254
  additionalData: GameAdditionalData,
2255
+ mhlCarousel: MhlCarousel,
2209
2256
  }
2210
2257
  })
2211
2258
  ], Game);
@@ -11976,5 +12023,5 @@ HttpCookieInterceptor.ctorParameters = () => [
11976
12023
  * Generated bundle index. Do not edit.
11977
12024
  */
11978
12025
 
11979
- export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameAdditionalData, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTeamAdditionalData, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, GameWaterpoloPosition, GameWaterpoloPositionLocalization, GameWaterpoloPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueFieldBase, LeagueFieldBaseValue, LeagueFieldTypes, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlayerField, LeaguePlayerFieldValue, LeaguePlaylist, LeagueTeamApi, LeagueTeamField, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RoundTeamGame, RugbyFoulGameStage, RugbyFoulGameStageLocalization, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StageTeamGame, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamAdditionalData, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, TimerTypes, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentDivision, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentRound, TournamentRoundApi, TournamentRoundSettings, TournamentRoundTeam, TournamentRoundTypes, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamFieldValue, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WaterpoloAdvantageTypes, WaterpoloGameApi, WaterpoloGameConfig, WaterpoloGameLog, WaterpoloGameLogTypeLocalization, WaterpoloGameLogTypes, WaterpoloGameStatistic, WaterpoloGameTeamStatistic, WaterpoloProfile, WaterpoloStatistic, WaterpoloStatisticTypes, WaterpoloWorkHand, WaterpoloWorkHandLocalization, WorkHand, WorkHandLocalization, WrestballGameApi, WrestballGameConfig, WrestballGameLog, WrestballGameLogTypeLocalization, WrestballGameLogTypes, WrestballGameStatistic, WrestballGameTeamStatistic, WrestballProfile, WrestballStatistic, WrestballStatisticTypes, WrestballWorkHand, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
12026
+ export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameAdditionalData, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTeamAdditionalData, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, GameWaterpoloPosition, GameWaterpoloPositionLocalization, GameWaterpoloPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueFieldBase, LeagueFieldBaseValue, LeagueFieldTypes, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlayerField, LeaguePlayerFieldValue, LeaguePlaylist, LeagueTeamApi, LeagueTeamField, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, MhlCarousel, MhlCarouselTeam, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RoundTeamGame, RugbyFoulGameStage, RugbyFoulGameStageLocalization, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StageTeamGame, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamAdditionalData, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, TimerTypes, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentDivision, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentRound, TournamentRoundApi, TournamentRoundSettings, TournamentRoundTeam, TournamentRoundTypes, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamFieldValue, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WaterpoloAdvantageTypes, WaterpoloGameApi, WaterpoloGameConfig, WaterpoloGameLog, WaterpoloGameLogTypeLocalization, WaterpoloGameLogTypes, WaterpoloGameStatistic, WaterpoloGameTeamStatistic, WaterpoloProfile, WaterpoloStatistic, WaterpoloStatisticTypes, WaterpoloWorkHand, WaterpoloWorkHandLocalization, WorkHand, WorkHandLocalization, WrestballGameApi, WrestballGameConfig, WrestballGameLog, WrestballGameLogTypeLocalization, WrestballGameLogTypes, WrestballGameStatistic, WrestballGameTeamStatistic, WrestballProfile, WrestballStatistic, WrestballStatisticTypes, WrestballWorkHand, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
11980
12027
  //# sourceMappingURL=mtgame-core.js.map