@netgrif/components-core 6.2.0-rc.9 → 6.2.2
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.
- package/commons/schema.d.ts +3 -0
- package/esm2020/assets/i18n/de.json +18 -8
- package/esm2020/assets/i18n/en.json +11 -1
- package/esm2020/assets/i18n/sk.json +11 -1
- package/esm2020/commons/schema.mjs +1 -1
- package/esm2020/commons/view-class-info.mjs +9 -1
- package/esm2020/lib/admin/public-api.mjs +2 -2
- package/esm2020/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.component.mjs +88 -0
- package/esm2020/lib/authentication/services/methods/basic-authentication/basic-authentication.service.mjs +10 -2
- package/esm2020/lib/authorization/permission/access.service.mjs +2 -2
- package/esm2020/lib/authorization/role/role-guard.service.mjs +36 -11
- package/esm2020/lib/data-fields/button-field/abstract-button-field.component.mjs +2 -12
- package/esm2020/lib/data-fields/button-field/models/button-field.mjs +2 -18
- package/esm2020/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.mjs +4 -5
- package/esm2020/lib/data-fields/enumeration-field/models/enumeration-field.mjs +2 -22
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +35 -15
- package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +38 -15
- package/esm2020/lib/data-fields/i18n-field/abstract-i18n-field.component.mjs +1 -4
- package/esm2020/lib/data-fields/models/abstract-data-field.mjs +9 -1
- package/esm2020/lib/data-fields/multichoice-field/models/multichoice-field.mjs +2 -17
- package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.mjs +79 -0
- package/esm2020/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.mjs +3 -2
- package/esm2020/lib/data-fields/public-api.mjs +4 -1
- package/esm2020/lib/data-fields/text-field/models/text-area-field.mjs +4 -5
- package/esm2020/lib/data-fields/text-field/models/text-field.mjs +2 -14
- package/esm2020/lib/data-fields/user-list-field/abstract-user-list-field.component.mjs +75 -0
- package/esm2020/lib/data-fields/user-list-field/models/user-list-field.mjs +11 -0
- package/esm2020/lib/data-fields/user-list-field/models/user-list-value.mjs +36 -0
- package/esm2020/lib/dialog/components/alert-dialog/alert-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/components/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/components/prompt-dialog/prompt-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/models/abstract-dialog.component.mjs +29 -0
- package/esm2020/lib/header/abstract-header-service.mjs +25 -9
- package/esm2020/lib/header/abstract-header.component.mjs +7 -5
- package/esm2020/lib/header/case-header/case-header.service.mjs +2 -2
- package/esm2020/lib/header/services/overflow.service.mjs +2 -2
- package/esm2020/lib/header/task-header/task-header.service.mjs +7 -4
- package/esm2020/lib/header/workflow-header/workflow-header.service.mjs +11 -8
- package/esm2020/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +69 -0
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +7 -4
- package/esm2020/lib/navigation/public-api.mjs +2 -1
- package/esm2020/lib/navigation/service/uri.service.mjs +5 -1
- package/esm2020/lib/panel/abstract/panel-with-header-binding.mjs +17 -5
- package/esm2020/lib/panel/abstract/panel-with-immediate-data.mjs +52 -22
- package/esm2020/lib/panel/abstract-panel.component.mjs +16 -4
- package/esm2020/lib/panel/case-panel/abstract-case-panel.component.mjs +13 -11
- package/esm2020/lib/panel/configuration/config-params.mjs +5 -0
- package/esm2020/lib/panel/public-api.mjs +3 -1
- package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +18 -12
- package/esm2020/lib/panel/task-panel-list/abstract-task-list.component.mjs +3 -3
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.component.mjs +94 -0
- package/esm2020/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +3 -3
- package/esm2020/lib/panel/workflow-panel/abstract-workflow-panel.component.mjs +40 -6
- package/esm2020/lib/public/factories/public-factory-resolver.mjs +8 -3
- package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +12 -4
- package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +1 -40
- package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +6 -3
- package/esm2020/lib/resources/interface/fields.mjs +1 -1
- package/esm2020/lib/routing/redirect-service/redirect.service.mjs +2 -1
- package/esm2020/lib/search/models/category/case/case-dataset.mjs +7 -4
- package/esm2020/lib/search/search-operand-input-component/abstract-search-operand-input.component.mjs +3 -3
- package/esm2020/lib/side-menu/content-components/new-case/abstract-new-case.component.mjs +22 -11
- package/esm2020/lib/side-menu/content-components/new-case/model/new-case-injection-data.mjs +1 -1
- package/esm2020/lib/side-menu/content-components/save-filter/abstract-save-filter.component.mjs +8 -7
- package/esm2020/lib/side-menu/content-components/user-assign/abstract-user-assign.component.mjs +1 -1
- package/esm2020/lib/side-menu/content-components/user-assign/model/user-list-injected-data.mjs +1 -1
- package/esm2020/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/models/abstract-snack-bar.component.mjs +26 -0
- package/esm2020/lib/snack-bar/public-api.mjs +2 -2
- package/esm2020/lib/task/services/finish-policy.service.mjs +2 -2
- package/esm2020/lib/task/services/task-data.service.mjs +51 -13
- package/esm2020/lib/task-content/model/field-type-resource.mjs +2 -1
- package/esm2020/lib/task-content/model/resource-interface.mjs +1 -1
- package/esm2020/lib/task-content/services/field-converter.service.mjs +28 -90
- package/esm2020/lib/task-content/services/task-content.service.mjs +5 -2
- package/esm2020/lib/view/abstract/view-with-headers.mjs +13 -4
- package/esm2020/lib/view/case-view/abstract-case-view.mjs +9 -12
- package/esm2020/lib/view/case-view/components/case-list/abstract-case-list.component.mjs +3 -3
- package/esm2020/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +3 -3
- package/esm2020/lib/view/case-view/components/default-case-list/abstract-default-case-list.component.mjs +81 -0
- package/esm2020/lib/view/case-view/tabbed-case-view.mjs +7 -14
- package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +3 -4
- package/esm2020/lib/view/task-view/abstract-task-view.mjs +6 -5
- package/esm2020/lib/view/task-view/tabbed-task-view.mjs +6 -5
- package/esm2020/lib/view/tree-case-view/tree-component/case-tree.service.mjs +6 -4
- package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +6 -5
- package/fesm2015/netgrif-components-core.mjs +1010 -611
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +996 -616
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/admin/public-api.d.ts +1 -1
- package/lib/admin/role-assignment-ldap-group/{abstract-ldap-group-role-assignment.d.ts → abstract-ldap-group-role-assignment.component.d.ts} +3 -3
- package/lib/authentication/services/methods/basic-authentication/basic-authentication.service.d.ts +2 -0
- package/lib/authorization/role/role-guard.service.d.ts +2 -1
- package/lib/data-fields/button-field/abstract-button-field.component.d.ts +0 -5
- package/lib/data-fields/button-field/models/button-field.d.ts +1 -12
- package/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.d.ts +2 -3
- package/lib/data-fields/enumeration-field/models/enumeration-field.d.ts +1 -11
- package/lib/data-fields/i18n-field/abstract-i18n-field.component.d.ts +0 -1
- package/lib/data-fields/models/abstract-data-field.d.ts +5 -0
- package/lib/data-fields/multichoice-field/models/multichoice-field.d.ts +1 -8
- package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.d.ts +24 -0
- package/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.d.ts +1 -0
- package/lib/data-fields/public-api.d.ts +3 -0
- package/lib/data-fields/text-field/models/text-area-field.d.ts +2 -3
- package/lib/data-fields/text-field/models/text-field.d.ts +1 -9
- package/lib/data-fields/user-list-field/abstract-user-list-field.component.d.ts +38 -0
- package/lib/data-fields/user-list-field/models/user-list-field.d.ts +10 -0
- package/lib/data-fields/user-list-field/models/user-list-value.d.ts +16 -0
- package/lib/dialog/components/alert-dialog/alert-dialog.component.d.ts +3 -3
- package/lib/dialog/components/confirm-dialog/confirm-dialog.component.d.ts +3 -3
- package/lib/dialog/components/prompt-dialog/prompt-dialog.component.d.ts +3 -3
- package/lib/dialog/models/{abstract-dialog.d.ts → abstract-dialog.component.d.ts} +3 -3
- package/lib/header/abstract-header-service.d.ts +6 -3
- package/lib/header/abstract-header.component.d.ts +2 -2
- package/lib/header/services/overflow.service.d.ts +1 -1
- package/lib/header/task-header/task-header.service.d.ts +3 -2
- package/lib/header/workflow-header/workflow-header.service.d.ts +3 -2
- package/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.d.ts +18 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +1 -1
- package/lib/navigation/public-api.d.ts +1 -0
- package/lib/navigation/service/uri.service.d.ts +2 -0
- package/lib/panel/abstract/panel-with-header-binding.d.ts +5 -2
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +4 -2
- package/lib/panel/abstract-panel.component.d.ts +5 -1
- package/lib/panel/case-panel/abstract-case-panel.component.d.ts +3 -3
- package/lib/panel/configuration/config-params.d.ts +3 -0
- package/lib/panel/public-api.d.ts +1 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +5 -2
- package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +2 -2
- package/lib/panel/task-panel-list/default-task-panel-list/{abstract-default-task-list.d.ts → abstract-default-task-list.component.d.ts} +3 -3
- package/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.d.ts +2 -2
- package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +13 -2
- package/lib/public/factories/public-factory-resolver.d.ts +2 -1
- package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +1 -1
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +0 -12
- package/lib/resources/engine-endpoint/task-resource.service.d.ts +2 -1
- package/lib/resources/interface/fields.d.ts +0 -5
- package/lib/search/search-operand-input-component/abstract-search-operand-input.component.d.ts +1 -1
- package/lib/side-menu/content-components/new-case/model/new-case-injection-data.d.ts +5 -0
- package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +2 -1
- package/lib/side-menu/content-components/user-assign/model/user-list-injected-data.d.ts +2 -1
- package/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/models/{abstract-snack-bar.d.ts → abstract-snack-bar.component.d.ts} +3 -3
- package/lib/snack-bar/public-api.d.ts +1 -1
- package/lib/task/services/task-data.service.d.ts +12 -3
- package/lib/task-content/model/field-type-resource.d.ts +1 -0
- package/lib/task-content/model/resource-interface.d.ts +0 -3
- package/lib/task-content/services/field-converter.service.d.ts +3 -16
- package/lib/task-content/services/task-content.service.d.ts +1 -0
- package/lib/view/abstract/view-with-headers.d.ts +5 -1
- package/lib/view/case-view/abstract-case-view.d.ts +5 -3
- package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +2 -2
- package/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.d.ts +2 -2
- package/lib/view/case-view/components/default-case-list/{abstract-default-case-list.d.ts → abstract-default-case-list.component.d.ts} +3 -3
- package/lib/view/case-view/tabbed-case-view.d.ts +4 -4
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +0 -1
- package/lib/view/task-view/abstract-task-view.d.ts +2 -1
- package/lib/view/task-view/tabbed-task-view.d.ts +2 -1
- package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +2 -1
- package/package.json +1 -2
- package/schematics/_commons/view-class-info.js +8 -0
- package/schematics/_commons/view-class-info.js.map +1 -1
- package/src/assets/i18n/de.json +18 -8
- package/src/assets/i18n/en.json +11 -1
- package/src/assets/i18n/sk.json +11 -1
- package/src/schema/nae-schema.json +6 -0
- package/esm2020/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.mjs +0 -88
- package/esm2020/lib/dialog/models/abstract-dialog.mjs +0 -29
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.mjs +0 -94
- package/esm2020/lib/snack-bar/models/abstract-snack-bar.mjs +0 -26
- package/esm2020/lib/view/case-view/components/default-case-list/abstract-default-case-list.mjs +0 -81
package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs
CHANGED
|
@@ -274,15 +274,18 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
274
274
|
id: filter.stringId,
|
|
275
275
|
resource: filter
|
|
276
276
|
};
|
|
277
|
-
const resolvedRoles = this.resolveAccessRoles(filter);
|
|
277
|
+
const resolvedRoles = this.resolveAccessRoles(filter, 'allowed_roles');
|
|
278
|
+
const resolvedBannedRoles = this.resolveAccessRoles(filter, 'banned_roles');
|
|
278
279
|
if (!!resolvedRoles)
|
|
279
280
|
item.access['role'] = resolvedRoles;
|
|
281
|
+
if (!!resolvedBannedRoles)
|
|
282
|
+
item.access['bannedRole'] = resolvedBannedRoles;
|
|
280
283
|
if (!this._accessService.canAccessView(item, item.routingPath))
|
|
281
284
|
return;
|
|
282
285
|
return item;
|
|
283
286
|
}
|
|
284
|
-
resolveAccessRoles(filter) {
|
|
285
|
-
const allowedRoles = filter.immediateData.find(f => f.stringId ===
|
|
287
|
+
resolveAccessRoles(filter, roleType) {
|
|
288
|
+
const allowedRoles = filter.immediateData.find(f => f.stringId === roleType)?.options;
|
|
286
289
|
if (!allowedRoles || Object.keys(allowedRoles).length === 0)
|
|
287
290
|
return undefined;
|
|
288
291
|
const roles = [];
|
|
@@ -383,4 +386,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
383
386
|
}], viewsCategoryName: [{
|
|
384
387
|
type: Input
|
|
385
388
|
}] } });
|
|
386
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxRQUFRLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFXcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSzdELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7OztBQWVyRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5Qix3QkFBd0I7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQztBQUVyRCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztBQUN2QyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQztBQUMzQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQU1uQyxNQUFNLE9BQWdCLHVDQUF1QztJQWtFekQsWUFBZ0MsT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QixFQUM3QixJQUFtQixFQUNuQixPQUE2QixFQUM3QixXQUF1QixFQUN2QixzQkFBNkQ7UUFUN0QsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUM7UUF2RXBGLG9CQUFlLEdBQVcsR0FBRyxDQUFDO1FBQzlCLGFBQVEsR0FBVyxNQUFNLENBQUM7UUFFMUIsc0JBQWlCLEdBQVcsVUFBVSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFDOUIscUJBQWdCLEdBQVcsYUFBYSxDQUFDO1FBQ3pDLGVBQVUsR0FBVyxZQUFZLENBQUM7UUFDbEMsd0JBQW1CLEdBQVcsc0JBQXNCLENBQUM7UUFDckQsc0JBQWlCLEdBQVcsb0JBQW9CLENBQUM7UUFtQ2hELG9CQUFlLEdBQXFCO1lBQzFDLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztZQUNuQixLQUFLLEVBQUUseUJBQXlCO1NBQ25DLENBQUM7UUFDUSxxQkFBZ0IsR0FBcUI7WUFDM0MsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSTtZQUNaLFlBQVksRUFBRSxLQUFLO1lBQ25CLEtBQUssRUFBRSwwQkFBMEI7U0FDcEMsQ0FBQztRQWNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFzQixDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksS0FBSyxFQUFzQixDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ25HLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbEIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUM1QjtZQUNELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDdkI7WUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxDQUFDLHFCQUFxQixFQUFFO1lBQ3pCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUM1RSxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsbUNBQW1DLENBQUMscUJBQXFCLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzRixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVTLHVCQUF1QixDQUFDLFVBQWtCLEVBQUUsU0FBZTtRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNyRDtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdkQsRUFBRSxFQUFFLFVBQVU7WUFDZCxHQUFHLFNBQVM7U0FDZixDQUFBO0lBQ0wsQ0FBQztJQUVTLG1DQUFtQyxDQUFDLFVBQWtCLEVBQUUsU0FBZTtRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUN0RSxhQUFhO1FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNwQixFQUFFLEVBQUUsVUFBVTtnQkFDZCxHQUFHLFNBQVM7YUFDZixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDL0QsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUNqRSxDQUFDO0lBRVMsYUFBYSxDQUFDLGFBQXNCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztTQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNBLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixZQUFZLEVBQUUsS0FBSztZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1NBQ3BDLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1NBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0EsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksRUFBRSxLQUFLO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSztTQUNyQyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3BILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDekM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7U0FHSztJQUNMLFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7U0FLSztJQUNMLFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxhQUFhO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUE7UUFDdkIsUUFBUSxDQUFDO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDekQsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUM7U0FDakYsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDdEY7WUFDRCxhQUFhO1lBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMscUNBQXFDLENBQUMsTUFBWTtRQUN4RCxNQUFNLElBQUksR0FBdUI7WUFDN0IsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQzFGLEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksSUFBSSxNQUFNLENBQUMsS0FBSzthQUMxRztZQUNELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQzthQUMxQztZQUNELEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUNuQixRQUFRLEVBQUUsTUFBTTtTQUNuQixDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUcsQ0FBQyxDQUFDLGFBQWE7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxNQUFZO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDN0YsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbkIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRVMsb0JBQW9CLENBQUMsVUFBZ0I7UUFDM0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLDhCQUE4QixDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDOUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRVMsY0FBYyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQ3pDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztTQUdLO0lBQ0wsYUFBYTtRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsSUFBcUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLElBQXdCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtCO1FBQzVCLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsc0JBQXNCLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxzQkFBc0IsQ0FBQztTQUN4RDthQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsOEJBQThCLEVBQUU7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyw4QkFBOEIsQ0FBQztTQUNoRTthQUFNO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUN2RDtRQUNELHlEQUF5RDtRQUN6RCxvRUFBb0U7UUFDcEUsc0NBQXNDO0lBQzFDLENBQUM7O3FJQTFYaUIsdUNBQXVDO3lIQUF2Qyx1Q0FBdUMsK2pCQUYvQyxFQUFFOzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxRQUFRLEVBQUUsRUFBRTtpQkFDZjsyWEFHWSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1VyaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdXJpLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5pbXBvcnQge01hdERyYXdlck1vZGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2XCI7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tIFwiYW5ndWxhci1yZXNpemFibGUtZWxlbWVudFwiO1xuaW1wb3J0IHtVc2VyfSBmcm9tIFwiLi4vLi4vdXNlci9tb2RlbHMvdXNlclwiO1xuaW1wb3J0IHtSb2xlQWNjZXNzLCBWaWV3fSBmcm9tIFwiLi4vLi4vLi4vY29tbW9ucy9zY2hlbWFcIjtcbmltcG9ydCB7TkFFX1JPVVRJTkdfQ09ORklHVVJBVElPTl9QQVRIfSBmcm9tIFwiLi4vLi4vcm91dGluZy9yb3V0aW5nLWJ1aWxkZXIvcm91dGluZy1idWlsZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7QWNjZXNzU2VydmljZX0gZnJvbSBcIi4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9hY2Nlc3Muc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0RvdWJsZU1lbnUge1xuICAgIG1vZGU6IE1hdERyYXdlck1vZGU7XG4gICAgb3BlbmVkOiBib29sZWFuO1xuICAgIGRpc2FibGVDbG9zZTogYm9vbGVhbjtcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFZpZXcge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgcmVzb3VyY2U/OiBDYXNlXG59XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfSURFTlRJRklFUlMgPSBbXG4gICAgXCJwcmVmZXJlbmNlX2ZpbHRlcl9pdGVtXCJcbl07XG5leHBvcnQgY29uc3QgRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEID0gJ3ZpZXcnO1xuXG5jb25zdCBMRUZUX0RSQVdFUl9ERUZBVUxUX1dJRFRIID0gNjA7XG5jb25zdCBSSUdIVF9EUkFXRVJfREVGQVVMVF9XSURUSCA9IDI0MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSCA9IDE4MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9NQVhfV0lEVEggPSA0NjA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBwb3J0YWxMZWZ0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBwb3J0YWxSaWdodE1lbnU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgaW1hZ2VSb3V0ZXJMaW5rOiBzdHJpbmcgPSBcIi9cIjtcbiAgICBASW5wdXQoKSBpbWFnZUFsdDogc3RyaW5nID0gXCJMb2dvXCI7XG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcm9maWxlUm91dGVyTGluazogc3RyaW5nID0gXCIvcHJvZmlsZVwiO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVVc2VyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlTGFuZ3VhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVNb3JlTWVudTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsQ2xvc2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvbGRlckljb246IHN0cmluZyA9IFwiZm9sZGVyXCI7XG4gICAgQElucHV0KCkgb3BlbmVkRm9sZGVySWNvbjogc3RyaW5nID0gXCJmb2xkZXJfb3BlblwiO1xuICAgIEBJbnB1dCgpIGZpbHRlckljb246IHN0cmluZyA9IFwiZmlsdGVyX2FsdFwiO1xuICAgIEBJbnB1dCgpIGZvbGRlcnNDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUuZm9sZGVycyc7XG4gICAgQElucHV0KCkgdmlld3NDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUudmlld3MnO1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIGxlZnQgc2lkZVxuICAgICAqICovXG4gICAgbGVmdE5vZGVzOiBBcnJheTxVcmlOb2RlUmVzb3VyY2U+O1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIHJpZ2h0IHNpZGVcbiAgICAgKiAqL1xuICAgIHJpZ2h0Tm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT47XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhhdCBjYW4gYmUgZGlzcGxheWVkIHVuZGVyIGZvbGRlcnMgb24gcmlnaHQgc2lkZSBtZW51XG4gICAgICogKi9cbiAgICB2aWV3czogQXJyYXk8Vmlld05hdmlnYXRpb25JdGVtPjtcblxuICAgIG1vcmVNZW51SXRlbXM6IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT47XG5cbiAgICBwcm90ZWN0ZWQgX2xlZnROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcmlnaHROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfZmlsdGVyc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcm9vdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfY3VycmVudE5vZGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnRseSBkaXNwbGF5IHVyaVxuICAgICAqIFNpYmxpbmdzIG9mIHRoZSBub2RlIGFyZSBvbiB0aGUgbGVmdCwgY2hpbGRyZW4gYXJlIG9uIHRoZSByaWdodFxuICAgICAqL1xuICAgIGN1cnJlbnROb2RlOiBVcmlOb2RlUmVzb3VyY2VcblxuICAgIGxlZnRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcmlnaHRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0xlZnRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IExFRlRfRFJBV0VSX0RFRkFVTFRfV0lEVEhcbiAgICB9O1xuICAgIHByb3RlY3RlZCBfY29uZmlnUmlnaHRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IFJJR0hUX0RSQVdFUl9ERUZBVUxUX1dJRFRIXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBfY2hpbGRDdXN0b21WaWV3czogeyBbdXJpOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IFZpZXdOYXZpZ2F0aW9uSXRlbSB9IH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9icmVha3BvaW50OiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjY2Vzc1NlcnZpY2U6IEFjY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXJpU2VydmljZTogVXJpU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUm91dGluZ1NlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnZpZXdzID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX2NoaWxkQ3VzdG9tVmlld3MgPSB7fTtcbiAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuX2JyZWFrcG9pbnQub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3VycmVudE5vZGVTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUkLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xuICAgICAgICAgICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy5sZWZ0TG9hZGluZyQuaXNBY3RpdmUgfHwgdGhpcy5yaWdodExvYWRpbmckLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMubGVmdE5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZExlZnRTaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb25QYXRoID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEhdO1xuICAgICAgICBpZiAoISF2aWV3Q29uZmlndXJhdGlvblBhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb25maWd1cmF0aW9uID0gdGhpcy5fY29uZmlnLmdldFZpZXdCeVBhdGgodmlld0NvbmZpZ3VyYXRpb25QYXRoKTtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZpZXdDb25maWd1cmF0aW9uLmNoaWxkcmVuKS5mb3JFYWNoKChba2V5LCBjaGlsZFZpZXddKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlSGlkZGVuTWVudUl0ZW1Gcm9tQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyhjb25maWdQYXRoOiBzdHJpbmcsIGNoaWxkVmlldzogVmlldyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNoaWxkVmlldy5wcm9jZXNzVXJpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5fYWNjZXNzU2VydmljZS5jYW5BY2Nlc3NWaWV3KGNoaWxkVmlldywgY29uZmlnUGF0aCkpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXSkge1xuICAgICAgICAgICAgdGhpcy5fY2hpbGRDdXN0b21WaWV3c1tjaGlsZFZpZXcucHJvY2Vzc1VyaV0gPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXVtjb25maWdQYXRoXSA9IHtcbiAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgLi4uY2hpbGRWaWV3XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUhpZGRlbk1lbnVJdGVtRnJvbUNoaWxkVmlld3MoY29uZmlnUGF0aDogc3RyaW5nLCBjaGlsZFZpZXc6IFZpZXcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjaGlsZFZpZXcubmF2aWdhdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhjaGlsZFZpZXcsIGNvbmZpZ1BhdGgpKSByZXR1cm47XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKCEhKGNoaWxkVmlldz8ubmF2aWdhdGlvbj8uaGlkZGVuKSkge1xuICAgICAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgICAgIC4uLmNoaWxkVmlld1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fbGVmdE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yaWdodE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yb290U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jdXJyZW50Tm9kZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ0xlZnRNZW51KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnTGVmdE1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ1JpZ2h0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudTtcbiAgICB9XG5cbiAgICB0b2dnbGVNZW51KCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVJpZ2h0TWVudSgpO1xuICAgICAgICBpZiAodGhpcy5hbGxDbG9zYWJsZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVMZWZ0TWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlTGVmdE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgdG9nZ2xlUmlnaHRNZW51KCkge1xuICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUub3BlbmVkID0gIXRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVMYXlvdXQoaXNMYXJnZVNjcmVlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWdMZWZ0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnTGVmdE1lbnUud2lkdGhcbiAgICAgICAgfSA6IHtcbiAgICAgICAgICAgIG1vZGU6ICdvdmVyJyxcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLl9jb25maWdSaWdodE1lbnUud2lkdGhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRMYW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91c2VyU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdVc2VyIGlzIGxvZ2dlZCBvdXQnKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMgJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGggJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGgubG9nb3V0UmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFBhdGggPSB0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMuYXV0aC5sb2dvdXRSZWRpcmVjdDtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnUmVkaXJlY3RpbmcgdG8gJyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHVzZXIoKTogVXNlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VydmljZS51c2VyO1xuICAgIH1cblxuICAgIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VyaVNlcnZpY2UucGFyZW50Tm9kZUxvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgb25Ib21lQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBiYWNrIGNsaWNrLCB0aGUgcGFyZW50IGlzIHNldCB0byBwYXJlbnQgb2YgbGVmdCBub2RlcywgdGhhdCB3aWxsIHNvbHZlXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgbWVudSAoZWxlbWVudHMgdGhhdCB3ZXJlIGluIGxlZnQgc2lkZSwgYWZ0ZXIgYmFja3dhcmRcbiAgICAgKiBuYXZpZ2F0aW9uIHdpbGwgYmUgb24gdGhlIHJpZ2h0IHNpZGUpLlxuICAgICAqIEN1cnJlbnQgbGV2ZWwgaXMgc2V0IHRvIGEgbG93ZXIgbnVtYmVyIGluIG9yZGVyIHRvIHNldCB0aGUgbGVmdCBzaWRlIG1lbnUuXG4gICAgICogKi9cbiAgICBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KHRoaXMuY3VycmVudE5vZGUpKSByZXR1cm47XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IHRoaXMuY3VycmVudE5vZGUucGFyZW50O1xuICAgIH1cblxuICAgIG9uTm9kZUNsaWNrKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUgPSBub2RlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTGVmdFNpZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl91cmlTZXJ2aWNlLmlzUm9vdCh0aGlzLmN1cnJlbnROb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9sZWZ0Tm9kZXNTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmdldFNpYmxpbmdzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUpLnN1YnNjcmliZShub2RlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IG5vZGVzIGluc3RhbmNlb2YgQXJyYXkgPyBub2RlcyA6IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMuc29ydCgoYSwgYikgPT4gdGhpcy5jb21wYXJlU3RyaW5ncyhhLm5hbWUsIGIubmFtZSkpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkUmlnaHRTaWRlKCkge1xuICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub24oKVxuICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICBmb2xkZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENoaWxkTm9kZXModGhpcy5jdXJyZW50Tm9kZSksXG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENhc2VzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUsIEZJTFRFUl9JREVOVElGSUVSUylcbiAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSByZXN1bHQuZm9sZGVycyBpbnN0YW5jZW9mIEFycmF5ID8gcmVzdWx0LmZvbGRlcnMgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmlnaHROb2Rlcy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGEubmFtZSwgYi5uYW1lKSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gKHJlc3VsdC5maWx0ZXJzIGluc3RhbmNlb2YgQXJyYXkgPyByZXN1bHQuZmlsdGVycyA6IFtdKS5tYXAoZiA9PiB0aGlzLnJlc29sdmVGaWx0ZXJDYXNlVG9WaWV3TmF2aWdhdGlvbkl0ZW0oZikpLmZpbHRlcihpID0+ICEhaSk7XG4gICAgICAgICAgICBpZiAoISF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyh0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy52aWV3cy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGE/Lm5hdmlnYXRpb24/LnRpdGxlLCBiPy5uYXZpZ2F0aW9uPy50aXRsZSkpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5yaWdodE5vZGVzID0gW107XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gW107XG4gICAgICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmlsdGVyQ2FzZVRvVmlld05hdmlnYXRpb25JdGVtKGZpbHRlcjogQ2FzZSk6IFZpZXdOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IFZpZXdOYXZpZ2F0aW9uSXRlbSA9IHtcbiAgICAgICAgICAgIGFjY2Vzczoge30sXG4gICAgICAgICAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgaWNvbjogZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09ICdpY29uX25hbWUnKT8udmFsdWUgfHwgdGhpcy5maWx0ZXJJY29uLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBmaWx0ZXIuaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gJ2VudHJ5X25hbWUnKT8udmFsdWU/LmRlZmF1bHRWYWx1ZSB8fCBmaWx0ZXIudGl0bGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByb3V0aW5nOiB7XG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5nZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaWQ6IGZpbHRlci5zdHJpbmdJZCxcbiAgICAgICAgICAgIHJlc291cmNlOiBmaWx0ZXJcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlcik7XG4gICAgICAgIGlmKCEhcmVzb2x2ZWRSb2xlcykgaXRlbS5hY2Nlc3NbJ3JvbGUnXSA9IHJlc29sdmVkUm9sZXM7XG4gICAgICAgIGlmICghdGhpcy5fYWNjZXNzU2VydmljZS5jYW5BY2Nlc3NWaWV3KGl0ZW0sIGl0ZW0ucm91dGluZ1BhdGgpKSByZXR1cm47XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlQWNjZXNzUm9sZXMoZmlsdGVyOiBDYXNlKTogQXJyYXk8Um9sZUFjY2Vzcz4gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBhbGxvd2VkUm9sZXMgPSBmaWx0ZXIuaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gJ2FsbG93ZWRfcm9sZXMnKT8ub3B0aW9ucztcbiAgICAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgT2JqZWN0LmtleXMoYWxsb3dlZFJvbGVzKS5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJvbGVzID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRSb2xlcykuZm9yRWFjaChjb21iaW5lZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGNvbWJpbmVkLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICByb2xlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHBhcnRzWzFdLFxuICAgICAgICAgICAgICAgIHJvbGVJZDogcGFydHNbMF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJvbGVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXJDYXNlOiBDYXNlKSB7XG4gICAgICAgIGNvbnN0IHZpZXdUYXNrSWQgPSBmaWx0ZXJDYXNlLnRhc2tzLmZpbmQodGFza1BhaXIgPT4gdGFza1BhaXIudHJhbnNpdGlvbiA9PT0gRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEKS50YXNrO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLl9keW5hbWljUm91dGluZ1NlcnZpY2Uucm91dGU7XG4gICAgICAgIHJldHVybiBgLyR7dXJsfS8ke3ZpZXdUYXNrSWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGFyZVN0cmluZ3MoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBpZiAoIWEgJiYgIWIpIHJldHVybiAwO1xuICAgICAgICBpZiAoYSA8IGIpIHJldHVybiAtMTtcbiAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB0aGUgYmFjayBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqIEByZXR1cm5zIGJvb2xlYW4gaWYgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiAqL1xuICAgIGlzT25aZXJvTGV2ZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3VycmVudE5vZGU/LmxldmVsID8gdGhpcy5jdXJyZW50Tm9kZS5sZXZlbCA9PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBpc0xlZnROb2Rlc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWZ0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmxlZnROb2Rlcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNSaWdodE5vZGVzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJpZ2h0Tm9kZXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzVmlld3NFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3MgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZpZXdzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICB1cmlOb2RlVHJhY2tCeShpbmRleDogbnVtYmVyLCBub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuaWQ7XG4gICAgfVxuXG4gICAgdmlld3NUcmFja0J5KGluZGV4OiBudW1iZXIsIHZpZXc6IFZpZXdOYXZpZ2F0aW9uSXRlbSkge1xuICAgICAgICByZXR1cm4gdmlldy5pZDtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUV2ZW50KGV2ZW50OiBSZXNpemVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoID4gUklHSFRfRFJBV0VSX01BWF9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX01BWF9XSURUSDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPCBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IGV2ZW50LnJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGltcGxlbWVudCBzYXZpbmcgZHJhd2VyIHdpZHRoIHRvIHVzZXIgcHJlZmVyZW5jZXNcbiAgICAgICAgLy8gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgLy8gdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxRQUFRLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFXcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSzdELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7OztBQWVyRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5Qix3QkFBd0I7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQztBQUVyRCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztBQUN2QyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQztBQUMzQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQU1uQyxNQUFNLE9BQWdCLHVDQUF1QztJQWtFekQsWUFBZ0MsT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QixFQUM3QixJQUFtQixFQUNuQixPQUE2QixFQUM3QixXQUF1QixFQUN2QixzQkFBNkQ7UUFUN0QsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLG9CQUFlLEdB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UyxDQUFDLEtBQUssQ0FBQztTQUN2RDtRQUNELHlEQUF5RDtRQUN6RCxvRUFBb0U7UUFDcEUsc0NBQXNDO0lBQzFDLENBQUM7O3FJQTVYaUIsdUNBQXVDO3lIQUF2Qyx1Q0FBdUMsK2pCQUYvQyxFQUFFOzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxRQUFRLEVBQUUsRUFBRTtpQkFDZjsyWEFHWSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1VyaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdXJpLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5pbXBvcnQge01hdERyYXdlck1vZGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2XCI7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tIFwiYW5ndWxhci1yZXNpemFibGUtZWxlbWVudFwiO1xuaW1wb3J0IHtVc2VyfSBmcm9tIFwiLi4vLi4vdXNlci9tb2RlbHMvdXNlclwiO1xuaW1wb3J0IHtSb2xlQWNjZXNzLCBWaWV3fSBmcm9tIFwiLi4vLi4vLi4vY29tbW9ucy9zY2hlbWFcIjtcbmltcG9ydCB7TkFFX1JPVVRJTkdfQ09ORklHVVJBVElPTl9QQVRIfSBmcm9tIFwiLi4vLi4vcm91dGluZy9yb3V0aW5nLWJ1aWxkZXIvcm91dGluZy1idWlsZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7QWNjZXNzU2VydmljZX0gZnJvbSBcIi4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9hY2Nlc3Muc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0RvdWJsZU1lbnUge1xuICAgIG1vZGU6IE1hdERyYXdlck1vZGU7XG4gICAgb3BlbmVkOiBib29sZWFuO1xuICAgIGRpc2FibGVDbG9zZTogYm9vbGVhbjtcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFZpZXcge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgcmVzb3VyY2U/OiBDYXNlXG59XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfSURFTlRJRklFUlMgPSBbXG4gICAgXCJwcmVmZXJlbmNlX2ZpbHRlcl9pdGVtXCJcbl07XG5leHBvcnQgY29uc3QgRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEID0gJ3ZpZXcnO1xuXG5jb25zdCBMRUZUX0RSQVdFUl9ERUZBVUxUX1dJRFRIID0gNjA7XG5jb25zdCBSSUdIVF9EUkFXRVJfREVGQVVMVF9XSURUSCA9IDI0MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSCA9IDE4MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9NQVhfV0lEVEggPSA0NjA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBwb3J0YWxMZWZ0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBwb3J0YWxSaWdodE1lbnU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgaW1hZ2VSb3V0ZXJMaW5rOiBzdHJpbmcgPSBcIi9cIjtcbiAgICBASW5wdXQoKSBpbWFnZUFsdDogc3RyaW5nID0gXCJMb2dvXCI7XG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcm9maWxlUm91dGVyTGluazogc3RyaW5nID0gXCIvcHJvZmlsZVwiO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVVc2VyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlTGFuZ3VhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVNb3JlTWVudTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsQ2xvc2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvbGRlckljb246IHN0cmluZyA9IFwiZm9sZGVyXCI7XG4gICAgQElucHV0KCkgb3BlbmVkRm9sZGVySWNvbjogc3RyaW5nID0gXCJmb2xkZXJfb3BlblwiO1xuICAgIEBJbnB1dCgpIGZpbHRlckljb246IHN0cmluZyA9IFwiZmlsdGVyX2FsdFwiO1xuICAgIEBJbnB1dCgpIGZvbGRlcnNDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUuZm9sZGVycyc7XG4gICAgQElucHV0KCkgdmlld3NDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUudmlld3MnO1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIGxlZnQgc2lkZVxuICAgICAqICovXG4gICAgbGVmdE5vZGVzOiBBcnJheTxVcmlOb2RlUmVzb3VyY2U+O1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIHJpZ2h0IHNpZGVcbiAgICAgKiAqL1xuICAgIHJpZ2h0Tm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT47XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhhdCBjYW4gYmUgZGlzcGxheWVkIHVuZGVyIGZvbGRlcnMgb24gcmlnaHQgc2lkZSBtZW51XG4gICAgICogKi9cbiAgICB2aWV3czogQXJyYXk8Vmlld05hdmlnYXRpb25JdGVtPjtcblxuICAgIG1vcmVNZW51SXRlbXM6IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT47XG5cbiAgICBwcm90ZWN0ZWQgX2xlZnROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcmlnaHROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfZmlsdGVyc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcm9vdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfY3VycmVudE5vZGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnRseSBkaXNwbGF5IHVyaVxuICAgICAqIFNpYmxpbmdzIG9mIHRoZSBub2RlIGFyZSBvbiB0aGUgbGVmdCwgY2hpbGRyZW4gYXJlIG9uIHRoZSByaWdodFxuICAgICAqL1xuICAgIGN1cnJlbnROb2RlOiBVcmlOb2RlUmVzb3VyY2VcblxuICAgIGxlZnRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcmlnaHRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0xlZnRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IExFRlRfRFJBV0VSX0RFRkFVTFRfV0lEVEhcbiAgICB9O1xuICAgIHByb3RlY3RlZCBfY29uZmlnUmlnaHRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IFJJR0hUX0RSQVdFUl9ERUZBVUxUX1dJRFRIXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBfY2hpbGRDdXN0b21WaWV3czogeyBbdXJpOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IFZpZXdOYXZpZ2F0aW9uSXRlbSB9IH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9icmVha3BvaW50OiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjY2Vzc1NlcnZpY2U6IEFjY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXJpU2VydmljZTogVXJpU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUm91dGluZ1NlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnZpZXdzID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX2NoaWxkQ3VzdG9tVmlld3MgPSB7fTtcbiAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuX2JyZWFrcG9pbnQub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3VycmVudE5vZGVTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUkLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xuICAgICAgICAgICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy5sZWZ0TG9hZGluZyQuaXNBY3RpdmUgfHwgdGhpcy5yaWdodExvYWRpbmckLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMubGVmdE5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZExlZnRTaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb25QYXRoID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEhdO1xuICAgICAgICBpZiAoISF2aWV3Q29uZmlndXJhdGlvblBhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb25maWd1cmF0aW9uID0gdGhpcy5fY29uZmlnLmdldFZpZXdCeVBhdGgodmlld0NvbmZpZ3VyYXRpb25QYXRoKTtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZpZXdDb25maWd1cmF0aW9uLmNoaWxkcmVuKS5mb3JFYWNoKChba2V5LCBjaGlsZFZpZXddKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlSGlkZGVuTWVudUl0ZW1Gcm9tQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyhjb25maWdQYXRoOiBzdHJpbmcsIGNoaWxkVmlldzogVmlldyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNoaWxkVmlldy5wcm9jZXNzVXJpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5fYWNjZXNzU2VydmljZS5jYW5BY2Nlc3NWaWV3KGNoaWxkVmlldywgY29uZmlnUGF0aCkpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXSkge1xuICAgICAgICAgICAgdGhpcy5fY2hpbGRDdXN0b21WaWV3c1tjaGlsZFZpZXcucHJvY2Vzc1VyaV0gPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXVtjb25maWdQYXRoXSA9IHtcbiAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgLi4uY2hpbGRWaWV3XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUhpZGRlbk1lbnVJdGVtRnJvbUNoaWxkVmlld3MoY29uZmlnUGF0aDogc3RyaW5nLCBjaGlsZFZpZXc6IFZpZXcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjaGlsZFZpZXcubmF2aWdhdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhjaGlsZFZpZXcsIGNvbmZpZ1BhdGgpKSByZXR1cm47XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKCEhKGNoaWxkVmlldz8ubmF2aWdhdGlvbj8uaGlkZGVuKSkge1xuICAgICAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgICAgIC4uLmNoaWxkVmlld1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fbGVmdE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yaWdodE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yb290U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jdXJyZW50Tm9kZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ0xlZnRNZW51KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnTGVmdE1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ1JpZ2h0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudTtcbiAgICB9XG5cbiAgICB0b2dnbGVNZW51KCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVJpZ2h0TWVudSgpO1xuICAgICAgICBpZiAodGhpcy5hbGxDbG9zYWJsZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVMZWZ0TWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlTGVmdE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgdG9nZ2xlUmlnaHRNZW51KCkge1xuICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUub3BlbmVkID0gIXRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVMYXlvdXQoaXNMYXJnZVNjcmVlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWdMZWZ0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnTGVmdE1lbnUud2lkdGhcbiAgICAgICAgfSA6IHtcbiAgICAgICAgICAgIG1vZGU6ICdvdmVyJyxcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLl9jb25maWdSaWdodE1lbnUud2lkdGhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRMYW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91c2VyU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdVc2VyIGlzIGxvZ2dlZCBvdXQnKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMgJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGggJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGgubG9nb3V0UmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFBhdGggPSB0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMuYXV0aC5sb2dvdXRSZWRpcmVjdDtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnUmVkaXJlY3RpbmcgdG8gJyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHVzZXIoKTogVXNlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VydmljZS51c2VyO1xuICAgIH1cblxuICAgIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VyaVNlcnZpY2UucGFyZW50Tm9kZUxvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgb25Ib21lQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBiYWNrIGNsaWNrLCB0aGUgcGFyZW50IGlzIHNldCB0byBwYXJlbnQgb2YgbGVmdCBub2RlcywgdGhhdCB3aWxsIHNvbHZlXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgbWVudSAoZWxlbWVudHMgdGhhdCB3ZXJlIGluIGxlZnQgc2lkZSwgYWZ0ZXIgYmFja3dhcmRcbiAgICAgKiBuYXZpZ2F0aW9uIHdpbGwgYmUgb24gdGhlIHJpZ2h0IHNpZGUpLlxuICAgICAqIEN1cnJlbnQgbGV2ZWwgaXMgc2V0IHRvIGEgbG93ZXIgbnVtYmVyIGluIG9yZGVyIHRvIHNldCB0aGUgbGVmdCBzaWRlIG1lbnUuXG4gICAgICogKi9cbiAgICBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KHRoaXMuY3VycmVudE5vZGUpKSByZXR1cm47XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IHRoaXMuY3VycmVudE5vZGUucGFyZW50O1xuICAgIH1cblxuICAgIG9uTm9kZUNsaWNrKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUgPSBub2RlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTGVmdFNpZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl91cmlTZXJ2aWNlLmlzUm9vdCh0aGlzLmN1cnJlbnROb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9sZWZ0Tm9kZXNTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmdldFNpYmxpbmdzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUpLnN1YnNjcmliZShub2RlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IG5vZGVzIGluc3RhbmNlb2YgQXJyYXkgPyBub2RlcyA6IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMuc29ydCgoYSwgYikgPT4gdGhpcy5jb21wYXJlU3RyaW5ncyhhLm5hbWUsIGIubmFtZSkpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkUmlnaHRTaWRlKCkge1xuICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub24oKVxuICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICBmb2xkZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENoaWxkTm9kZXModGhpcy5jdXJyZW50Tm9kZSksXG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENhc2VzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUsIEZJTFRFUl9JREVOVElGSUVSUylcbiAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSByZXN1bHQuZm9sZGVycyBpbnN0YW5jZW9mIEFycmF5ID8gcmVzdWx0LmZvbGRlcnMgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmlnaHROb2Rlcy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGEubmFtZSwgYi5uYW1lKSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gKHJlc3VsdC5maWx0ZXJzIGluc3RhbmNlb2YgQXJyYXkgPyByZXN1bHQuZmlsdGVycyA6IFtdKS5tYXAoZiA9PiB0aGlzLnJlc29sdmVGaWx0ZXJDYXNlVG9WaWV3TmF2aWdhdGlvbkl0ZW0oZikpLmZpbHRlcihpID0+ICEhaSk7XG4gICAgICAgICAgICBpZiAoISF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyh0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy52aWV3cy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGE/Lm5hdmlnYXRpb24/LnRpdGxlLCBiPy5uYXZpZ2F0aW9uPy50aXRsZSkpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5yaWdodE5vZGVzID0gW107XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gW107XG4gICAgICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmlsdGVyQ2FzZVRvVmlld05hdmlnYXRpb25JdGVtKGZpbHRlcjogQ2FzZSk6IFZpZXdOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IFZpZXdOYXZpZ2F0aW9uSXRlbSA9IHtcbiAgICAgICAgICAgIGFjY2Vzczoge30sXG4gICAgICAgICAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgaWNvbjogZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09ICdpY29uX25hbWUnKT8udmFsdWUgfHwgdGhpcy5maWx0ZXJJY29uLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBmaWx0ZXIuaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gJ2VudHJ5X25hbWUnKT8udmFsdWU/LmRlZmF1bHRWYWx1ZSB8fCBmaWx0ZXIudGl0bGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByb3V0aW5nOiB7XG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5nZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaWQ6IGZpbHRlci5zdHJpbmdJZCxcbiAgICAgICAgICAgIHJlc291cmNlOiBmaWx0ZXJcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2FsbG93ZWRfcm9sZXMnKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRCYW5uZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2Jhbm5lZF9yb2xlcycpO1xuICAgICAgICBpZighIXJlc29sdmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydyb2xlJ10gPSByZXNvbHZlZFJvbGVzO1xuICAgICAgICBpZighIXJlc29sdmVkQmFubmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydiYW5uZWRSb2xlJ10gPSByZXNvbHZlZEJhbm5lZFJvbGVzO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhpdGVtLCBpdGVtLnJvdXRpbmdQYXRoKSkgcmV0dXJuO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlcjogQ2FzZSwgcm9sZVR5cGU6IHN0cmluZyk6IEFycmF5PFJvbGVBY2Nlc3M+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZFJvbGVzID0gZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09IHJvbGVUeXBlKT8ub3B0aW9ucztcbiAgICAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgT2JqZWN0LmtleXMoYWxsb3dlZFJvbGVzKS5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJvbGVzID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRSb2xlcykuZm9yRWFjaChjb21iaW5lZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGNvbWJpbmVkLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICByb2xlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHBhcnRzWzFdLFxuICAgICAgICAgICAgICAgIHJvbGVJZDogcGFydHNbMF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJvbGVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXJDYXNlOiBDYXNlKSB7XG4gICAgICAgIGNvbnN0IHZpZXdUYXNrSWQgPSBmaWx0ZXJDYXNlLnRhc2tzLmZpbmQodGFza1BhaXIgPT4gdGFza1BhaXIudHJhbnNpdGlvbiA9PT0gRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEKS50YXNrO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLl9keW5hbWljUm91dGluZ1NlcnZpY2Uucm91dGU7XG4gICAgICAgIHJldHVybiBgLyR7dXJsfS8ke3ZpZXdUYXNrSWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGFyZVN0cmluZ3MoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBpZiAoIWEgJiYgIWIpIHJldHVybiAwO1xuICAgICAgICBpZiAoYSA8IGIpIHJldHVybiAtMTtcbiAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB0aGUgYmFjayBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqIEByZXR1cm5zIGJvb2xlYW4gaWYgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiAqL1xuICAgIGlzT25aZXJvTGV2ZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3VycmVudE5vZGU/LmxldmVsID8gdGhpcy5jdXJyZW50Tm9kZS5sZXZlbCA9PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBpc0xlZnROb2Rlc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWZ0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmxlZnROb2Rlcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNSaWdodE5vZGVzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJpZ2h0Tm9kZXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzVmlld3NFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3MgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZpZXdzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICB1cmlOb2RlVHJhY2tCeShpbmRleDogbnVtYmVyLCBub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuaWQ7XG4gICAgfVxuXG4gICAgdmlld3NUcmFja0J5KGluZGV4OiBudW1iZXIsIHZpZXc6IFZpZXdOYXZpZ2F0aW9uSXRlbSkge1xuICAgICAgICByZXR1cm4gdmlldy5pZDtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUV2ZW50KGV2ZW50OiBSZXNpemVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoID4gUklHSFRfRFJBV0VSX01BWF9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX01BWF9XSURUSDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPCBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IGV2ZW50LnJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGltcGxlbWVudCBzYXZpbmcgZHJhd2VyIHdpZHRoIHRvIHVzZXIgcHJlZmVyZW5jZXNcbiAgICAgICAgLy8gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgLy8gdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ export * from './navigation-drawer/abstract-navigation-drawer.component';
|
|
|
6
6
|
export * from './navigation-double-drawer/abstract-navigation-double-drawer';
|
|
7
7
|
export * from './navigation-rail/abstract-navigation-rail.component';
|
|
8
8
|
export * from './group-navigation-component-resolver/abstract-group-navigation-component-resolver.component';
|
|
9
|
+
export * from './breadcrumbs/abstract-breadcrumbs.component';
|
|
9
10
|
/* SERVICES */
|
|
10
11
|
export * from './group-navigation-component-resolver/group-navigation-component-resolver.service';
|
|
11
12
|
export * from './utility/filter-extraction.service';
|
|
@@ -20,4 +21,4 @@ export * from './model/uri-resource';
|
|
|
20
21
|
/* UTILITY METHODS */
|
|
21
22
|
export * from './utility/navigation-item-task-utility-methods';
|
|
22
23
|
export * from './group-navigation-component-resolver/group-navigation-view-id-segment-factory';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGdCQUFnQjtBQUNoQixjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjO0FBQ2QsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxZQUFZO0FBQ1osY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLHFCQUFxQjtBQUNyQixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0ZBQWdGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBBUElTICovXG5leHBvcnQgKiBmcm9tICcuL3F1aWNrLXBhbmVsL3B1YmxpYy1hcGknO1xuXG4vKiBDT01QT05FTlRTICovXG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tdHJlZS9hYnN0cmFjdC1uYXZpZ2F0aW9uLXRyZWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi1kcmF3ZXIvYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL2Fic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcic7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tcmFpbC9hYnN0cmFjdC1uYXZpZ2F0aW9uLXJhaWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvYWJzdHJhY3QtZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYnMvYWJzdHJhY3QtYnJlYWRjcnVtYnMuY29tcG9uZW50JztcblxuLyogU0VSVklDRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxpdHkvZmlsdGVyLWV4dHJhY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UvdXJpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL3VyaS1yZXNvdXJjZS5zZXJ2aWNlJztcblxuLyogTU9ERUxTICovXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2dyb3VwLW5hdmlnYXRpb24tY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXItY29tcG9uZW50LWluamVjdGlvbi10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2ZpbHRlci1jYXNlLWluamVjdGlvbi10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2dyb3VwLW5hdmlnYXRpb24taXRlbS1sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5cbi8qIFVUSUxJVFkgTUVUSE9EUyAqL1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5L25hdmlnYXRpb24taXRlbS10YXNrLXV0aWxpdHktbWV0aG9kcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2dyb3VwLW5hdmlnYXRpb24tdmlldy1pZC1zZWdtZW50LWZhY3RvcnknO1xuIl19
|
|
@@ -160,6 +160,9 @@ export class UriService {
|
|
|
160
160
|
return 'root';
|
|
161
161
|
return node.uriPath.substring(0, lastDelimiter);
|
|
162
162
|
}
|
|
163
|
+
getSplittedPath() {
|
|
164
|
+
return this.activeNode?.uriPath.split('/').filter(s => s !== UriService.ROOT);
|
|
165
|
+
}
|
|
163
166
|
capitalizeNames(nodes) {
|
|
164
167
|
if (!(nodes instanceof Array))
|
|
165
168
|
return;
|
|
@@ -183,6 +186,7 @@ export class UriService {
|
|
|
183
186
|
return node;
|
|
184
187
|
}
|
|
185
188
|
}
|
|
189
|
+
UriService.ROOT = 'root';
|
|
186
190
|
UriService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UriService, deps: [{ token: i1.LoggerService }, { token: i2.UriResourceService }, { token: i3.CaseResourceService }, { token: i4.ActiveGroupService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
187
191
|
UriService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UriService, providedIn: 'root' });
|
|
188
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UriService, decorators: [{
|
|
@@ -191,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
191
195
|
providedIn: 'root'
|
|
192
196
|
}]
|
|
193
197
|
}], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.UriResourceService }, { type: i3.CaseResourceService }, { type: i4.ActiveGroupService }]; } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vc2VydmljZS91cmkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFN0Q7O0tBRUs7QUFJTCxNQUFNLE9BQU8sVUFBVTtJQU9uQixZQUFzQixPQUFzQixFQUN0QixnQkFBb0MsRUFDcEMsb0JBQXlDLEVBQ3pDLG1CQUF1QztRQUh2QyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFD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aEIsQ0FBQzs7d0dBbE1RLFVBQVU7NEdBQVYsVUFBVSxjQUZQLE1BQU07NEZBRVQsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1VyaVJlc291cmNlU2VydmljZX0gZnJvbSAnLi91cmktcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3NpbXBsZS1maWx0ZXInO1xuaW1wb3J0IHtDYXNlU2VhcmNoUmVxdWVzdEJvZHksIFBldHJpTmV0U2VhcmNoUmVxdWVzdH0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9jYXNlLXNlYXJjaC1yZXF1ZXN0LWJvZHknO1xuaW1wb3J0IHtBY3RpdmVHcm91cFNlcnZpY2V9IGZyb20gJy4uLy4uL2dyb3Vwcy9zZXJ2aWNlcy9hY3RpdmUtZ3JvdXAuc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge0xvYWRpbmdFbWl0dGVyfSBmcm9tIFwiLi4vLi4vdXRpbGl0eS9sb2FkaW5nLWVtaXR0ZXJcIjtcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyBVUklzXG4gKiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVcmlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX3Jvb3ROb2RlOiBVcmlOb2RlUmVzb3VyY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcm9vdExvYWRpbmckOiBMb2FkaW5nRW1pdHRlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlTm9kZSQ6IEJlaGF2aW9yU3ViamVjdDxVcmlOb2RlUmVzb3VyY2U+XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Jlc291cmNlU2VydmljZTogVXJpUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2ZUdyb3VwU2VydmljZTogQWN0aXZlR3JvdXBTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJCA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJCA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuICAgICAgICB0aGlzLl9hY3RpdmVOb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXJpTm9kZVJlc291cmNlPih1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLmxvYWRSb290KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9yb290TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvb3QoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3ROb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcm9vdExvYWRlZCQoKTogTG9hZGluZ0VtaXR0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdExvYWRpbmckO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1Jvb3Qobm9kZTogVXJpTm9kZVJlc291cmNlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmlkID09PSB0aGlzLl9yb290Tm9kZS5pZCAmJiBub2RlLnVyaVBhdGggPT09IHRoaXMuX3Jvb3ROb2RlLnVyaVBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVOb2RlKCk6IFVyaU5vZGVSZXNvdXJjZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVOb2RlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYWN0aXZlTm9kZShub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgaWYgKG5vZGUucGFyZW50SWQgJiYgIW5vZGUucGFyZW50KSB7XG4gICAgICAgICAgICBpZiAobm9kZS5wYXJlbnRJZCA9PT0gdGhpcy5fcm9vdE5vZGUuaWQpIHtcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudCA9IHRoaXMuX3Jvb3ROb2RlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Tm9kZUJ5UGF0aCh0aGlzLnJlc29sdmVQYXJlbnRQYXRoKG5vZGUpKS5zdWJzY3JpYmUobiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucGFyZW50ID0gIW4gPyB0aGlzLl9yb290Tm9kZSA6IG47XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQubmV4dChub2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZU5vZGUkKCk6IE9ic2VydmFibGU8VXJpTm9kZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVOb2RlJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmVudE5vZGVMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudExvYWRpbmckO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgcm9vdCBJRCBpbnRvIHZhcmlhYmxlLlxuICAgICAqIFdoZW4gcm9vdCBub2RlIGlzIGxvYWRlZCBhbmQgYWN0aXZlIG5vZGUgaXMgbm90IHNldCB5ZXQgdGhlIHJvb3Qgbm9kZSBpcyBzZXQgYXMgYWN0aXZlIG5vZGVcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgbG9hZFJvb3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Um9vdCgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghIW5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yb290Tm9kZSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290Tm9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdXJpIG5vZGUgYnkgdXJpIHBhdGguXG4gICAgICogQHBhcmFtIHBhdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm9kZUJ5UGF0aChwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVyaU5vZGVSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTZXJ2aWNlLmdldE5vZGVCeVVyaShwYXRoKS5waXBlKFxuICAgICAgICAgICAgbWFwKG4gPT4gdGhpcy5jYXBpdGFsaXplTmFtZShuKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY2hpbGQgbm9kZXMgb2YgcHJvdmlkZXMgbm9kZS5cbiAgICAgKiBAcGFyYW0gbm9kZSBwYXJlbnQgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDaGlsZE5vZGVzKG5vZGU/OiBVcmlOb2RlUmVzb3VyY2UpOiBPYnNlcnZhYmxlPEFycmF5PFVyaU5vZGVSZXNvdXJjZT4+IHtcbiAgICAgICAgaWYgKCFub2RlKSBub2RlID0gdGhpcy5hY3RpdmVOb2RlO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTZXJ2aWNlLmdldE5vZGVzQnlQYXJlbnQobm9kZS5pZCkucGlwZShcbiAgICAgICAgICAgIG1hcChub2RlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXBpdGFsaXplTmFtZXMobm9kZXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBub2RlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNhc2VzIHVuZGVyIHVyaSBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgcGFyZW50IG5vZGUgb2YgY2FzZXNcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0lkZW50aWZpZXJzIG9wdGlvbmFsIHNlYXJjaCBmaWx0ZXIgZm9yIHByb2Nlc3MgaWRlbnRpZmllciB0byBnZXQgb25seSBjYXNlcyBmcm9tIHRoZSBwcm9jZXNzXG4gICAgICovXG4gICAgcHVibGljIGdldENhc2VzT2ZOb2RlKG5vZGU/OiBVcmlOb2RlUmVzb3VyY2UsIHByb2Nlc3NJZGVudGlmaWVycz86IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPEFycmF5PENhc2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgY29uc3Qgc2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgdXJpTm9kZUlkOiBub2RlLmlkXG4gICAgICAgIH07XG4gICAgICAgIGlmICghIXByb2Nlc3NJZGVudGlmaWVycykge1xuICAgICAgICAgICAgc2VhcmNoQm9keS5wcm9jZXNzID0gcHJvY2Vzc0lkZW50aWZpZXJzLm1hcChpZCA9PiAoe2lkZW50aWZpZXI6IGlkfSBhcyBQZXRyaU5ldFNlYXJjaFJlcXVlc3QpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGFjdGl2ZSBncm91cCBpcyBicm9rZW4gYSBnaXZlbiB0aGUgd3JvbmcgaWRcbiAgICAgICAgLy8gaWYgKCEhdGhpcy5fYWN0aXZlR3JvdXBTZXJ2aWNlLmFjdGl2ZUdyb3VwKSB7XG4gICAgICAgIC8vICAgICBzZWFyY2hCb2R5LmRhdGEgPSB7fTtcbiAgICAgICAgLy8gICAgIHNlYXJjaEJvZHkuZGF0YVsncGFyZW50SWQnXSA9IHRoaXMuX2FjdGl2ZUdyb3VwU2VydmljZS5hY3RpdmVHcm91cC5zdHJpbmdJZDtcbiAgICAgICAgLy8gfVxuICAgICAgICByZXR1cm4gdGhpcy5fY2FzZVJlc291cmNlU2VydmljZS5zZWFyY2hDYXNlcyhTaW1wbGVGaWx0ZXIuZnJvbUNhc2VRdWVyeShzZWFyY2hCb2R5KSkucGlwZShcbiAgICAgICAgICAgIG1hcChwYWdlID0+IHBhZ2UuY29udGVudClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgc2libGluZ3Mgbm9kZSBvZiB0aGUgcHJvdmlkZWQgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlIHNpYmxpbmdzIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2libGluZ3NPZk5vZGUobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IE9ic2VydmFibGU8QXJyYXk8VXJpTm9kZVJlc291cmNlPj4ge1xuICAgICAgICBpZiAoIW5vZGUpIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Tm9kZXNCeVBhcmVudChub2RlLnBhcmVudElkKS5waXBlKFxuICAgICAgICAgICAgbWFwKG5vZGVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcGl0YWxpemVOYW1lcyhub2Rlcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgbm9kZXMgb24gdGhlIHNhbWUgdXJpIGxldmVsIHN0YXJ0aW5nIGZyb20gMC4gUm9vdCBub2RlIGlzIG5vIDAgbGV2ZWwuXG4gICAgICogQHBhcmFtIGxldmVsXG4gICAgICogQHBhcmFtIHBhcmVudCBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gZmlsdGVyIG5vZGVzIHdpdGggY29tbW9uIHBhcmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROb2Rlc09uTGV2ZWwobGV2ZWw6IG51bWJlciwgcGFyZW50PzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmIChsZXZlbCA9PT0gMCkgcmV0dXJuIG9mKFt0aGlzLnJvb3RdKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXRCeUxldmVsKGxldmVsKS5waXBlKFxuICAgICAgICAgICAgbWFwKG5vZGVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBucyA9ICEhcGFyZW50Py5pZCA/IG5vZGVzLmZpbHRlcihuID0+IG4ucGFyZW50SWQgPT09IHBhcmVudC5pZCkgOiBub2RlcztcbiAgICAgICAgICAgICAgICB0aGlzLmNhcGl0YWxpemVOYW1lcyhucyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5zO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVBhcmVudFBhdGgobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgY29uc3QgbGFzdERlbGltaXRlciA9IG5vZGUudXJpUGF0aC5sYXN0SW5kZXhPZignLycpO1xuICAgICAgICBpZiAobGFzdERlbGltaXRlciA9PT0gLTEpIHJldHVybiAncm9vdCc7XG4gICAgICAgIHJldHVybiBub2RlLnVyaVBhdGguc3Vic3RyaW5nKDAsIGxhc3REZWxpbWl0ZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FwaXRhbGl6ZU5hbWVzKG5vZGVzOiBBcnJheTxVcmlOb2RlUmVzb3VyY2U+KSB7XG4gICAgICAgIGlmICghKG5vZGVzIGluc3RhbmNlb2YgQXJyYXkpKSByZXR1cm47XG4gICAgICAgIG5vZGVzLmZvckVhY2gobiA9PiB0aGlzLmNhcGl0YWxpemVOYW1lKG4pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgL25ldGdyaWYvbmFlX3N5c3RlbS9wcm9jZXNzZXMvLi4uID0+IE5ldGdyaWYgLT4gTmFlIFN5c3RlbXMgLT4gUHJvY2Vzc2VzXG4gICAgICogQHBhcmFtIG5vZGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FwaXRhbGl6ZU5hbWUobm9kZTogVXJpTm9kZVJlc291cmNlKSB7XG4gICAgICAgIGxldCBwYXJ0cyA9IG5vZGUubmFtZS5zcGxpdCgnXycpO1xuICAgICAgICBwYXJ0cyA9IHBhcnRzLm1hcChwID0+IHtcbiAgICAgICAgICAgIGlmIChwID09PSB1bmRlZmluZWQgfHwgcC5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgICAgICAgIGlmIChwLmxlbmd0aCA9PT0gMSkgcmV0dXJuIHAudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiBwLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH0pO1xuICAgICAgICBub2RlLm5hbWUgPSBwYXJ0cy5qb2luKCcgJyk7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbn1cbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vc2VydmljZS91cmkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFN0Q7O0tBRUs7QUFJTCxNQUFNLE9BQU8sVUFBVTtJQVFuQixZQUFzQixPQUFzQixFQUN0QixnQkFBb0MsRUFDcEMsb0JBQXlDLEVBQ3pDLG1CQUF1QztRQUh2QyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFD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VyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztBQXJNYyxlQUFJLEdBQVcsTUFBTyxDQUFBO3dHQUY1QixVQUFVOzRHQUFWLFVBQVUsY0FGUCxNQUFNOzRGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmlSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4vdXJpLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VXJpTm9kZVJlc291cmNlfSBmcm9tICcuLi9tb2RlbC91cmktcmVzb3VyY2UnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7Q2FzZVNlYXJjaFJlcXVlc3RCb2R5LCBQZXRyaU5ldFNlYXJjaFJlcXVlc3R9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7QWN0aXZlR3JvdXBTZXJ2aWNlfSBmcm9tICcuLi8uLi9ncm91cHMvc2VydmljZXMvYWN0aXZlLWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgVVJJc1xuICogKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXJpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBST09UOiBzdHJpbmcgPSAncm9vdCc7XG4gICAgcHJpdmF0ZSBfcm9vdE5vZGU6IFVyaU5vZGVSZXNvdXJjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yb290TG9hZGluZyQ6IExvYWRpbmdFbWl0dGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudExvYWRpbmckOiBMb2FkaW5nRW1pdHRlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVOb2RlJDogQmVoYXZpb3JTdWJqZWN0PFVyaU5vZGVSZXNvdXJjZT5cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcmVzb3VyY2VTZXJ2aWNlOiBVcmlSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWN0aXZlR3JvdXBTZXJ2aWNlOiBBY3RpdmVHcm91cFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVcmlOb2RlUmVzb3VyY2U+KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMubG9hZFJvb3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9hY3RpdmVOb2RlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcm9vdCgpOiBVcmlOb2RlUmVzb3VyY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdE5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb290TG9hZGVkJCgpOiBMb2FkaW5nRW1pdHRlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290TG9hZGluZyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUm9vdChub2RlOiBVcmlOb2RlUmVzb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuaWQgPT09IHRoaXMuX3Jvb3ROb2RlLmlkICYmIG5vZGUudXJpUGF0aCA9PT0gdGhpcy5fcm9vdE5vZGUudXJpUGF0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZU5vZGUoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5vZGUkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBhY3RpdmVOb2RlKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSkge1xuICAgICAgICBpZiAobm9kZS5wYXJlbnRJZCAmJiAhbm9kZS5wYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChub2RlLnBhcmVudElkID09PSB0aGlzLl9yb290Tm9kZS5pZCkge1xuICAgICAgICAgICAgICAgIG5vZGUucGFyZW50ID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckLm9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXROb2RlQnlQYXRoKHRoaXMucmVzb2x2ZVBhcmVudFBhdGgobm9kZSkpLnN1YnNjcmliZShuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5wYXJlbnQgPSAhbiA/IHRoaXMuX3Jvb3ROb2RlIDogbjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hY3RpdmVOb2RlJC5uZXh0KG5vZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTm9kZSQoKTogT2JzZXJ2YWJsZTxVcmlOb2RlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5vZGUkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFyZW50Tm9kZUxvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50TG9hZGluZyQ7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBMb2FkcyByb290IElEIGludG8gdmFyaWFibGUuXG4gICAgICogV2hlbiByb290IG5vZGUgaXMgbG9hZGVkIGFuZCBhY3RpdmUgbm9kZSBpcyBub3Qgc2V0IHlldCB0aGUgcm9vdCBub2RlIGlzIHNldCBhcyBhY3RpdmUgbm9kZVxuICAgICAqICovXG4gICAgcHJpdmF0ZSBsb2FkUm9vdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9uKCk7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXRSb290KCkuc3Vic2NyaWJlKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKCEhbm9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3ROb2RlID0gbm9kZTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLl9yb290Tm9kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yb290TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLl9yb290TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldCgpOiBVcmlOb2RlUmVzb3VyY2Uge1xuICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLl9yb290Tm9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3ROb2RlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB1cmkgbm9kZSBieSB1cmkgcGF0aC5cbiAgICAgKiBAcGFyYW0gcGF0aFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROb2RlQnlQYXRoKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8VXJpTm9kZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Tm9kZUJ5VXJpKHBhdGgpLnBpcGUoXG4gICAgICAgICAgICBtYXAobiA9PiB0aGlzLmNhcGl0YWxpemVOYW1lKG4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjaGlsZCBub2RlcyBvZiBwcm92aWRlcyBub2RlLlxuICAgICAqIEBwYXJhbSBub2RlIHBhcmVudCBub2RlXG4gICAgICovXG4gICAgcHVibGljIGdldENoaWxkTm9kZXMobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IE9ic2VydmFibGU8QXJyYXk8VXJpTm9kZVJlc291cmNlPj4ge1xuICAgICAgICBpZiAoIW5vZGUpIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Tm9kZXNCeVBhcmVudChub2RlLmlkKS5waXBlKFxuICAgICAgICAgICAgbWFwKG5vZGVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcGl0YWxpemVOYW1lcyhub2Rlcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY2FzZXMgdW5kZXIgdXJpIG5vZGVcbiAgICAgKiBAcGFyYW0gbm9kZSBwYXJlbnQgbm9kZSBvZiBjYXNlc1xuICAgICAqIEBwYXJhbSBwcm9jZXNzSWRlbnRpZmllcnMgb3B0aW9uYWwgc2VhcmNoIGZpbHRlciBmb3IgcHJvY2VzcyBpZGVudGlmaWVyIHRvIGdldCBvbmx5IGNhc2VzIGZyb20gdGhlIHByb2Nlc3NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FzZXNPZk5vZGUobm9kZT86IFVyaU5vZGVSZXNvdXJjZSwgcHJvY2Vzc0lkZW50aWZpZXJzPzogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8QXJyYXk8Q2FzZT4+IHtcbiAgICAgICAgaWYgKCFub2RlKSBub2RlID0gdGhpcy5hY3RpdmVOb2RlO1xuICAgICAgICBjb25zdCBzZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICB1cmlOb2RlSWQ6IG5vZGUuaWRcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCEhcHJvY2Vzc0lkZW50aWZpZXJzKSB7XG4gICAgICAgICAgICBzZWFyY2hCb2R5LnByb2Nlc3MgPSBwcm9jZXNzSWRlbnRpZmllcnMubWFwKGlkID0+ICh7aWRlbnRpZmllcjogaWR9IGFzIFBldHJpTmV0U2VhcmNoUmVxdWVzdCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE8gYWN0aXZlIGdyb3VwIGlzIGJyb2tlbiBhIGdpdmVuIHRoZSB3cm9uZyBpZFxuICAgICAgICAvLyBpZiAoISF0aGlzLl9hY3RpdmVHcm91cFNlcnZpY2UuYWN0aXZlR3JvdXApIHtcbiAgICAgICAgLy8gICAgIHNlYXJjaEJvZHkuZGF0YSA9IHt9O1xuICAgICAgICAvLyAgICAgc2VhcmNoQm9keS5kYXRhWydwYXJlbnRJZCddID0gdGhpcy5fYWN0aXZlR3JvdXBTZXJ2aWNlLmFjdGl2ZUdyb3VwLnN0cmluZ0lkO1xuICAgICAgICAvLyB9XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KHNlYXJjaEJvZHkpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHBhZ2UgPT4gcGFnZS5jb250ZW50KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBzaWJsaW5ncyBub2RlIG9mIHRoZSBwcm92aWRlZCBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgc2libGluZ3Mgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWJsaW5nc09mTm9kZShub2RlPzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXROb2Rlc0J5UGFyZW50KG5vZGUucGFyZW50SWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAobm9kZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwaXRhbGl6ZU5hbWVzKG5vZGVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBub2RlcyBvbiB0aGUgc2FtZSB1cmkgbGV2ZWwgc3RhcnRpbmcgZnJvbSAwLiBSb290IG5vZGUgaXMgbm8gMCBsZXZlbC5cbiAgICAgKiBAcGFyYW0gbGV2ZWxcbiAgICAgKiBAcGFyYW0gcGFyZW50IG9wdGlvbmFsIHBhcmFtZXRlciB0byBmaWx0ZXIgbm9kZXMgd2l0aCBjb21tb24gcGFyZW50XG4gICAgICovXG4gICAgcHVibGljIGdldE5vZGVzT25MZXZlbChsZXZlbDogbnVtYmVyLCBwYXJlbnQ/OiBVcmlOb2RlUmVzb3VyY2UpOiBPYnNlcnZhYmxlPEFycmF5PFVyaU5vZGVSZXNvdXJjZT4+IHtcbiAgICAgICAgaWYgKGxldmVsID09PSAwKSByZXR1cm4gb2YoW3RoaXMucm9vdF0pO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTZXJ2aWNlLmdldEJ5TGV2ZWwobGV2ZWwpLnBpcGUoXG4gICAgICAgICAgICBtYXAobm9kZXMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5zID0gISFwYXJlbnQ/LmlkID8gbm9kZXMuZmlsdGVyKG4gPT4gbi5wYXJlbnRJZCA9PT0gcGFyZW50LmlkKSA6IG5vZGVzO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwaXRhbGl6ZU5hbWVzKG5zKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlUGFyZW50UGF0aChub2RlPzogVXJpTm9kZVJlc291cmNlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFub2RlKSBub2RlID0gdGhpcy5hY3RpdmVOb2RlO1xuICAgICAgICBjb25zdCBsYXN0RGVsaW1pdGVyID0gbm9kZS51cmlQYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgICAgIGlmIChsYXN0RGVsaW1pdGVyID09PSAtMSkgcmV0dXJuICdyb290JztcbiAgICAgICAgcmV0dXJuIG5vZGUudXJpUGF0aC5zdWJzdHJpbmcoMCwgbGFzdERlbGltaXRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNwbGl0dGVkUGF0aCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlTm9kZT8udXJpUGF0aC5zcGxpdCgnLycpLmZpbHRlcihzID0+IHMgIT09IFVyaVNlcnZpY2UuUk9PVCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXBpdGFsaXplTmFtZXMobm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT4pIHtcbiAgICAgICAgaWYgKCEobm9kZXMgaW5zdGFuY2VvZiBBcnJheSkpIHJldHVybjtcbiAgICAgICAgbm9kZXMuZm9yRWFjaChuID0+IHRoaXMuY2FwaXRhbGl6ZU5hbWUobikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICAvbmV0Z3JpZi9uYWVfc3lzdGVtL3Byb2Nlc3Nlcy8uLi4gPT4gTmV0Z3JpZiAtPiBOYWUgU3lzdGVtcyAtPiBQcm9jZXNzZXNcbiAgICAgKiBAcGFyYW0gbm9kZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXBpdGFsaXplTmFtZShub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gbm9kZS5uYW1lLnNwbGl0KCdfJyk7XG4gICAgICAgIHBhcnRzID0gcGFydHMubWFwKHAgPT4ge1xuICAgICAgICAgICAgaWYgKHAgPT09IHVuZGVmaW5lZCB8fCBwLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHAubGVuZ3RoID09PSAxKSByZXR1cm4gcC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHAuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwLnN1YnN0cmluZygxKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG5vZGUubmFtZSA9IHBhcnRzLmpvaW4oJyAnKTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, Optional } from '@angular/core';
|
|
2
2
|
import { HeaderColumnType } from '../../header/models/header-column';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../header/services/overflow.service";
|
|
4
5
|
export class AbstractPanelWithHeaderBindingComponent {
|
|
5
|
-
constructor() {
|
|
6
|
+
constructor(_overflowService) {
|
|
7
|
+
this._overflowService = _overflowService;
|
|
6
8
|
this.featuredFieldsValues = [];
|
|
7
9
|
}
|
|
10
|
+
get overflowMode() {
|
|
11
|
+
if (!!this._overflowService) {
|
|
12
|
+
return this._overflowService.overflowMode;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
8
18
|
ngOnInit() {
|
|
9
19
|
this.sub = this.selectedHeaders$.subscribe(newSelectedHeaders => {
|
|
10
20
|
this._lastSelectedHeaders = newSelectedHeaders;
|
|
@@ -43,7 +53,7 @@ export class AbstractPanelWithHeaderBindingComponent {
|
|
|
43
53
|
return { value: '', icon: '', type: '' };
|
|
44
54
|
}
|
|
45
55
|
}
|
|
46
|
-
AbstractPanelWithHeaderBindingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithHeaderBindingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
AbstractPanelWithHeaderBindingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithHeaderBindingComponent, deps: [{ token: i1.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
57
|
AbstractPanelWithHeaderBindingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractPanelWithHeaderBindingComponent, selector: "ncc-abstract-panel-with-header-binding", ngImport: i0, template: '', isInline: true });
|
|
48
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithHeaderBindingComponent, decorators: [{
|
|
49
59
|
type: Component,
|
|
@@ -51,5 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
51
61
|
selector: 'ncc-abstract-panel-with-header-binding',
|
|
52
62
|
template: ''
|
|
53
63
|
}]
|
|
54
|
-
}], ctorParameters: function () { return [
|
|
55
|
-
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.OverflowService, decorators: [{
|
|
65
|
+
type: Optional
|
|
66
|
+
}] }]; } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd2l0aC1oZWFkZXItYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcGFuZWwvYWJzdHJhY3QvcGFuZWwtd2l0aC1oZWFkZXItYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFlLGdCQUFnQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7OztBQVFqRixNQUFNLE9BQWdCLHVDQUF1QztJQU96RCxZQUE0QyxnQkFBaUM7UUFBakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUp0RSx5QkFBb0IsR0FBeUIsRUFBRSxDQUFDO0lBS3ZELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1NBQzdDO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO1lBQy9DLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMxQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUM1QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQzFCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkYsQ0FBQztJQUNOLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxjQUE0QjtRQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxjQUFjLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUMzQyxDQUFDOztxSUE3RGlCLHVDQUF1Qzt5SEFBdkMsdUNBQXVDLDhFQUYvQyxFQUFFOzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBUTBCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7SGVhZGVyQ29sdW1uLCBIZWFkZXJDb2x1bW5UeXBlfSBmcm9tICcuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci1jb2x1bW4nO1xuaW1wb3J0IHtGZWF0dXJlZFZhbHVlfSBmcm9tICcuL2ZlYXR1cmVkLXZhbHVlJztcbmltcG9ydCB7T3ZlcmZsb3dTZXJ2aWNlfSBmcm9tICcuLi8uLi9oZWFkZXIvc2VydmljZXMvb3ZlcmZsb3cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXBhbmVsLXdpdGgtaGVhZGVyLWJpbmRpbmcnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFBhbmVsV2l0aEhlYWRlckJpbmRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHNlbGVjdGVkSGVhZGVycyQ6IE9ic2VydmFibGU8QXJyYXk8SGVhZGVyQ29sdW1uPj47XG4gICAgcHVibGljIGZpcnN0RmVhdHVyZWRWYWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBmZWF0dXJlZEZpZWxkc1ZhbHVlczogQXJyYXk8RmVhdHVyZWRWYWx1ZT4gPSBbXTtcbiAgICBwcm90ZWN0ZWQgX2xhc3RTZWxlY3RlZEhlYWRlcnM6IEFycmF5PEhlYWRlckNvbHVtbj47XG4gICAgcHJvdGVjdGVkIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBfb3ZlcmZsb3dTZXJ2aWNlOiBPdmVyZmxvd1NlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmZsb3dNb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZighIXRoaXMuX292ZXJmbG93U2VydmljZSl7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLm92ZXJmbG93TW9kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YiA9IHRoaXMuc2VsZWN0ZWRIZWFkZXJzJC5zdWJzY3JpYmUobmV3U2VsZWN0ZWRIZWFkZXJzID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RTZWxlY3RlZEhlYWRlcnMgPSBuZXdTZWxlY3RlZEhlYWRlcnM7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVGZWF0dXJlZEZpZWxkc1ZhbHVlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiB0aGUgZXZlbnQgd2FzIGNhdXNlIGJ5IHNlbGVjdGluZyBzb21lIHRleHQsIGl0IHdpbGwgbm90IHByb3BhZ2F0ZVxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBwcmV2ZW50U2VsZWN0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnZpZXcuZ2V0U2VsZWN0aW9uKCkudHlwZSA9PT0gJ1JhbmdlJykge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUZlYXR1cmVkRmllbGRzVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2xhc3RTZWxlY3RlZEhlYWRlcnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmVhdHVyZWRGaWVsZHNWYWx1ZXMuc3BsaWNlKDAsIHRoaXMuZmVhdHVyZWRGaWVsZHNWYWx1ZXMubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5mZWF0dXJlZEZpZWxkc1ZhbHVlcy5wdXNoKFxuICAgICAgICAgICAgLi4udGhpcy5fbGFzdFNlbGVjdGVkSGVhZGVycy5tYXA8RmVhdHVyZWRWYWx1ZT4oaXRlbSA9PiB0aGlzLmdldEZlYXR1cmVkVmFsdWUoaXRlbSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZlYXR1cmVkVmFsdWUoc2VsZWN0ZWRIZWFkZXI6IEhlYWRlckNvbHVtbik6IEZlYXR1cmVkVmFsdWUge1xuICAgICAgICBpZiAoIXNlbGVjdGVkSGVhZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiAnJywgaWNvbjogJycsIHR5cGU6ICcnfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRIZWFkZXIudHlwZSA9PT0gSGVhZGVyQ29sdW1uVHlwZS5NRVRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlZE1ldGFWYWx1ZShzZWxlY3RlZEhlYWRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkSGVhZGVyLnR5cGUgPT09IEhlYWRlckNvbHVtblR5cGUuSU1NRURJQVRFKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlZEltbWVkaWF0ZVZhbHVlKHNlbGVjdGVkSGVhZGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge3ZhbHVlOiAnJywgaWNvbjogJycsIHR5cGU6ICcnfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RmVhdHVyZWRNZXRhVmFsdWUoc2VsZWN0ZWRIZWFkZXI6IEhlYWRlckNvbHVtbik6IEZlYXR1cmVkVmFsdWU7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RmVhdHVyZWRJbW1lZGlhdGVWYWx1ZShzZWxlY3RlZEhlYWRlcjogSGVhZGVyQ29sdW1uKTogRmVhdHVyZWRWYWx1ZTtcbn1cbiJdfQ==
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { AbstractPanelWithHeaderBindingComponent } from './panel-with-header-binding';
|
|
2
2
|
import { toMoment } from '../../resources/types/nae-date-type';
|
|
3
3
|
import { DATE_FORMAT_STRING, DATE_TIME_FORMAT_STRING } from '../../moment/time-formats';
|
|
4
|
-
import { Component } from '@angular/core';
|
|
4
|
+
import { Component, Optional } from '@angular/core';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@ngx-translate/core";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "../../header/services/overflow.service";
|
|
8
9
|
export class AbstractPanelWithImmediateDataComponent extends AbstractPanelWithHeaderBindingComponent {
|
|
9
|
-
constructor(_translate, _currencyPipe) {
|
|
10
|
-
super();
|
|
10
|
+
constructor(_translate, _currencyPipe, _overflowService) {
|
|
11
|
+
super(_overflowService);
|
|
11
12
|
this._translate = _translate;
|
|
12
13
|
this._currencyPipe = _currencyPipe;
|
|
14
|
+
this._overflowService = _overflowService;
|
|
13
15
|
}
|
|
14
16
|
ngOnDestroy() {
|
|
15
17
|
super.ngOnDestroy();
|
|
@@ -18,36 +20,60 @@ export class AbstractPanelWithImmediateDataComponent extends AbstractPanelWithHe
|
|
|
18
20
|
if (immediate && immediate.value !== undefined || immediate && immediate.type === 'button') {
|
|
19
21
|
switch (immediate.type) {
|
|
20
22
|
case 'date':
|
|
21
|
-
return {
|
|
23
|
+
return {
|
|
24
|
+
value: toMoment(immediate.value).format(DATE_FORMAT_STRING),
|
|
25
|
+
icon: 'event',
|
|
26
|
+
type: immediate.type
|
|
27
|
+
};
|
|
22
28
|
case 'dateTime':
|
|
23
|
-
return {
|
|
24
|
-
|
|
29
|
+
return {
|
|
30
|
+
value: toMoment(immediate.value).format(DATE_TIME_FORMAT_STRING),
|
|
31
|
+
icon: 'event', type: immediate.type
|
|
32
|
+
};
|
|
25
33
|
case 'enumeration':
|
|
26
34
|
return { value: immediate.value.defaultValue, icon: undefined, type: immediate.type };
|
|
27
35
|
case 'multichoice':
|
|
28
|
-
return {
|
|
36
|
+
return {
|
|
37
|
+
value: immediate.value.map(it => it.defaultValue).join(', '),
|
|
38
|
+
icon: undefined,
|
|
39
|
+
type: immediate.type
|
|
40
|
+
};
|
|
29
41
|
case 'enumeration_map':
|
|
30
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
value: immediate.options[immediate.value].defaultValue,
|
|
44
|
+
icon: undefined,
|
|
45
|
+
type: immediate.type
|
|
46
|
+
};
|
|
31
47
|
case 'multichoice_map':
|
|
32
|
-
return {
|
|
48
|
+
return {
|
|
49
|
+
value: immediate.value.map(it => immediate.options[it].defaultValue).join(', '), icon: undefined, type: immediate.type
|
|
50
|
+
};
|
|
33
51
|
case 'file':
|
|
34
52
|
return { value: immediate.value?.name, icon: 'insert_drive_file', type: immediate.type };
|
|
35
53
|
case 'fileList':
|
|
36
|
-
return {
|
|
37
|
-
|
|
54
|
+
return {
|
|
55
|
+
value: immediate.value?.namesPaths.map(obj => obj.name).join(', '),
|
|
56
|
+
icon: 'file_copy', type: immediate.type
|
|
57
|
+
};
|
|
38
58
|
case 'user':
|
|
39
59
|
return { value: immediate.value.fullName, icon: 'account_circle', type: immediate.type };
|
|
40
60
|
case 'boolean':
|
|
41
|
-
return {
|
|
42
|
-
|
|
61
|
+
return {
|
|
62
|
+
value: this._translate.instant('dataField.values.boolean.' + immediate.value),
|
|
63
|
+
icon: undefined, type: immediate.type
|
|
64
|
+
};
|
|
43
65
|
case 'button':
|
|
44
|
-
return {
|
|
66
|
+
return {
|
|
67
|
+
value: immediate.placeholder && immediate.placeholder.defaultValue !== undefined
|
|
45
68
|
? immediate.placeholder.defaultValue : (immediate.name && immediate.name.defaultValue !== undefined
|
|
46
69
|
? immediate.name.defaultValue : this._translate.instant('dialog.submit')),
|
|
47
|
-
icon: undefined, type: immediate.type
|
|
70
|
+
icon: undefined, type: immediate.type
|
|
71
|
+
};
|
|
48
72
|
case 'filter':
|
|
49
|
-
return {
|
|
50
|
-
|
|
73
|
+
return {
|
|
74
|
+
value: undefined, icon: undefined, type: immediate.type,
|
|
75
|
+
filterMetadata: { filterMetadata: immediate.filterMetadata, allowedNets: immediate.allowedNets }
|
|
76
|
+
};
|
|
51
77
|
case 'number':
|
|
52
78
|
if (immediate.format !== undefined) {
|
|
53
79
|
return this.formatCurrencyPipe(immediate.value, immediate.format.code, immediate.format.fractionSize, immediate.format.locale, immediate.type);
|
|
@@ -65,11 +91,13 @@ export class AbstractPanelWithImmediateDataComponent extends AbstractPanelWithHe
|
|
|
65
91
|
}
|
|
66
92
|
}
|
|
67
93
|
formatCurrencyPipe(value, code, fraction, locale, type) {
|
|
68
|
-
return {
|
|
69
|
-
|
|
94
|
+
return {
|
|
95
|
+
value: this._currencyPipe.transform(parseFloat(value), code, 'symbol', '1.' + fraction + '-' + fraction, locale),
|
|
96
|
+
icon: undefined, type
|
|
97
|
+
};
|
|
70
98
|
}
|
|
71
99
|
}
|
|
72
|
-
AbstractPanelWithImmediateDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithImmediateDataComponent, deps: [{ token: i1.TranslateService }, { token: i2.CurrencyPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
AbstractPanelWithImmediateDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithImmediateDataComponent, deps: [{ token: i1.TranslateService }, { token: i2.CurrencyPipe }, { token: i3.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
101
|
AbstractPanelWithImmediateDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractPanelWithImmediateDataComponent, selector: "ncc-abstract-panel-with-immediate", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
74
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractPanelWithImmediateDataComponent, decorators: [{
|
|
75
103
|
type: Component,
|
|
@@ -77,5 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
77
105
|
selector: 'ncc-abstract-panel-with-immediate',
|
|
78
106
|
template: ''
|
|
79
107
|
}]
|
|
80
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.CurrencyPipe }
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd2l0aC1pbW1lZGlhdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcGFuZWwvYWJzdHJhY3QvcGFuZWwtd2l0aC1pbW1lZGlhdGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQVUsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNuRCxNQUFNLE9BQWdCLHVDQUF3QyxTQUFRLHVDQUF1QztJQUN6RyxZQUFnQyxVQUE0QixFQUFZLGFBQTJCO1FBQy9GLEtBQUssRUFBRSxDQUFDO1FBRG9CLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVksa0JBQWEsR0FBYixhQUFhLENBQWM7SUFFbkcsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFNBQXdCO1FBQ2xELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN4RixRQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3BCLEtBQUssTUFBTTtvQkFDUCxPQUFPLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FB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QkFDSSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBQyxDQUFDO2FBQzlFO1NBQ0o7YUFBTTtZQUNILE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVTLGtCQUFrQixDQUFDLEtBQVUsRUFBRSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBWTtRQUNqRyxPQUFPLEVBQUMsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUM1QixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ2pCLElBQUksRUFDSixRQUFRLEVBQ1IsSUFBSSxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsUUFBUSxFQUNoQyxNQUFNLENBQUM7WUFDUCxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ25DLENBQUM7O3FJQXRFaUIsdUNBQXVDO3lIQUF2Qyx1Q0FBdUMsZ0dBRi9DLEVBQUU7NEZBRU0sdUNBQXVDO2tCQUo1RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdFBhbmVsV2l0aEhlYWRlckJpbmRpbmdDb21wb25lbnR9IGZyb20gJy4vcGFuZWwtd2l0aC1oZWFkZXItYmluZGluZyc7XG5pbXBvcnQge05hZURhdGUsIHRvTW9tZW50fSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHlwZXMvbmFlLWRhdGUtdHlwZSc7XG5pbXBvcnQge0RBVEVfRk9STUFUX1NUUklORywgREFURV9USU1FX0ZPUk1BVF9TVFJJTkd9IGZyb20gJy4uLy4uL21vbWVudC90aW1lLWZvcm1hdHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGZWF0dXJlZFZhbHVlfSBmcm9tICcuL2ZlYXR1cmVkLXZhbHVlJztcbmltcG9ydCB7Q3VycmVuY3lQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbW1lZGlhdGVEYXRhfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2ltbWVkaWF0ZS1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtcGFuZWwtd2l0aC1pbW1lZGlhdGUnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFBhbmVsV2l0aEltbWVkaWF0ZURhdGFDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFBhbmVsV2l0aEhlYWRlckJpbmRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJvdGVjdGVkIF9jdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwYXJzZUltbWVkaWF0ZVZhbHVlKGltbWVkaWF0ZTogSW1tZWRpYXRlRGF0YSk6IEZlYXR1cmVkVmFsdWUge1xuICAgICAgICBpZiAoaW1tZWRpYXRlICYmIGltbWVkaWF0ZS52YWx1ZSAhPT0gdW5kZWZpbmVkIHx8IGltbWVkaWF0ZSAmJiBpbW1lZGlhdGUudHlwZSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoaW1tZWRpYXRlLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogdG9Nb21lbnQoaW1tZWRpYXRlLnZhbHVlIGFzIE5hZURhdGUpLmZvcm1hdChEQVRFX0ZPUk1BVF9TVFJJTkcpLCBpY29uOiAnZXZlbnQnLCB0eXBlOiBpbW1lZGlhdGUudHlwZX07XG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiB0b01vbWVudChpbW1lZGlhdGUudmFsdWUgYXMgTmFlRGF0ZSkuZm9ybWF0KERBVEVfVElNRV9GT1JNQVRfU1RSSU5HKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdldmVudCcsIHR5cGU6IGltbWVkaWF0ZS50eXBlfTtcbiAgICAgICAgICAgICAgICBjYXNlICdlbnVtZXJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGltbWVkaWF0ZS52YWx1ZS5kZWZhdWx0VmFsdWUsIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ211bHRpY2hvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogaW1tZWRpYXRlLnZhbHVlLm1hcChpdCA9PiBpdC5kZWZhdWx0VmFsdWUpLmpvaW4oJywgJyksIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VudW1lcmF0aW9uX21hcCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGltbWVkaWF0ZS5vcHRpb25zW2ltbWVkaWF0ZS52YWx1ZV0uZGVmYXVsdFZhbHVlLCBpY29uOiB1bmRlZmluZWQsIHR5cGU6IGltbWVkaWF0ZS50eXBlfTtcbiAgICAgICAgICAgICAgICBjYXNlICdtdWx0aWNob2ljZV9tYXAnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBpbW1lZGlhdGUudmFsdWUubWFwKGl0ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1tZWRpYXRlLm9wdGlvbnNbaXRdLmRlZmF1bHRWYWx1ZSkuam9pbignLCAnKSwgaWNvbjogdW5kZWZpbmVkLCB0eXBlOiBpbW1lZGlhdGUudHlwZX07XG4gICAgICAgICAgICAgICAgY2FzZSAnZmlsZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGltbWVkaWF0ZS52YWx1ZT8ubmFtZSwgaWNvbjogJ2luc2VydF9kcml2ZV9maWxlJywgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZpbGVMaXN0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogaW1tZWRpYXRlLnZhbHVlPy5uYW1lc1BhdGhzLm1hcChvYmogPT4gb2JqLm5hbWUpLmpvaW4oJywgJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmlsZV9jb3B5JywgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3VzZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBpbW1lZGlhdGUudmFsdWUuZnVsbE5hbWUsIGljb246ICdhY2NvdW50X2NpcmNsZScsIHR5cGU6IGltbWVkaWF0ZS50eXBlfTtcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWx1ZXMuYm9vbGVhbi4nICsgaW1tZWRpYXRlLnZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IChpbW1lZGlhdGUgYXMgYW55KS5wbGFjZWhvbGRlciAmJiAoaW1tZWRpYXRlIGFzIGFueSkucGxhY2Vob2xkZXIuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IChpbW1lZGlhdGUgYXMgYW55KS5wbGFjZWhvbGRlci5kZWZhdWx0VmFsdWUgOiAoaW1tZWRpYXRlLm5hbWUgJiYgaW1tZWRpYXRlLm5hbWUuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpbW1lZGlhdGUubmFtZS5kZWZhdWx0VmFsdWUgOiB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGlhbG9nLnN1Ym1pdCcpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZpbHRlcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IHVuZGVmaW5lZCwgaWNvbjogdW5kZWZpbmVkLCB0eXBlOiBpbW1lZGlhdGUudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlck1ldGFkYXRhOiB7ZmlsdGVyTWV0YWRhdGE6IGltbWVkaWF0ZS5maWx0ZXJNZXRhZGF0YSwgYWxsb3dlZE5ldHM6IGltbWVkaWF0ZS5hbGxvd2VkTmV0c319O1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbW1lZGlhdGUuZm9ybWF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdEN1cnJlbmN5UGlwZShpbW1lZGlhdGUudmFsdWUsIGltbWVkaWF0ZS5mb3JtYXQuY29kZSwgaW1tZWRpYXRlLmZvcm1hdC5mcmFjdGlvblNpemUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1tZWRpYXRlLmZvcm1hdC5sb2NhbGUsIGltbWVkaWF0ZS50eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbW1lZGlhdGUuY29tcG9uZW50Py5uYW1lID09PSAnY3VycmVuY3knKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRDdXJyZW5jeVBpcGUoaW1tZWRpYXRlLnZhbHVlLCBpbW1lZGlhdGUuY29tcG9uZW50LnByb3BlcnRpZXNbJ2NvZGUnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGUuY29tcG9uZW50LnByb3BlcnRpZXNbJ2ZyYWN0aW9uU2l6ZSddLCBpbW1lZGlhdGUuY29tcG9uZW50LnByb3BlcnRpZXNbJ2xvY2FsZSddLCBpbW1lZGlhdGUudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogaW1tZWRpYXRlLnZhbHVlLCBpY29uOiB1bmRlZmluZWQsIHR5cGU6IGltbWVkaWF0ZS50eXBlfTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBpbW1lZGlhdGUudmFsdWUsIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogJycsIGljb246ICcnLCB0eXBlOiAnJ307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9ybWF0Q3VycmVuY3lQaXBlKHZhbHVlOiBhbnksIGNvZGU6IHN0cmluZywgZnJhY3Rpb246IG51bWJlciwgbG9jYWxlOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4ge3ZhbHVlOlxuICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbmN5UGlwZS50cmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdCh2YWx1ZSksXG4gICAgICAgICAgICAgICAgY29kZSxcbiAgICAgICAgICAgICAgICAnc3ltYm9sJyxcbiAgICAgICAgICAgICAgICAnMS4nICsgZnJhY3Rpb24gKyAnLScgKyBmcmFjdGlvbixcbiAgICAgICAgICAgICAgICBsb2NhbGUpLFxuICAgICAgICAgICAgICAgIGljb246IHVuZGVmaW5lZCwgdHlwZX07XG4gICAgfVxufVxuIl19
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.CurrencyPipe }, { type: i3.OverflowService, decorators: [{
|
|
109
|
+
type: Optional
|
|
110
|
+
}] }]; } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd2l0aC1pbW1lZGlhdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcGFuZWwvYWJzdHJhY3QvcGFuZWwtd2l0aC1pbW1lZGlhdGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQVUsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFNBQVMsRUFBYSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVTdELE1BQU0sT0FBZ0IsdUNBQXdDLFNBQVEsdUNBQXVDO0lBQ3pHLFlBQWdDLFVBQTRCLEVBQzVCLGFBQTJCLEVBQ2YsZ0JBQWlDO1FBQ3pFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSEksZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO0lBRTdFLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxTQUF3QjtRQUNsRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDeEYsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFO2dCQUNwQixLQUFLLE1BQU07b0JBQ1AsT0FBTzt3QkFDSCxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLGtC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LEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDM0U7b0JBQ0ksT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQzthQUM5RTtTQUNKO2FBQU07WUFDSCxPQUFPLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7UUFDakcsT0FBTztZQUNILEtBQUssRUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDeEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUNqQixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsRUFDaEMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFDTixDQUFDOztxSUFsR2lCLHVDQUF1Qzt5SEFBdkMsdUNBQXVDLGdHQUYvQyxFQUFFOzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBSTBCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0UGFuZWxXaXRoSGVhZGVyQmluZGluZ0NvbXBvbmVudH0gZnJvbSAnLi9wYW5lbC13aXRoLWhlYWRlci1iaW5kaW5nJztcbmltcG9ydCB7TmFlRGF0ZSwgdG9Nb21lbnR9IGZyb20gJy4uLy4uL3Jlc291cmNlcy90eXBlcy9uYWUtZGF0ZS10eXBlJztcbmltcG9ydCB7REFURV9GT1JNQVRfU1RSSU5HLCBEQVRFX1RJTUVfRk9STUFUX1NUUklOR30gZnJvbSAnLi4vLi4vbW9tZW50L3RpbWUtZm9ybWF0cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGZWF0dXJlZFZhbHVlfSBmcm9tICcuL2ZlYXR1cmVkLXZhbHVlJztcbmltcG9ydCB7Q3VycmVuY3lQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbW1lZGlhdGVEYXRhfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2ltbWVkaWF0ZS1kYXRhJztcbmltcG9ydCB7T3ZlcmZsb3dTZXJ2aWNlfSBmcm9tICcuLi8uLi9oZWFkZXIvc2VydmljZXMvb3ZlcmZsb3cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXBhbmVsLXdpdGgtaW1tZWRpYXRlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQYW5lbFdpdGhJbW1lZGlhdGVEYXRhQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQYW5lbFdpdGhIZWFkZXJCaW5kaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfb3ZlcmZsb3dTZXJ2aWNlOiBPdmVyZmxvd1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX292ZXJmbG93U2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlSW1tZWRpYXRlVmFsdWUoaW1tZWRpYXRlOiBJbW1lZGlhdGVEYXRhKTogRmVhdHVyZWRWYWx1ZSB7XG4gICAgICAgIGlmIChpbW1lZGlhdGUgJiYgaW1tZWRpYXRlLnZhbHVlICE9PSB1bmRlZmluZWQgfHwgaW1tZWRpYXRlICYmIGltbWVkaWF0ZS50eXBlID09PSAnYnV0dG9uJykge1xuICAgICAgICAgICAgc3dpdGNoIChpbW1lZGlhdGUudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRvTW9tZW50KGltbWVkaWF0ZS52YWx1ZSBhcyBOYWVEYXRlKS5mb3JtYXQoREFURV9GT1JNQVRfU1RSSU5HKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdldmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbW1lZGlhdGUudHlwZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0b01vbWVudChpbW1lZGlhdGUudmFsdWUgYXMgTmFlRGF0ZSkuZm9ybWF0KERBVEVfVElNRV9GT1JNQVRfU1RSSU5HKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdldmVudCcsIHR5cGU6IGltbWVkaWF0ZS50eXBlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnZW51bWVyYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBpbW1lZGlhdGUudmFsdWUuZGVmYXVsdFZhbHVlLCBpY29uOiB1bmRlZmluZWQsIHR5cGU6IGltbWVkaWF0ZS50eXBlfTtcbiAgICAgICAgICAgICAgICBjYXNlICdtdWx0aWNob2ljZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW1tZWRpYXRlLnZhbHVlLm1hcChpdCA9PiBpdC5kZWZhdWx0VmFsdWUpLmpvaW4oJywgJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbW1lZGlhdGUudHlwZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VudW1lcmF0aW9uX21hcCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW1tZWRpYXRlLm9wdGlvbnNbaW1tZWRpYXRlLnZhbHVlXS5kZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbW1lZGlhdGUudHlwZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ211bHRpY2hvaWNlX21hcCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW1tZWRpYXRlLnZhbHVlLm1hcChpdCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltbWVkaWF0ZS5vcHRpb25zW2l0XS5kZWZhdWx0VmFsdWUpLmpvaW4oJywgJyksIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjYXNlICdmaWxlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogaW1tZWRpYXRlLnZhbHVlPy5uYW1lLCBpY29uOiAnaW5zZXJ0X2RyaXZlX2ZpbGUnLCB0eXBlOiBpbW1lZGlhdGUudHlwZX07XG4gICAgICAgICAgICAgICAgY2FzZSAnZmlsZUxpc3QnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGltbWVkaWF0ZS52YWx1ZT8ubmFtZXNQYXRocy5tYXAob2JqID0+IG9iai5uYW1lKS5qb2luKCcsICcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZpbGVfY29weScsIHR5cGU6IGltbWVkaWF0ZS50eXBlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAndXNlcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGltbWVkaWF0ZS52YWx1ZS5mdWxsTmFtZSwgaWNvbjogJ2FjY291bnRfY2lyY2xlJywgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsdWVzLmJvb2xlYW4uJyArIGltbWVkaWF0ZS52YWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB1bmRlZmluZWQsIHR5cGU6IGltbWVkaWF0ZS50eXBlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAoaW1tZWRpYXRlIGFzIGFueSkucGxhY2Vob2xkZXIgJiYgKGltbWVkaWF0ZSBhcyBhbnkpLnBsYWNlaG9sZGVyLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoaW1tZWRpYXRlIGFzIGFueSkucGxhY2Vob2xkZXIuZGVmYXVsdFZhbHVlIDogKGltbWVkaWF0ZS5uYW1lICYmIGltbWVkaWF0ZS5uYW1lLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaW1tZWRpYXRlLm5hbWUuZGVmYXVsdFZhbHVlIDogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RpYWxvZy5zdWJtaXQnKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB1bmRlZmluZWQsIHR5cGU6IGltbWVkaWF0ZS50eXBlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnZmlsdGVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJNZXRhZGF0YToge2ZpbHRlck1ldGFkYXRhOiBpbW1lZGlhdGUuZmlsdGVyTWV0YWRhdGEsIGFsbG93ZWROZXRzOiBpbW1lZGlhdGUuYWxsb3dlZE5ldHN9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGltbWVkaWF0ZS5mb3JtYXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0Q3VycmVuY3lQaXBlKGltbWVkaWF0ZS52YWx1ZSwgaW1tZWRpYXRlLmZvcm1hdC5jb2RlLCBpbW1lZGlhdGUuZm9ybWF0LmZyYWN0aW9uU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGUuZm9ybWF0LmxvY2FsZSwgaW1tZWRpYXRlLnR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGltbWVkaWF0ZS5jb21wb25lbnQ/Lm5hbWUgPT09ICdjdXJyZW5jeScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdEN1cnJlbmN5UGlwZShpbW1lZGlhdGUudmFsdWUsIGltbWVkaWF0ZS5jb21wb25lbnQucHJvcGVydGllc1snY29kZSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltbWVkaWF0ZS5jb21wb25lbnQucHJvcGVydGllc1snZnJhY3Rpb25TaXplJ10sIGltbWVkaWF0ZS5jb21wb25lbnQucHJvcGVydGllc1snbG9jYWxlJ10sIGltbWVkaWF0ZS50eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBpbW1lZGlhdGUudmFsdWUsIGljb246IHVuZGVmaW5lZCwgdHlwZTogaW1tZWRpYXRlLnR5cGV9O1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGltbWVkaWF0ZS52YWx1ZSwgaWNvbjogdW5kZWZpbmVkLCB0eXBlOiBpbW1lZGlhdGUudHlwZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiAnJywgaWNvbjogJycsIHR5cGU6ICcnfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBmb3JtYXRDdXJyZW5jeVBpcGUodmFsdWU6IGFueSwgY29kZTogc3RyaW5nLCBmcmFjdGlvbjogbnVtYmVyLCBsb2NhbGU6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgY29kZSxcbiAgICAgICAgICAgICAgICAgICAgJ3N5bWJvbCcsXG4gICAgICAgICAgICAgICAgICAgICcxLicgKyBmcmFjdGlvbiArICctJyArIGZyYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUpLFxuICAgICAgICAgICAgaWNvbjogdW5kZWZpbmVkLCB0eXBlXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|