@churchillliving/se-ui-toolkit 6.53.624 → 6.53.626

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.
@@ -27,7 +27,6 @@ export class CardComponent {
27
27
  }
28
28
  ngOnInit() { }
29
29
  ngOnChanges() {
30
- console.log('this.card: ', this.card);
31
30
  if (this.card) {
32
31
  const fileContainerName = this.card?.containerName;
33
32
  console.log('fileContainerName: ', fileContainerName);
@@ -46,12 +45,9 @@ export class CardComponent {
46
45
  }
47
46
  });
48
47
  this.data = newArr;
49
- console.log('this.data11: ', this.data);
50
- console.log('newArr: ', newArr);
51
48
  }
52
49
  else {
53
50
  this.data = this.gridService.setDataFields(data);
54
- console.log('this.data22: ', this.data);
55
51
  }
56
52
  this.dynamicForm = { formSections };
57
53
  // set the default value of allowDelete, allowEditableCaption and allowDownload
@@ -163,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
163
159
  }], setCardData: [{
164
160
  type: Input
165
161
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9jYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sS0FBSyxTQUFTLE1BQU0scUNBQXFDLENBQUM7QUFHakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7OztBQU8vRCxNQUFNLE9BQU8sYUFBYTtJQVl4QixZQUNTLGFBQTRCLEVBQzNCLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFIekMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBZnhDLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0Qsa0VBQWtFO1FBQ3pELFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFJN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztJQVF4QixDQUFDO0lBRUosUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUN2RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlGLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFRLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEQsSUFBRyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUM7Z0JBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBQyxFQUFFO29CQUN0QixJQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBQzt3QkFDcEQsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDLFlBQVksR0FBQyxHQUFHLEdBQUMsaUJBQWlCLEdBQUMsR0FBRyxHQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQ3BQO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3JCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QztZQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNwQywrRUFBK0U7WUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM5QyxpRkFBaUY7WUFDakY7O2NBRUU7WUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7d0JBQ2xCLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3FCQUM5RDtvQkFDRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsZ0JBQWdCLENBQUMsSUFBVztRQUMzQixJQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUU7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRSxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQy9CLE9BQU8sRUFBRSxrREFBa0Q7WUFDM0QsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFO29CQUN0QixJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN6QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsU0FBUyxDQUN6QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUMzQyxDQUFDO29CQUNGLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO29CQUVyQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ25DLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDeEIsNEJBQTRCO3FCQUM3QjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQVk7UUFDMUIsSUFBRyxJQUFJLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDdEUsTUFBTSxRQUFRLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUMsQ0FBQztZQUMzQyxNQUFNLEdBQUcsR0FBRyxFQUFDLEdBQUcsUUFBUSxFQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFDLENBQUM7WUFDckosT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN0QixJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hFLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDaEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUNoQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDNUI7WUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQ3pDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTLEVBQUUsS0FBYTtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7aUlBaEpVLGFBQWE7cUhBQWIsYUFBYSxxTkNmMUIsczlEQThEQTs7MkZEL0NhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUztrTUFLVCxZQUFZO3NCQUFyQixNQUFNO2dCQUVFLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBJRHluYW1pY0NhcmQsIElEeW5hbWljRm9ybSwgSVZpZXdDYXJkUHJvcCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgdXRpbGl0aWVzIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTeXN0ZW1Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3lzdGVtLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEVTeXN0ZW1Db25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVzcG9uc2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDYXJkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gQE91dHB1dCgpIG9uRGVsZXRlQ2FyZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhcmQ6IGFueTtcbiAgQElucHV0KCkgc2V0Q2FyZERhdGE6IGJvb2xlYW47XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIHNob3dGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5Q2FyZEluZm86IElWaWV3Q2FyZFByb3A7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtQ29uZmlnU2VydmljZTogU3lzdGVtQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zb2xlLmxvZygndGhpcy5jYXJkOiAnLCB0aGlzLmNhcmQpO1xuICAgIGlmICh0aGlzLmNhcmQpIHtcbiAgICAgIGNvbnN0IGZpbGVDb250YWluZXJOYW1lID0gdGhpcy5jYXJkPy5jb250YWluZXJOYW1lO1xuICAgICAgY29uc29sZS5sb2coJ2ZpbGVDb250YWluZXJOYW1lOiAnLCBmaWxlQ29udGFpbmVyTmFtZSk7XG5cdCAgICBjb25zdCBmaWxlUm9vdFBhdGggPSB0aGlzLnN5c3RlbUNvbmZpZ1NlcnZpY2UuZ2V0U3lzdGVtQ29uZmlnVmFsdWUoRVN5c3RlbUNvbmZpZy5GSUxFUk9PVFBBVEgpO1xuICAgICAgbGV0IHsgZGF0YSwgZm9ybVNlY3Rpb25zLCBjYXJkSW5mbyB9OiBhbnkgPSB0aGlzLmNhcmQ7XG4gICAgICBpZihjYXJkSW5mbyAmJiBPYmplY3Qua2V5cyhjYXJkSW5mbykubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q2FyZEluZm8gPSBjYXJkSW5mbztcbiAgICAgICAgZGF0YSA9IHRoaXMuZ3JpZFNlcnZpY2Uuc2V0RGF0YUZpZWxkcyhkYXRhKTtcbiAgICAgICAgY29uc3QgbmV3QXJyID0gW107XG4gICAgICAgIGRhdGE/LmZvckVhY2goKHJlY29yZCk9PntcbiAgICAgICAgICBpZighT2JqZWN0LmtleXMocmVjb3JkKT8uaW5jbHVkZXMoJ2F6dXJlY29udGFpbmVyaWQnKSl7XG4gICAgICAgICAgICBuZXdBcnIucHVzaCh7Li4ucmVjb3JkLCBibG9iZmlsZXVybDogKGZpbGVSb290UGF0aCsnLycrZmlsZUNvbnRhaW5lck5hbWUrJy8nK3JlY29yZFtjYXJkSW5mby51cmw/LnRvTG93ZXJDYXNlKCldKT8udG9Mb3dlckNhc2UoKSwgZmlsZWNhcHRpb246IHJlY29yZFtjYXJkSW5mby5jYXB0aW9uPy50b0xvd2VyQ2FzZSgpXSwgZmlsZWV4dGVuc2lvbjogcmVjb3JkW2NhcmRJbmZvLmV4dGVuc2lvbj8udG9Mb3dlckNhc2UoKV19KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3QXJyLnB1c2gocmVjb3JkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXdBcnI7XG4gICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLmRhdGExMTogJywgdGhpcy5kYXRhKTtcbiAgICAgICAgY29uc29sZS5sb2coJ25ld0FycjogJywgbmV3QXJyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZ3JpZFNlcnZpY2Uuc2V0RGF0YUZpZWxkcyhkYXRhKTtcbiAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuZGF0YTIyOiAnLCB0aGlzLmRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHsgZm9ybVNlY3Rpb25zIH07XG4gICAgICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RG93bmxvYWQnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dEZWxldGUnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dFZGl0YWJsZUNhcHRpb24nKTtcbiAgICAgIC8vZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24gPSB0aGlzLnNldENhcmRQcm9wVmFsdWUoZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pO1xuICAgICAgLyoqIEluIGNhc2Ugb2Ygd2hlbiB3ZSBhcmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZm9yIHN0YW5kIGFsb25lIHRoZW4gaWYgZm9ybVNlY3Rpb24gaXMgZXhpc3QgaW5cbiAgICAgICAgICB0aGUgdGhpcy5jYXJkIGFuZCB0aGVuIGFkZCBpbiB0aGUgZGF0YSBhcnJheS5cbiAgICAgICovXG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXguZHluYW1pY2Zvcm0pIHtcbiAgICAgICAgICAgIHguZHluYW1pY2Zvcm0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHluYW1pY0Zvcm0pKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXRpbGl0aWVzLnNldENhcmRGaWVsZHNEYXRhKHgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gIHNldENhcmRQcm9wVmFsdWUocHJvcDpzdHJpbmcpe1xuICAgaWYoIXRoaXMuY2FyZFtwcm9wXT8udG9TdHJpbmcoKT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNhcmRbcHJvcF09IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJhZ0FuZERyb3AoZXZlbnQ6IGFueSkge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgZXZlbnQuaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmNhcmQuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICB0aGlzLmNhcmRbJ2NoYW5nZSddID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vblNvcnQpIHtcbiAgICAgIHRoaXMuY2FyZC5vblNvcnQodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVJbWFnZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgbWVzc2FnZTogJ0FyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIEltYWdlPycsXG4gICAgICBoZWFkZXI6ICdEZWxldGUgQ29uZmlybWF0aW9uJyxcbiAgICAgIGljb246ICdwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZScsXG4gICAgICBrZXk6ICdoYW5kbGVjb2x1bW5BY3Rpb25zJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhICYmIGV2ZW50KSB7XG4gICAgICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gYXJyLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybFxuICAgICAgICAgICk7XG4gICAgICAgICAgbGV0IG9iaiA9IGFycltpbmRleF07XG4gICAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy5kYXRhID0gWy4uLmFycl07XG5cbiAgICAgICAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vbkRlbGV0ZSkge1xuICAgICAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZC5vbkRlbGV0ZShvYmopO1xuICAgICAgICAgICAgLy8gdGhpcy5vbkRlbGV0ZUNhcmQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xvc2UoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZVByb3BOYW1lKGNhcmRJbmZvOmFueSl7XG4gICAgaWYodGhpcy5kaXNwbGF5Q2FyZEluZm8gJiYgT2JqZWN0LmtleXModGhpcy5kaXNwbGF5Q2FyZEluZm8pLmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgY2FyZFByb3AgPSB7Li4udGhpcy5kaXNwbGF5Q2FyZEluZm99O1xuICAgICAgY29uc3Qgb2JqID0gey4uLmNhcmRJbmZvLFtjYXJkUHJvcC51cmxdOiBjYXJkSW5mby5ibG9iZmlsZXVybCxbY2FyZFByb3AuY2FwdGlvbl06IGNhcmRJbmZvLmZpbGVjYXB0aW9uLFtjYXJkUHJvcC5leHRlbnNpb25dOiBjYXJkSW5mby5maWxlZXh0ZW5zaW9ufTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYXJkSW5mbztcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FwdGlvbihldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgY29uc3QgaW5kZXggPSBhcnIuZmluZEluZGV4KChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybCk7XG4gICAgICBsZXQgb2JqID0gYXJyW2luZGV4XTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb2JqLmZpbGVjYXB0aW9uID0gZXZlbnQuY2FwdGlvbjtcbiAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSwgb2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLmRhdGEgPSBhcnI7XG4gICAgICAgIHRoaXMuY2FyZFsnY2hhbmdlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQ/Lm9uQ2FwdGlvblNhdmUpIHtcbiAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLm9uQ2FwdGlvblNhdmUob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNsaWNrRXZlbnQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKXtcbiAgICBkYXRhWydpbmRleCddID0gaW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZENhcmQuZW1pdChkYXRhKTtcbiAgfVxuXG59XG4iLCI8IS0tIERpc3BsYXkgRmlsZXMgQ2FyZCAtLT5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiaGFuZGxlY29sdW1uQWN0aW9uc1wiPjwvcC1jb25maXJtRGlhbG9nPlxuPGRpdlxuICBjZGtEcm9wTGlzdFxuICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gIGNsYXNzPVwiZXhhbXBsZS1saXN0XCJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcmFnQW5kRHJvcCgkZXZlbnQpXCJcbj5cbiAgPGRpdiBcbiAgY2xhc3M9XCJmbGV4IGNhcmRzLXdyYXBwZXJcIiBcbiAgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0IH1cIiBcbiAgKm5nSWY9XCJkYXRhXCIgXG4gIFtjbGFzc109XCJjYXJkICYmIGNhcmQuY2xhc3MgPyBjYXJkLmNsYXNzIDogJydcIj5cbiAgICA8ZGl2XG4gICAgICBjZGtEcmFnXG4gICAgICBjbGFzcz1cImV4YW1wbGUtYm94IGZsZXggZmxleC1jb2x1bW4gY2FyZHMtd3JhcHBlclwiXG4gICAgICBbY2xhc3NdPVwiXG4gICAgICAgIGNhcmQgJiYgY2FyZC53aWR0aCAmJiBjYXJkLndpZHRoLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdjb2wtJyArIGNhcmQud2lkdGhcbiAgICAgICAgICA6ICdjb2wtMydcbiAgICAgIFwiXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBkYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrRXZlbnQoZmlsZSxpKVwiXG4gICAgICBbbmdDbGFzc109XCJmaWxlLnNlbGVjdGVkQ2FyZCA/IGZpbGUuc2VsZWN0ZWRDYXJkIDogJydcIlxuICAgID5cbiAgICAgIDwhLS0gc3RhcnQgY2FyZHMgaW1hZ2UgZnVuY3Rpb25hbGl0eSAtLT5cbiAgICAgIDxzZS1maWxlXG4gICAgICAgIFt1cmxdPVwiZmlsZS5ibG9iZmlsZXVybFwiXG4gICAgICAgIFt0eXBlXT1cImZpbGUuZmlsZWV4dGVuc2lvblwiXG4gICAgICAgIFtjYXB0aW9uXT1cImZpbGU/LmZpbGVjYXB0aW9uXCJcbiAgICAgICAgW2hlaWdodF09XCJjYXJkPy5oZWlnaHRcIlxuICAgICAgICBbYWxsb3dEb3dubG9hZEZpbGVdPVwiY2FyZD8uYWxsb3dEb3dubG9hZFwiXG4gICAgICAgIFthbGxvd0VkaXRhYmxlQ2FwdGlvbl09XCJjYXJkPy5hbGxvd0VkaXRhYmxlQ2FwdGlvblwiXG4gICAgICAgIFthbGxvd0RlbGV0ZUZpbGVdPVwiY2FyZD8uYWxsb3dEZWxldGVcIlxuICAgICAgICBbbmFtZV09XCJmaWxlLmJsb2JmaWxldXJsXCJcbiAgICAgICAgW2lkXT1cImZpbGUuZmlsZWV4dGVuc2lvblwiXG4gICAgICAgIChvbkRlbGV0ZUV2ZW50KT1cImRlbGV0ZUltYWdlKCRldmVudClcIlxuICAgICAgICAob25TYXZlRXZlbnQpPVwic2F2ZUNhcHRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9zZS1maWxlPlxuICAgICAgPCEtLSBFbmQgY2FyZHMgaW1hZ2UgZnVuY3Rpb25hbGl0eSAtLT5cblxuICAgICAgPCEtLSBzdGFydCBmb3JtIGZ1bmN0aW9uYWxpdHkgaW4gY2FyZCAtLT5cbiAgICAgIDxzZS1mb3JtLXV0aWxcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRlbnRcIlxuICAgICAgICBbZm9ybV09XCJmaWxlLmR5bmFtaWNmb3JtXCJcbiAgICAgICAgW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuICAgICAgICBbaGlkZUNhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgID48L3NlLWZvcm0tdXRpbD5cbiAgICAgIDwhLS0gRW5kIGZvcm0gZnVuY3Rpb25hbGl0eSBpbiBjYXJkIC0tPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIGluIGNhc2Ugb2YgZm9ybSBhbmQgZGF0YSBpcyBlbXB0eSBvciBudWxsIC0tPlxuICA8ZGl2ICpuZ0lmPVwiZHluYW1pY0Zvcm0gJiYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoID09IDApXCI+XG4gICAgPHNlLWZvcm0tdXRpbFxuICAgICAgKm5nSWY9XCJkeW5hbWljRm9ybVwiXG4gICAgICBbZm9ybV09XCJkeW5hbWljRm9ybVwiXG4gICAgICBbaGlkZVNhdmVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICBbaGlkZUNhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcbiAgICA+PC9zZS1mb3JtLXV0aWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9jYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sS0FBSyxTQUFTLE1BQU0scUNBQXFDLENBQUM7QUFHakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7OztBQU8vRCxNQUFNLE9BQU8sYUFBYTtJQVl4QixZQUNTLGFBQTRCLEVBQzNCLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFIekMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBZnhDLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0Qsa0VBQWtFO1FBQ3pELFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFJN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztJQVF4QixDQUFDO0lBRUosUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLElBQUks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Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBJRHluYW1pY0NhcmQsIElEeW5hbWljRm9ybSwgSVZpZXdDYXJkUHJvcCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgdXRpbGl0aWVzIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTeXN0ZW1Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3lzdGVtLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEVTeXN0ZW1Db25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVzcG9uc2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDYXJkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gQE91dHB1dCgpIG9uRGVsZXRlQ2FyZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhcmQ6IGFueTtcbiAgQElucHV0KCkgc2V0Q2FyZERhdGE6IGJvb2xlYW47XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIHNob3dGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5Q2FyZEluZm86IElWaWV3Q2FyZFByb3A7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtQ29uZmlnU2VydmljZTogU3lzdGVtQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5jYXJkKSB7XG4gICAgICBjb25zdCBmaWxlQ29udGFpbmVyTmFtZSA9IHRoaXMuY2FyZD8uY29udGFpbmVyTmFtZTtcbiAgICAgIGNvbnNvbGUubG9nKCdmaWxlQ29udGFpbmVyTmFtZTogJywgZmlsZUNvbnRhaW5lck5hbWUpO1xuXHQgICAgY29uc3QgZmlsZVJvb3RQYXRoID0gdGhpcy5zeXN0ZW1Db25maWdTZXJ2aWNlLmdldFN5c3RlbUNvbmZpZ1ZhbHVlKEVTeXN0ZW1Db25maWcuRklMRVJPT1RQQVRIKTtcbiAgICAgIGxldCB7IGRhdGEsIGZvcm1TZWN0aW9ucywgY2FyZEluZm8gfTogYW55ID0gdGhpcy5jYXJkO1xuICAgICAgaWYoY2FyZEluZm8gJiYgT2JqZWN0LmtleXMoY2FyZEluZm8pLmxlbmd0aCl7XG4gICAgICAgIHRoaXMuZGlzcGxheUNhcmRJbmZvID0gY2FyZEluZm87XG4gICAgICAgIGRhdGEgPSB0aGlzLmdyaWRTZXJ2aWNlLnNldERhdGFGaWVsZHMoZGF0YSk7XG4gICAgICAgIGNvbnN0IG5ld0FyciA9IFtdO1xuICAgICAgICBkYXRhPy5mb3JFYWNoKChyZWNvcmQpPT57XG4gICAgICAgICAgaWYoIU9iamVjdC5rZXlzKHJlY29yZCk/LmluY2x1ZGVzKCdhenVyZWNvbnRhaW5lcmlkJykpe1xuICAgICAgICAgICAgbmV3QXJyLnB1c2goey4uLnJlY29yZCwgYmxvYmZpbGV1cmw6IChmaWxlUm9vdFBhdGgrJy8nK2ZpbGVDb250YWluZXJOYW1lKycvJytyZWNvcmRbY2FyZEluZm8udXJsPy50b0xvd2VyQ2FzZSgpXSk/LnRvTG93ZXJDYXNlKCksIGZpbGVjYXB0aW9uOiByZWNvcmRbY2FyZEluZm8uY2FwdGlvbj8udG9Mb3dlckNhc2UoKV0sIGZpbGVleHRlbnNpb246IHJlY29yZFtjYXJkSW5mby5leHRlbnNpb24/LnRvTG93ZXJDYXNlKCldfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0Fyci5wdXNoKHJlY29yZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhID0gbmV3QXJyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5ncmlkU2VydmljZS5zZXREYXRhRmllbGRzKGRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHsgZm9ybVNlY3Rpb25zIH07XG4gICAgICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RG93bmxvYWQnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dEZWxldGUnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dFZGl0YWJsZUNhcHRpb24nKTtcbiAgICAgIC8vZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24gPSB0aGlzLnNldENhcmRQcm9wVmFsdWUoZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pO1xuICAgICAgLyoqIEluIGNhc2Ugb2Ygd2hlbiB3ZSBhcmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZm9yIHN0YW5kIGFsb25lIHRoZW4gaWYgZm9ybVNlY3Rpb24gaXMgZXhpc3QgaW5cbiAgICAgICAgICB0aGUgdGhpcy5jYXJkIGFuZCB0aGVuIGFkZCBpbiB0aGUgZGF0YSBhcnJheS5cbiAgICAgICovXG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXguZHluYW1pY2Zvcm0pIHtcbiAgICAgICAgICAgIHguZHluYW1pY2Zvcm0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHluYW1pY0Zvcm0pKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXRpbGl0aWVzLnNldENhcmRGaWVsZHNEYXRhKHgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gIHNldENhcmRQcm9wVmFsdWUocHJvcDpzdHJpbmcpe1xuICAgaWYoIXRoaXMuY2FyZFtwcm9wXT8udG9TdHJpbmcoKT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNhcmRbcHJvcF09IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJhZ0FuZERyb3AoZXZlbnQ6IGFueSkge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgZXZlbnQuaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmNhcmQuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICB0aGlzLmNhcmRbJ2NoYW5nZSddID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vblNvcnQpIHtcbiAgICAgIHRoaXMuY2FyZC5vblNvcnQodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVJbWFnZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgbWVzc2FnZTogJ0FyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIEltYWdlPycsXG4gICAgICBoZWFkZXI6ICdEZWxldGUgQ29uZmlybWF0aW9uJyxcbiAgICAgIGljb246ICdwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZScsXG4gICAgICBrZXk6ICdoYW5kbGVjb2x1bW5BY3Rpb25zJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhICYmIGV2ZW50KSB7XG4gICAgICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gYXJyLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybFxuICAgICAgICAgICk7XG4gICAgICAgICAgbGV0IG9iaiA9IGFycltpbmRleF07XG4gICAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy5kYXRhID0gWy4uLmFycl07XG5cbiAgICAgICAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vbkRlbGV0ZSkge1xuICAgICAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZC5vbkRlbGV0ZShvYmopO1xuICAgICAgICAgICAgLy8gdGhpcy5vbkRlbGV0ZUNhcmQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xvc2UoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZVByb3BOYW1lKGNhcmRJbmZvOmFueSl7XG4gICAgaWYodGhpcy5kaXNwbGF5Q2FyZEluZm8gJiYgT2JqZWN0LmtleXModGhpcy5kaXNwbGF5Q2FyZEluZm8pLmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgY2FyZFByb3AgPSB7Li4udGhpcy5kaXNwbGF5Q2FyZEluZm99O1xuICAgICAgY29uc3Qgb2JqID0gey4uLmNhcmRJbmZvLFtjYXJkUHJvcC51cmxdOiBjYXJkSW5mby5ibG9iZmlsZXVybCxbY2FyZFByb3AuY2FwdGlvbl06IGNhcmRJbmZvLmZpbGVjYXB0aW9uLFtjYXJkUHJvcC5leHRlbnNpb25dOiBjYXJkSW5mby5maWxlZXh0ZW5zaW9ufTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYXJkSW5mbztcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FwdGlvbihldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgY29uc3QgaW5kZXggPSBhcnIuZmluZEluZGV4KChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybCk7XG4gICAgICBsZXQgb2JqID0gYXJyW2luZGV4XTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb2JqLmZpbGVjYXB0aW9uID0gZXZlbnQuY2FwdGlvbjtcbiAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSwgb2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLmRhdGEgPSBhcnI7XG4gICAgICAgIHRoaXMuY2FyZFsnY2hhbmdlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQ/Lm9uQ2FwdGlvblNhdmUpIHtcbiAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLm9uQ2FwdGlvblNhdmUob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNsaWNrRXZlbnQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKXtcbiAgICBkYXRhWydpbmRleCddID0gaW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZENhcmQuZW1pdChkYXRhKTtcbiAgfVxuXG59XG4iLCI8IS0tIERpc3BsYXkgRmlsZXMgQ2FyZCAtLT5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiaGFuZGxlY29sdW1uQWN0aW9uc1wiPjwvcC1jb25maXJtRGlhbG9nPlxuPGRpdlxuICBjZGtEcm9wTGlzdFxuICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gIGNsYXNzPVwiZXhhbXBsZS1saXN0XCJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcmFnQW5kRHJvcCgkZXZlbnQpXCJcbj5cbiAgPGRpdiBcbiAgY2xhc3M9XCJmbGV4IGNhcmRzLXdyYXBwZXJcIiBcbiAgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0IH1cIiBcbiAgKm5nSWY9XCJkYXRhXCIgXG4gIFtjbGFzc109XCJjYXJkICYmIGNhcmQuY2xhc3MgPyBjYXJkLmNsYXNzIDogJydcIj5cbiAgICA8ZGl2XG4gICAgICBjZGtEcmFnXG4gICAgICBjbGFzcz1cImV4YW1wbGUtYm94IGZsZXggZmxleC1jb2x1bW4gY2FyZHMtd3JhcHBlclwiXG4gICAgICBbY2xhc3NdPVwiXG4gICAgICAgIGNhcmQgJiYgY2FyZC53aWR0aCAmJiBjYXJkLndpZHRoLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdjb2wtJyArIGNhcmQud2lkdGhcbiAgICAgICAgICA6ICdjb2wtMydcbiAgICAgIFwiXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBkYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrRXZlbnQoZmlsZSxpKVwiXG4gICAgICBbbmdDbGFzc109XCJmaWxlLnNlbGVjdGVkQ2FyZCA/IGZpbGUuc2VsZWN0ZWRDYXJkIDogJydcIlxuICAgID5cbiAgICAgIDwhLS0gc3RhcnQgY2FyZHMgaW1hZ2UgZnVuY3Rpb25hbGl0eSAtLT5cbiAgICAgIDxzZS1maWxlXG4gICAgICAgIFt1cmxdPVwiZmlsZS5ibG9iZmlsZXVybFwiXG4gICAgICAgIFt0eXBlXT1cImZpbGUuZmlsZWV4dGVuc2lvblwiXG4gICAgICAgIFtjYXB0aW9uXT1cImZpbGU/LmZpbGVjYXB0aW9uXCJcbiAgICAgICAgW2hlaWdodF09XCJjYXJkPy5oZWlnaHRcIlxuICAgICAgICBbYWxsb3dEb3dubG9hZEZpbGVdPVwiY2FyZD8uYWxsb3dEb3dubG9hZFwiXG4gICAgICAgIFthbGxvd0VkaXRhYmxlQ2FwdGlvbl09XCJjYXJkPy5hbGxvd0VkaXRhYmxlQ2FwdGlvblwiXG4gICAgICAgIFthbGxvd0RlbGV0ZUZpbGVdPVwiY2FyZD8uYWxsb3dEZWxldGVcIlxuICAgICAgICBbbmFtZV09XCJmaWxlLmJsb2JmaWxldXJsXCJcbiAgICAgICAgW2lkXT1cImZpbGUuZmlsZWV4dGVuc2lvblwiXG4gICAgICAgIChvbkRlbGV0ZUV2ZW50KT1cImRlbGV0ZUltYWdlKCRldmVudClcIlxuICAgICAgICAob25TYXZlRXZlbnQpPVwic2F2ZUNhcHRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9zZS1maWxlPlxuICAgICAgPCEtLSBFbmQgY2FyZHMgaW1hZ2UgZnVuY3Rpb25hbGl0eSAtLT5cblxuICAgICAgPCEtLSBzdGFydCBmb3JtIGZ1bmN0aW9uYWxpdHkgaW4gY2FyZCAtLT5cbiAgICAgIDxzZS1mb3JtLXV0aWxcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRlbnRcIlxuICAgICAgICBbZm9ybV09XCJmaWxlLmR5bmFtaWNmb3JtXCJcbiAgICAgICAgW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuICAgICAgICBbaGlkZUNhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgID48L3NlLWZvcm0tdXRpbD5cbiAgICAgIDwhLS0gRW5kIGZvcm0gZnVuY3Rpb25hbGl0eSBpbiBjYXJkIC0tPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIGluIGNhc2Ugb2YgZm9ybSBhbmQgZGF0YSBpcyBlbXB0eSBvciBudWxsIC0tPlxuICA8ZGl2ICpuZ0lmPVwiZHluYW1pY0Zvcm0gJiYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoID09IDApXCI+XG4gICAgPHNlLWZvcm0tdXRpbFxuICAgICAgKm5nSWY9XCJkeW5hbWljRm9ybVwiXG4gICAgICBbZm9ybV09XCJkeW5hbWljRm9ybVwiXG4gICAgICBbaGlkZVNhdmVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICBbaGlkZUNhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcbiAgICA+PC9zZS1mb3JtLXV0aWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=