@bizdoc/core 2.3.20 → 2.3.21

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.
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Component, Inject, HostBinding } from '@angular/core';
3
3
  import dayjs from 'dayjs';
4
4
  import { tap } from 'rxjs/operators';
5
- import { forkJoin, catchError } from 'rxjs';
5
+ import { forkJoin } from 'rxjs';
6
6
  import { DayMarkersService, Gantt, SelectionService } from '@syncfusion/ej2-angular-gantt';
7
7
  import { BIZDOC_CONFIG } from '../../core/configuration';
8
8
  import { BizDoc } from '../../core/decorators';
@@ -107,6 +107,7 @@ let TimelineViewComponent = class TimelineViewComponent {
107
107
  // durationUnit: 'Hour',
108
108
  taskbarHeight: 30,
109
109
  rowHeight: 40,
110
+ height: '420px',
110
111
  width: '100%', //this.width
111
112
  // dayWorkingTime: this.dayWorkingTime
112
113
  }, this._element.nativeElement);
@@ -116,7 +117,7 @@ let TimelineViewComponent = class TimelineViewComponent {
116
117
  evt.taskbarBgColor = this._session.getAccent();
117
118
  }
118
119
  _prepare() {
119
- const promisses = [];
120
+ const observables = [], tasks = [];
120
121
  let i = 0;
121
122
  //const observable = this._mailbox.timeline(model.documentId).pipe(tap(t => {
122
123
  //}))
@@ -145,7 +146,7 @@ let TimelineViewComponent = class TimelineViewComponent {
145
146
  }
146
147
  else
147
148
  task.ending = this.model.completed ? new Date(l.time) : new Date();
148
- this.tasks.push(task);
149
+ tasks.push(task);
149
150
  break;
150
151
  }
151
152
  case 'ModelChange':
@@ -163,14 +164,14 @@ let TimelineViewComponent = class TimelineViewComponent {
163
164
  }
164
165
  else
165
166
  task.ending = new Date();
166
- const state = this.tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
167
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
167
168
  if (state) {
168
169
  if (!state.subtasks)
169
170
  state.subtasks = [];
170
171
  state.subtasks.push(task);
171
172
  }
172
173
  else
173
- this.tasks.push(task);
174
+ tasks.push(task);
174
175
  break;
175
176
  }
176
177
  case 'ActionTaken':
@@ -190,19 +191,19 @@ let TimelineViewComponent = class TimelineViewComponent {
190
191
  };
191
192
  if (l.nodeId) {
192
193
  this.model.workflow.connectors.filter(c => c.targetId === l.nodeId).forEach(c => {
193
- const dependencies = this.tasks.filter(l => l.nodeId === c.sourceId).map(l => `FS${l.id}`);
194
+ const dependencies = tasks.filter(l => l.nodeId === c.sourceId).map(l => `FS${l.id}`);
194
195
  if (dependencies.length)
195
196
  task.dependencies = dependencies.join(',');
196
197
  });
197
198
  }
198
- const state = this.tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
199
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
199
200
  if (state) {
200
201
  if (!state.subtasks)
201
202
  state.subtasks = [];
202
203
  state.subtasks.push(task);
203
204
  }
204
205
  else
205
- this.tasks.push(task);
206
+ tasks.push(task);
206
207
  break;
207
208
  }
208
209
  default:
@@ -210,31 +211,25 @@ let TimelineViewComponent = class TimelineViewComponent {
210
211
  }
211
212
  if (l.byId) {
212
213
  const who = this._users.get(l.userId), by = this._users.get(l.byId);
213
- const promise = forkJoin([who, by]).pipe(tap(ns => {
214
+ const observe = forkJoin([who, by]).pipe(tap(ns => {
214
215
  const [who, by] = ns;
215
216
  task.name = this._translate.get('By', who.name, by.name);
216
217
  // if (l.role) {
217
218
  // const role = this.session.profile.roles.find(o => o.name === l.role);
218
219
  // if (role) task.name += `, ${role.name}`;
219
220
  // }
220
- }), catchError(() => {
221
- this._ps.error();
222
- throw new Error();
223
221
  }));
224
- promisses.push(promise);
222
+ observables.push(observe);
225
223
  }
226
224
  else if (l.userId) {
227
- const promise = this._users.get(l.userId).pipe(tap(u => {
225
+ const observe = this._users.get(l.userId).pipe(tap(u => {
228
226
  task.name = u.name;
229
227
  // if (l.role) {
230
228
  // const role = this.session.profile.roles.find(o => o.name === l.role);
231
229
  // if (role) task.name += `, ${role.name}`;
232
230
  // }
233
- }), catchError(() => {
234
- this._ps.error();
235
- throw new Error();
236
231
  }));
237
- promisses.push(promise);
232
+ observables.push(observe);
238
233
  }
239
234
  });
240
235
  this.model.events.forEach(e => {
@@ -255,7 +250,7 @@ let TimelineViewComponent = class TimelineViewComponent {
255
250
  if (r.substituteId) {
256
251
  const by = this._users.get(r.substituteId);
257
252
  const who = this._users.get(r.userId);
258
- const promise = forkJoin([who, by]).pipe(tap(u => {
253
+ const observe = forkJoin([who, by]).pipe(tap(u => {
259
254
  task.name = this._translate.get('WhoSubstituting', u[0].name, u[1].name);
260
255
  if (u[0].role)
261
256
  task.name += `, ${u[0].role}`;
@@ -264,14 +259,11 @@ let TimelineViewComponent = class TimelineViewComponent {
264
259
  if (role)
265
260
  task.name += `, ${role.name}`;
266
261
  }
267
- }), catchError(() => {
268
- this._ps.error();
269
- throw new Error();
270
262
  }));
271
- promisses.push(promise);
263
+ observables.push(observe);
272
264
  }
273
265
  else {
274
- const promise = this._users.get(r.userId).pipe(tap(u => {
266
+ const observe = this._users.get(r.userId).pipe(tap(u => {
275
267
  task.name = u.name;
276
268
  if (u.role)
277
269
  task.name += `, ${u.role}`;
@@ -280,40 +272,45 @@ let TimelineViewComponent = class TimelineViewComponent {
280
272
  if (role)
281
273
  task.name += `, ${role.name}`;
282
274
  }
283
- }), catchError(() => {
284
- this._ps.error();
285
- throw new Error();
286
275
  }));
287
- promisses.push(promise);
276
+ observables.push(observe);
288
277
  }
289
278
  if (r.nodeId) {
290
279
  this.model.workflow.connectors.filter(c => c.targetId === r.nodeId).forEach(c => {
291
- const predecessors = this.tasks.filter(l => l.nodeId === c.sourceId).map(l => l.id);
280
+ const predecessors = tasks.filter(l => l.nodeId === c.sourceId).map(l => l.id);
292
281
  if (predecessors.length)
293
282
  task.dependencies = predecessors.join(',');
294
283
  });
295
284
  }
296
- const state = this.tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.time));
285
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.time));
297
286
  if (state) {
298
287
  if (!state.subtasks)
299
288
  state.subtasks = [];
300
289
  state.subtasks.push(task);
301
290
  }
302
291
  else
303
- this.tasks.push(task);
292
+ tasks.push(task);
304
293
  });
305
- return forkJoin(promisses).
306
- pipe(tap(() => this.tasks = this.tasks.sort((t0, t1) => t0.time > t1.time ? 1 : -1)));
294
+ return forkJoin(observables).
295
+ pipe(tap(() => this.tasks = tasks.sort((t0, t1) => t0.time > t1.time ? 1 : -1)));
307
296
  }
308
- rowSelecting(r) {
309
- if (r.data.taskData.type === 'ModelChange')
310
- this._compare(r.data);
297
+ /**
298
+ *
299
+ * @param row
300
+ */
301
+ rowSelecting(row) {
302
+ if (row.data.taskData.type === 'ModelChange')
303
+ this._compare(row.data);
311
304
  }
305
+ /**
306
+ *
307
+ * @param task
308
+ */
312
309
  _compare(task) {
313
310
  this._router.navigate(['mailbox/d', this.model.documentId.encodeId(), 'version', task.time.valueOf().encodeId()], { state: { item: this.model } });
314
311
  }
315
312
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.PromptService }, { token: i2.DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: i3.AccountService }, { token: i4.SessionService }, { token: i5.TranslateService }, { token: i6.RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }); }
313
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { attributes: { "id": "doc-timeline" }, properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }); }
317
314
  };
318
315
  TimelineViewComponent = __decorate([
319
316
  BizDoc({ selector: 'bizdoc-timeline-view' })
@@ -322,11 +319,14 @@ TimelineViewComponent = __decorate([
322
319
  export { TimelineViewComponent };
323
320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TimelineViewComponent, decorators: [{
324
321
  type: Component,
325
- args: [{ selector: 'bizdoc-timeline', template: '', host: { class: 'view' }, providers: [SelectionService, DayMarkersService], styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }]
322
+ args: [{ selector: 'bizdoc-timeline', template: '', host: {
323
+ class: 'view',
324
+ id: 'doc-timeline'
325
+ }, providers: [SelectionService, DayMarkersService], styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }]
326
326
  }], ctorParameters: () => [{ type: i1.PromptService }, { type: i2.DocumentViewRef }, { type: undefined, decorators: [{
327
327
  type: Inject,
328
328
  args: [BIZDOC_CONFIG]
329
329
  }] }, { type: i3.AccountService }, { type: i4.SessionService }, { type: i5.TranslateService }, { type: i6.RouterImpl }, { type: i0.ElementRef }], propDecorators: { dir: [{
330
330
  type: HostBinding
331
331
  }] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFjLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFlLGlCQUFpQixFQUF5QyxLQUFLLEVBQWdFLGdCQUFnQixFQUF5RixNQUFNLCtCQUErQixDQUFDO0FBT3BTLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWF4QyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQVdoQyx5QkFBeUI7SUFDekIsWUFDVSxHQUFrQixFQUMxQixPQUFpQyxFQUNWLE1BQW9CLEVBQ25DLE1BQXNCLEVBQ3RCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQW1CLEVBQ25CLFFBQW9CO1FBUHBCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFHbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBbEJyQixRQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDOUIsV0FBTSxH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QWpSVSxxQkFBcUIsOEVBZXRCLGFBQWE7a0dBZloscUJBQXFCLCtHQUpyQixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLDBCQUh0QyxFQUFFOztBQU9ELHFCQUFxQjtJQUZqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztJQUM3Qyw2QkFBNkI7R0FDaEIscUJBQXFCLENBb1RqQzs7MkZBcFRZLHFCQUFxQjtrQkFUakMsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakIsRUFBRSxRQUVOLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUNaLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7OzBCQW1CN0MsTUFBTTsyQkFBQyxhQUFhO29MQWJkLEdBQUc7c0JBRFgsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29sdW1uTW9kZWwsIERheU1hcmtlcnNTZXJ2aWNlLCBEYXlXb3JraW5nVGltZU1vZGVsLCBFdmVudE1hcmtlck1vZGVsLCBHYW50dCwgSG9saWRheU1vZGVsLCBJUXVlcnlUYXNrYmFySW5mb0V2ZW50QXJncywgTGFiZWxTZXR0aW5nc01vZGVsLCBTZWxlY3Rpb25TZXJ2aWNlLCBTZWxlY3Rpb25TZXR0aW5nc01vZGVsLCBTcGxpdHRlclNldHRpbmdzTW9kZWwsIFRhc2tGaWVsZHNNb2RlbCwgVGltZWxpbmVTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ2FudHQnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBDaGFpbiwgRG9jdW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvcm91dGVyJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3UmVmIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlldy1yZWYnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtdGltZWxpbmUnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZVVybHM6IFsndGltZWxpbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAndmlldycgfSxcclxuICBwcm92aWRlcnM6IFtTZWxlY3Rpb25TZXJ2aWNlLCBEYXlNYXJrZXJzU2VydmljZV1cclxufSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnYml6ZG9jLXRpbWVsaW5lLXZpZXcnIH0pXHJcbi8qKiB0aW1lbGluZS12aWV3IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBEb2N1bWVudFZpZXdDb21wb25lbnQge1xyXG4gIEBIb3N0QmluZGluZygpXHJcbiAgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb247XHJcbiAgcmVhZG9ubHkgbG9jYWxlID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZTtcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIGdhbnR0OiBHYW50dDtcclxuICBkYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgaG9saWRheXM6IEhvbGlkYXlNb2RlbFtdO1xyXG4gIHdpZHRoOiBudW1iZXIgPSAwO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvblNldHRpbmdzID0ge30gYXMgU2VsZWN0aW9uU2V0dGluZ3NNb2RlbDtcclxuICB0YXNrczogVGFza1tdO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aCAtIDE2O1xyXG4gICAgICBpZiAodGhpcy5nYW50dCkge1xyXG4gICAgICAgIHRoaXMuZ2FudHQud2lkdGggPSBkLndpZHRoIC0gMTY7XHJcbiAgICAgICAgdGhpcy5nYW50dC53aW5kb3dSZXNpemUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgICB0aGlzLl9wcmVwYXJlKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICAvL3RoaXMuZ2FudHQuc2Nyb2xsVG9EYXRlKG5ldyBEYXRlKCkudG9TdHJpbmcoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuZ2FudHQgJiYgdGhpcy5nYW50dC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdhbnR0ID0gbmV3IEdhbnR0KHtcclxuICAgICAgZGF0YVNvdXJjZTogdGhpcy50YXNrcyxcclxuICAgICAgcXVlcnlUYXNrYmFySW5mbzogdGhpcy5xdWVyeVRhc2tiYXJJbmZvLmJpbmQodGhpcyksXHJcbiAgICAgIHRhc2tGaWVsZHM6IHRoaXMudGFza0ZpZWxkcyxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAvL3ZpZXdUeXBlOiAnUHJvamVjdFZpZXcnLFxyXG4gICAgICAvL2FsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgLy90aW1lbGluZVNldHRpbmdzOiB7fSxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsIC8vdGhpcy53aWR0aFxyXG4gICAgICAvLyAgZGF5V29ya2luZ1RpbWU6IHRoaXMuZGF5V29ya2luZ1RpbWVcclxuICAgIH0sIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGMgPT5cclxuICAgICAgdGhpcy5nYW50dC5oaWRlQ29sdW1uKGMuZmllbGQpXHJcbiAgICApXHJcbiAgfVxyXG4gIHF1ZXJ5VGFza2JhckluZm8oZXZ0OiBJUXVlcnlUYXNrYmFySW5mb0V2ZW50QXJncykge1xyXG4gICAgZXZ0LnRhc2tiYXJCZ0NvbG9yID0gdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZSgpOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xyXG4gICAgY29uc3QgcHJvbWlzc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgbGV0IGkgPSAwO1xyXG5cclxuICAgIC8vY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudGltZWxpbmUobW9kZWwuZG9jdW1lbnRJZCkucGlwZSh0YXAodCA9PiB7XHJcbiAgICAvL30pKVxyXG5cclxuICAgIHRoaXMubW9kZWwubG9nLmZvckVhY2gobCA9PiB7XHJcbiAgICAgIGxldCB0YXNrOiBUYXNrO1xyXG4gICAgICBzd2l0Y2ggKGwudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICB0aGlzLmV2ZW50TWFya2Vycy5wdXNoKHtcclxuICAgICAgICAgICAgZGF5OiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlLmdldCgnU3VibWl0aW9uJylcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGNhc2UgJ1N0YXRlQ2hhbmdlJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuc3RhdGVzLmZpbmQocyA9PiBzLm5hbWUgPT09IGwuc3RhdGUpO1xyXG4gICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgdGltZTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICB0aXRsZTogc3RhdGUgPyBzdGF0ZS5wYXN0IHx8IHN0YXRlLnRpdGxlIDogbC5zdGF0ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5kdXJhdGlvbikge1xyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gdGhpcy5tb2RlbC5jb21wbGV0ZWQgPyBuZXcgRGF0ZShsLnRpbWUpIDogbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgdGhpcy50YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBjYXNlICdNb2RlbENoYW5nZSc6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRhc2sgPSB7XHJcbiAgICAgICAgICAgICAgaWQ6IGkrKyxcclxuICAgICAgICAgICAgICB0eXBlOiBsLnR5cGUsXHJcbiAgICAgICAgICAgICAgbm9kZUlkOiBsLm5vZGVJZCxcclxuICAgICAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFZGl0ZWQnKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5kdXJhdGlvbikge1xyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMudGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgaWYgKHN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgaWYgKCFzdGF0ZS5zdWJ0YXNrcykgc3RhdGUuc3VidGFza3MgPSBbXTtcclxuICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0aGlzLnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ0FjdGlvblRha2VuJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbC5hY3Rpb24pO1xyXG4gICAgICAgICAgICBpZiAobC5hY3Rpb24gPT09ICdkZWxldGUnKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBkYXlqcyhsLnRpbWUpO1xyXG4gICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgZW5kaW5nOiB0aW1lLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpbWU6IHRpbWUuYWRkKC0gbC5kdXJhdGlvbiwgJ3MnKS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICBkdXJhdGlvbjogbC5kdXJhdGlvbiAqIDEwMDAsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IGFjdGlvbiA/IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZSA6IGwuYWN0aW9uXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChsLm5vZGVJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kZWwud29ya2Zsb3cuY29ubmVjdG9ycy5maWx0ZXIoYyA9PiBjLnRhcmdldElkID09PSBsLm5vZGVJZCkuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHRoaXMudGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGBGUyR7bC5pZH1gKTtcclxuICAgICAgICAgICAgICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoKSB0YXNrLmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcy5qb2luKCcsJyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2suZW5kaW5nKSk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICAgICAgICAgIGlmICghc3RhdGUuc3VidGFza3MpIHN0YXRlLnN1YnRhc2tzID0gW107XHJcbiAgICAgICAgICAgICAgc3RhdGUuc3VidGFza3MucHVzaCh0YXNrKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhpcy50YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChsLmJ5SWQpIHtcclxuICAgICAgICBjb25zdCB3aG8gPSB0aGlzLl91c2Vycy5nZXQobC51c2VySWQpLFxyXG4gICAgICAgICAgYnkgPSB0aGlzLl91c2Vycy5nZXQobC5ieUlkKTtcclxuICAgICAgICBjb25zdCBwcm9taXNlID0gZm9ya0pvaW4oW3dobywgYnldKS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBbd2hvLCBieV0gPSBucztcclxuICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5Jywgd2hvLm5hbWUsIGJ5Lm5hbWUpO1xyXG4gICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgLy8gICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnNlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSBsLnJvbGUpO1xyXG4gICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICB9KSwgY2F0Y2hFcnJvcigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChsLnVzZXJJZCkge1xyXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLl91c2Vycy5nZXQobC51c2VySWQpLnBpcGUodGFwKHUgPT4ge1xyXG4gICAgICAgICAgdGFzay5uYW1lID0gdS5uYW1lO1xyXG4gICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgLy8gICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnNlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSBsLnJvbGUpO1xyXG4gICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICB9KSwgY2F0Y2hFcnJvcigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9kZWwuZXZlbnRzLmZvckVhY2goZSA9PiB7XHJcbiAgICAgIHRoaXMuZXZlbnRNYXJrZXJzLnB1c2goe1xyXG4gICAgICAgIGRheTogbmV3IERhdGUoZS5zdGFydGluZyksXHJcbiAgICAgICAgbGFiZWw6IGUudGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9kZWwucmVjaXBpZW50cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBpZiAoIXIucGVuZGluZylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IHRhc2s6IFRhc2sgPSB7XHJcbiAgICAgICAgaWQ6IGkrKyxcclxuICAgICAgICB0eXBlOiAncGVuZGluZycsXHJcbiAgICAgICAgdGltZTogbmV3IERhdGUoci5yZWNlaXZlZCksXHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0lzUGVuZGluZycpXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChyLnN1YnN0aXR1dGVJZCkge1xyXG4gICAgICAgIGNvbnN0IGJ5ID0gdGhpcy5fdXNlcnMuZ2V0KHIuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICBjb25zdCB3aG8gPSB0aGlzLl91c2Vycy5nZXQoci51c2VySWQpO1xyXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBmb3JrSm9pbihbd2hvLCBieV0pLnBpcGUodGFwKHUgPT4ge1xyXG4gICAgICAgICAgdGFzay5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnV2hvU3Vic3RpdHV0aW5nJywgdVswXS5uYW1lLCB1WzFdLm5hbWUpO1xyXG4gICAgICAgICAgaWYgKHVbMF0ucm9sZSlcclxuICAgICAgICAgICAgdGFzay5uYW1lICs9IGAsICR7dVswXS5yb2xlfWA7XHJcbiAgICAgICAgICBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLCBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3BzLmVycm9yKCk7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLl91c2Vycy5nZXQoci51c2VySWQpLnBpcGUodGFwKHUgPT4ge1xyXG4gICAgICAgICAgdGFzay5uYW1lID0gdS5uYW1lO1xyXG4gICAgICAgICAgaWYgKHUucm9sZSlcclxuICAgICAgICAgICAgdGFzay5uYW1lICs9IGAsICR7dS5yb2xlfWA7XHJcbiAgICAgICAgICBlbHNlIGlmIChyLnJvbGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSByLnJvbGUpO1xyXG4gICAgICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoci5ub2RlSWQpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLndvcmtmbG93LmNvbm5lY3RvcnMuZmlsdGVyKGMgPT4gYy50YXJnZXRJZCA9PT0gci5ub2RlSWQpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwcmVkZWNlc3NvcnMgPSB0aGlzLnRhc2tzLmZpbHRlcihsID0+IGwubm9kZUlkID09PSBjLnNvdXJjZUlkKS5tYXAobCA9PiBsLmlkKTtcclxuICAgICAgICAgIGlmIChwcmVkZWNlc3NvcnMubGVuZ3RoKSB0YXNrLmRlcGVuZGVuY2llcyA9IHByZWRlY2Vzc29ycy5qb2luKCcsJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMudGFza3MucHVzaCh0YXNrKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKHByb21pc3NlcykuXHJcbiAgICAgIHBpcGUodGFwKCgpID0+IHRoaXMudGFza3MgPSB0aGlzLnRhc2tzLnNvcnQoKHQwLCB0MSkgPT4gdDAudGltZSA+IHQxLnRpbWUgPyAxIDogLTEpKSk7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGluZyhyKSB7XHJcbiAgICBpZiAoci5kYXRhLnRhc2tEYXRhLnR5cGUgPT09ICdNb2RlbENoYW5nZScpXHJcbiAgICAgIHRoaXMuX2NvbXBhcmUoci5kYXRhKTtcclxuICB9XHJcbiAgcHVibGljIF9jb21wYXJlKHRhc2s6IFRhc2spIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvZCcsIHRoaXMubW9kZWwuZG9jdW1lbnRJZC5lbmNvZGVJZCgpLCAndmVyc2lvbicsIHRhc2sudGltZS52YWx1ZU9mKCkuZW5jb2RlSWQoKV0sIHsgc3RhdGU6IHsgaXRlbTogdGhpcy5tb2RlbCB9IH0pXHJcbiAgfVxyXG4gIHJlYWRvbmx5IHRhc2tGaWVsZHM6IFRhc2tGaWVsZHNNb2RlbCA9IHtcclxuICAgIGlkOiAnaWQnLFxyXG4gICAgbmFtZTogJ3RpdGxlJyxcclxuICAgIHN0YXJ0RGF0ZTogJ3RpbWUnLFxyXG4gICAgZW5kRGF0ZTogJ2VuZGluZycsXHJcbiAgICBkdXJhdGlvbjogJ2R1cmF0aW9uJyxcclxuICAgIGRlcGVuZGVuY3k6ICdkZXBlbmRlbmNpZXMnLFxyXG4gICAgY2hpbGQ6ICdzdWJ0YXNrcydcclxuICB9O1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcmVhZG9ubHkgdG9vbHRpcFNldHRpbmdzID0geyBzaG93VG9vbHRpcDogZmFsc2UgfTtcclxuICByZWFkb25seSB0aW1lbGluZVNldHRpbmdzOiBUaW1lbGluZVNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB0aW1lbGluZVVuaXRTaXplOiA2MCxcclxuICAgIHRvcFRpZXI6IHtcclxuICAgICAgZm9ybWF0OiAnTU1NIGRkLCB5eXl5JyxcclxuICAgICAgdW5pdDogJ0RheScsXHJcbiAgICB9LFxyXG4gICAgYm90dG9tVGllcjoge1xyXG4gICAgICB1bml0OiAnSG91cicsXHJcbiAgICAgIGZvcm1hdDogJ2gubW0gYSdcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGV2ZW50TWFya2VyczogRXZlbnRNYXJrZXJNb2RlbFtdID0gW1xyXG4gIF07XHJcbiAgcHVibGljIGxhYmVsU2V0dGluZ3M6IExhYmVsU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHJpZ2h0TGFiZWw6ICduYW1lJywgbGVmdExhYmVsOiAndGl0bGUnXHJcbiAgfTtcclxuICBwdWJsaWMgc3BsaXR0ZXJTZXR0aW5nczogU3BsaXR0ZXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgY29sdW1uSW5kZXg6IDMsXHJcbiAgICB2aWV3OiAnQ2hhcnQnLFxyXG4gICAgcG9zaXRpb246ICcwJyxcclxuICAgIHNlcGFyYXRvclNpemU6IDBcclxuICB9O1xyXG4gIHB1YmxpYyBkYXlXb3JraW5nVGltZTogRGF5V29ya2luZ1RpbWVNb2RlbFtdID0gW3sgZnJvbTogMCwgdG86IDI0IH1dO1xyXG59XHJcbmludGVyZmFjZSBUYXNrIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBub2RlSWQ/OiBzdHJpbmc7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIGVuZGluZz86IERhdGU7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgc3VidGFza3M/OiBUYXNrW107XHJcbiAgZGVwZW5kZW5jaWVzPzogc3RyaW5nO1xyXG4gIGluZGljYXRvcnM/OiBhbnlbXSxcclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcblxyXG59XHJcbiJdfQ==
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFjLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQWUsaUJBQWlCLEVBQXlDLEtBQUssRUFBZ0UsZ0JBQWdCLEVBQXlGLE1BQU0sK0JBQStCLENBQUM7QUFPcFMsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBZ0J4QyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQVVoQyx5QkFBeUI7SUFDekIsWUFDVSxHQUFrQixFQUMxQixPQUFpQyxFQUNWLE1BQW9CLEVBQ25DLE1BQXNCLEVBQ3RCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQW1CLEVBQ25CLFFBQW9CO1FBUHBCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFHbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBakJyQixRQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUks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QUc7UUFDZCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxhQUFhO1lBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsSUFBVTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDcEosQ0FBQzs4R0E3UVUscUJBQXFCLDhFQWN0QixhQUFhO2tHQWRaLHFCQUFxQixxSkFKckIsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQywwQkFOdEMsRUFBRTs7QUFVRCxxQkFBcUI7SUFGakMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7SUFDN0MsNkJBQTZCO0dBQ2hCLHFCQUFxQixDQWlUakM7OzJGQWpUWSxxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCLEVBQUUsUUFFTjt3QkFDSixLQUFLLEVBQUUsTUFBTTt3QkFDYixFQUFFLEVBQUUsY0FBYztxQkFDbkIsYUFDVSxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDOzswQkFrQjdDLE1BQU07MkJBQUMsYUFBYTtvTEFaZCxHQUFHO3NCQURYLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbHVtbk1vZGVsLCBEYXlNYXJrZXJzU2VydmljZSwgRGF5V29ya2luZ1RpbWVNb2RlbCwgRXZlbnRNYXJrZXJNb2RlbCwgR2FudHQsIEhvbGlkYXlNb2RlbCwgSVF1ZXJ5VGFza2JhckluZm9FdmVudEFyZ3MsIExhYmVsU2V0dGluZ3NNb2RlbCwgU2VsZWN0aW9uU2VydmljZSwgU2VsZWN0aW9uU2V0dGluZ3NNb2RlbCwgU3BsaXR0ZXJTZXR0aW5nc01vZGVsLCBUYXNrRmllbGRzTW9kZWwsIFRpbWVsaW5lU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdhbnR0JztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQ2hhaW4sIERvY3VtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXctcmVmJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXRpbWVsaW5lJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ3RpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd2aWV3JyxcclxuICAgIGlkOiAnZG9jLXRpbWVsaW5lJ1xyXG4gIH0sXHJcbiAgcHJvdmlkZXJzOiBbU2VsZWN0aW9uU2VydmljZSwgRGF5TWFya2Vyc1NlcnZpY2VdXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy10aW1lbGluZS12aWV3JyB9KVxyXG4vKiogdGltZWxpbmUtdmlldyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgRG9jdW1lbnRWaWV3Q29tcG9uZW50IHtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGRpciA9IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uO1xyXG4gIHJlYWRvbmx5IGxvY2FsZSA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2U7XHJcbiAgbW9kZWw6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBnYW50dDogR2FudHQ7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIGhvbGlkYXlzOiBIb2xpZGF5TW9kZWxbXTtcclxuICB3aWR0aDogbnVtYmVyID0gMDtcclxuICB0YXNrczogVGFza1tdO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aCAtIDE2O1xyXG4gICAgICBpZiAodGhpcy5nYW50dCkge1xyXG4gICAgICAgIHRoaXMuZ2FudHQud2lkdGggPSBkLndpZHRoIC0gMTY7XHJcbiAgICAgICAgdGhpcy5nYW50dC53aW5kb3dSZXNpemUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgICB0aGlzLl9wcmVwYXJlKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICAvL3RoaXMuZ2FudHQuc2Nyb2xsVG9EYXRlKG5ldyBEYXRlKCkudG9TdHJpbmcoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuZ2FudHQgJiYgdGhpcy5nYW50dC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdhbnR0ID0gbmV3IEdhbnR0KHtcclxuICAgICAgZGF0YVNvdXJjZTogdGhpcy50YXNrcyxcclxuICAgICAgcXVlcnlUYXNrYmFySW5mbzogdGhpcy5xdWVyeVRhc2tiYXJJbmZvLmJpbmQodGhpcyksXHJcbiAgICAgIHRhc2tGaWVsZHM6IHRoaXMudGFza0ZpZWxkcyxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAvL3ZpZXdUeXBlOiAnUHJvamVjdFZpZXcnLFxyXG4gICAgICAvL2FsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgLy90aW1lbGluZVNldHRpbmdzOiB7fSxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIGhlaWdodDogJzQyMHB4JyxcclxuICAgICAgd2lkdGg6ICcxMDAlJywgLy90aGlzLndpZHRoXHJcbiAgICAgIC8vICBkYXlXb3JraW5nVGltZTogdGhpcy5kYXlXb3JraW5nVGltZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KVxyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PlxyXG4gICAgICB0aGlzLmdhbnR0LmhpZGVDb2x1bW4oYy5maWVsZClcclxuICAgIClcclxuICB9XHJcbiAgcXVlcnlUYXNrYmFySW5mbyhldnQ6IElRdWVyeVRhc2tiYXJJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBldnQudGFza2JhckJnQ29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldEFjY2VudCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9wcmVwYXJlKCk6IE9ic2VydmFibGU8VGFza1tdPiB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXSwgdGFza3MgOiBUYXNrW10gPSBbXTtcclxuICAgIGxldCBpID0gMDtcclxuXHJcbiAgICAvL2NvbnN0IG9ic2VydmFibGUgPSB0aGlzLl9tYWlsYm94LnRpbWVsaW5lKG1vZGVsLmRvY3VtZW50SWQpLnBpcGUodGFwKHQgPT4ge1xyXG4gICAgLy99KSlcclxuXHJcbiAgICB0aGlzLm1vZGVsLmxvZy5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICBsZXQgdGFzazogVGFzaztcclxuICAgICAgc3dpdGNoIChsLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdTdWJtaXQnOlxyXG4gICAgICAgICAgdGhpcy5ldmVudE1hcmtlcnMucHVzaCh7XHJcbiAgICAgICAgICAgIGRheTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N1Ym1pdGlvbicpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlICdTdGF0ZUNoYW5nZSc6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnN0YXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBsLnN0YXRlKTtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIHRpbWU6IG5ldyBEYXRlKGwudGltZSksXHJcbiAgICAgICAgICAgICAgdGl0bGU6IHN0YXRlID8gc3RhdGUucGFzdCB8fCBzdGF0ZS50aXRsZSA6IGwuc3RhdGVcclxuICAgICAgICAgICAgfSBhcyBUYXNrO1xyXG4gICAgICAgICAgICBpZiAobC5kdXJhdGlvbikge1xyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gdGhpcy5tb2RlbC5jb21wbGV0ZWQgPyBuZXcgRGF0ZShsLnRpbWUpIDogbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgdGFza3MucHVzaCh0YXNrKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSAnTW9kZWxDaGFuZ2UnOlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgdGltZTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnRWRpdGVkJylcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaWYgKGwuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgICB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKHRhc2sudGltZS52YWx1ZU9mKCkgKyBsLmR1cmF0aW9uICogMTAwMCk7XHJcbiAgICAgICAgICAgICAgdGFzay5kdXJhdGlvbiA9IGwuZHVyYXRpb24gKiAxMDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgdGFzay5lbmRpbmcgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0YXNrcy5maW5kKHQgPT4gdC50eXBlID09PSAnU3RhdGVDaGFuZ2UnICYmIHQudGltZSA8PSB0YXNrLnRpbWUgJiYgKCF0LmVuZGluZyB8fCB0LmVuZGluZyA+PSB0YXNrLmVuZGluZykpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ0FjdGlvblRha2VuJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbC5hY3Rpb24pO1xyXG4gICAgICAgICAgICBpZiAobC5hY3Rpb24gPT09ICdkZWxldGUnKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBkYXlqcyhsLnRpbWUpO1xyXG4gICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgZW5kaW5nOiB0aW1lLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpbWU6IHRpbWUuYWRkKC0gbC5kdXJhdGlvbiwgJ3MnKS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICBkdXJhdGlvbjogbC5kdXJhdGlvbiAqIDEwMDAsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IGFjdGlvbiA/IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZSA6IGwuYWN0aW9uXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChsLm5vZGVJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kZWwud29ya2Zsb3cuY29ubmVjdG9ycy5maWx0ZXIoYyA9PiBjLnRhcmdldElkID09PSBsLm5vZGVJZCkuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHRhc2tzLmZpbHRlcihsID0+IGwubm9kZUlkID09PSBjLnNvdXJjZUlkKS5tYXAobCA9PiBgRlMke2wuaWR9YCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGVwZW5kZW5jaWVzLmxlbmd0aCkgdGFzay5kZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuam9pbignLCcpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgaWYgKHN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgaWYgKCFzdGF0ZS5zdWJ0YXNrcykgc3RhdGUuc3VidGFza3MgPSBbXTtcclxuICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChsLmJ5SWQpIHtcclxuICAgICAgICBjb25zdCB3aG8gPSB0aGlzLl91c2Vycy5nZXQobC51c2VySWQpLFxyXG4gICAgICAgICAgYnkgPSB0aGlzLl91c2Vycy5nZXQobC5ieUlkKTtcclxuICAgICAgICBjb25zdCBvYnNlcnZlID0gZm9ya0pvaW4oW3dobywgYnldKS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBbd2hvLCBieV0gPSBucztcclxuICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5Jywgd2hvLm5hbWUsIGJ5Lm5hbWUpO1xyXG4gICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgLy8gICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnNlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSBsLnJvbGUpO1xyXG4gICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2ZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobC51c2VySWQpIHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlID0gdGhpcy5fdXNlcnMuZ2V0KGwudXNlcklkKS5waXBlKHRhcCh1ID0+IHtcclxuICAgICAgICAgIHRhc2submFtZSA9IHUubmFtZTtcclxuICAgICAgICAgIC8vICAgIGlmIChsLnJvbGUpIHtcclxuICAgICAgICAgIC8vICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gbC5yb2xlKTtcclxuICAgICAgICAgIC8vICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICAvLyAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5tb2RlbC5ldmVudHMuZm9yRWFjaChlID0+IHtcclxuICAgICAgdGhpcy5ldmVudE1hcmtlcnMucHVzaCh7XHJcbiAgICAgICAgZGF5OiBuZXcgRGF0ZShlLnN0YXJ0aW5nKSxcclxuICAgICAgICBsYWJlbDogZS50aXRsZVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tb2RlbC5yZWNpcGllbnRzLmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmICghci5wZW5kaW5nKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY29uc3QgdGFzazogVGFzayA9IHtcclxuICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgIHR5cGU6ICdwZW5kaW5nJyxcclxuICAgICAgICB0aW1lOiBuZXcgRGF0ZShyLnJlY2VpdmVkKSxcclxuICAgICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnSXNQZW5kaW5nJylcclxuICAgICAgfTtcclxuICAgICAgaWYgKHIuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgICAgY29uc3QgYnkgPSB0aGlzLl91c2Vycy5nZXQoci5zdWJzdGl0dXRlSWQpO1xyXG4gICAgICAgIGNvbnN0IHdobyA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCk7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZSA9IGZvcmtKb2luKFt3aG8sIGJ5XSkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdXaG9TdWJzdGl0dXRpbmcnLCB1WzBdLm5hbWUsIHVbMV0ubmFtZSk7XHJcbiAgICAgICAgICBpZiAodVswXS5yb2xlKVxyXG4gICAgICAgICAgICB0YXNrLm5hbWUgKz0gYCwgJHt1WzBdLnJvbGV9YDtcclxuICAgICAgICAgIGlmIChyLnJvbGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSByLnJvbGUpO1xyXG4gICAgICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmUgPSB0aGlzLl91c2Vycy5nZXQoci51c2VySWQpLnBpcGUodGFwKHUgPT4ge1xyXG4gICAgICAgICAgdGFzay5uYW1lID0gdS5uYW1lO1xyXG4gICAgICAgICAgaWYgKHUucm9sZSlcclxuICAgICAgICAgICAgdGFzay5uYW1lICs9IGAsICR7dS5yb2xlfWA7XHJcbiAgICAgICAgICBlbHNlIGlmIChyLnJvbGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSByLnJvbGUpO1xyXG4gICAgICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2ZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHIubm9kZUlkKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IHIubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcHJlZGVjZXNzb3JzID0gdGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGwuaWQpO1xyXG4gICAgICAgICAgaWYgKHByZWRlY2Vzc29ycy5sZW5ndGgpIHRhc2suZGVwZW5kZW5jaWVzID0gcHJlZGVjZXNzb3JzLmpvaW4oJywnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNlcnZhYmxlcykuXHJcbiAgICAgIHBpcGUodGFwKCgpID0+IHRoaXMudGFza3MgPSB0YXNrcy5zb3J0KCh0MCwgdDEpID0+IHQwLnRpbWUgPiB0MS50aW1lID8gMSA6IC0xKSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gcm93XHJcbiAgICovXHJcbiAgcm93U2VsZWN0aW5nKHJvdykge1xyXG4gICAgaWYgKHJvdy5kYXRhLnRhc2tEYXRhLnR5cGUgPT09ICdNb2RlbENoYW5nZScpXHJcbiAgICAgIHRoaXMuX2NvbXBhcmUocm93LmRhdGEpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdGFza1xyXG4gICAqL1xyXG4gIHB1YmxpYyBfY29tcGFyZSh0YXNrOiBUYXNrKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCB0aGlzLm1vZGVsLmRvY3VtZW50SWQuZW5jb2RlSWQoKSwgJ3ZlcnNpb24nLCB0YXNrLnRpbWUudmFsdWVPZigpLmVuY29kZUlkKCldLCB7IHN0YXRlOiB7IGl0ZW06IHRoaXMubW9kZWwgfSB9KVxyXG4gIH1cclxuICByZWFkb25seSBzZWxlY3Rpb25TZXR0aW5ncyA9IHt9IGFzIFNlbGVjdGlvblNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdGFza0ZpZWxkczogVGFza0ZpZWxkc01vZGVsID0ge1xyXG4gICAgaWQ6ICdpZCcsXHJcbiAgICBuYW1lOiAndGl0bGUnLFxyXG4gICAgc3RhcnREYXRlOiAndGltZScsXHJcbiAgICBlbmREYXRlOiAnZW5kaW5nJyxcclxuICAgIGR1cmF0aW9uOiAnZHVyYXRpb24nLFxyXG4gICAgZGVwZW5kZW5jeTogJ2RlcGVuZGVuY2llcycsXHJcbiAgICBjaGlsZDogJ3N1YnRhc2tzJ1xyXG4gIH07XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSB0b29sdGlwU2V0dGluZ3MgPSB7IHNob3dUb29sdGlwOiBmYWxzZSB9O1xyXG4gIHJlYWRvbmx5IHRpbWVsaW5lU2V0dGluZ3M6IFRpbWVsaW5lU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHRpbWVsaW5lVW5pdFNpemU6IDYwLFxyXG4gICAgdG9wVGllcjoge1xyXG4gICAgICBmb3JtYXQ6ICdNTU0gZGQsIHl5eXknLFxyXG4gICAgICB1bml0OiAnRGF5JyxcclxuICAgIH0sXHJcbiAgICBib3R0b21UaWVyOiB7XHJcbiAgICAgIHVuaXQ6ICdIb3VyJyxcclxuICAgICAgZm9ybWF0OiAnaC5tbSBhJ1xyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgZXZlbnRNYXJrZXJzOiBFdmVudE1hcmtlck1vZGVsW10gPSBbXHJcbiAgXTtcclxuICBwdWJsaWMgbGFiZWxTZXR0aW5nczogTGFiZWxTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgcmlnaHRMYWJlbDogJ25hbWUnLCBsZWZ0TGFiZWw6ICd0aXRsZSdcclxuICB9O1xyXG4gIHB1YmxpYyBzcGxpdHRlclNldHRpbmdzOiBTcGxpdHRlclNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBjb2x1bW5JbmRleDogMyxcclxuICAgIHZpZXc6ICdDaGFydCcsXHJcbiAgICBwb3NpdGlvbjogJzAnLFxyXG4gICAgc2VwYXJhdG9yU2l6ZTogMFxyXG4gIH07XHJcbiAgcHVibGljIGRheVdvcmtpbmdUaW1lOiBEYXlXb3JraW5nVGltZU1vZGVsW10gPSBbeyBmcm9tOiAwLCB0bzogMjQgfV07XHJcbn1cclxuaW50ZXJmYWNlIFRhc2sge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgZW5kaW5nPzogRGF0ZTtcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBzdWJ0YXNrcz86IFRhc2tbXTtcclxuICBkZXBlbmRlbmNpZXM/OiBzdHJpbmc7XHJcbiAgaW5kaWNhdG9ycz86IGFueVtdLFxyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuXHJcbn1cclxuIl19
@@ -7,7 +7,7 @@ import * as i3 from "../core/slots/pane-ref";
7
7
  import * as i4 from "./views.component";
8
8
  export class DocumentViewPaneComponent {
9
9
  constructor(session, translate, pane) {
10
- pane.title = translate.get('View');
10
+ pane.title = translate.get('Views');
11
11
  pane.dataChange().subscribe(d => {
12
12
  this.model = d['item'];
13
13
  const form = session.profile.forms.find(f => f.name === this.model.formId);
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
26
26
  type: ViewChild,
27
27
  args: [DocumentViewsComponent]
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MucGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3ZpZXdzL3ZpZXdzLnBhbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFRM0QsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNFLE9BQXVCLEVBQ3ZCLFNBQTJCLEVBQzNCLElBQWE7UUFFYixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FoQlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsMkZBQ3pCLHNCQUFzQixnREFOdkIsK0RBQStEOzsyRkFLOUQseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLCtEQUErRDt3SUFNdEMsS0FBSztzQkFBdkMsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwgfSBmcm9tIFwiLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdzQ29tcG9uZW50IH0gZnJvbSBcIi4vdmlld3MuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJzxiaXpkb2MtZG9jdW1lbnQtdmlld3MgW21vZGVsXT1tb2RlbD48L2JpemRvYy1kb2N1bWVudC12aWV3cz4nLFxyXG4gIHN0eWxlczogW2A6aG9zdCB7XHJcbiAgbWluLXdpZHRoOiA0NTBweDtcclxuICAgIGZsZXgtZ3JvdzogMTt9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50Vmlld1BhbmVDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoRG9jdW1lbnRWaWV3c0NvbXBvbmVudCkgdmlld3M6IERvY3VtZW50Vmlld3NDb21wb25lbnQ7XHJcbiAgbW9kZWw6IERvY3VtZW50TW9kZWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHBhbmU6IFBhbmVSZWZcclxuICApIHtcclxuICAgIHBhbmUudGl0bGUgPSB0cmFuc2xhdGUuZ2V0KCdWaWV3Jyk7XHJcbiAgICBwYW5lLmRhdGFDaGFuZ2UoKS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkWydpdGVtJ107XHJcbiAgICAgIGNvbnN0IGZvcm0gPSBzZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5tb2RlbC5mb3JtSWQpO1xyXG4gICAgICBwYW5lLmdyb3VwID0gYCMke3RoaXMubW9kZWwubnVtYmVyfWA7XHJcbiAgICAgIHBhbmUuaWNvbiA9IGZvcm0uaWNvbjtcclxuICAgIH0pO1xyXG4gICAgcGFuZS5yZXNpemVkKCkuc3Vic2NyaWJlKCgpPT4gdGhpcy52aWV3cy5yZXNpemUoKSk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MucGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3ZpZXdzL3ZpZXdzLnBhbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFRM0QsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNFLE9BQXVCLEVBQ3ZCLFNBQTJCLEVBQzNCLElBQWE7UUFFYixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FoQlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsMkZBQ3pCLHNCQUFzQixnREFOdkIsK0RBQStEOzsyRkFLOUQseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLCtEQUErRDt3SUFNdEMsS0FBSztzQkFBdkMsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwgfSBmcm9tIFwiLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdzQ29tcG9uZW50IH0gZnJvbSBcIi4vdmlld3MuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJzxiaXpkb2MtZG9jdW1lbnQtdmlld3MgW21vZGVsXT1tb2RlbD48L2JpemRvYy1kb2N1bWVudC12aWV3cz4nLFxyXG4gIHN0eWxlczogW2A6aG9zdCB7XHJcbiAgbWluLXdpZHRoOiA0NTBweDtcclxuICAgIGZsZXgtZ3JvdzogMTt9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50Vmlld1BhbmVDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoRG9jdW1lbnRWaWV3c0NvbXBvbmVudCkgdmlld3M6IERvY3VtZW50Vmlld3NDb21wb25lbnQ7XHJcbiAgbW9kZWw6IERvY3VtZW50TW9kZWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHBhbmU6IFBhbmVSZWZcclxuICApIHtcclxuICAgIHBhbmUudGl0bGUgPSB0cmFuc2xhdGUuZ2V0KCdWaWV3cycpO1xyXG4gICAgcGFuZS5kYXRhQ2hhbmdlKCkuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLm1vZGVsID0gZFsnaXRlbSddO1xyXG4gICAgICBjb25zdCBmb3JtID0gc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMubW9kZWwuZm9ybUlkKTtcclxuICAgICAgcGFuZS5ncm91cCA9IGAjJHt0aGlzLm1vZGVsLm51bWJlcn1gO1xyXG4gICAgICBwYW5lLmljb24gPSBmb3JtLmljb247XHJcbiAgICB9KTtcclxuICAgIHBhbmUucmVzaXplZCgpLnN1YnNjcmliZSgoKT0+IHRoaXMudmlld3MucmVzaXplKCkpO1xyXG4gIH1cclxufVxyXG5cclxuIl19