@smartbit4all/ng-client 1.1.33 → 1.1.35

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.
@@ -150,6 +150,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
150
150
  throw new Error('handleSpecificDemandsAsynchronously method not implemented.');
151
151
  }
152
152
  //#endregion
153
+ addSmartLayout(layout) {
154
+ this.smartComponentLayoutDefinition = this.setParentComponent(layout);
155
+ }
156
+ setParentComponent(layout) {
157
+ layout.parentComponent = this;
158
+ layout.components = layout.components?.map((l) => this.setParentComponent(l));
159
+ return layout;
160
+ }
153
161
  addGrid(smartGrid, options, useAsDefaultGrid, componentReference) {
154
162
  smartGrid.options = options;
155
163
  smartGrid.uiActionService = this.uiActionService;
@@ -336,4 +344,4 @@ export class WidgetMap {
336
344
  return this.widgets.get(key);
337
345
  }
338
346
  }
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBSUwsY0FBYyxFQUNkLHVCQUF1QixFQUd2Qix5QkFBeUIsRUFHekIsZUFBZSxHQUdoQixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLElBQXNCLHVCQUF1QixHQUE3QyxNQUFzQix1QkFBdUI7SUFrRjNDLFlBQ1ksTUFBZ0IsRUFDaEIsSUFBeUMsRUFDckIsUUFBZ0I7UUFGcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFxQztRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBcEZ0QyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFekMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFbkMsaUJBQVksR0FBdUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBMkNyRixtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFFckMsZ0JBQVcsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJFLGNBQWM7UUFDZCxXQUFNLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBdUJ0RSxvQkFBb0I7UUFDcEIsWUFBTyxHQUF3RSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBRS9GLGdCQUFXLEdBQThDLElBQUksU0FBUyxFQUFFLENBQUM7UUFPdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUE0QixFQUFFLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUF0RkQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUF3QjtRQUMvQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLEdBQUcsWUFBWSxrQkFBa0IsRUFBRTtvQkFDckMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7aUJBQ2pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFJRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWlDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFJRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQW9CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQXFCRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxnQkFBZ0IsQ0FBQyxnQkFBcUQ7UUFDL0UsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7SUFDNUMsQ0FBQztJQXNCRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLGtDQUFrQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQVcsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDbkUsT0FBTztvQkFDTCxZQUFZLEVBQUUsSUFBSTtvQkFDbEIsUUFBUTtpQkFDVCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLG1CQUFtQixDQUFDLFFBQWtCO1FBQ3BDLE9BQU87WUFDTCxXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBQ0QsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUMxQixlQUFnQyxFQUNoQyxRQUFpQixFQUNqQixNQUFlO1FBRWYsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hELE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTVDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxRjtpQkFBTTtnQkFDTCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQ2hELElBQUksQ0FBQyxJQUFLLEVBQ1YsZUFBZSxFQUNmLEtBQUssRUFDTCxLQUFLLENBQ04sQ0FBQzthQUNIO1NBQ0Y7YUFBTSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7WUFDN0IsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztTQUMzRjthQUFNLElBQUksUUFBUSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSyxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztTQUN2RjthQUFNO1lBQ0wsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELG1DQUFtQyxDQUNqQyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELFlBQVk7SUFFTCxPQUFPLENBQ1osU0FBb0IsRUFDcEIsT0FBb0IsRUFDcEIsZ0JBQTBCLEVBQzFCLGtCQUF1QztRQUV2QyxTQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM1QixTQUFTLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDakQsU0FBUyxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztRQUNyRSxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixTQUFTLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVoRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFckUsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDdkI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sT0FBTyxDQUNaLFdBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLGtCQUF1QztRQUV2QyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUU1RCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksa0JBQWtCLEVBQUU7WUFDOUMsU0FBUyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUV2QyxrQkFBa0IsQ0FBQyx3QkFBd0I7aUJBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMvQixTQUFTLENBQUMsQ0FBQyxXQUFxQyxFQUFFLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQWM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBYztRQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFNUMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLGVBQWUsQ0FDcEIsWUFBb0IsRUFDcEIsV0FBc0IsRUFDdEIsU0FBa0IsRUFDbEIsVUFBb0I7UUFFcEIsT0FBTztZQUNMLFlBQVk7WUFDWixjQUFjLEVBQUUsSUFBSTtZQUNwQixXQUFXO1lBQ1gsVUFBVTtZQUNWLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QjtJQUNqQixrQkFBa0IsQ0FBQyxXQUFxQztRQUM5RCxJQUFJLFVBQXNCLENBQUM7UUFDM0IsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxVQUFVLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUztnQkFDckYsTUFBTTtnQkFDTixNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxVQUFVLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUztnQkFDckYsTUFBTSxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUN2QixNQUFNLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9DLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUE0QjtRQUNoRCxJQUFJO1lBQ0YsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFO2dCQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2pEO1lBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtvQkFDN0MsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO3FCQUMzQzt5QkFBTSxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7d0JBQ2xFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7cUJBQzdDO3lCQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTt3QkFDdEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztxQkFDL0M7eUJBQU0sSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO3dCQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO3FCQUM3Qzt5QkFBTSxJQUFJLFNBQVMsS0FBSyxhQUFhLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7cUJBQ2pEO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDekI7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUF1QixDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDN0QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBdUIsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxjQUF3QjtRQUNsRCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFeEMsSUFBSSxTQUFTLFlBQVksa0JBQWtCLEVBQUU7Z0JBQzNDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNyQjtpQkFBTSxJQUFJLFNBQVMsWUFBWSx1QkFBdUIsRUFBRTtnQkFDdkQsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hCO2lCQUFNLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtnQkFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVUsRUFBRSxHQUFXLEVBQUUsS0FBVTtRQUN4RCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxDLElBQUksU0FBUyxHQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxTQUFjLENBQUM7UUFFbkIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3QixJQUNFLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLFFBQVE7Z0JBQ2xELE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLFNBQVM7Z0JBQ25ELE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLFFBQVE7Z0JBQ2xELFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQzVDO2dCQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7WUFFRCxJQUFJLEtBQUssS0FBSyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDdkMsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUErQixFQUFFLFNBQWlCO1FBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUM5QixDQUFDLGFBQTZDLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixHQUFHLGdCQUFnQixDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBK0IsRUFBRSxTQUFpQjtRQUMzRSxJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBK0IsRUFBRSxTQUFpQjtRQUM3RSxJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFNLENBQUMsU0FBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBK0IsRUFBRSxTQUFpQjtRQUMzRSxJQUFJLENBQUMsS0FBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxPQUErQixFQUFFLFNBQWlCO1FBQy9FLElBQUksQ0FBQyxLQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBR0YsQ0FBQTtBQTdZcUIsdUJBQXVCO0lBcUZ4QyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQXJGRCx1QkFBdUIsQ0E2WTVDO1NBN1lxQix1QkFBdUI7QUErWTdDLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ1UsYUFBUSxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBcUIvQyxDQUFDO0lBbkJDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBdUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFXLEVBQUUsU0FBWSxFQUFFLE1BQWdCO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRGb3JtLCBTbWFydGZvcm1Db21wb25lbnQsIFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSB9IGZyb20gJ0BzbWFydGJpdDRhbGwvZm9ybSc7XG5pbXBvcnQgeyBHcmlkT3B0aW9ucywgU21hcnRHcmlkLCBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICdAc21hcnRiaXQ0YWxsL2dyaWQnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9zdWJqZWN0JztcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC90cmVlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TW9kZWwsXG4gIENvbXBvbmVudE1vZGVsQ2hhbmdlLFxuICBEYXRhQ2hhbmdlLFxuICBEYXRhQ2hhbmdlS2luZCxcbiAgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gIFVpQWN0aW9uLFxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXG4gIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UsXG4gIFVpQWN0aW9uTW9kZWwsXG4gIFVpQWN0aW9uUmVxdWVzdCxcbiAgVWlBY3Rpb25TZXJ2aWNlLFxuICBVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2UsXG4gIFVzZVVpQWN0aW9uLFxufSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuL3NtYXJ0LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU21hcnRDb21wb25lbnRBcGlDbGllbnQ8VD4gaW1wbGVtZW50cyBVc2VVaUFjdGlvbiB7XG4gIHByb3RlY3RlZCBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByb3RlY3RlZCBzZW5kRGF0YUNoYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRldGVjdENoYW5nZTogU21hcnRTdWJqZWN0PENvbXBvbmVudE1vZGVsQ2hhbmdlPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gIHByaXZhdGUgX3V1aWQ/OiBzdHJpbmc7XG5cbiAgZ2V0IHV1aWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdXVpZDtcbiAgfVxuICBzZXQgdXVpZCh1dWlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy51dWlkKSB7XG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnVuZm9sbG93KHRoaXMudXVpZCk7XG4gICAgfVxuICAgIHRoaXMuX3V1aWQgPSB1dWlkO1xuICAgIGlmICh1dWlkKSB7XG4gICAgICB0aGlzLndpZGdldHMud2lkZ2V0cy5mb3JFYWNoKChyZWYpID0+IHtcbiAgICAgICAgaWYgKHJlZiBpbnN0YW5jZW9mIFNtYXJ0R3JpZENvbXBvbmVudCkge1xuICAgICAgICAgIHJlZi51dWlkID0gdXVpZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMudmlld0NvbnRleHQuZm9sbG93KHRoaXMuX3V1aWQhLCB0aGlzLmRldGVjdENoYW5nZSk7XG4gIH1cblxuICBwcml2YXRlIF9tb2RlbDogQ29tcG9uZW50TW9kZWwgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0IG1vZGVsKCk6IENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gIH1cbiAgc2V0IG1vZGVsKG1vZGVsOiBDb21wb25lbnRNb2RlbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21vZGVsID0gbW9kZWw7XG5cbiAgICB0aGlzLmluaXRDb21wb25lbnRCeU1vZGVsKCk7XG4gIH1cblxuICBwcml2YXRlIF9kYXRhPzogVDtcblxuICBnZXQgZGF0YSgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YShtb2RlbDogVCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2RhdGEgPSBtb2RlbDtcbiAgICB0aGlzLmRhdGFDaGFuZ2VkLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XG5cbiAgcHVibGljIGRhdGFDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgLy8gVXNlVWlBY3Rpb25cbiAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gIHJlU3Vic2NyaWJlVG9DaGFuZ2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICAvLyBHcmlkXG4gIHNtYXJ0R3JpZD86IFNtYXJ0R3JpZDtcblxuICAvLyBTZXJ2aWNlc1xuICBwcm90ZWN0ZWQgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgdWlBY3Rpb25TZXJ2aWNlOiBVaUFjdGlvblNlcnZpY2U7XG4gIHByb3RlY3RlZCB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuXG4gIC8vIFRyZWVcbiAgcHJpdmF0ZSBfc21hcnRUcmVlU2VydmljZT86IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlO1xuXG4gIHB1YmxpYyBnZXQgc21hcnRUcmVlU2VydmljZSgpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NtYXJ0VHJlZVNlcnZpY2U7XG4gIH1cbiAgcHVibGljIHNldCBzbWFydFRyZWVTZXJ2aWNlKHNtYXJ0VHJlZVNlcnZpY2U6IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX3NtYXJ0VHJlZVNlcnZpY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBkZWZhdWx0IHRyZWUgaGFzIGFscmVhZHkgc2V0IHVwIScpO1xuICAgIH1cbiAgICB0aGlzLl9zbWFydFRyZWVTZXJ2aWNlID0gc21hcnRUcmVlU2VydmljZTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lZCBXaWRnZXRzXG4gIHdpZGdldHM6IFdpZGdldE1hcDxTbWFydEdyaWRDb21wb25lbnQgfCBTbWFydHRyZWVHZW5lcmljU2VydmljZSB8IHVuZGVmaW5lZD4gPSBuZXcgV2lkZ2V0TWFwKCk7XG5cbiAgZm9ybVdpZGdldHM6IFdpZGdldE1hcDxTbWFydGZvcm1Db21wb25lbnQgfCB1bmRlZmluZWQ+ID0gbmV3IFdpZGdldE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3Q6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBhdXRoOiBTbWFydEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSxcbiAgICBASW5qZWN0KCdwYWdlTmFtZScpIHByb3RlY3RlZCBwYWdlTmFtZTogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlLnN1YnNjcmliZSgoY2hhbmdlOiBDb21wb25lbnRNb2RlbENoYW5nZSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzKGNoYW5nZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gaW5qZWN0LmdldChTbWFydFZpZXdDb250ZXh0U2VydmljZSk7XG5cbiAgICB0aGlzLnVpQWN0aW9uU2VydmljZSA9IGluamVjdC5nZXQoVWlBY3Rpb25TZXJ2aWNlKTtcbiAgICB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xuICB9XG5cbiAgX25nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucnVuKCk7XG4gIH1cbiAgX25nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmlld0NvbnRleHQudW5mb2xsb3codGhpcy51dWlkISk7XG4gICAgdGhpcy53aWRnZXRzLmNsZWFyV2lkZ2V0cygpO1xuXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBpbml0Q29tcG9uZW50QnlNb2RlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREYXRhKCk7XG4gICAgdGhpcy5pbml0QWN0aW9ucygpO1xuXG4gICAgLy8gVE9ETzogbGF5b3V0LCB2YWx1ZVNldCwgd2lkZ2V0c1xuICB9XG5cbiAgaW5pdERhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWw/LmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMubW9kZWw/LmRhdGEgYXMgYW55O1xuICAgIH1cbiAgfVxuXG4gIGluaXRBY3Rpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVsPy5hY3Rpb25zKSB7XG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdGhpcy5tb2RlbD8uYWN0aW9ucy5tYXAoKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcyxcbiAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJ1bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRoLmJmZkFwaXNIYXZlQmVlblNldFVwKSB7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRoLmhlYWRlcnNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnV1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSk7XG4gICAgdGhpcy5tb2RlbCA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQubG9hZCh0aGlzLnV1aWQpO1xuICB9XG5cbiAgLy8jcmVnaW9uIFVzZVVpQWN0aW9uXG4gIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9yVGV4dEFyZWE6ICcnLFxuICAgICAgZm9yVGV4dEZpZWxkOiAnJyxcbiAgICB9O1xuICB9XG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGE7XG4gIH1cblxuICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIHdpZGdldElkPzogc3RyaW5nLFxuICAgIG5vZGVJZD86IHN0cmluZ1xuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh1aUFjdGlvblJlcXVlc3QucGFyYW1zWydfZmlsZXMnXSkge1xuICAgICAgY29uc3QgcGFyYW0gPSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydwYXJhbSddO1xuICAgICAgY29uc3QgZmlsZXMgPSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydfZmlsZXMnXTtcbiAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydpc011bHRpcGxlJ107XG4gICAgICBkZWxldGUgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1sncGFyYW0nXTtcbiAgICAgIGRlbGV0ZSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydfZmlsZXMnXTtcbiAgICAgIGRlbGV0ZSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydpc011bHRpcGxlJ107XG5cbiAgICAgIGlmICghaXNNdWx0aXBsZSkge1xuICAgICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LnBlcmZvcm1VcGxvYWRBY3Rpb24odGhpcy51dWlkISwgdWlBY3Rpb25SZXF1ZXN0LCBwYXJhbSwgZmlsZXNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtVXBsb2FkTXVsdGlwbGVBY3Rpb24oXG4gICAgICAgICAgdGhpcy51dWlkISxcbiAgICAgICAgICB1aUFjdGlvblJlcXVlc3QsXG4gICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgZmlsZXNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHdpZGdldElkICYmIG5vZGVJZCkge1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtV2lkZ2V0QWN0aW9uKHRoaXMudXVpZCEsIHdpZGdldElkLCBub2RlSWQsIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfSBlbHNlIGlmICh3aWRnZXRJZCkge1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvbih0aGlzLnV1aWQhLCB3aWRnZXRJZCwgdWlBY3Rpb25SZXF1ZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtQWN0aW9uKHRoaXMudXVpZCEsIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdoYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseSBtZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHB1YmxpYyBhZGRHcmlkKFxuICAgIHNtYXJ0R3JpZDogU21hcnRHcmlkLFxuICAgIG9wdGlvbnM6IEdyaWRPcHRpb25zLFxuICAgIHVzZUFzRGVmYXVsdEdyaWQ/OiBib29sZWFuLFxuICAgIGNvbXBvbmVudFJlZmVyZW5jZT86IFNtYXJ0R3JpZENvbXBvbmVudFxuICApOiBTbWFydEdyaWQge1xuICAgIHNtYXJ0R3JpZC5vcHRpb25zID0gb3B0aW9ucztcbiAgICBzbWFydEdyaWQudWlBY3Rpb25TZXJ2aWNlID0gdGhpcy51aUFjdGlvblNlcnZpY2U7XG4gICAgc21hcnRHcmlkLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgPSB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XG4gICAgc21hcnRHcmlkLnNlcnZpY2VUb1VzZSA9IHRoaXM7XG4gICAgc21hcnRHcmlkLnZpZXdDb250ZXh0U2VydmljZSA9IHRoaXMudmlld0NvbnRleHQ7XG5cbiAgICB0aGlzLndpZGdldHMuYWRkV2lkZ2V0KHNtYXJ0R3JpZC5ncmlkSWRlbnRpZmllciwgY29tcG9uZW50UmVmZXJlbmNlKTtcblxuICAgIGlmICh1c2VBc0RlZmF1bHRHcmlkKSB7XG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHNtYXJ0R3JpZDtcbiAgICAgIHJldHVybiB0aGlzLnNtYXJ0R3JpZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc21hcnRHcmlkO1xuICB9XG5cbiAgcHVibGljIGFkZEZvcm0oXG4gICAgc21hcnRGb3JtSWQ6IHN0cmluZyxcbiAgICBzbWFydEZvcm06IFNtYXJ0Rm9ybSxcbiAgICBjb21wb25lbnRSZWZlcmVuY2U/OiBTbWFydGZvcm1Db21wb25lbnRcbiAgKTogU21hcnRGb3JtIHtcbiAgICB0aGlzLmZvcm1XaWRnZXRzLmFkZFdpZGdldChzbWFydEZvcm1JZCwgY29tcG9uZW50UmVmZXJlbmNlKTtcblxuICAgIGlmICh0aGlzLnNlbmREYXRhQ2hhbmdlcyAmJiBjb21wb25lbnRSZWZlcmVuY2UpIHtcbiAgICAgIHNtYXJ0Rm9ybS51c2VPblZhbHVlQ2hhbmdlRXZlbnQgPSB0cnVlO1xuXG4gICAgICBjb21wb25lbnRSZWZlcmVuY2Uuc29waGlzdGljYXRlZFZhbHVlQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlQ2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlcyh2YWx1ZUNoYW5nZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzbWFydEZvcm07XG4gIH1cblxuICBwdWJsaWMgc2V0VXBEZWZhdWx0VHJlZSh0cmVlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc21hcnRUcmVlU2VydmljZSA9IG5ldyBTbWFydHRyZWVHZW5lcmljU2VydmljZSh0aGlzLmluamVjdCwgdGhpcy5wYWdlTmFtZSwgdHJlZUlkKTtcbiAgICB0aGlzLndpZGdldHMuYWRkV2lkZ2V0KHRyZWVJZCwgdGhpcy5zbWFydFRyZWVTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVUcmVlU2VydmljZSh0cmVlSWQ6IHN0cmluZyk6IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIHtcbiAgICBjb25zdCB0cmVlU2VydmljZSA9IG5ldyBTbWFydHRyZWVHZW5lcmljU2VydmljZSh0aGlzLmluamVjdCwgdGhpcy5wYWdlTmFtZSwgdHJlZUlkKTtcbiAgICB0aGlzLndpZGdldHMuYWRkV2lkZ2V0KHRyZWVJZCwgdHJlZVNlcnZpY2UpO1xuXG4gICAgcmV0dXJuIHRyZWVTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIGFkZEZpbGVVcGxvYWRlcihcbiAgICB1aUFjdGlvbkNvZGU6IHN0cmluZyxcbiAgICBmaWxlRm9ybWF0cz86IHN0cmluZ1tdLFxuICAgIG1heFNpemVNYj86IG51bWJlcixcbiAgICBpc011bHRpcGxlPzogYm9vbGVhblxuICApOiBTbWFydEZpbGVVcGxvYWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVpQWN0aW9uQ29kZSxcbiAgICAgIHNtYXJ0Q29tcG9uZW50OiB0aGlzLFxuICAgICAgZmlsZUZvcm1hdHMsXG4gICAgICBpc011bHRpcGxlLFxuICAgICAgbWF4U2l6ZU1iLFxuICAgIH07XG4gIH1cblxuICAvLyAjcmVnaW9uIGhhbmRsZSBjaGFuZ2VzXG4gIHByaXZhdGUgaGFuZGxlVmFsdWVDaGFuZ2VzKHZhbHVlQ2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpOiB2b2lkIHtcbiAgICBsZXQgZGF0YUNoYW5nZTogRGF0YUNoYW5nZTtcbiAgICBpZiAodmFsdWVDaGFuZ2Uua2V5LmluY2x1ZGVzKCcuJykpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHZhbHVlQ2hhbmdlLmtleS5zcGxpdCgnLicpWzBdO1xuICAgICAgY29uc3QgdmFsdWVLZXkgPSB2YWx1ZUNoYW5nZS5rZXkuc3BsaXQoJy4nKVsxXTtcbiAgICAgIGRhdGFDaGFuZ2UgPSB7XG4gICAgICAgIGtpbmQ6IHZhbHVlQ2hhbmdlLmtpbmQgPT09ICdiYXNpYycgPyBEYXRhQ2hhbmdlS2luZC5XaWRnZXQgOiBEYXRhQ2hhbmdlS2luZC5TZWxlY3Rpb24sXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgdmFsdWVzOiBbW3ZhbHVlS2V5LCB2YWx1ZUNoYW5nZS52YWx1ZV1dLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YUNoYW5nZSA9IHtcbiAgICAgICAga2luZDogdmFsdWVDaGFuZ2Uua2luZCA9PT0gJ2Jhc2ljJyA/IERhdGFDaGFuZ2VLaW5kLldpZGdldCA6IERhdGFDaGFuZ2VLaW5kLlNlbGVjdGlvbixcbiAgICAgICAgc291cmNlOiB2YWx1ZUNoYW5nZS5rZXksXG4gICAgICAgIHZhbHVlczogW1t2YWx1ZUNoYW5nZS5rZXksIHZhbHVlQ2hhbmdlLnZhbHVlXV0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMudmlld0NvbnRleHQuZGF0YUNoYW5nZWQodGhpcy51dWlkISwgZGF0YUNoYW5nZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXMoY2hhbmdlOiBDb21wb25lbnRNb2RlbENoYW5nZSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoY2hhbmdlLmNoYW5nZWRXaWRnZXRzKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlV2lkZ2V0cyhjaGFuZ2UuY2hhbmdlZFdpZGdldHMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2hhbmdlLmNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgY2hhbmdlcyA9IGNoYW5nZS5jaGFuZ2VzO1xuICAgICAgICBPYmplY3Qua2V5cyhjaGFuZ2VzKS5tYXAoKGNoYW5nZUtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGNoYW5nZUtleS5zdGFydHNXaXRoKCdkYXRhLicpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZURhdGFDaGFuZ2UoY2hhbmdlcywgY2hhbmdlS2V5KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZUtleS5zdGFydHNXaXRoKCdsYXlvdXRzLicpICYmIHRoaXMubW9kZWw/LmxheW91dHMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTGF5b3V0Q2hhbmdlKGNoYW5nZXMsIGNoYW5nZUtleSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VLZXkuc3RhcnRzV2l0aCgndmFsdWVTZXRzLicpICYmIHRoaXMubW9kZWw/LnZhbHVlU2V0cykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZVNldENoYW5nZShjaGFuZ2VzLCBjaGFuZ2VLZXkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlS2V5ID09PSAnYWN0aW9ucycpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uQ2hhbmdlKGNoYW5nZXMsIGNoYW5nZUtleSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VLZXkgPT09ICdjb25zdHJhaW50cycpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29uc3RyYWludENoYW5nZShjaGFuZ2VzLCBjaGFuZ2VLZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRhQ2hhbmdlZC5uZXh0KCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5tb2RlbCA9IGNoYW5nZS52YWx1ZSBhcyBDb21wb25lbnRNb2RlbDtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5nZS5jaGFuZ2VkV2lkZ2V0cyAmJiAhY2hhbmdlLmNoYW5nZXMgJiYgY2hhbmdlLnZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGVsID0gY2hhbmdlLnZhbHVlIGFzIENvbXBvbmVudE1vZGVsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hhbmdlV2lkZ2V0cyhjaGFuZ2VkV2lkZ2V0czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjaGFuZ2VkV2lkZ2V0cy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy53aWRnZXRzLmdldChrZXkpO1xuXG4gICAgICBpZiAocmVmZXJlbmNlIGluc3RhbmNlb2YgU21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICAgIHJlZmVyZW5jZS5yZWZyZXNoKCk7XG4gICAgICB9IGVsc2UgaWYgKHJlZmVyZW5jZSBpbnN0YW5jZW9mIFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlKSB7XG4gICAgICAgIHJlZmVyZW5jZS5pbml0aWFsaXplKCk7XG4gICAgICB9IGVsc2UgaWYgKHJlZmVyZW5jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFByb3ZpZGVkIHJlZmVyZW5jZSBmb3IgJHtrZXl9IGlzIHVuZGVmaW5lZC5gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWVEZWVwbHkobW9kZWw6IGFueSwga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGxldCBzcGxpdHRlZEtleXMgPSBrZXkuc3BsaXQoJy4nKTtcblxuICAgIGxldCBkZWVwTW9kZWw6IGFueVtdID0gW21vZGVsXTtcbiAgICBsZXQgdGVtcE1vZGVsOiBhbnk7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc3BsaXR0ZWRLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgdGVtcE1vZGVsID0gZGVlcE1vZGVsW2luZGV4XTtcblxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgdGVtcE1vZGVsW3NwbGl0dGVkS2V5c1tpbmRleF1dICE9PSAnc3RyaW5nJyAmJlxuICAgICAgICB0eXBlb2YgdGVtcE1vZGVsW3NwbGl0dGVkS2V5c1tpbmRleF1dICE9PSAnYm9vbGVhbicgJiZcbiAgICAgICAgdHlwZW9mIHRlbXBNb2RlbFtzcGxpdHRlZEtleXNbaW5kZXhdXSAhPT0gJ251bWJlcicgJiZcbiAgICAgICAgdGVtcE1vZGVsW3NwbGl0dGVkS2V5c1tpbmRleF1dICE9PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICBkZWVwTW9kZWwucHVzaCh0ZW1wTW9kZWxbc3BsaXR0ZWRLZXlzW2luZGV4XV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5kZXggPT09IHNwbGl0dGVkS2V5cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRlbXBNb2RlbFtzcGxpdHRlZEtleXNbaW5kZXhdXSA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRhQ2hhbmdlKGNoYW5nZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGNoYW5nZUtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZURlZXBseSh0aGlzLm1vZGVsLCBjaGFuZ2VLZXksIGNoYW5nZXNbY2hhbmdlS2V5XSk7XG5cbiAgICB0aGlzLmZvcm1XaWRnZXRzLndpZGdldHMuZm9yRWFjaChcbiAgICAgIChmb3JtQ29tcG9uZW50OiBTbWFydGZvcm1Db21wb25lbnQgfCB1bmRlZmluZWQsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChmb3JtQ29tcG9uZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBQcm92aWRlZCBmb3JtIHJlZmVyZW5jZSBmb3IgJHtrZXl9IGlzIHVuZGVmaW5lZC5gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3JtQ29tcG9uZW50LnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxheW91dENoYW5nZShjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjaGFuZ2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBsYXlvdXRLZXkgPSBjaGFuZ2VLZXkuc3BsaXQoJy4nKVsxXTtcbiAgICB0aGlzLm1vZGVsIS5sYXlvdXRzW2xheW91dEtleV0gPSBjaGFuZ2VzW2NoYW5nZUtleV07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbHVlU2V0Q2hhbmdlKGNoYW5nZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGNoYW5nZUtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHZhbHVlU2V0S2V5ID0gY2hhbmdlS2V5LnNwbGl0KCcuJylbMV07XG4gICAgdGhpcy5tb2RlbCEudmFsdWVTZXRzIVt2YWx1ZVNldEtleV0gPSBjaGFuZ2VzW2NoYW5nZUtleV07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUFjdGlvbkNoYW5nZShjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjaGFuZ2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwhLmFjdGlvbnMgPSBjaGFuZ2VzW2NoYW5nZUtleV07XG4gICAgdGhpcy5pbml0QWN0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb25zdHJhaW50Q2hhbmdlKGNoYW5nZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGNoYW5nZUtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbCEuY29uc3RyYWludHMgPSBjaGFuZ2VzW2NoYW5nZUtleV07XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uXG59XG5cbmV4cG9ydCBjbGFzcyBXaWRnZXRNYXA8VD4ge1xuICBwcml2YXRlIF93aWRnZXRzOiBNYXA8c3RyaW5nLCBUPiA9IG5ldyBNYXAoKTtcblxuICBnZXQgd2lkZ2V0cygpOiBNYXA8c3RyaW5nLCBUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldHM7XG4gIH1cbiAgc2V0IHdpZGdldHMod2lkZ2V0czogTWFwPHN0cmluZywgVD4pIHtcbiAgICB0aGlzLl93aWRnZXRzID0gd2lkZ2V0cztcbiAgfVxuICBhZGRXaWRnZXQoa2V5OiBzdHJpbmcsIHJlZmVyZW5jZTogVCwgaXNGb3JtPzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3dpZGdldHMuc2V0KGtleSwgcmVmZXJlbmNlKTtcbiAgfVxuICByZW1vdmVXaWRnZXQoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl93aWRnZXRzLmRlbGV0ZShrZXkpO1xuICB9XG4gIGNsZWFyV2lkZ2V0cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aWRnZXRzLmNsZWFyKCk7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy53aWRnZXRzLmdldChrZXkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRGaWxlVXBsb2FkZXIge1xuICB1aUFjdGlvbkNvZGU6IHN0cmluZztcbiAgbWF4U2l6ZU1iPzogbnVtYmVyO1xuICBmaWxlRm9ybWF0cz86IHN0cmluZ1tdO1xuICBpc011bHRpcGxlPzogYm9vbGVhbjtcbiAgc21hcnRDb21wb25lbnQ6IFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50PGFueT47XG59XG4iXX0=
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBSUwsY0FBYyxFQUNkLHVCQUF1QixFQUd2Qix5QkFBeUIsRUFHekIsZUFBZSxHQUdoQixNQUFNLDBCQUEwQixDQUFDO0FBSWxDLElBQXNCLHVCQUF1QixHQUE3QyxNQUFzQix1QkFBdUI7SUFxRjNDLFlBQ1ksTUFBZ0IsRUFDaEIsSUFBeUMsRUFDckIsUUFBZ0I7UUFGcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFxQztRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBdkZ0QyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFekMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFbkMsaUJBQVksR0FBdUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBMkNyRixtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFFckMsZ0JBQVcsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJFLGNBQWM7UUFDZCxXQUFNLEdBQWtCLElB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QUF1QjtBQWdhN0MsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDVSxhQUFRLEdBQW1CLElBQUksR0FBRyxFQUFFLENBQUM7SUFxQi9DLENBQUM7SUFuQkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUF1QjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVcsRUFBRSxTQUFZLEVBQUUsTUFBZ0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxZQUFZLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbWFydEZvcm0sIFNtYXJ0Zm9ybUNvbXBvbmVudCwgU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlIH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9mb3JtJztcbmltcG9ydCB7IEdyaWRPcHRpb25zLCBTbWFydEdyaWQsIFNtYXJ0R3JpZENvbXBvbmVudCB9IGZyb20gJ0BzbWFydGJpdDRhbGwvZ3JpZCc7XG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICdAc21hcnRiaXQ0YWxsL3N1YmplY3QnO1xuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICdAc21hcnRiaXQ0YWxsL3RyZWUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnRNb2RlbCxcbiAgQ29tcG9uZW50TW9kZWxDaGFuZ2UsXG4gIERhdGFDaGFuZ2UsXG4gIERhdGFDaGFuZ2VLaW5kLFxuICBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcbiAgVWlBY3Rpb24sXG4gIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyxcbiAgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSxcbiAgVWlBY3Rpb25Nb2RlbCxcbiAgVWlBY3Rpb25SZXF1ZXN0LFxuICBVaUFjdGlvblNlcnZpY2UsXG4gIFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZSxcbiAgVXNlVWlBY3Rpb24sXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vc21hcnQtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24gfSBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvc21hcnQtY29tcG9uZW50LWxheW91dC5tb2RlbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTbWFydENvbXBvbmVudEFwaUNsaWVudDxUPiBpbXBsZW1lbnRzIFVzZVVpQWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJvdGVjdGVkIHNlbmREYXRhQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGV0ZWN0Q2hhbmdlOiBTbWFydFN1YmplY3Q8Q29tcG9uZW50TW9kZWxDaGFuZ2U+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgcHJpdmF0ZSBfdXVpZD86IHN0cmluZztcblxuICBnZXQgdXVpZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl91dWlkO1xuICB9XG4gIHNldCB1dWlkKHV1aWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnV1aWQpIHtcbiAgICAgIHRoaXMudmlld0NvbnRleHQudW5mb2xsb3codGhpcy51dWlkKTtcbiAgICB9XG4gICAgdGhpcy5fdXVpZCA9IHV1aWQ7XG4gICAgaWYgKHV1aWQpIHtcbiAgICAgIHRoaXMud2lkZ2V0cy53aWRnZXRzLmZvckVhY2goKHJlZikgPT4ge1xuICAgICAgICBpZiAocmVmIGluc3RhbmNlb2YgU21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmVmLnV1aWQgPSB1dWlkO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy52aWV3Q29udGV4dC5mb2xsb3codGhpcy5fdXVpZCEsIHRoaXMuZGV0ZWN0Q2hhbmdlKTtcbiAgfVxuXG4gIHByaXZhdGUgX21vZGVsOiBDb21wb25lbnRNb2RlbCB8IHVuZGVmaW5lZDtcblxuICBnZXQgbW9kZWwoKTogQ29tcG9uZW50TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuICBzZXQgbW9kZWwobW9kZWw6IENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBtb2RlbDtcblxuICAgIHRoaXMuaW5pdENvbXBvbmVudEJ5TW9kZWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RhdGE/OiBUO1xuXG4gIGdldCBkYXRhKCk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKG1vZGVsOiBUIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZGF0YSA9IG1vZGVsO1xuICAgIHRoaXMuZGF0YUNoYW5nZWQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcblxuICBwdWJsaWMgZGF0YUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICAvLyBVc2VVaUFjdGlvblxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gIC8vIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvblxuICBzbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XG5cbiAgLy8gR3JpZFxuICBzbWFydEdyaWQ/OiBTbWFydEdyaWQ7XG5cbiAgLy8gU2VydmljZXNcbiAgcHJvdGVjdGVkIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZTtcbiAgcHJvdGVjdGVkIHVpQWN0aW9uU2VydmljZTogVWlBY3Rpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgdWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcblxuICAvLyBUcmVlXG4gIHByaXZhdGUgX3NtYXJ0VHJlZVNlcnZpY2U/OiBTbWFydHRyZWVHZW5lcmljU2VydmljZTtcblxuICBwdWJsaWMgZ2V0IHNtYXJ0VHJlZVNlcnZpY2UoKTogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zbWFydFRyZWVTZXJ2aWNlO1xuICB9XG4gIHB1YmxpYyBzZXQgc21hcnRUcmVlU2VydmljZShzbWFydFRyZWVTZXJ2aWNlOiBTbWFydHRyZWVHZW5lcmljU2VydmljZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9zbWFydFRyZWVTZXJ2aWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IEVycm9yKCdUaGUgZGVmYXVsdCB0cmVlIGhhcyBhbHJlYWR5IHNldCB1cCEnKTtcbiAgICB9XG4gICAgdGhpcy5fc21hcnRUcmVlU2VydmljZSA9IHNtYXJ0VHJlZVNlcnZpY2U7XG4gIH1cblxuICAvLyBDb250YWluZWQgV2lkZ2V0c1xuICB3aWRnZXRzOiBXaWRnZXRNYXA8U21hcnRHcmlkQ29tcG9uZW50IHwgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfCB1bmRlZmluZWQ+ID0gbmV3IFdpZGdldE1hcCgpO1xuXG4gIGZvcm1XaWRnZXRzOiBXaWRnZXRNYXA8U21hcnRmb3JtQ29tcG9uZW50IHwgdW5kZWZpbmVkPiA9IG5ldyBXaWRnZXRNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0OiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgYXV0aDogU21hcnRBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UsXG4gICAgQEluamVjdCgncGFnZU5hbWUnKSBwcm90ZWN0ZWQgcGFnZU5hbWU6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLmRldGVjdENoYW5nZS5zdWJzY3JpYmUoKGNoYW5nZTogQ29tcG9uZW50TW9kZWxDaGFuZ2UpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlcyhjaGFuZ2UpO1xuICAgIH0pO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dCA9IGluamVjdC5nZXQoU21hcnRWaWV3Q29udGV4dFNlcnZpY2UpO1xuXG4gICAgdGhpcy51aUFjdGlvblNlcnZpY2UgPSBpbmplY3QuZ2V0KFVpQWN0aW9uU2VydmljZSk7XG4gICAgdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlID0gaW5qZWN0LmdldChVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKTtcbiAgfVxuXG4gIF9uZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bigpO1xuICB9XG4gIF9uZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnVuZm9sbG93KHRoaXMudXVpZCEpO1xuICAgIHRoaXMud2lkZ2V0cy5jbGVhcldpZGdldHMoKTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgaW5pdENvbXBvbmVudEJ5TW9kZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0RGF0YSgpO1xuICAgIHRoaXMuaW5pdEFjdGlvbnMoKTtcblxuICAgIC8vIFRPRE86IGxheW91dCwgdmFsdWVTZXQsIHdpZGdldHNcbiAgfVxuXG4gIGluaXREYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVsPy5kYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLm1vZGVsPy5kYXRhIGFzIGFueTtcbiAgICB9XG4gIH1cblxuICBpbml0QWN0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlbD8uYWN0aW9ucykge1xuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHRoaXMubW9kZWw/LmFjdGlvbnMubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMsXG4gICAgICAgICAgdWlBY3Rpb24sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBydW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0aC5iZmZBcGlzSGF2ZUJlZW5TZXRVcCkge1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aC5oZWFkZXJzVXBkYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy51dWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUpO1xuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmxvYWQodGhpcy51dWlkKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBVc2VVaUFjdGlvblxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvclRleHRBcmVhOiAnJyxcbiAgICAgIGZvclRleHRGaWVsZDogJycsXG4gICAgfTtcbiAgfVxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICB3aWRnZXRJZD86IHN0cmluZyxcbiAgICBub2RlSWQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snX2ZpbGVzJ10pIHtcbiAgICAgIGNvbnN0IHBhcmFtID0gdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1sncGFyYW0nXTtcbiAgICAgIGNvbnN0IGZpbGVzID0gdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snX2ZpbGVzJ107XG4gICAgICBjb25zdCBpc011bHRpcGxlID0gdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snaXNNdWx0aXBsZSddO1xuICAgICAgZGVsZXRlIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ3BhcmFtJ107XG4gICAgICBkZWxldGUgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snX2ZpbGVzJ107XG4gICAgICBkZWxldGUgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snaXNNdWx0aXBsZSddO1xuXG4gICAgICBpZiAoIWlzTXVsdGlwbGUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtVXBsb2FkQWN0aW9uKHRoaXMudXVpZCEsIHVpQWN0aW9uUmVxdWVzdCwgcGFyYW0sIGZpbGVzWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQucGVyZm9ybVVwbG9hZE11bHRpcGxlQWN0aW9uKFxuICAgICAgICAgIHRoaXMudXVpZCEsXG4gICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICAgIHBhcmFtLFxuICAgICAgICAgIGZpbGVzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh3aWRnZXRJZCAmJiBub2RlSWQpIHtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQucGVyZm9ybVdpZGdldEFjdGlvbih0aGlzLnV1aWQhLCB3aWRnZXRJZCwgbm9kZUlkLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgIH0gZWxzZSBpZiAod2lkZ2V0SWQpIHtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQucGVyZm9ybVdpZGdldE1haW5BY3Rpb24odGhpcy51dWlkISwgd2lkZ2V0SWQsIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQucGVyZm9ybUFjdGlvbih0aGlzLnV1aWQhLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkgbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBwdWJsaWMgYWRkU21hcnRMYXlvdXQobGF5b3V0OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiA9IHRoaXMuc2V0UGFyZW50Q29tcG9uZW50KGxheW91dCk7XG4gIH1cblxuICBwcml2YXRlIHNldFBhcmVudENvbXBvbmVudChcbiAgICBsYXlvdXQ6IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvblxuICApOiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24ge1xuICAgIGxheW91dC5wYXJlbnRDb21wb25lbnQgPSB0aGlzO1xuICAgIGxheW91dC5jb21wb25lbnRzID0gbGF5b3V0LmNvbXBvbmVudHM/Lm1hcCgobDogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uKSA9PlxuICAgICAgdGhpcy5zZXRQYXJlbnRDb21wb25lbnQobClcbiAgICApO1xuICAgIHJldHVybiBsYXlvdXQ7XG4gIH1cblxuICBwdWJsaWMgYWRkR3JpZChcbiAgICBzbWFydEdyaWQ6IFNtYXJ0R3JpZCxcbiAgICBvcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgICB1c2VBc0RlZmF1bHRHcmlkPzogYm9vbGVhbixcbiAgICBjb21wb25lbnRSZWZlcmVuY2U/OiBTbWFydEdyaWRDb21wb25lbnRcbiAgKTogU21hcnRHcmlkIHtcbiAgICBzbWFydEdyaWQub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgc21hcnRHcmlkLnVpQWN0aW9uU2VydmljZSA9IHRoaXMudWlBY3Rpb25TZXJ2aWNlO1xuICAgIHNtYXJ0R3JpZC51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlID0gdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuICAgIHNtYXJ0R3JpZC5zZXJ2aWNlVG9Vc2UgPSB0aGlzO1xuICAgIHNtYXJ0R3JpZC52aWV3Q29udGV4dFNlcnZpY2UgPSB0aGlzLnZpZXdDb250ZXh0O1xuXG4gICAgdGhpcy53aWRnZXRzLmFkZFdpZGdldChzbWFydEdyaWQuZ3JpZElkZW50aWZpZXIsIGNvbXBvbmVudFJlZmVyZW5jZSk7XG5cbiAgICBpZiAodXNlQXNEZWZhdWx0R3JpZCkge1xuICAgICAgdGhpcy5zbWFydEdyaWQgPSBzbWFydEdyaWQ7XG4gICAgICByZXR1cm4gdGhpcy5zbWFydEdyaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNtYXJ0R3JpZDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRGb3JtKFxuICAgIHNtYXJ0Rm9ybUlkOiBzdHJpbmcsXG4gICAgc21hcnRGb3JtOiBTbWFydEZvcm0sXG4gICAgY29tcG9uZW50UmVmZXJlbmNlPzogU21hcnRmb3JtQ29tcG9uZW50XG4gICk6IFNtYXJ0Rm9ybSB7XG4gICAgdGhpcy5mb3JtV2lkZ2V0cy5hZGRXaWRnZXQoc21hcnRGb3JtSWQsIGNvbXBvbmVudFJlZmVyZW5jZSk7XG5cbiAgICBpZiAodGhpcy5zZW5kRGF0YUNoYW5nZXMgJiYgY29tcG9uZW50UmVmZXJlbmNlKSB7XG4gICAgICBzbWFydEZvcm0udXNlT25WYWx1ZUNoYW5nZUV2ZW50ID0gdHJ1ZTtcblxuICAgICAgY29tcG9uZW50UmVmZXJlbmNlLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZUNoYW5nZTogU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZXModmFsdWVDaGFuZ2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc21hcnRGb3JtO1xuICB9XG5cbiAgcHVibGljIHNldFVwRGVmYXVsdFRyZWUodHJlZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNtYXJ0VHJlZVNlcnZpY2UgPSBuZXcgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UodGhpcy5pbmplY3QsIHRoaXMucGFnZU5hbWUsIHRyZWVJZCk7XG4gICAgdGhpcy53aWRnZXRzLmFkZFdpZGdldCh0cmVlSWQsIHRoaXMuc21hcnRUcmVlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlVHJlZVNlcnZpY2UodHJlZUlkOiBzdHJpbmcpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZSB7XG4gICAgY29uc3QgdHJlZVNlcnZpY2UgPSBuZXcgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UodGhpcy5pbmplY3QsIHRoaXMucGFnZU5hbWUsIHRyZWVJZCk7XG4gICAgdGhpcy53aWRnZXRzLmFkZFdpZGdldCh0cmVlSWQsIHRyZWVTZXJ2aWNlKTtcblxuICAgIHJldHVybiB0cmVlU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRGaWxlVXBsb2FkZXIoXG4gICAgdWlBY3Rpb25Db2RlOiBzdHJpbmcsXG4gICAgZmlsZUZvcm1hdHM/OiBzdHJpbmdbXSxcbiAgICBtYXhTaXplTWI/OiBudW1iZXIsXG4gICAgaXNNdWx0aXBsZT86IGJvb2xlYW5cbiAgKTogU21hcnRGaWxlVXBsb2FkZXIge1xuICAgIHJldHVybiB7XG4gICAgICB1aUFjdGlvbkNvZGUsXG4gICAgICBzbWFydENvbXBvbmVudDogdGhpcyxcbiAgICAgIGZpbGVGb3JtYXRzLFxuICAgICAgaXNNdWx0aXBsZSxcbiAgICAgIG1heFNpemVNYixcbiAgICB9O1xuICB9XG5cbiAgLy8gI3JlZ2lvbiBoYW5kbGUgY2hhbmdlc1xuICBwcml2YXRlIGhhbmRsZVZhbHVlQ2hhbmdlcyh2YWx1ZUNoYW5nZTogU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlKTogdm9pZCB7XG4gICAgbGV0IGRhdGFDaGFuZ2U6IERhdGFDaGFuZ2U7XG4gICAgaWYgKHZhbHVlQ2hhbmdlLmtleS5pbmNsdWRlcygnLicpKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB2YWx1ZUNoYW5nZS5rZXkuc3BsaXQoJy4nKVswXTtcbiAgICAgIGNvbnN0IHZhbHVlS2V5ID0gdmFsdWVDaGFuZ2Uua2V5LnNwbGl0KCcuJylbMV07XG4gICAgICBkYXRhQ2hhbmdlID0ge1xuICAgICAgICBraW5kOiB2YWx1ZUNoYW5nZS5raW5kID09PSAnYmFzaWMnID8gRGF0YUNoYW5nZUtpbmQuV2lkZ2V0IDogRGF0YUNoYW5nZUtpbmQuU2VsZWN0aW9uLFxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIHZhbHVlczogW1t2YWx1ZUtleSwgdmFsdWVDaGFuZ2UudmFsdWVdXSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGFDaGFuZ2UgPSB7XG4gICAgICAgIGtpbmQ6IHZhbHVlQ2hhbmdlLmtpbmQgPT09ICdiYXNpYycgPyBEYXRhQ2hhbmdlS2luZC5XaWRnZXQgOiBEYXRhQ2hhbmdlS2luZC5TZWxlY3Rpb24sXG4gICAgICAgIHNvdXJjZTogdmFsdWVDaGFuZ2Uua2V5LFxuICAgICAgICB2YWx1ZXM6IFtbdmFsdWVDaGFuZ2Uua2V5LCB2YWx1ZUNoYW5nZS52YWx1ZV1dLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0LmRhdGFDaGFuZ2VkKHRoaXMudXVpZCEsIGRhdGFDaGFuZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGFuZ2VzKGNoYW5nZTogQ29tcG9uZW50TW9kZWxDaGFuZ2UpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VkV2lkZ2V0cykge1xuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZVdpZGdldHMoY2hhbmdlLmNoYW5nZWRXaWRnZXRzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGNoYW5nZXMgPSBjaGFuZ2UuY2hhbmdlcztcbiAgICAgICAgT2JqZWN0LmtleXMoY2hhbmdlcykubWFwKChjaGFuZ2VLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGlmIChjaGFuZ2VLZXkuc3RhcnRzV2l0aCgnZGF0YS4nKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVEYXRhQ2hhbmdlKGNoYW5nZXMsIGNoYW5nZUtleSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VLZXkuc3RhcnRzV2l0aCgnbGF5b3V0cy4nKSAmJiB0aGlzLm1vZGVsPy5sYXlvdXRzKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUxheW91dENoYW5nZShjaGFuZ2VzLCBjaGFuZ2VLZXkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlS2V5LnN0YXJ0c1dpdGgoJ3ZhbHVlU2V0cy4nKSAmJiB0aGlzLm1vZGVsPy52YWx1ZVNldHMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVmFsdWVTZXRDaGFuZ2UoY2hhbmdlcywgY2hhbmdlS2V5KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZUtleSA9PT0gJ2FjdGlvbnMnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFjdGlvbkNoYW5nZShjaGFuZ2VzLCBjaGFuZ2VLZXkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlS2V5ID09PSAnY29uc3RyYWludHMnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNvbnN0cmFpbnRDaGFuZ2UoY2hhbmdlcywgY2hhbmdlS2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGF0YUNoYW5nZWQubmV4dCgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHRoaXMubW9kZWwgPSBjaGFuZ2UudmFsdWUgYXMgQ29tcG9uZW50TW9kZWw7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2UuY2hhbmdlZFdpZGdldHMgJiYgIWNoYW5nZS5jaGFuZ2VzICYmIGNoYW5nZS52YWx1ZSkge1xuICAgICAgdGhpcy5tb2RlbCA9IGNoYW5nZS52YWx1ZSBhcyBDb21wb25lbnRNb2RlbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZVdpZGdldHMoY2hhbmdlZFdpZGdldHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY2hhbmdlZFdpZGdldHMuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMud2lkZ2V0cy5nZXQoa2V5KTtcblxuICAgICAgaWYgKHJlZmVyZW5jZSBpbnN0YW5jZW9mIFNtYXJ0R3JpZENvbXBvbmVudCkge1xuICAgICAgICByZWZlcmVuY2UucmVmcmVzaCgpO1xuICAgICAgfSBlbHNlIGlmIChyZWZlcmVuY2UgaW5zdGFuY2VvZiBTbWFydHRyZWVHZW5lcmljU2VydmljZSkge1xuICAgICAgICByZWZlcmVuY2UuaW5pdGlhbGl6ZSgpO1xuICAgICAgfSBlbHNlIGlmIChyZWZlcmVuY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBQcm92aWRlZCByZWZlcmVuY2UgZm9yICR7a2V5fSBpcyB1bmRlZmluZWQuYCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlRGVlcGx5KG1vZGVsOiBhbnksIGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICBsZXQgc3BsaXR0ZWRLZXlzID0ga2V5LnNwbGl0KCcuJyk7XG5cbiAgICBsZXQgZGVlcE1vZGVsOiBhbnlbXSA9IFttb2RlbF07XG4gICAgbGV0IHRlbXBNb2RlbDogYW55O1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHNwbGl0dGVkS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIHRlbXBNb2RlbCA9IGRlZXBNb2RlbFtpbmRleF07XG5cbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIHRlbXBNb2RlbFtzcGxpdHRlZEtleXNbaW5kZXhdXSAhPT0gJ3N0cmluZycgJiZcbiAgICAgICAgdHlwZW9mIHRlbXBNb2RlbFtzcGxpdHRlZEtleXNbaW5kZXhdXSAhPT0gJ2Jvb2xlYW4nICYmXG4gICAgICAgIHR5cGVvZiB0ZW1wTW9kZWxbc3BsaXR0ZWRLZXlzW2luZGV4XV0gIT09ICdudW1iZXInICYmXG4gICAgICAgIHRlbXBNb2RlbFtzcGxpdHRlZEtleXNbaW5kZXhdXSAhPT0gdW5kZWZpbmVkXG4gICAgICApIHtcbiAgICAgICAgZGVlcE1vZGVsLnB1c2godGVtcE1vZGVsW3NwbGl0dGVkS2V5c1tpbmRleF1dKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4ID09PSBzcGxpdHRlZEtleXMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0ZW1wTW9kZWxbc3BsaXR0ZWRLZXlzW2luZGV4XV0gPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGF0YUNoYW5nZShjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjaGFuZ2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWVEZWVwbHkodGhpcy5tb2RlbCwgY2hhbmdlS2V5LCBjaGFuZ2VzW2NoYW5nZUtleV0pO1xuXG4gICAgdGhpcy5mb3JtV2lkZ2V0cy53aWRnZXRzLmZvckVhY2goXG4gICAgICAoZm9ybUNvbXBvbmVudDogU21hcnRmb3JtQ29tcG9uZW50IHwgdW5kZWZpbmVkLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoZm9ybUNvbXBvbmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgUHJvdmlkZWQgZm9ybSByZWZlcmVuY2UgZm9yICR7a2V5fSBpcyB1bmRlZmluZWQuYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9ybUNvbXBvbmVudC5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMYXlvdXRDaGFuZ2UoY2hhbmdlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgY2hhbmdlS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgbGF5b3V0S2V5ID0gY2hhbmdlS2V5LnNwbGl0KCcuJylbMV07XG4gICAgdGhpcy5tb2RlbCEubGF5b3V0c1tsYXlvdXRLZXldID0gY2hhbmdlc1tjaGFuZ2VLZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZVNldENoYW5nZShjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjaGFuZ2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCB2YWx1ZVNldEtleSA9IGNoYW5nZUtleS5zcGxpdCgnLicpWzFdO1xuICAgIHRoaXMubW9kZWwhLnZhbHVlU2V0cyFbdmFsdWVTZXRLZXldID0gY2hhbmdlc1tjaGFuZ2VLZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBY3Rpb25DaGFuZ2UoY2hhbmdlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgY2hhbmdlS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsIS5hY3Rpb25zID0gY2hhbmdlc1tjaGFuZ2VLZXldO1xuICAgIHRoaXMuaW5pdEFjdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29uc3RyYWludENoYW5nZShjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjaGFuZ2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwhLmNvbnN0cmFpbnRzID0gY2hhbmdlc1tjaGFuZ2VLZXldO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvblxufVxuXG5leHBvcnQgY2xhc3MgV2lkZ2V0TWFwPFQ+IHtcbiAgcHJpdmF0ZSBfd2lkZ2V0czogTWFwPHN0cmluZywgVD4gPSBuZXcgTWFwKCk7XG5cbiAgZ2V0IHdpZGdldHMoKTogTWFwPHN0cmluZywgVD4ge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRzO1xuICB9XG4gIHNldCB3aWRnZXRzKHdpZGdldHM6IE1hcDxzdHJpbmcsIFQ+KSB7XG4gICAgdGhpcy5fd2lkZ2V0cyA9IHdpZGdldHM7XG4gIH1cbiAgYWRkV2lkZ2V0KGtleTogc3RyaW5nLCByZWZlcmVuY2U6IFQsIGlzRm9ybT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl93aWRnZXRzLnNldChrZXksIHJlZmVyZW5jZSk7XG4gIH1cbiAgcmVtb3ZlV2lkZ2V0KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fd2lkZ2V0cy5kZWxldGUoa2V5KTtcbiAgfVxuICBjbGVhcldpZGdldHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2lkZ2V0cy5jbGVhcigpO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMud2lkZ2V0cy5nZXQoa2V5KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RmlsZVVwbG9hZGVyIHtcbiAgdWlBY3Rpb25Db2RlOiBzdHJpbmc7XG4gIG1heFNpemVNYj86IG51bWJlcjtcbiAgZmlsZUZvcm1hdHM/OiBzdHJpbmdbXTtcbiAgaXNNdWx0aXBsZT86IGJvb2xlYW47XG4gIHNtYXJ0Q29tcG9uZW50OiBTbWFydENvbXBvbmVudEFwaUNsaWVudDxhbnk+O1xufVxuIl19
@@ -0,0 +1,74 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { ComponentType } from './smart-component-layout.model';
3
+ import { SmartFormWidgetDirection, } from '@smartbit4all/form';
4
+ import { GridUiActionType, SmartLayoutDef, } from '@smartbit4all/grid';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@smartbit4all/form";
7
+ import * as i2 from "@smartbit4all/grid";
8
+ import * as i3 from "@angular/common";
9
+ export class SmartComponentLayoutComponent {
10
+ constructor(layoutService) {
11
+ this.layoutService = layoutService;
12
+ }
13
+ ngOnChanges(changes) {
14
+ this.smartComponentLayout = changes['smartComponentLayout'].currentValue;
15
+ if (this.smartComponentLayout?.type === ComponentType.Form) {
16
+ this.constructForm();
17
+ }
18
+ }
19
+ type() {
20
+ return ComponentType;
21
+ }
22
+ constructForm() {
23
+ const widgets = this.layoutService.render({
24
+ layoutDefinitions: this.smartComponentLayout?.form,
25
+ });
26
+ this.smartForm = {
27
+ direction: SmartFormWidgetDirection.COL,
28
+ model: this.smartComponentLayout?.parentComponent.model,
29
+ constraints: this.smartComponentLayout?.parentComponent.model?.constraints,
30
+ widgets,
31
+ };
32
+ this.smartComponentLayout?.parentComponent.addForm(
33
+ // unique identifier for the form
34
+ `form_${this.makeid(5)}`, this.smartForm, this.formChild);
35
+ }
36
+ makeid(length) {
37
+ let result = '';
38
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
39
+ const charactersLength = characters.length;
40
+ let counter = 0;
41
+ while (counter < length) {
42
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
43
+ counter += 1;
44
+ }
45
+ return result;
46
+ }
47
+ constructGrid() {
48
+ this.smartGrid = {
49
+ gridIdentifier: this.smartComponentLayout?.widget?.gridIdentifier,
50
+ gridModel: {
51
+ page: {},
52
+ },
53
+ layoutDef: SmartLayoutDef.TABLE,
54
+ };
55
+ this.smartGrid = this.smartComponentLayout?.parentComponent.addGrid(this.smartGrid, {
56
+ rowUiActionType: GridUiActionType.POPUP_MENU,
57
+ }, false, this.gridChild);
58
+ }
59
+ }
60
+ SmartComponentLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
61
+ SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "gridChild", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid\n #grid\n [smartGrid]=\"smartGrid\"\n [uuid]=\"smartComponentLayout?.parentComponent?.uuid!\"\n></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], components: [{ type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout"] }, { type: i1.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i2.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'smart-component-layout', template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid\n #grid\n [smartGrid]=\"smartGrid\"\n [uuid]=\"smartComponentLayout?.parentComponent?.uuid!\"\n></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
65
+ }], ctorParameters: function () { return [{ type: i1.SmartformLayoutDefinitionService }]; }, propDecorators: { smartComponentLayout: [{
66
+ type: Input
67
+ }], formChild: [{
68
+ type: ViewChild,
69
+ args: ['form']
70
+ }], gridChild: [{
71
+ type: ViewChild,
72
+ args: ['grid']
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFrQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9GLE9BQU8sRUFFTCx3QkFBd0IsR0FHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsZ0JBQWdCLEVBR2hCLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDOzs7OztBQU81QixNQUFNLE9BQU8sNkJBQTZCO0lBU3hDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztJQUFHLENBQUM7SUFFdkUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFFekUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxLQUFLLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3hDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJO1NBQ25ELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixTQUFTLEVBQUUsd0JBQXdCLENBQUMsR0FBRztZQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxLQUFLO1lBQ3ZELFdBQVcsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxXQUFXO1lBQzFFLE9BQU87U0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxPQUFPO1FBQ2hELGlDQUFpQztRQUNqQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sVUFBVSxHQUFHLGdFQUFnRSxDQUFDO1FBQ3BGLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxPQUFPLEdBQUcsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMxRSxPQUFPLElBQUksQ0FBQyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxjQUFlO1lBQ2xFLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsRUFBRTthQUNUO1lBQ0QsU0FBUyxFQUFFLGNBQWMsQ0FBQyxLQUFLO1NBQ2hDLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUNqRSxJQUFJLENBQUMsU0FBUyxFQUNkO1lBQ0UsZUFBZSxFQUFFLGdCQUFnQixDQUFDLFVBQVU7U0FDN0MsRUFDRCxLQUFLLEVBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0lBQ0osQ0FBQzs7MkhBdEVVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLG9VQ3BCMUMscWVBZUEsZ0lES2EsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCO3VIQUt6QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRWEsU0FBUztzQkFBM0IsU0FBUzt1QkFBQyxNQUFNO2dCQUdFLFNBQVM7c0JBQTNCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24gfSBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQubW9kZWwnO1xuaW1wb3J0IHtcbiAgU21hcnRGb3JtLFxuICBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24sXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcbiAgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXG59IGZyb20gJ0BzbWFydGJpdDRhbGwvZm9ybSc7XG5pbXBvcnQge1xuICBHcmlkVWlBY3Rpb25UeXBlLFxuICBTbWFydEdyaWQsXG4gIFNtYXJ0R3JpZENvbXBvbmVudCxcbiAgU21hcnRMYXlvdXREZWYsXG59IGZyb20gJ0BzbWFydGJpdDRhbGwvZ3JpZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNtYXJ0Q29tcG9uZW50TGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBmb3JtQ2hpbGQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcblxuICBAVmlld0NoaWxkKCdncmlkJykgZ3JpZENoaWxkPzogU21hcnRHcmlkQ29tcG9uZW50O1xuICBzbWFydEdyaWQ/OiBTbWFydEdyaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dCA9IGNoYW5nZXNbJ3NtYXJ0Q29tcG9uZW50TGF5b3V0J10uY3VycmVudFZhbHVlO1xuXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuRm9ybSkge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgdHlwZSgpOiB0eXBlb2YgQ29tcG9uZW50VHlwZSB7XG4gICAgcmV0dXJuIENvbXBvbmVudFR5cGU7XG4gIH1cblxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLmxheW91dFNlcnZpY2UucmVuZGVyKHtcbiAgICAgIGxheW91dERlZmluaXRpb25zOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5mb3JtLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zbWFydEZvcm0gPSB7XG4gICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXG4gICAgICBtb2RlbDogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ucGFyZW50Q29tcG9uZW50Lm1vZGVsLFxuICAgICAgY29uc3RyYWludHM6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnBhcmVudENvbXBvbmVudC5tb2RlbD8uY29uc3RyYWludHMsXG4gICAgICB3aWRnZXRzLFxuICAgIH07XG5cbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5wYXJlbnRDb21wb25lbnQuYWRkRm9ybShcbiAgICAgIC8vIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZm9ybVxuICAgICAgYGZvcm1fJHt0aGlzLm1ha2VpZCg1KX1gLFxuICAgICAgdGhpcy5zbWFydEZvcm0sXG4gICAgICB0aGlzLmZvcm1DaGlsZFxuICAgICk7XG4gIH1cbiAgbWFrZWlkKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSBjaGFyYWN0ZXJzLmxlbmd0aDtcbiAgICBsZXQgY291bnRlciA9IDA7XG4gICAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XG4gICAgICBjb3VudGVyICs9IDE7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBjb25zdHJ1Y3RHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuc21hcnRHcmlkID0ge1xuICAgICAgZ3JpZElkZW50aWZpZXI6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uZ3JpZElkZW50aWZpZXIhLFxuICAgICAgZ3JpZE1vZGVsOiB7XG4gICAgICAgIHBhZ2U6IHt9LFxuICAgICAgfSxcbiAgICAgIGxheW91dERlZjogU21hcnRMYXlvdXREZWYuVEFCTEUsXG4gICAgfTtcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnBhcmVudENvbXBvbmVudC5hZGRHcmlkKFxuICAgICAgdGhpcy5zbWFydEdyaWQsXG4gICAgICB7XG4gICAgICAgIHJvd1VpQWN0aW9uVHlwZTogR3JpZFVpQWN0aW9uVHlwZS5QT1BVUF9NRU5VLFxuICAgICAgfSxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5ncmlkQ2hpbGRcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IHR5cGUoKS5Db250YWluZXJcIlxuICBbbmdDbGFzc109XCJzbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID8/ICd2ZXJ0aWNhbCdcIlxuPlxuICA8c21hcnQtY29tcG9uZW50LWxheW91dFxuICAgIFtzbWFydENvbXBvbmVudExheW91dF09XCJsYXlvdXRcIlxuICAgICpuZ0Zvcj1cImxldCBsYXlvdXQgb2Ygc21hcnRDb21wb25lbnRMYXlvdXQ/LmNvbXBvbmVudHNcIlxuICA+PC9zbWFydC1jb21wb25lbnQtbGF5b3V0PlxuPC9kaXY+XG48c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+XG48c21hcnQtZ3JpZFxuICAjZ3JpZFxuICBbc21hcnRHcmlkXT1cInNtYXJ0R3JpZFwiXG4gIFt1dWlkXT1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py5wYXJlbnRDb21wb25lbnQ/LnV1aWQhXCJcbj48L3NtYXJ0LWdyaWQ+XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export const LayoutDirection = {
2
+ Horizontal: 'horizontal',
3
+ Vertical: 'vertical',
4
+ };
5
+ export const ComponentType = {
6
+ Container: 'container',
7
+ Form: 'form',
8
+ Widget: 'widget',
9
+ };
10
+ export const ComponentWidgetType = {
11
+ Grid: 'grid',
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixVQUFVLEVBQUUsWUFBK0I7SUFDM0MsUUFBUSxFQUFFLFVBQTZCO0NBQ3hDLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsU0FBUyxFQUFFLFdBQTRCO0lBQ3ZDLElBQUksRUFBRSxNQUF1QjtJQUM3QixNQUFNLEVBQUUsUUFBeUI7Q0FDbEMsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLElBQUksRUFBRSxNQUE2QjtDQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU21hcnRXaWRnZXREZWZpbml0aW9uIH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9mb3JtJztcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50IH0gZnJvbSAnLi4vc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiB7XG4gIHR5cGU6IENvbXBvbmVudFR5cGU7XG4gIGV4cGFuZGFibGU/OiBib29sZWFuO1xuICBkaXJlY3Rpb24/OiBMYXlvdXREaXJlY3Rpb247XG4gIHBhcmVudENvbXBvbmVudDogU21hcnRDb21wb25lbnRBcGlDbGllbnQ8YW55PjtcbiAgY29tcG9uZW50cz86IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbltdO1xuICB3aWRnZXQ/OiBTbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb247XG4gIGZvcm0/OiBTbWFydFdpZGdldERlZmluaXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb24ge1xuICB0eXBlOiBDb21wb25lbnRXaWRnZXRUeXBlO1xuICBncmlkSWRlbnRpZmllcj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTGF5b3V0RGlyZWN0aW9uID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblxuZXhwb3J0IGNvbnN0IExheW91dERpcmVjdGlvbiA9IHtcbiAgSG9yaXpvbnRhbDogJ2hvcml6b250YWwnIGFzIExheW91dERpcmVjdGlvbixcbiAgVmVydGljYWw6ICd2ZXJ0aWNhbCcgYXMgTGF5b3V0RGlyZWN0aW9uLFxufTtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50VHlwZSA9ICdjb250YWluZXInIHwgJ2Zvcm0nIHwgJ3dpZGdldCc7XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnRUeXBlID0ge1xuICBDb250YWluZXI6ICdjb250YWluZXInIGFzIENvbXBvbmVudFR5cGUsXG4gIEZvcm06ICdmb3JtJyBhcyBDb21wb25lbnRUeXBlLFxuICBXaWRnZXQ6ICd3aWRnZXQnIGFzIENvbXBvbmVudFR5cGUsXG59O1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRXaWRnZXRUeXBlID0gJ2dyaWQnO1xuXG5leHBvcnQgY29uc3QgQ29tcG9uZW50V2lkZ2V0VHlwZSA9IHtcbiAgR3JpZDogJ2dyaWQnIGFzIENvbXBvbmVudFdpZGdldFR5cGUsXG59O1xuIl19
@@ -10,6 +10,9 @@ export class SmartFileUploaderComponent {
10
10
  }
11
11
  ngOnChanges(changes) {
12
12
  this.config = changes['config'].currentValue;
13
+ if (this.config) {
14
+ this.setUp();
15
+ }
13
16
  }
14
17
  async setUp() {
15
18
  this.uiActionModel = this.config?.smartComponent.uiActionModels.find((uiActionModel) => uiActionModel.uiAction.code === this.config?.uiActionCode);
@@ -44,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
44
47
  }], ctorParameters: function () { return [{ type: i1.UiActionService }, { type: i1.UiActionDescriptorService }]; }, propDecorators: { config: [{
45
48
  type: Input
46
49
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtZmlsZS11cGxvYWRlci9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC1maWxlLXVwbG9hZGVyL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7OztBQWMzRSxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQ1UsZUFBZ0MsRUFDaEMseUJBQW9EO1FBRHBELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO0lBQzNELENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDbEUsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FDNUYsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3BGO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQ3pFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUM1QixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSx1QkFBdUI7WUFDNUQsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLHVCQUF1QjtZQUN2RSxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRTtZQUN6QyxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRTtZQUN6QyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7U0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsYUFBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUc7WUFDcEMsR0FBRyxJQUFJLENBQUMsYUFBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3RDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVTtZQUNuQyxLQUFLLEVBQUUsT0FBTztTQUNmLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYyxDQUFDO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7d0hBL0NVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLGlIQ2R2Qyx3UEFRQTs0RkRNYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzhJQUt6QixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0RmlsZVVwbG9hZGVySTE4biB9IGZyb20gJ0BzbWFydGJpdDRhbGwvZm9ybSc7XG5pbXBvcnQge1xuICBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlLFxuICBVaUFjdGlvbk1vZGVsLFxuICBVaUFjdGlvblNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydEZpbGVVcGxvYWRlciB9IGZyb20gJy4uL3NtYXJ0LWNvbXBvbmVudC1hcGktY2xpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtZmlsZS11cGxvYWRlcjRzYycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsZS11cGxvYWRlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsZVVwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29uZmlnPzogU21hcnRGaWxlVXBsb2FkZXI7XG5cbiAgaTE4bj86IFNtYXJ0RmlsZVVwbG9hZGVySTE4bjtcbiAgcHJpdmF0ZSB1aUFjdGlvbk1vZGVsPzogVWlBY3Rpb25Nb2RlbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpQWN0aW9uU2VydmljZTogVWlBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gY2hhbmdlc1snY29uZmlnJ10uY3VycmVudFZhbHVlO1xuICB9XG5cbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy51aUFjdGlvbk1vZGVsID0gdGhpcy5jb25maWc/LnNtYXJ0Q29tcG9uZW50LnVpQWN0aW9uTW9kZWxzLmZpbmQoXG4gICAgICAodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4gdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlID09PSB0aGlzLmNvbmZpZz8udWlBY3Rpb25Db2RlXG4gICAgKTtcblxuICAgIGlmICghdGhpcy51aUFjdGlvbk1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVpQWN0aW9uIHdpdGggY29kZSAke3RoaXMuY29uZmlnPy51aUFjdGlvbkNvZGV9IGNvdWxkIG5vdCBmb3VuZGApO1xuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UuZ2V0QWN0aW9uRGVzY3JpcHRvcihcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC51aUFjdGlvblxuICAgICk7XG5cbiAgICB0aGlzLmkxOG4gPSB7XG4gICAgICBhZGRGaWxlOiBkZXNjcmlwdG9yLnVwbG9hZD8udGl0bGUgPz8gJ2Rva3VtZW50dW0gaG96esOhYWTDoXNhJyxcbiAgICAgIGJyb3dzZU9yRHJhZzogZGVzY3JpcHRvci51cGxvYWQ/LmRlc2NyaXB0aW9uID8/ICd0YWxsw7N6w6FzIHZhZ3kgYmVow7p6w6FzJyxcbiAgICAgIGZvcm1hdHM6IGRlc2NyaXB0b3IudXBsb2FkPy5mb3JtYXRzID8/ICcnLFxuICAgICAgbWF4U2l6ZTogZGVzY3JpcHRvci51cGxvYWQ/Lm1heFNpemUgPz8gJycsXG4gICAgICB1cGxvYWQ6IGRlc2NyaXB0b3IudXBsb2FkPy51cGxvYWRCdXR0b25UaXRsZSxcbiAgICB9O1xuICB9XG5cbiAgZXhlY3V0ZVVwbG9hZChmaWxlczogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWwhLnVpQWN0aW9uLnBhcmFtcyA9IHtcbiAgICAgIC4uLnRoaXMudWlBY3Rpb25Nb2RlbCEudWlBY3Rpb24ucGFyYW1zLFxuICAgICAgX2ZpbGVzOiBmaWxlcyxcbiAgICAgIGlzTXVsdGlwbGU6IHRoaXMuY29uZmlnPy5pc011bHRpcGxlLFxuICAgICAgcGFyYW06ICdJTlBVVCcsXG4gICAgfTtcblxuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB0aGlzLnVpQWN0aW9uTW9kZWwhO1xuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodGhpcy51aUFjdGlvbk1vZGVsIS51aUFjdGlvbik7XG4gIH1cbn1cbiIsIjxzbWFydGZpbGV1cGxvYWRlclxuICAqbmdJZj1cImkxOG5cIlxuICBbaTE4bl09XCJpMThuXCJcbiAgW2ZpbGVGb3JtYXRzXT1cImNvbmZpZz8uZmlsZUZvcm1hdHNcIlxuICBbaXNNdWx0aXBsZV09XCJjb25maWc/LmlzTXVsdGlwbGVcIlxuICBbbWF4U2l6ZU1iXT1cImNvbmZpZz8ubWF4U2l6ZU1iXCJcbiAgW3VwbG9hZENhbGxiYWNrXT1cImV4ZWN1dGVVcGxvYWQuYmluZCh0aGlzKVwiXG4+PC9zbWFydGZpbGV1cGxvYWRlcj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtZmlsZS11cGxvYWRlci9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC1maWxlLXVwbG9hZGVyL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7OztBQWMzRSxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQ1UsZUFBZ0MsRUFDaEMseUJBQW9EO1FBRHBELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO0lBQzNELENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNsRSxDQUFDLGFBQTRCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUM1RixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLGtCQUFrQixDQUFDLENBQUM7U0FDcEY7UUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQzVCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1YsT0FBTyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLHVCQUF1QjtZQUM1RCxZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksdUJBQXVCO1lBQ3ZFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFO1lBQ3pDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLGlCQUFpQjtTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxhQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRztZQUNwQyxHQUFHLElBQUksQ0FBQyxhQUFjLENBQUMsUUFBUSxDQUFDLE1BQU07WUFDdEMsTUFBTSxFQUFFLEtBQUs7WUFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVO1lBQ25DLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFjLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDOzt3SEFsRFUsMEJBQTBCOzRHQUExQiwwQkFBMEIsaUhDZHZDLHdQQVFBOzRGRE1hLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7OElBS3pCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRGaWxlVXBsb2FkZXJJMThuIH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9mb3JtJztcbmltcG9ydCB7XG4gIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UsXG4gIFVpQWN0aW9uTW9kZWwsXG4gIFVpQWN0aW9uU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0RmlsZVVwbG9hZGVyIH0gZnJvbSAnLi4vc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1maWxlLXVwbG9hZGVyNHNjJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWxlVXBsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb25maWc/OiBTbWFydEZpbGVVcGxvYWRlcjtcblxuICBpMThuPzogU21hcnRGaWxlVXBsb2FkZXJJMThuO1xuICBwcml2YXRlIHVpQWN0aW9uTW9kZWw/OiBVaUFjdGlvbk1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdWlBY3Rpb25TZXJ2aWNlOiBVaUFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSBjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWU7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLnNldFVwKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy51aUFjdGlvbk1vZGVsID0gdGhpcy5jb25maWc/LnNtYXJ0Q29tcG9uZW50LnVpQWN0aW9uTW9kZWxzLmZpbmQoXG4gICAgICAodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4gdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlID09PSB0aGlzLmNvbmZpZz8udWlBY3Rpb25Db2RlXG4gICAgKTtcblxuICAgIGlmICghdGhpcy51aUFjdGlvbk1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVpQWN0aW9uIHdpdGggY29kZSAke3RoaXMuY29uZmlnPy51aUFjdGlvbkNvZGV9IGNvdWxkIG5vdCBmb3VuZGApO1xuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UuZ2V0QWN0aW9uRGVzY3JpcHRvcihcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC51aUFjdGlvblxuICAgICk7XG5cbiAgICB0aGlzLmkxOG4gPSB7XG4gICAgICBhZGRGaWxlOiBkZXNjcmlwdG9yLnVwbG9hZD8udGl0bGUgPz8gJ2Rva3VtZW50dW0gaG96esOhYWTDoXNhJyxcbiAgICAgIGJyb3dzZU9yRHJhZzogZGVzY3JpcHRvci51cGxvYWQ/LmRlc2NyaXB0aW9uID8/ICd0YWxsw7N6w6FzIHZhZ3kgYmVow7p6w6FzJyxcbiAgICAgIGZvcm1hdHM6IGRlc2NyaXB0b3IudXBsb2FkPy5mb3JtYXRzID8/ICcnLFxuICAgICAgbWF4U2l6ZTogZGVzY3JpcHRvci51cGxvYWQ/Lm1heFNpemUgPz8gJycsXG4gICAgICB1cGxvYWQ6IGRlc2NyaXB0b3IudXBsb2FkPy51cGxvYWRCdXR0b25UaXRsZSxcbiAgICB9O1xuICB9XG5cbiAgZXhlY3V0ZVVwbG9hZChmaWxlczogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWwhLnVpQWN0aW9uLnBhcmFtcyA9IHtcbiAgICAgIC4uLnRoaXMudWlBY3Rpb25Nb2RlbCEudWlBY3Rpb24ucGFyYW1zLFxuICAgICAgX2ZpbGVzOiBmaWxlcyxcbiAgICAgIGlzTXVsdGlwbGU6IHRoaXMuY29uZmlnPy5pc011bHRpcGxlLFxuICAgICAgcGFyYW06ICdJTlBVVCcsXG4gICAgfTtcblxuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB0aGlzLnVpQWN0aW9uTW9kZWwhO1xuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodGhpcy51aUFjdGlvbk1vZGVsIS51aUFjdGlvbik7XG4gIH1cbn1cbiIsIjxzbWFydGZpbGV1cGxvYWRlclxuICAqbmdJZj1cImkxOG5cIlxuICBbaTE4bl09XCJpMThuXCJcbiAgW2ZpbGVGb3JtYXRzXT1cImNvbmZpZz8uZmlsZUZvcm1hdHNcIlxuICBbaXNNdWx0aXBsZV09XCJjb25maWc/LmlzTXVsdGlwbGVcIlxuICBbbWF4U2l6ZU1iXT1cImNvbmZpZz8ubWF4U2l6ZU1iXCJcbiAgW3VwbG9hZENhbGxiYWNrXT1cImV4ZWN1dGVVcGxvYWQuYmluZCh0aGlzKVwiXG4+PC9zbWFydGZpbGV1cGxvYWRlcj5cbiJdfQ==
@@ -6,35 +6,49 @@ import { SmartFileUploaderComponent } from './smart-client/smart-file-uploader/s
6
6
  import { SmartformModule } from '@smartbit4all/form';
7
7
  import { MatCommonModule } from '@angular/material/core';
8
8
  import { BrowserModule } from '@angular/platform-browser';
9
+ import { SmartComponentLayoutComponent } from './smart-client/smart-component-layout/smart-component-layout.component';
10
+ import { SmartGridModule } from '@smartbit4all/grid';
9
11
  import * as i0 from "@angular/core";
10
12
  export class SmartNgClientModule {
11
13
  }
12
14
  SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent], imports: [BrowserModule,
15
+ SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent, SmartComponentLayoutComponent], imports: [BrowserModule,
14
16
  MatCommonModule,
15
17
  SmartSessionModule,
16
18
  SmartViewContextModule,
17
- SmartformModule], exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent] });
19
+ SmartformModule,
20
+ SmartGridModule], exports: [SmartSessionModule,
21
+ SmartViewContextModule,
22
+ SmartFileUploaderComponent,
23
+ SmartComponentLayoutComponent] });
18
24
  SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[
19
25
  BrowserModule,
20
26
  MatCommonModule,
21
27
  SmartSessionModule,
22
28
  SmartViewContextModule,
23
29
  SmartformModule,
24
- ], SmartSessionModule, SmartViewContextModule] });
30
+ SmartGridModule,
31
+ ], SmartSessionModule,
32
+ SmartViewContextModule] });
25
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, decorators: [{
26
34
  type: NgModule,
27
35
  args: [{
28
- declarations: [SmartFileUploaderComponent],
36
+ declarations: [SmartFileUploaderComponent, SmartComponentLayoutComponent],
29
37
  imports: [
30
38
  BrowserModule,
31
39
  MatCommonModule,
32
40
  SmartSessionModule,
33
41
  SmartViewContextModule,
34
42
  SmartformModule,
43
+ SmartGridModule,
44
+ ],
45
+ exports: [
46
+ SmartSessionModule,
47
+ SmartViewContextModule,
48
+ SmartFileUploaderComponent,
49
+ SmartComponentLayoutComponent,
35
50
  ],
36
- exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent],
37
51
  providers: [SmartNgClientService],
38
52
  }]
39
53
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmctY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW5nLWNsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFjMUQsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQVhmLDBCQUEwQixhQUV2QyxhQUFhO1FBQ2IsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsZUFBZSxhQUVQLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLDBCQUEwQjtrSEFHckUsbUJBQW1CLGFBRm5CLENBQUMsb0JBQW9CLENBQUMsWUFSeEI7WUFDUCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsZUFBZTtTQUNoQixFQUNTLGtCQUFrQixFQUFFLHNCQUFzQjs0RkFHekMsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUMxQyxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQztvQkFDakYsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvbk1vZHVsZSB9IGZyb20gJy4vc2Vzc2lvbi9zbWFydC1zZXNzaW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBTbWFydE5nQ2xpZW50U2VydmljZSB9IGZyb20gJy4vc21hcnQtbmctY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dE1vZHVsZSB9IGZyb20gJy4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xuaW1wb3J0IHsgU21hcnRGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWNsaWVudC9zbWFydC1maWxlLXVwbG9hZGVyL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0Zm9ybU1vZHVsZSB9IGZyb20gJ0BzbWFydGJpdDRhbGwvZm9ybSc7XG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRGaWxlVXBsb2FkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgU21hcnRTZXNzaW9uTW9kdWxlLFxuICAgIFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUsXG4gICAgU21hcnRmb3JtTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU21hcnRTZXNzaW9uTW9kdWxlLCBTbWFydFZpZXdDb250ZXh0TW9kdWxlLCBTbWFydEZpbGVVcGxvYWRlckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1NtYXJ0TmdDbGllbnRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnROZ0NsaWVudE1vZHVsZSB7fVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmctY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW5nLWNsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBb0JyRCxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBakJmLDBCQUEwQixFQUFFLDZCQUE2QixhQUV0RSxhQUFhO1FBQ2IsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsZUFBZTtRQUNmLGVBQWUsYUFHZixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiw2QkFBNkI7a0hBSXBCLG1CQUFtQixhQUZuQixDQUFDLG9CQUFvQixDQUFDLFlBZHhCO1lBQ1AsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGVBQWU7WUFDZixlQUFlO1NBQ2hCLEVBRUMsa0JBQWtCO1FBQ2xCLHNCQUFzQjs0RkFNYixtQkFBbUI7a0JBbEIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO29CQUN6RSxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQiw2QkFBNkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbWFydFNlc3Npb25Nb2R1bGUgfSBmcm9tICcuL3Nlc3Npb24vc21hcnQtc2Vzc2lvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU21hcnROZ0NsaWVudFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LW5nLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlJztcbmltcG9ydCB7IFNtYXJ0RmlsZVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1jbGllbnQvc21hcnQtZmlsZS11cGxvYWRlci9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydGZvcm1Nb2R1bGUgfSBmcm9tICdAc21hcnRiaXQ0YWxsL2Zvcm0nO1xuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY2xpZW50L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRHcmlkTW9kdWxlIH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9ncmlkJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRGaWxlVXBsb2FkZXJDb21wb25lbnQsIFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgIFNtYXJ0U2Vzc2lvbk1vZHVsZSxcbiAgICBTbWFydFZpZXdDb250ZXh0TW9kdWxlLFxuICAgIFNtYXJ0Zm9ybU1vZHVsZSxcbiAgICBTbWFydEdyaWRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTbWFydFNlc3Npb25Nb2R1bGUsXG4gICAgU21hcnRWaWV3Q29udGV4dE1vZHVsZSxcbiAgICBTbWFydEZpbGVVcGxvYWRlckNvbXBvbmVudCxcbiAgICBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU21hcnROZ0NsaWVudFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydE5nQ2xpZW50TW9kdWxlIHt9XG4iXX0=
@@ -4,7 +4,9 @@
4
4
  export * from './lib/smart-ng-client.service';
5
5
  export * from './lib/smart-ng-client.module';
6
6
  export * from './lib/smart-client/smart-file-uploader/smart-file-uploader.component';
7
+ export * from './lib/smart-client/smart-component-layout/smart-component-layout.component';
8
+ export * from './lib/smart-client/smart-component-layout/smart-component-layout.model';
7
9
  export * from './lib/view-context/projects';
8
10
  export * from './lib/session/projects';
9
11
  export * from './lib/smart-client/projects';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0VBQXNFLENBQUM7QUFFckYsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNtYXJ0LW5nLWNsaWVudFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW5nLWNsaWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW5nLWNsaWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtY2xpZW50L3NtYXJ0LWZpbGUtdXBsb2FkZXIvc21hcnQtZmlsZS11cGxvYWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2Vzc2lvbi9wcm9qZWN0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNsaWVudC9wcm9qZWN0cyc7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLHdFQUF3RSxDQUFDO0FBRXZGLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1uZy1jbGllbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uZy1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uZy1jbGllbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNsaWVudC9zbWFydC1maWxlLXVwbG9hZGVyL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNsaWVudC9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNsaWVudC9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2Vzc2lvbi9wcm9qZWN0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNsaWVudC9wcm9qZWN0cyc7XG4iXX0=