@gipisistemas/ng-core 1.1.10 → 1.1.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,11 +15,11 @@ export declare abstract class GIPIAbstractCrudComponent<TEntity extends GIPIAbst
15
15
  ngOnInit(): void;
16
16
  ngAfterViewInit(): void;
17
17
  ngOnDestroy(): void;
18
- protected onInitForm(): void;
18
+ protected onInitForm(version?: string): void;
19
19
  protected abstract newEntity(): TEntity;
20
20
  protected abstract isValid(entity: TEntity): boolean;
21
21
  protected onAfterGetOne(): void;
22
22
  protected preSave(entity: TEntity): void;
23
- save(entity?: TEntity, toGoBack?: boolean): void;
23
+ save(entity?: TEntity, toGoBack?: boolean, version?: string): void;
24
24
  goBack(showConfirmation?: boolean): void;
25
25
  }
@@ -53,18 +53,18 @@ export declare abstract class GIPIAbstractFindComponent<TEntity extends GIPIAbst
53
53
  findAll(pageEvent?: any): void;
54
54
  newRegister(permission?: string): void;
55
55
  editRegister(id?: GIPIUuid, permission?: string): void;
56
- deleteRegister(id?: GIPIUuid, permission?: string, fetchAgain?: boolean): void;
56
+ deleteRegister(id?: GIPIUuid, permission?: string, fetchAgain?: boolean, version?: string): void;
57
57
  /** @Internal */
58
58
  private _deleteRegister;
59
- deleteAllRegister(idList?: GIPIUuid[], permission?: string, fetchAgain?: boolean): void;
59
+ deleteAllRegister(idList?: GIPIUuid[], permission?: string, fetchAgain?: boolean, version?: string): void;
60
60
  /** @Internal */
61
61
  private _deleteAllRegister;
62
62
  viewRegister(id?: GIPIUuid, permission?: string): void;
63
63
  editOrViewRegister(id: GIPIUuid, permission: string): void;
64
- enableOrDisableRegister(action: 'DISABLE' | 'ENABLE', id?: GIPIUuid, permission?: string, fetchAgain?: boolean): void;
64
+ enableOrDisableRegister(action: 'DISABLE' | 'ENABLE', id?: GIPIUuid, permission?: string, fetchAgain?: boolean, version?: string): void;
65
65
  /** @Internal */
66
66
  private _enableOrDisableRegister;
67
- enableAndDisableAllRegister(action: 'DISABLE' | 'ENABLE', idList?: GIPIUuid[], permission?: string, fetchAgain?: boolean): void;
67
+ enableAndDisableAllRegister(action: 'DISABLE' | 'ENABLE', idList?: GIPIUuid[], permission?: string, fetchAgain?: boolean, version?: string): void;
68
68
  /** @Internal */
69
69
  private _enableAndDisableAllRegister;
70
70
  clear(): void;
@@ -155,6 +155,9 @@ export class AbstractFindComponent extends AbstractComponent {
155
155
  }
156
156
  if (ObjectUtil.isNull(pageEvent) && !ObjectUtil.isNull(this.tablePageEventDTO)) {
157
157
  pageEvent = this.tablePageEventDTO;
158
+ if (ObjectUtil.hasPropertyInObj(pageEvent, 'pageIndex')) {
159
+ pageEvent.pageIndex = 0;
160
+ }
158
161
  }
159
162
  if (pageEvent) {
160
163
  this.tablePageEventDTO = pageEvent;
@@ -186,4 +189,4 @@ export class AbstractFindComponent extends AbstractComponent {
186
189
  return this.router.url.split('/').filter(path => path === 'new').length > 0;
187
190
  }
188
191
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtZmluZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFnQixxQkFBb0UsU0FBUSxpQkFBaUI7SUFVL0csWUFDYyxPQUFrQyxFQUNsQyxjQUE4QixFQUM5QixtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLGNBQThCO1FBRXhDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBTnBDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFHNUMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBJTkpFQ1RPUiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEFQUF9NRVNTQUdFUyB9IGZyb20gJy4uL2FwcC5tZXNzYWdlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vZmlsdGVyLmR0byc7XG5pbXBvcnQgeyBQYWdlRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by9wYWdlLmR0byc7XG5pbXBvcnQgeyBTb3J0RFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by9zb3J0LmR0byc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdGFibGUtY29sdW1uLmR0byc7XG5pbXBvcnQgeyBUYWJsZVBhZ2VFdmVudERUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdGFibGUtcGFnZS1ldmVudC5kdG8nO1xuaW1wb3J0IHsgU29ydERpcmVjdGlvbkVudW0gfSBmcm9tICcuLi9tb2RlbHMvZW51bXMvc29ydC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LnV0aWwnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uL3V0aWxzL3N0cmluZy51dGlsJztcbmltcG9ydCB7IEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaW5kQ29tcG9uZW50PFQgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsLCBGIGV4dGVuZHMgRmlsdGVyRFRPPiBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGZpbHRlcjogRjtcblxuICAgIHBhZ2U6IFBhZ2VEVE88VD47XG5cbiAgICBjb2x1bW5zOiBUYWJsZUNvbHVtbkRUT1tdO1xuXG4gICAgdGFibGVQYWdlRXZlbnREVE86IFRhYmxlUGFnZUV2ZW50RFRPO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBzZXJ2aWNlOiBBYnN0cmFjdENydWRTZXJ2aWNlPFQsIEY+LFxuICAgICAgICBwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICBzdXBlcihtZXNzYWdlU2VydmljZSwgcm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2VydmljZS5yZXR1cm5QYXRoID0gdGhpcy5nZXRQYXRoKCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyRFRPKCk7XG4gICAgICAgIHRoaXMuZ2V0RmlsdGVyRFRPU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5jcmVhdGVUYWJsZUNvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBuZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIHsgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlIH0pLnRoZW4oXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5nZXRQYXRoKCksICduZXcnXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBlZGl0KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZ2V0UGF0aCgpLCAnZWRpdCcsIGVudGl0eS5pZF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdmlldyhlbnRpdHk6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbihcbiAgICAgICAgICAgICgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdldFBhdGgoKSwgJ3ZpZXcnLCBlbnRpdHkuaWRdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZShlbnRpdHk6IFQsIGZpbHRlcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9DT05GSVJNQVRJT04sXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVEZWxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShlbnRpdHkuaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV3KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRmluZGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZUFsbChlbnRpdHlMaXN0OiBUW10sIGZpbHRlcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9BTExfQ09ORklSTUFUSU9OLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVBbGwoZW50aXR5TGlzdCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWNjZXNzTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5TVUNDRVNTKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGaW5kaW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdHVzKGVudGl0eTogVCwgZW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgbWVzc2FnZTogYERlc2VqYSByZWFsbWVudGUgJHtlbmFibGVkID8gJ2F0aXZhcicgOiAnaW5hdGl2YXInfSBlc3RlIHJlZ2lzdHJvP2AsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2F2ZShlbnRpdHkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYW5jZWw6ICgpID0+IHRoaXMuY2xlYXIoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcmVEZWxldGUoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyRFRPKCk7XG4gICAgICAgIHRoaXMuZmluZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmVudC5wYXJlbnQudXJsWzBdLnBhdGh9LyR7dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQudXJsWzBdLnBhdGh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbmV3UGFnZSgpOiBQYWdlRFRPPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYWdlRFRPPFQ+KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG5ld0ZpbHRlckRUTygpOiBGIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckRUT1Nlc3Npb25TdG9yYWdlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbkRUT1tdIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVTb3J0cygpOiBTb3J0RFRPW10ge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZmluZChwYWdlRXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmZpbHRlcikpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyID0gdGhpcy5uZXdGaWx0ZXJEVE8oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChwYWdlRXZlbnQpICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLnRhYmxlUGFnZUV2ZW50RFRPKSkge1xuICAgICAgICAgICAgcGFnZUV2ZW50ID0gdGhpcy50YWJsZVBhZ2VFdmVudERUTztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYWdlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVQYWdlRXZlbnREVE8gPSBwYWdlRXZlbnQ7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlTnVtYmVyID0gcGFnZUV2ZW50LnBhZ2VJbmRleDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLnBhZ2VTaXplID0gcGFnZUV2ZW50LnBhZ2VTaXplO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIub2Zmc2V0ID0gcGFnZUV2ZW50LnBhZ2VJbmRleCAqIHBhZ2VFdmVudC5wYWdlU2l6ZTtcbiAgICAgICAgICAgIGlmIChwYWdlRXZlbnQuc29ydCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnNvcnRzID0gW25ldyBTb3J0RFRPKFxuICAgICAgICAgICAgICAgICAgICBwYWdlRXZlbnQuc29ydC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIFN0cmluZ1V0aWwuaXNFbXB0eShwYWdlRXZlbnQuc29ydC5kaXJlY3Rpb24pID8gU29ydERpcmVjdGlvbkVudW0uREVTQyA6IHBhZ2VFdmVudC5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgKV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlTnVtYmVyID0gMDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLm9mZnNldCA9IDA7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlU2l6ZSA9IDEwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VydmljZS5maW5kKHRoaXMuZmlsdGVyKS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICB9LCBlcnJvciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSk7XG4gICAgfVxuXG4gICAgaXNGaW5kaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gcGF0aCA9PT0gJ25ldycgfHwgcGF0aCA9PT0gJ2VkaXQnKS5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNWaWV3aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gcGF0aCA9PT0gJ3ZpZXcnKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzQ3JlYXRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIocGF0aCA9PiBwYXRoID09PSAnbmV3JykubGVuZ3RoID4gMDtcbiAgICB9XG5cbn1cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtZmluZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFnQixxQkFBb0UsU0FBUSxpQkFBaUI7SUFVL0csWUFDYyxPQUFrQyxFQUNsQyxjQUE4QixFQUM5QixtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLGNBQThCO1FBRXhDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBTnBDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFHNUMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFB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QUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDaEYsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgSU5KRUNUT1IgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBBUFBfTUVTU0FHRVMgfSBmcm9tICcuLi9hcHAubWVzc2FnZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9hYnN0cmFjdC5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJEVE8gfSBmcm9tICcuLi9tb2RlbHMvZHRvL2ZpbHRlci5kdG8nO1xuaW1wb3J0IHsgUGFnZURUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vcGFnZS5kdG8nO1xuaW1wb3J0IHsgU29ydERUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vc29ydC5kdG8nO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5EVE8gfSBmcm9tICcuLi9tb2RlbHMvZHRvL3RhYmxlLWNvbHVtbi5kdG8nO1xuaW1wb3J0IHsgVGFibGVQYWdlRXZlbnREVE8gfSBmcm9tICcuLi9tb2RlbHMvZHRvL3RhYmxlLXBhZ2UtZXZlbnQuZHRvJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb25FbnVtIH0gZnJvbSAnLi4vbW9kZWxzL2VudW1zL3NvcnQtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgQWJzdHJhY3RDcnVkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Fic3RyYWN0LWNydWQuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RmluZENvbXBvbmVudDxUIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCwgRiBleHRlbmRzIEZpbHRlckRUTz4gZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBmaWx0ZXI6IEY7XG5cbiAgICBwYWdlOiBQYWdlRFRPPFQ+O1xuXG4gICAgY29sdW1uczogVGFibGVDb2x1bW5EVE9bXTtcblxuICAgIHRhYmxlUGFnZUV2ZW50RFRPOiBUYWJsZVBhZ2VFdmVudERUTztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogQWJzdHJhY3RDcnVkU2VydmljZTxULCBGPixcbiAgICAgICAgcHJvdGVjdGVkIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZVNlcnZpY2UsIHJvdXRlciwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnNlcnZpY2UucmV0dXJuUGF0aCA9IHRoaXMuZ2V0UGF0aCgpO1xuICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLm5ld0ZpbHRlckRUTygpO1xuICAgICAgICB0aGlzLmdldEZpbHRlckRUT1Nlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuY3JlYXRlVGFibGVDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgbmV3KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZ2V0UGF0aCgpLCAnbmV3J10pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZWRpdChlbnRpdHk6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbihcbiAgICAgICAgICAgICgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdldFBhdGgoKSwgJ2VkaXQnLCBlbnRpdHkuaWRdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHZpZXcoZW50aXR5OiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIHsgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlIH0pLnRoZW4oXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5nZXRQYXRoKCksICd2aWV3JywgZW50aXR5LmlkXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGUoZW50aXR5OiBULCBmaWx0ZXI/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybWHDp8OjbycsXG4gICAgICAgICAgICBtZXNzYWdlOiBJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5ERUxFVEVfQ09ORklSTUFUSU9OLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUoZW50aXR5LmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ZpbmRpbmcoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVBbGwoZW50aXR5TGlzdDogVFtdLCBmaWx0ZXI/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybWHDp8OjbycsXG4gICAgICAgICAgICBtZXNzYWdlOiBJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5ERUxFVEVfQUxMX0NPTkZJUk1BVElPTixcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZURlbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlQWxsKGVudGl0eUxpc3QpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV3KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRmluZGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXR1cyhlbnRpdHk6IFQsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBEZXNlamEgcmVhbG1lbnRlICR7ZW5hYmxlZCA/ICdhdGl2YXInIDogJ2luYXRpdmFyJ30gZXN0ZSByZWdpc3Rybz9gLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNhdmUoZW50aXR5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWNjZXNzTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5TVUNDRVNTKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2FuY2VsOiAoKSA9PiB0aGlzLmNsZWFyKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJlRGVsZXRlKCk6IHZvaWQge1xuICAgIH1cblxuICAgIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLm5ld0ZpbHRlckRUTygpO1xuICAgICAgICB0aGlzLmZpbmQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQucGFyZW50LnVybFswXS5wYXRofS8ke3RoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyZW50LnVybFswXS5wYXRofWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG5ld1BhZ2UoKTogUGFnZURUTzxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgUGFnZURUTzxUPigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBuZXdGaWx0ZXJEVE8oKTogRiB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWx0ZXJEVE9TZXNzaW9uU3RvcmFnZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWJsZUNvbHVtbnMoKTogVGFibGVDb2x1bW5EVE9bXSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlU29ydHMoKTogU29ydERUT1tdIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGZpbmQocGFnZUV2ZW50PzogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG5cbiAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG5cbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuZmlsdGVyKSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLm5ld0ZpbHRlckRUTygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHBhZ2VFdmVudCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMudGFibGVQYWdlRXZlbnREVE8pKSB7XG4gICAgICAgICAgICBwYWdlRXZlbnQgPSB0aGlzLnRhYmxlUGFnZUV2ZW50RFRPO1xuXG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5oYXNQcm9wZXJ0eUluT2JqKHBhZ2VFdmVudCwgJ3BhZ2VJbmRleCcpKSB7XG4gICAgICAgICAgICAgICAgcGFnZUV2ZW50LnBhZ2VJbmRleCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFnZUV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlUGFnZUV2ZW50RFRPID0gcGFnZUV2ZW50O1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIucGFnZU51bWJlciA9IHBhZ2VFdmVudC5wYWdlSW5kZXg7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlU2l6ZSA9IHBhZ2VFdmVudC5wYWdlU2l6ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLm9mZnNldCA9IHBhZ2VFdmVudC5wYWdlSW5kZXggKiBwYWdlRXZlbnQucGFnZVNpemU7XG4gICAgICAgICAgICBpZiAocGFnZUV2ZW50LnNvcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5zb3J0cyA9IFtuZXcgU29ydERUTyhcbiAgICAgICAgICAgICAgICAgICAgcGFnZUV2ZW50LnNvcnQuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICBTdHJpbmdVdGlsLmlzRW1wdHkocGFnZUV2ZW50LnNvcnQuZGlyZWN0aW9uKSA/IFNvcnREaXJlY3Rpb25FbnVtLkRFU0MgOiBwYWdlRXZlbnQuc29ydC5kaXJlY3Rpb24udG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIucGFnZU51bWJlciA9IDA7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5vZmZzZXQgPSAwO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIucGFnZVNpemUgPSAxMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlcnZpY2UuZmluZCh0aGlzLmZpbHRlcikuc3Vic2NyaWJlKHBhZ2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5wYWdlID0gcGFnZTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgfSwgZXJyb3IgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcikpO1xuICAgIH1cblxuICAgIGlzRmluZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihwYXRoID0+IHBhdGggPT09ICduZXcnIHx8IHBhdGggPT09ICdlZGl0JykubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzVmlld2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihwYXRoID0+IHBhdGggPT09ICd2aWV3JykubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBpc0NyZWF0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gcGF0aCA9PT0gJ25ldycpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG59XG4iXX0=
@@ -33,12 +33,12 @@ let GIPIAbstractCrudComponent = class GIPIAbstractCrudComponent extends GIPIAbst
33
33
  ngOnDestroy() {
34
34
  super.ngOnDestroy();
35
35
  }
36
- onInitForm() {
36
+ onInitForm(version) {
37
37
  try {
38
38
  this.loading = true;
39
39
  const id = this.activatedRoute.snapshot.params.id;
40
40
  if (this.UUIDIsValid(id)) {
41
- this.abstractCrudService.getOne(id).toPromise().then(entity => {
41
+ this.abstractCrudService.getOne(id, version).toPromise().then(entity => {
42
42
  this.entity = entity;
43
43
  this.onAfterGetOne();
44
44
  this.loading = false;
@@ -59,7 +59,7 @@ let GIPIAbstractCrudComponent = class GIPIAbstractCrudComponent extends GIPIAbst
59
59
  }
60
60
  onAfterGetOne() { }
61
61
  preSave(entity) { }
62
- save(entity, toGoBack = true) {
62
+ save(entity, toGoBack = true, version) {
63
63
  try {
64
64
  this.loading = true;
65
65
  if (ObjectUtil.isNull(entity)) {
@@ -67,7 +67,7 @@ let GIPIAbstractCrudComponent = class GIPIAbstractCrudComponent extends GIPIAbst
67
67
  }
68
68
  if (this.isValid(entity)) {
69
69
  this.preSave(entity);
70
- this.abstractCrudService.save(entity).toPromise().then(resp => {
70
+ this.abstractCrudService.save(entity, version).toPromise().then(resp => {
71
71
  this.addSuccessMessage(INJECTOR.get(APP_MESSAGES).SUCCESS);
72
72
  if (toGoBack) {
73
73
  this.navigateByUrl(this.getPath(), [this.getPath()], true);
@@ -107,4 +107,4 @@ GIPIAbstractCrudComponent = __decorate([
107
107
  ActivatedRoute])
108
108
  ], GIPIAbstractCrudComponent);
109
109
  export { GIPIAbstractCrudComponent };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWNydWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RCxJQUFzQix5QkFBeUIsR0FBL0MsTUFBc0IseUJBQTZELFNBQVEscUJBQXFCO0lBVTVHLFlBQ2MsbUJBQTBELEVBQzFELFdBQTRCLEVBQzVCLGNBQThCO1FBRXhDLEtBQUssQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKekIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QztRQUMxRCxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWHBDLFlBQU8sR0FBWSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFjNUMsQ0FBQztJQWJELElBQVcsTUFBTSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNi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TSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQTRCLElBQUk7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDekMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQjtnQkFDdkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDO2FBQzNFLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztDQUVKLENBQUE7O1lBNUZzQyx1QkFBdUI7WUFDL0IsZUFBZTtZQUNaLGNBQWM7O0FBYjFCLHlCQUF5QjtJQUQ5QyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7cUNBWVcsdUJBQXVCO1FBQy9CLGVBQWU7UUFDWixjQUFjO0dBYjFCLHlCQUF5QixDQXVHOUM7U0F2R3FCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU5KRUNUT1IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBBUFBfTUVTU0FHRVMgfSBmcm9tICcuLi8uLi9hcHAubWVzc2FnZXMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEdJUElCYXNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBHSVBJVXVpZCB9IGZyb20gJy4uL3R5cGVzL3V1aWQudHlwZSc7XG5pbXBvcnQgeyBHSVBJQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHSVBJQWJzdHJhY3RDcnVkQ29tcG9uZW50PFRFbnRpdHkgZXh0ZW5kcyBHSVBJQWJzdHJhY3RNb2RlbD4gZXh0ZW5kcyBHSVBJQWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9lbnRpdHk6IFRFbnRpdHkgPSB0aGlzLm5ld0VudGl0eSgpO1xuICAgIHB1YmxpYyBzZXQgZW50aXR5KHZhbHVlOiBURW50aXR5KSB7XG4gICAgICAgIHRoaXMuX2VudGl0eSA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVudGl0eSgpOiBURW50aXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VudGl0eTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFic3RyYWN0Q3J1ZFNlcnZpY2U6IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlPFRFbnRpdHksIGFueT4sXG4gICAgICAgIHByb3RlY3RlZCBiYXNlU2VydmljZTogR0lQSUJhc2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICBzdXBlcihiYXNlU2VydmljZSwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFzZVBlcm1pc3Npb25MaXN0IGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkluaXRGb3JtKCk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlkOiBHSVBJVXVpZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zLmlkO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5VVUlESXNWYWxpZChpZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFic3RyYWN0Q3J1ZFNlcnZpY2UuZ2V0T25lPFRFbnRpdHk+KGlkKS50b1Byb21pc2UoKS50aGVuKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQWZ0ZXJHZXRPbmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVudGl0eSA9IHRoaXMubmV3RW50aXR5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkFmdGVyR2V0T25lKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbmV3RW50aXR5KCk6IFRFbnRpdHk7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNWYWxpZChlbnRpdHk6IFRFbnRpdHkpOiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIG9uQWZ0ZXJHZXRPbmUoKTogdm9pZCB7IH1cblxuICAgIHByb3RlY3RlZCBwcmVTYXZlKGVudGl0eTogVEVudGl0eSk6IHZvaWQgeyB9XG5cbiAgICBwdWJsaWMgc2F2ZShlbnRpdHk/OiBURW50aXR5LCB0b0dvQmFjazogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgIGVudGl0eSA9IHRoaXMuZW50aXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVTYXZlKGVudGl0eSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFic3RyYWN0Q3J1ZFNlcnZpY2Uuc2F2ZShlbnRpdHkpLnRvUHJvbWlzZSgpLnRoZW4ocmVzcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b0dvQmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCldLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ29CYWNrKHNob3dDb25maXJtYXRpb246IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZpZXdpbmcoKSB8fCBzaG93Q29uZmlybWF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5SRVRVUk5fQ09ORklSTUFUSU9OLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4gdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCldLCB0cnVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIFt0aGlzLmdldFBhdGgoKV0sIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWNydWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RCxJQUFzQix5QkFBeUIsR0FBL0MsTUFBc0IseUJBQTZELFNBQVEscUJBQXFCO0lBVTVHLFlBQ2MsbUJBQTBELEVBQzFELFdBQTRCLEVBQzVCLGNBQThCO1FBRXhDLEtBQUssQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKekIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QztRQUMxRCxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWHBDLFlBQU8sR0FBWSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFjNUMsQ0FBQztJQWJELElBQVcsTUFBTSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBVUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVTLFVBQVUsQ0FBQyxPQUFnQjtRQUNqQyxJQUFJO1lBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUFFLEdBQWEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUU1RCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDUCxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ3hCO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBT1MsYUFBYSxLQUFXLENBQUM7SUFFekIsT0FBTyxDQUFDLE1BQWUsSUFBVSxDQUFDO0lBRXJDLElBQUksQ0FBQyxNQUFnQixFQUFFLFdBQW9CLElBQUksRUFBRSxPQUFnQjtRQUNwRSxJQUFJO1lBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMzQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUN4QjtZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxRQUFRLEVBQUU7d0JBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDOUQ7Z0JBQ0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQTRCLElBQUk7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDekMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQjtnQkFDdkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDO2FBQzNFLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztDQUVKLENBQUE7O1lBNUZzQyx1QkFBdUI7WUFDL0IsZUFBZTtZQUNaLGNBQWM7O0FBYjFCLHlCQUF5QjtJQUQ5QyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7cUNBWVcsdUJBQXVCO1FBQy9CLGVBQWU7UUFDWixjQUFjO0dBYjFCLHlCQUF5QixDQXVHOUM7U0F2R3FCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU5KRUNUT1IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBBUFBfTUVTU0FHRVMgfSBmcm9tICcuLi8uLi9hcHAubWVzc2FnZXMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEdJUElCYXNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBHSVBJVXVpZCB9IGZyb20gJy4uL3R5cGVzL3V1aWQudHlwZSc7XG5pbXBvcnQgeyBHSVBJQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHSVBJQWJzdHJhY3RDcnVkQ29tcG9uZW50PFRFbnRpdHkgZXh0ZW5kcyBHSVBJQWJzdHJhY3RNb2RlbD4gZXh0ZW5kcyBHSVBJQWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9lbnRpdHk6IFRFbnRpdHkgPSB0aGlzLm5ld0VudGl0eSgpO1xuICAgIHB1YmxpYyBzZXQgZW50aXR5KHZhbHVlOiBURW50aXR5KSB7XG4gICAgICAgIHRoaXMuX2VudGl0eSA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVudGl0eSgpOiBURW50aXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VudGl0eTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFic3RyYWN0Q3J1ZFNlcnZpY2U6IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlPFRFbnRpdHksIGFueT4sXG4gICAgICAgIHByb3RlY3RlZCBiYXNlU2VydmljZTogR0lQSUJhc2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICBzdXBlcihiYXNlU2VydmljZSwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFzZVBlcm1pc3Npb25MaXN0IGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkluaXRGb3JtKHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBpZDogR0lQSVV1aWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcy5pZDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuVVVJRElzVmFsaWQoaWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLmdldE9uZTxURW50aXR5PihpZCwgdmVyc2lvbikudG9Qcm9taXNlKCkudGhlbihlbnRpdHkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkFmdGVyR2V0T25lKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLm5ld0VudGl0eSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25BZnRlckdldE9uZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG5ld0VudGl0eSgpOiBURW50aXR5O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGlzVmFsaWQoZW50aXR5OiBURW50aXR5KTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBvbkFmdGVyR2V0T25lKCk6IHZvaWQgeyB9XG5cbiAgICBwcm90ZWN0ZWQgcHJlU2F2ZShlbnRpdHk6IFRFbnRpdHkpOiB2b2lkIHsgfVxuXG4gICAgcHVibGljIHNhdmUoZW50aXR5PzogVEVudGl0eSwgdG9Hb0JhY2s6IGJvb2xlYW4gPSB0cnVlLCB2ZXJzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICBlbnRpdHkgPSB0aGlzLmVudGl0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWQoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlU2F2ZShlbnRpdHkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLnNhdmUoZW50aXR5LCB2ZXJzaW9uKS50b1Byb21pc2UoKS50aGVuKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9Hb0JhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpXSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdvQmFjayhzaG93Q29uZmlybWF0aW9uOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNWaWV3aW5nKCkgfHwgc2hvd0NvbmZpcm1hdGlvbikge1xuICAgICAgICAgICAgdGhpcy5iYXNlU2VydmljZS5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybWHDp8OjbycsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuUkVUVVJOX0NPTkZJUk1BVElPTixcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpXSwgdHJ1ZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCldLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19