@vendure/admin-ui 1.4.5 → 1.4.6
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/bundles/vendure-admin-ui-catalog.umd.js +1 -1
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +24 -17
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/generated-types.d.ts +1 -1
- package/core/common/version.d.ts +1 -1
- package/core/providers/i18n/i18n.service.d.ts +3 -1
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/esm2015/catalog/components/product-list/product-list.component.js +2 -2
- package/esm2015/core/common/base-detail.component.js +4 -4
- package/esm2015/core/common/generated-types.js +1 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/components/main-nav/main-nav.component.js +3 -3
- package/esm2015/core/providers/i18n/i18n.service.js +14 -5
- package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +2 -2
- package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +1 -1
- package/esm2015/core/shared/pipes/asset-preview.pipe.js +2 -2
- package/fesm2015/vendure-admin-ui-catalog.js +1 -1
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +18 -11
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Auto-generated by the set-version.js script.
|
|
2
|
-
export const ADMIN_UI_VERSION = '1.4.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const ADMIN_UI_VERSION = '1.4.6';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICcxLjQuNic7XG4iXX0=
|
|
@@ -257,8 +257,8 @@ export class MainNavComponent {
|
|
|
257
257
|
MainNavComponent.decorators = [
|
|
258
258
|
{ type: Component, args: [{
|
|
259
259
|
selector: 'vdr-main-nav',
|
|
260
|
-
template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
|
|
261
|
-
styles: [":host{order:-1;background-color:var(--clr-nav-background-color)}nav.sidenav{height:100%;width:10.8rem;border-right-color:var(--clr-sidenav-border-color)}.nav-list clr-icon{margin-right:12px}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}.nav-link vdr-status-badge{left:25px;top:3px}\n"]
|
|
260
|
+
template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label class=\"nav-group-header\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
|
|
261
|
+
styles: [":host{order:-1;background-color:var(--clr-nav-background-color)}nav.sidenav{height:100%;width:10.8rem;border-right-color:var(--clr-sidenav-border-color)}.sidenav .nav-group .nav-list{margin:0}.sidenav .nav-group .nav-group-header{margin:0;line-height:1.2}.sidenav .nav-group .nav-link{display:inline-flex;line-height:1rem;padding-right:.6rem}.nav-list clr-icon{flex-shrink:0;margin-right:12px}.nav-group{-webkit-hyphens:auto;hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}.nav-link vdr-status-badge{left:25px;top:3px}\n"]
|
|
262
262
|
},] }
|
|
263
263
|
];
|
|
264
264
|
MainNavComponent.ctorParameters = () => [
|
|
@@ -269,4 +269,4 @@ MainNavComponent.ctorParameters = () => [
|
|
|
269
269
|
{ type: JobQueueService },
|
|
270
270
|
{ type: DataService }
|
|
271
271
|
];
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL21haW4tbmF2L21haW4tbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU9wRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQ1ksS0FBcUIsRUFDckIsTUFBYyxFQUNmLGlCQUFvQyxFQUNuQyxrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsV0FBd0I7UUFMeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDakMsQ0FBQztJQUtKLGlCQUFpQixDQUFDLFFBQWlEO1FBQy9E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QUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNYLElBQUksRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU87NEJBQzNDLGtCQUFrQixFQUFFLE1BQU0sS0FBSyxPQUFPO3lCQUN6QyxDQUFDLENBQUMsQ0FDTjtxQkFDSjtpQkFDSjthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBNVJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsb2hGQUF3Qzs7YUFFM0M7OztZQWhCUSxjQUFjO1lBQUUsTUFBTTtZQVV0QixpQkFBaUI7WUFIakIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFGZixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFsdGhDaGVja1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaGVhbHRoLWNoZWNrL2hlYWx0aC1jaGVjay5zZXJ2aWNlJztcbmltcG9ydCB7IEpvYlF1ZXVlU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9qb2ItcXVldWUvam9iLXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2TWVudUJhZGdlLCBOYXZNZW51SXRlbSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci10eXBlcyc7XG5pbXBvcnQgeyBOYXZCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItbWFpbi1uYXYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFpbi1uYXYuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbk5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyBuYXZCdWlsZGVyU2VydmljZTogTmF2QnVpbGRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaGVhbHRoQ2hlY2tTZXJ2aWNlOiBIZWFsdGhDaGVja1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgam9iUXVldWVTZXJ2aWNlOiBKb2JRdWV1ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICkge31cblxuICAgIHByaXZhdGUgdXNlclBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgc2hvdWxkRGlzcGxheUxpbmsobWVudUl0ZW06IFBpY2s8TmF2TWVudUl0ZW0sICdyZXF1aXJlc1Blcm1pc3Npb24nPikge1xuICAgICAgICBpZiAoIXRoaXMudXNlclBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbWVudUl0ZW0ucmVxdWlyZXNQZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKG1lbnVJdGVtLnJlcXVpcmVzUGVybWlzc2lvbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24odGhpcy51c2VyUGVybWlzc2lvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVmaW5lTmF2TWVudSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XG4gICAgICAgICAgICAudXNlclN0YXR1cygpXG4gICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclBlcm1pc3Npb25zID0gdXNlclN0YXR1cy5wZXJtaXNzaW9ucztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFJvdXRlckxpbmsoaXRlbTogTmF2TWVudUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2QnVpbGRlclNlcnZpY2UuZ2V0Um91dGVyTGluayhpdGVtLCB0aGlzLnJvdXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZmluZU5hdk1lbnUoKSB7XG4gICAgICAgIGZ1bmN0aW9uIGFsbG93KC4uLnBlcm1pc3Npb25zOiBzdHJpbmdbXSk6ICh1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdKSA9PiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB1c2VyUGVybWlzc2lvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXZCdWlsZGVyU2VydmljZS5kZWZpbmVOYXZNZW51U2VjdGlvbnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENhdGFsb2csXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFByb2R1Y3QsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZEZhY2V0LFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRDb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRBc3NldCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlkOiAnY2F0YWxvZycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jYXRhbG9nJyksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDYXRhbG9nLCBQZXJtaXNzaW9uLlJlYWRQcm9kdWN0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAncHJvZHVjdHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5wcm9kdWN0cycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2xpYnJhcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY2F0YWxvZycsICdwcm9kdWN0cyddLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZENhdGFsb2csIFBlcm1pc3Npb24uUmVhZEZhY2V0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnZmFjZXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuZmFjZXRzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndGFnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2NhdGFsb2cnLCAnZmFjZXRzJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ2F0YWxvZywgUGVybWlzc2lvbi5SZWFkQ29sbGVjdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2NvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuY29sbGVjdGlvbnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmb2xkZXItb3BlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9jYXRhbG9nJywgJ2NvbGxlY3Rpb25zJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ2F0YWxvZywgUGVybWlzc2lvbi5SZWFkQXNzZXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdhc3NldHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5hc3NldHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZS1nYWxsZXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2NhdGFsb2cnLCAnYXNzZXRzJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICdzYWxlcycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zYWxlcycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkT3JkZXIpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkT3JkZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdvcmRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5vcmRlcnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL29yZGVycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3Nob3BwaW5nLWNhcnQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnY3VzdG9tZXJzJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmN1c3RvbWVycycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXIsIFBlcm1pc3Npb24uUmVhZEN1c3RvbWVyR3JvdXApLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjdXN0b21lcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jdXN0b21lcnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2N1c3RvbWVyJywgJ2N1c3RvbWVycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXInLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEN1c3RvbWVyR3JvdXApLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjdXN0b21lci1ncm91cHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jdXN0b21lci1ncm91cHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2N1c3RvbWVyJywgJ2dyb3VwcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ21hcmtldGluZycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5tYXJrZXRpbmcnKSxcbiAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFByb21vdGlvbiksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRQcm9tb3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdwcm9tb3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYucHJvbW90aW9ucycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvbWFya2V0aW5nJywgJ3Byb21vdGlvbnMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdhc3RlcmlzaycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICdzZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zZXR0aW5ncycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFNldHRpbmdzLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRDaGFubmVsLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRBZG1pbmlzdHJhdG9yLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRTaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkUGF5bWVudE1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkVGF4Q2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFRheFJhdGUsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENvdW50cnksXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFpvbmUsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uVXBkYXRlR2xvYmFsU2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDaGFubmVsKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnY2hhbm5lbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jaGFubmVscycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnY2hhbm5lbHMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdsYXllcnMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEFkbWluaXN0cmF0b3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdhZG1pbmlzdHJhdG9ycycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmFkbWluaXN0cmF0b3JzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdhZG1pbmlzdHJhdG9ycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2FkbWluaXN0cmF0b3InLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEFkbWluaXN0cmF0b3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdyb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnJvbGVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdyb2xlcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRTaGlwcGluZ01ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3NoaXBwaW5nLW1ldGhvZHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zaGlwcGluZy1tZXRob2RzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdzaGlwcGluZy1tZXRob2RzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndHJ1Y2snLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFBheW1lbnRNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdwYXltZW50LW1ldGhvZHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5wYXltZW50LW1ldGhvZHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3BheW1lbnQtbWV0aG9kcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2NyZWRpdC1jYXJkJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRUYXhDYXRlZ29yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3RheC1jYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYudGF4LWNhdGVnb3JpZXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3RheC1jYXRlZ29yaWVzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndmlldy1saXN0JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRUYXhSYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAndGF4LXJhdGVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYudGF4LXJhdGVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICd0YXgtcmF0ZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdjYWxjdWxhdG9yJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDb3VudHJ5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnY291bnRyaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuY291bnRyaWVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdjb3VudHJpZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmbGFnJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnem9uZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi56b25lcycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnem9uZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICd3b3JsZCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5VcGRhdGVHbG9iYWxTZXR0aW5ncyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2dsb2JhbC1zZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2Lmdsb2JhbC1zZXR0aW5ncycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnZ2xvYmFsLXNldHRpbmdzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY29nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zeXN0ZW0nKSxcbiAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IFBlcm1pc3Npb24uUmVhZFN5c3RlbSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdqb2ItcXVldWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5qb2ItcXVldWUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3N5c3RlbScsICdqb2JzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndGljay1jaGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYWRnZTogdGhpcy5qb2JRdWV1ZVNlcnZpY2UuYWN0aXZlSm9icyQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoW10pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9icyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBqb2JzLmxlbmd0aCA9PT0gMCA/ICdub25lJyA6ICdpbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVUb1NlY3Rpb246IGpvYnMubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgTmF2TWVudUJhZGdlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdzeXN0ZW0tc3RhdHVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuc3lzdGVtLXN0YXR1cycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc3lzdGVtJywgJ3N5c3RlbS1zdGF0dXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdyYWNrLXNlcnZlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYWRnZTogdGhpcy5oZWFsdGhDaGVja1NlcnZpY2Uuc3RhdHVzJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RhdHVzID09PSAnb2snID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVG9TZWN0aW9uOiBzdGF0dXMgPT09ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL21haW4tbmF2L21haW4tbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU9wRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQ1ksS0FBcUIsRUFDckIsTUFBYyxFQUNmLGlCQUFvQyxFQUNuQyxrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsV0FBd0I7UUFMeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDakMsQ0FBQztJQUtKLGlCQUFpQixDQUFDLFFBQWlEO1FBQy9E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QUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNYLElBQUksRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU87NEJBQzNDLGtCQUFrQixFQUFFLE1BQU0sS0FBSyxPQUFPO3lCQUN6QyxDQUFDLENBQUMsQ0FDTjtxQkFDSjtpQkFDSjthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBNVJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsK2lGQUF3Qzs7YUFFM0M7OztZQWhCUSxjQUFjO1lBQUUsTUFBTTtZQVV0QixpQkFBaUI7WUFIakIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFGZixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFsdGhDaGVja1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaGVhbHRoLWNoZWNrL2hlYWx0aC1jaGVjay5zZXJ2aWNlJztcbmltcG9ydCB7IEpvYlF1ZXVlU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9qb2ItcXVldWUvam9iLXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2TWVudUJhZGdlLCBOYXZNZW51SXRlbSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci10eXBlcyc7XG5pbXBvcnQgeyBOYXZCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItbWFpbi1uYXYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFpbi1uYXYuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbk5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyBuYXZCdWlsZGVyU2VydmljZTogTmF2QnVpbGRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaGVhbHRoQ2hlY2tTZXJ2aWNlOiBIZWFsdGhDaGVja1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgam9iUXVldWVTZXJ2aWNlOiBKb2JRdWV1ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICkge31cblxuICAgIHByaXZhdGUgdXNlclBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgc2hvdWxkRGlzcGxheUxpbmsobWVudUl0ZW06IFBpY2s8TmF2TWVudUl0ZW0sICdyZXF1aXJlc1Blcm1pc3Npb24nPikge1xuICAgICAgICBpZiAoIXRoaXMudXNlclBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbWVudUl0ZW0ucmVxdWlyZXNQZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKG1lbnVJdGVtLnJlcXVpcmVzUGVybWlzc2lvbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24odGhpcy51c2VyUGVybWlzc2lvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVmaW5lTmF2TWVudSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XG4gICAgICAgICAgICAudXNlclN0YXR1cygpXG4gICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclBlcm1pc3Npb25zID0gdXNlclN0YXR1cy5wZXJtaXNzaW9ucztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFJvdXRlckxpbmsoaXRlbTogTmF2TWVudUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2QnVpbGRlclNlcnZpY2UuZ2V0Um91dGVyTGluayhpdGVtLCB0aGlzLnJvdXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZmluZU5hdk1lbnUoKSB7XG4gICAgICAgIGZ1bmN0aW9uIGFsbG93KC4uLnBlcm1pc3Npb25zOiBzdHJpbmdbXSk6ICh1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdKSA9PiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB1c2VyUGVybWlzc2lvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXZCdWlsZGVyU2VydmljZS5kZWZpbmVOYXZNZW51U2VjdGlvbnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENhdGFsb2csXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFByb2R1Y3QsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZEZhY2V0LFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRDb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRBc3NldCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlkOiAnY2F0YWxvZycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jYXRhbG9nJyksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDYXRhbG9nLCBQZXJtaXNzaW9uLlJlYWRQcm9kdWN0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAncHJvZHVjdHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5wcm9kdWN0cycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2xpYnJhcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY2F0YWxvZycsICdwcm9kdWN0cyddLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZENhdGFsb2csIFBlcm1pc3Npb24uUmVhZEZhY2V0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnZmFjZXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuZmFjZXRzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndGFnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2NhdGFsb2cnLCAnZmFjZXRzJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ2F0YWxvZywgUGVybWlzc2lvbi5SZWFkQ29sbGVjdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2NvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuY29sbGVjdGlvbnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmb2xkZXItb3BlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9jYXRhbG9nJywgJ2NvbGxlY3Rpb25zJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ2F0YWxvZywgUGVybWlzc2lvbi5SZWFkQXNzZXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdhc3NldHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5hc3NldHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZS1nYWxsZXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2NhdGFsb2cnLCAnYXNzZXRzJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICdzYWxlcycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zYWxlcycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkT3JkZXIpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkT3JkZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdvcmRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5vcmRlcnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL29yZGVycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3Nob3BwaW5nLWNhcnQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnY3VzdG9tZXJzJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmN1c3RvbWVycycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXIsIFBlcm1pc3Npb24uUmVhZEN1c3RvbWVyR3JvdXApLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjdXN0b21lcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jdXN0b21lcnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2N1c3RvbWVyJywgJ2N1c3RvbWVycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXInLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEN1c3RvbWVyR3JvdXApLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjdXN0b21lci1ncm91cHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jdXN0b21lci1ncm91cHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2N1c3RvbWVyJywgJ2dyb3VwcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ21hcmtldGluZycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5tYXJrZXRpbmcnKSxcbiAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFByb21vdGlvbiksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRQcm9tb3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdwcm9tb3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYucHJvbW90aW9ucycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvbWFya2V0aW5nJywgJ3Byb21vdGlvbnMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdhc3RlcmlzaycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICdzZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zZXR0aW5ncycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFNldHRpbmdzLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRDaGFubmVsLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRBZG1pbmlzdHJhdG9yLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRTaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkUGF5bWVudE1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkVGF4Q2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFRheFJhdGUsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENvdW50cnksXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFpvbmUsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uVXBkYXRlR2xvYmFsU2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDaGFubmVsKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnY2hhbm5lbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jaGFubmVscycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnY2hhbm5lbHMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdsYXllcnMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEFkbWluaXN0cmF0b3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdhZG1pbmlzdHJhdG9ycycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmFkbWluaXN0cmF0b3JzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdhZG1pbmlzdHJhdG9ycyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2FkbWluaXN0cmF0b3InLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZEFkbWluaXN0cmF0b3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdyb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnJvbGVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdyb2xlcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3VzZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRTaGlwcGluZ01ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3NoaXBwaW5nLW1ldGhvZHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zaGlwcGluZy1tZXRob2RzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdzaGlwcGluZy1tZXRob2RzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndHJ1Y2snLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFBheW1lbnRNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdwYXltZW50LW1ldGhvZHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5wYXltZW50LW1ldGhvZHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3BheW1lbnQtbWV0aG9kcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2NyZWRpdC1jYXJkJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRUYXhDYXRlZ29yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3RheC1jYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYudGF4LWNhdGVnb3JpZXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3RheC1jYXRlZ29yaWVzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndmlldy1saXN0JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRUYXhSYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAndGF4LXJhdGVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYudGF4LXJhdGVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICd0YXgtcmF0ZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdjYWxjdWxhdG9yJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDb3VudHJ5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnY291bnRyaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuY291bnRyaWVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdjb3VudHJpZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmbGFnJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnem9uZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi56b25lcycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnem9uZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICd3b3JsZCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5VcGRhdGVHbG9iYWxTZXR0aW5ncyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2dsb2JhbC1zZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2Lmdsb2JhbC1zZXR0aW5ncycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnZ2xvYmFsLXNldHRpbmdzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY29nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zeXN0ZW0nKSxcbiAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IFBlcm1pc3Npb24uUmVhZFN5c3RlbSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdqb2ItcXVldWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5qb2ItcXVldWUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3N5c3RlbScsICdqb2JzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndGljay1jaGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYWRnZTogdGhpcy5qb2JRdWV1ZVNlcnZpY2UuYWN0aXZlSm9icyQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoW10pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9icyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBqb2JzLmxlbmd0aCA9PT0gMCA/ICdub25lJyA6ICdpbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVUb1NlY3Rpb246IGpvYnMubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgTmF2TWVudUJhZGdlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdzeXN0ZW0tc3RhdHVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuc3lzdGVtLXN0YXR1cycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc3lzdGVtJywgJ3N5c3RlbS1zdGF0dXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdyYWNrLXNlcnZlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYWRnZTogdGhpcy5oZWFsdGhDaGVja1NlcnZpY2Uuc3RhdHVzJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RhdHVzID09PSAnb2snID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVG9TZWN0aW9uOiBzdGF0dXMgPT09ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
/** @dynamic */
|
|
5
8
|
export class I18nService {
|
|
6
|
-
constructor(ngxTranslate) {
|
|
9
|
+
constructor(ngxTranslate, document) {
|
|
7
10
|
this.ngxTranslate = ngxTranslate;
|
|
11
|
+
this.document = document;
|
|
8
12
|
this._availableLanguages = [];
|
|
9
13
|
}
|
|
10
14
|
get availableLanguages() {
|
|
@@ -20,7 +24,11 @@ export class I18nService {
|
|
|
20
24
|
* Set the UI language
|
|
21
25
|
*/
|
|
22
26
|
setLanguage(language) {
|
|
27
|
+
var _a;
|
|
23
28
|
this.ngxTranslate.use(language);
|
|
29
|
+
if ((_a = this.document) === null || _a === void 0 ? void 0 : _a.documentElement) {
|
|
30
|
+
this.document.documentElement.lang = language;
|
|
31
|
+
}
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
26
34
|
* Set the available UI languages
|
|
@@ -35,13 +43,14 @@ export class I18nService {
|
|
|
35
43
|
return this.ngxTranslate.instant(key, params);
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
|
-
I18nService.ɵprov = i0.ɵɵdefineInjectable({ factory: function I18nService_Factory() { return new I18nService(i0.ɵɵinject(i1.TranslateService)); }, token: I18nService, providedIn: "root" });
|
|
46
|
+
I18nService.ɵprov = i0.ɵɵdefineInjectable({ factory: function I18nService_Factory() { return new I18nService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(i2.DOCUMENT)); }, token: I18nService, providedIn: "root" });
|
|
39
47
|
I18nService.decorators = [
|
|
40
48
|
{ type: Injectable, args: [{
|
|
41
49
|
providedIn: 'root',
|
|
42
50
|
},] }
|
|
43
51
|
];
|
|
44
52
|
I18nService.ctorParameters = () => [
|
|
45
|
-
{ type: TranslateService }
|
|
53
|
+
{ type: TranslateService },
|
|
54
|
+
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
46
55
|
];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvaTE4bi9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBSXZELGVBQWU7QUFJZixNQUFNLE9BQU8sV0FBVztJQU9wQixZQUFvQixZQUE4QixFQUE0QixRQUFrQjtRQUE1RSxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5oRyx3QkFBbUIsR0FBbUIsRUFBRSxDQUFDO0lBTTBELENBQUM7SUFKcEcsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUlEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsWUFBMEI7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLFFBQXNCOztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsZUFBZSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxQkFBcUIsQ0FBQyxTQUF5QjtRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxHQUFzQixFQUFFLE1BQVk7UUFDMUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7OztZQXpDSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVBRLGdCQUFnQjtZQWVtRSxRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuLyoqIEBkeW5hbWljICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlIHtcclxuICAgIF9hdmFpbGFibGVMYW5ndWFnZXM6IExhbmd1YWdlQ29kZVtdID0gW107XHJcblxyXG4gICAgZ2V0IGF2YWlsYWJsZUxhbmd1YWdlcygpOiBMYW5ndWFnZUNvZGVbXSB7XHJcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLl9hdmFpbGFibGVMYW5ndWFnZXNdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmd4VHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgZGVmYXVsdCBsYW5ndWFnZVxyXG4gICAgICovXHJcbiAgICBzZXREZWZhdWx0TGFuZ3VhZ2UobGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLm5neFRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhsYW5ndWFnZUNvZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IHRoZSBVSSBsYW5ndWFnZVxyXG4gICAgICovXHJcbiAgICBzZXRMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VDb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZ3hUcmFuc2xhdGUudXNlKGxhbmd1YWdlKTtcclxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5ndWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgdGhlIGF2YWlsYWJsZSBVSSBsYW5ndWFnZXNcclxuICAgICAqL1xyXG4gICAgc2V0QXZhaWxhYmxlTGFuZ3VhZ2VzKGxhbmd1YWdlczogTGFuZ3VhZ2VDb2RlW10pIHtcclxuICAgICAgICB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXMgPSBsYW5ndWFnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2xhdGUgdGhlIGdpdmVuIGtleS5cclxuICAgICAqL1xyXG4gICAgdHJhbnNsYXRlKGtleTogc3RyaW5nIHwgc3RyaW5nW10sIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd4VHJhbnNsYXRlLmluc3RhbnQoa2V5LCBwYXJhbXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -66,7 +66,7 @@ export class ProsemirrorService {
|
|
|
66
66
|
}
|
|
67
67
|
getStateFromText(text) {
|
|
68
68
|
const div = document.createElement('div');
|
|
69
|
-
div.innerHTML = text;
|
|
69
|
+
div.innerHTML = text !== null && text !== void 0 ? text : '';
|
|
70
70
|
return EditorState.create({
|
|
71
71
|
doc: DOMParser.fromSchema(this.mySchema).parse(div),
|
|
72
72
|
plugins: this.configurePlugins({ schema: this.mySchema, floatingMenu: false }),
|
|
@@ -109,4 +109,4 @@ ProsemirrorService.decorators = [
|
|
|
109
109
|
ProsemirrorService.ctorParameters = () => [
|
|
110
110
|
{ type: ModalService }
|
|
111
111
|
];
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2VtaXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUs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SUFBSSxNQUFNLENBQUM7WUFDUCxLQUFLLEVBQUU7Z0JBQ0gsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2FBQzNDO1NBQ0osQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzs7WUF2R0osVUFBVTs7O1lBZEYsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYmFzZUtleW1hcCB9IGZyb20gJ3Byb3NlbWlycm9yLWNvbW1hbmRzJztcclxuaW1wb3J0IHsgZHJvcEN1cnNvciB9IGZyb20gJ3Byb3NlbWlycm9yLWRyb3BjdXJzb3InO1xyXG5pbXBvcnQgeyBnYXBDdXJzb3IgfSBmcm9tICdwcm9zZW1pcnJvci1nYXBjdXJzb3InO1xyXG5pbXBvcnQgeyBoaXN0b3J5IH0gZnJvbSAncHJvc2VtaXJyb3ItaGlzdG9yeSc7XHJcbmltcG9ydCB7IGtleW1hcCB9IGZyb20gJ3Byb3NlbWlycm9yLWtleW1hcCc7XHJcbmltcG9ydCB7IG1lbnVCYXIgfSBmcm9tICdwcm9zZW1pcnJvci1tZW51JztcclxuaW1wb3J0IHsgRE9NUGFyc2VyLCBET01TZXJpYWxpemVyLCBTY2hlbWEgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1iYXNpYyc7XHJcbmltcG9ydCB7IGFkZExpc3ROb2RlcyB9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1saXN0JztcclxuaW1wb3J0IHsgRWRpdG9yU3RhdGUsIFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuaW1wb3J0IHsgRWRpdG9yVmlldyB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5cclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgYnVpbGRJbnB1dFJ1bGVzIH0gZnJvbSAnLi9pbnB1dHJ1bGVzJztcclxuaW1wb3J0IHsgYnVpbGRLZXltYXAgfSBmcm9tICcuL2tleW1hcCc7XHJcbmltcG9ydCB7IGJ1aWxkTWVudUl0ZW1zIH0gZnJvbSAnLi9tZW51L21lbnUnO1xyXG5pbXBvcnQgeyBsaW5rU2VsZWN0UGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2xpbmstc2VsZWN0LXBsdWdpbic7XHJcbmltcG9ydCB7IFNldHVwT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFZGl0b3JWaWV3T3B0aW9ucyB7XHJcbiAgICBvblRleHRJbnB1dDogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZDtcclxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gICAgaXNSZWFkT25seTogKCkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJvc2VtaXJyb3JTZXJ2aWNlIHtcclxuICAgIGVkaXRvclZpZXc6IEVkaXRvclZpZXc7XHJcblxyXG4gICAgLy8gTWl4IHRoZSBub2RlcyBmcm9tIHByb3NlbWlycm9yLXNjaGVtYS1saXN0IGludG8gdGhlIGJhc2ljIHNjaGVtYSB0b1xyXG4gICAgLy8gY3JlYXRlIGEgc2NoZW1hIHdpdGggbGlzdCBzdXBwb3J0LlxyXG4gICAgcHJpdmF0ZSBteVNjaGVtYSA9IG5ldyBTY2hlbWEoe1xyXG4gICAgICAgIG5vZGVzOiBhZGRMaXN0Tm9kZXMoc2NoZW1hLnNwZWMubm9kZXMsICdwYXJhZ3JhcGggYmxvY2sqJywgJ2Jsb2NrJyksXHJcbiAgICAgICAgbWFya3M6IHNjaGVtYS5zcGVjLm1hcmtzLFxyXG4gICAgfSk7XHJcbiAgICBwcml2YXRlIGVuYWJsZWQgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpIHt9XHJcblxyXG4gICAgY3JlYXRlRWRpdG9yVmlldyhvcHRpb25zOiBDcmVhdGVFZGl0b3JWaWV3T3B0aW9ucykge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yVmlldyA9IG5ldyBFZGl0b3JWaWV3PFNjaGVtYT4ob3B0aW9ucy5lbGVtZW50LCB7XHJcbiAgICAgICAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlRnJvbVRleHQoJycpLFxyXG4gICAgICAgICAgICBkaXNwYXRjaFRyYW5zYWN0aW9uOiB0ciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy51cGRhdGVTdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUuYXBwbHkodHIpKTtcclxuICAgICAgICAgICAgICAgIGlmICh0ci5kb2NDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0VGV4dEZyb21TdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMub25UZXh0SW5wdXQoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVkaXRhYmxlOiAoKSA9PiBvcHRpb25zLmlzUmVhZE9ubHkoKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yVmlldykge1xyXG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGVGcm9tVGV4dCh0ZXh0KTtcclxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnModGhpcy5lZGl0b3JWaWV3LmRvbSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy51cGRhdGVTdGF0ZShzdGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldEVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvclZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gZW5hYmxlZDtcclxuICAgICAgICAgICAgLy8gVXBkYXRpbmcgdGhlIHN0YXRlIGNhdXNlcyBQcm9zZU1pcnJvciB0byBjaGVjayB0aGVcclxuICAgICAgICAgICAgLy8gYGVkaXRhYmxlKClgIGZ1bmN0aW9uIGZyb20gdGhlIGNvbnRydWN0b3IgY29uZmlnIG9iamVjdFxyXG4gICAgICAgICAgICAvLyBuZXdseS5cclxuICAgICAgICAgICAgdGhpcy5lZGl0b3JWaWV3LnVwZGF0ZVN0YXRlKHRoaXMuZWRpdG9yVmlldy5zdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U3RhdGVGcm9tVGV4dCh0ZXh0OiBzdHJpbmcpOiBFZGl0b3JTdGF0ZSB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZGl2LmlubmVySFRNTCA9IHRleHQ7XHJcbiAgICAgICAgcmV0dXJuIEVkaXRvclN0YXRlLmNyZWF0ZSh7XHJcbiAgICAgICAgICAgIGRvYzogRE9NUGFyc2VyLmZyb21TY2hlbWEodGhpcy5teVNjaGVtYSkucGFyc2UoZGl2KSxcclxuICAgICAgICAgICAgcGx1Z2luczogdGhpcy5jb25maWd1cmVQbHVnaW5zKHsgc2NoZW1hOiB0aGlzLm15U2NoZW1hLCBmbG9hdGluZ01lbnU6IGZhbHNlIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0VGV4dEZyb21TdGF0ZShzdGF0ZTogRWRpdG9yU3RhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gRE9NU2VyaWFsaXplci5mcm9tU2NoZW1hKHRoaXMubXlTY2hlbWEpLnNlcmlhbGl6ZUZyYWdtZW50KHN0YXRlLmRvYy5jb250ZW50KTtcclxuXHJcbiAgICAgICAgZGl2LmFwcGVuZENoaWxkKGZyYWdtZW50KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb25maWd1cmVQbHVnaW5zKG9wdGlvbnM6IFNldHVwT3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHBsdWdpbnMgPSBbXHJcbiAgICAgICAgICAgIGJ1aWxkSW5wdXRSdWxlcyhvcHRpb25zLnNjaGVtYSksXHJcbiAgICAgICAgICAgIGtleW1hcChidWlsZEtleW1hcChvcHRpb25zLnNjaGVtYSwgb3B0aW9ucy5tYXBLZXlzKSksXHJcbiAgICAgICAgICAgIGtleW1hcChiYXNlS2V5bWFwKSxcclxuICAgICAgICAgICAgZHJvcEN1cnNvcigpLFxyXG4gICAgICAgICAgICBnYXBDdXJzb3IoKSxcclxuICAgICAgICAgICAgbGlua1NlbGVjdFBsdWdpbixcclxuICAgICAgICBdO1xyXG4gICAgICAgIGlmIChvcHRpb25zLm1lbnVCYXIgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBsdWdpbnMucHVzaChcclxuICAgICAgICAgICAgICAgIG1lbnVCYXIoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nOiBvcHRpb25zLmZsb2F0aW5nTWVudSAhPT0gZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5tZW51Q29udGVudCB8fCBidWlsZE1lbnVJdGVtcyhvcHRpb25zLnNjaGVtYSwgdGhpcy5tb2RhbFNlcnZpY2UpLmZ1bGxNZW51LFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvcHRpb25zLmhpc3RvcnkgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBsdWdpbnMucHVzaChoaXN0b3J5KCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHBsdWdpbnMuY29uY2F0KFxyXG4gICAgICAgICAgICBuZXcgUGx1Z2luKHtcclxuICAgICAgICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBjbGFzczogJ3Zkci1wcm9zZW1pcnJvcicgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2VtaXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUs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UUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQ2pCLElBQUksTUFBTSxDQUFDO1lBQ1AsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTthQUMzQztTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7O1lBdkdKLFVBQVU7OztZQWRGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGJhc2VLZXltYXAgfSBmcm9tICdwcm9zZW1pcnJvci1jb21tYW5kcyc7XHJcbmltcG9ydCB7IGRyb3BDdXJzb3IgfSBmcm9tICdwcm9zZW1pcnJvci1kcm9wY3Vyc29yJztcclxuaW1wb3J0IHsgZ2FwQ3Vyc29yIH0gZnJvbSAncHJvc2VtaXJyb3ItZ2FwY3Vyc29yJztcclxuaW1wb3J0IHsgaGlzdG9yeSB9IGZyb20gJ3Byb3NlbWlycm9yLWhpc3RvcnknO1xyXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tICdwcm9zZW1pcnJvci1rZXltYXAnO1xyXG5pbXBvcnQgeyBtZW51QmFyIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IERPTVBhcnNlciwgRE9NU2VyaWFsaXplciwgU2NoZW1hIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xyXG5pbXBvcnQgeyBzY2hlbWEgfSBmcm9tICdwcm9zZW1pcnJvci1zY2hlbWEtYmFzaWMnO1xyXG5pbXBvcnQgeyBhZGRMaXN0Tm9kZXMgfSBmcm9tICdwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCc7XHJcbmltcG9ydCB7IEVkaXRvclN0YXRlLCBQbHVnaW4gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XHJcbmltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tICdwcm9zZW1pcnJvci12aWV3JztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IGJ1aWxkSW5wdXRSdWxlcyB9IGZyb20gJy4vaW5wdXRydWxlcyc7XHJcbmltcG9ydCB7IGJ1aWxkS2V5bWFwIH0gZnJvbSAnLi9rZXltYXAnO1xyXG5pbXBvcnQgeyBidWlsZE1lbnVJdGVtcyB9IGZyb20gJy4vbWVudS9tZW51JztcclxuaW1wb3J0IHsgbGlua1NlbGVjdFBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9saW5rLXNlbGVjdC1wbHVnaW4nO1xyXG5pbXBvcnQgeyBTZXR1cE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRWRpdG9yVmlld09wdGlvbnMge1xyXG4gICAgb25UZXh0SW5wdXQ6IChjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAgIGlzUmVhZE9ubHk6ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFByb3NlbWlycm9yU2VydmljZSB7XHJcbiAgICBlZGl0b3JWaWV3OiBFZGl0b3JWaWV3O1xyXG5cclxuICAgIC8vIE1peCB0aGUgbm9kZXMgZnJvbSBwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCBpbnRvIHRoZSBiYXNpYyBzY2hlbWEgdG9cclxuICAgIC8vIGNyZWF0ZSBhIHNjaGVtYSB3aXRoIGxpc3Qgc3VwcG9ydC5cclxuICAgIHByaXZhdGUgbXlTY2hlbWEgPSBuZXcgU2NoZW1hKHtcclxuICAgICAgICBub2RlczogYWRkTGlzdE5vZGVzKHNjaGVtYS5zcGVjLm5vZGVzLCAncGFyYWdyYXBoIGJsb2NrKicsICdibG9jaycpLFxyXG4gICAgICAgIG1hcmtzOiBzY2hlbWEuc3BlYy5tYXJrcyxcclxuICAgIH0pO1xyXG4gICAgcHJpdmF0ZSBlbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7fVxyXG5cclxuICAgIGNyZWF0ZUVkaXRvclZpZXcob3B0aW9uczogQ3JlYXRlRWRpdG9yVmlld09wdGlvbnMpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclZpZXcgPSBuZXcgRWRpdG9yVmlldzxTY2hlbWE+KG9wdGlvbnMuZWxlbWVudCwge1xyXG4gICAgICAgICAgICBzdGF0ZTogdGhpcy5nZXRTdGF0ZUZyb21UZXh0KCcnKSxcclxuICAgICAgICAgICAgZGlzcGF0Y2hUcmFuc2FjdGlvbjogdHIgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclZpZXcudXBkYXRlU3RhdGUodGhpcy5lZGl0b3JWaWV3LnN0YXRlLmFwcGx5KHRyKSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHIuZG9jQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldFRleHRGcm9tU3RhdGUodGhpcy5lZGl0b3JWaWV3LnN0YXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm9uVGV4dElucHV0KGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlZGl0YWJsZTogKCkgPT4gb3B0aW9ucy5pc1JlYWRPbmx5KCksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlKHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvclZpZXcpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlRnJvbVRleHQodGV4dCk7XHJcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuZWRpdG9yVmlldy5kb20pKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclZpZXcudXBkYXRlU3RhdGUoc3RhdGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yVmlldykge1xyXG4gICAgICAgICAgICB0aGlzLmVkaXRvclZpZXcuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlZCA9IGVuYWJsZWQ7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0aW5nIHRoZSBzdGF0ZSBjYXVzZXMgUHJvc2VNaXJyb3IgdG8gY2hlY2sgdGhlXHJcbiAgICAgICAgICAgIC8vIGBlZGl0YWJsZSgpYCBmdW5jdGlvbiBmcm9tIHRoZSBjb250cnVjdG9yIGNvbmZpZyBvYmplY3RcclxuICAgICAgICAgICAgLy8gbmV3bHkuXHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy51cGRhdGVTdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN0YXRlRnJvbVRleHQodGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IEVkaXRvclN0YXRlIHtcclxuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBkaXYuaW5uZXJIVE1MID0gdGV4dCA/PyAnJztcclxuICAgICAgICByZXR1cm4gRWRpdG9yU3RhdGUuY3JlYXRlKHtcclxuICAgICAgICAgICAgZG9jOiBET01QYXJzZXIuZnJvbVNjaGVtYSh0aGlzLm15U2NoZW1hKS5wYXJzZShkaXYpLFxyXG4gICAgICAgICAgICBwbHVnaW5zOiB0aGlzLmNvbmZpZ3VyZVBsdWdpbnMoeyBzY2hlbWE6IHRoaXMubXlTY2hlbWEsIGZsb2F0aW5nTWVudTogZmFsc2UgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRUZXh0RnJvbVN0YXRlKHN0YXRlOiBFZGl0b3JTdGF0ZSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBET01TZXJpYWxpemVyLmZyb21TY2hlbWEodGhpcy5teVNjaGVtYSkuc2VyaWFsaXplRnJhZ21lbnQoc3RhdGUuZG9jLmNvbnRlbnQpO1xyXG5cclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvbmZpZ3VyZVBsdWdpbnMob3B0aW9uczogU2V0dXBPcHRpb25zKSB7XHJcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9IFtcclxuICAgICAgICAgICAgYnVpbGRJbnB1dFJ1bGVzKG9wdGlvbnMuc2NoZW1hKSxcclxuICAgICAgICAgICAga2V5bWFwKGJ1aWxkS2V5bWFwKG9wdGlvbnMuc2NoZW1hLCBvcHRpb25zLm1hcEtleXMpKSxcclxuICAgICAgICAgICAga2V5bWFwKGJhc2VLZXltYXApLFxyXG4gICAgICAgICAgICBkcm9wQ3Vyc29yKCksXHJcbiAgICAgICAgICAgIGdhcEN1cnNvcigpLFxyXG4gICAgICAgICAgICBsaW5rU2VsZWN0UGx1Z2luLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgaWYgKG9wdGlvbnMubWVudUJhciAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcGx1Z2lucy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgbWVudUJhcih7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmc6IG9wdGlvbnMuZmxvYXRpbmdNZW51ICE9PSBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm1lbnVDb250ZW50IHx8IGJ1aWxkTWVudUl0ZW1zKG9wdGlvbnMuc2NoZW1hLCB0aGlzLm1vZGFsU2VydmljZSkuZnVsbE1lbnUsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnMuaGlzdG9yeSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcGx1Z2lucy5wdXNoKGhpc3RvcnkoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcGx1Z2lucy5jb25jYXQoXHJcbiAgICAgICAgICAgIG5ldyBQbHVnaW4oe1xyXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IGNsYXNzOiAndmRyLXByb3NlbWlycm9yJyB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js
CHANGED
|
@@ -263,4 +263,4 @@ DynamicFormInputComponent.propDecorators = {
|
|
|
263
263
|
singleViewContainer: [{ type: ViewChild, args: ['single', { read: ViewContainerRef },] }],
|
|
264
264
|
listItemContainers: [{ type: ViewChildren, args: ['listItem', { read: ViewContainerRef },] }]
|
|
265
265
|
};
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCx3QkFBd0IsRUFFeEIsUUFBUSxFQUNSLEtBQUssRUFPTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBUTVHOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQW1CbEMsWUFDWSx3QkFBa0QsRUFDbEQsd0JBQWtELEVBQ2xELGlCQUFvQyxFQUNwQyxRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFD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VUFBVTtnQkFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDaEQ7Z0JBQ0ksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUE0Qzs7UUFDL0QsT0FBTyxDQUFBLE1BQUMsR0FBMkIsMENBQUUsVUFBVSxNQUFLLHFCQUFxQixDQUFDO0lBQzlFLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBWTs7UUFDNUIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFBLE1BQUEsTUFBQyxHQUFXLDBDQUFFLEVBQUUsMENBQUUsU0FBUyxDQUFBLEtBQUssUUFBUSxDQUFDO0lBQ3RGLENBQUM7OztZQTNSSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK21DQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUseUJBQXlCO3dCQUN0QyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBdkJRLHdCQUF3QjtZQXpCN0Isd0JBQXdCO1lBSHhCLGlCQUFpQjtZQUtqQixRQUFROzs7a0JBa0RQLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7aUNBQzlDLFlBQVksU0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdHJpbmdDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IENvbmZpZ0FyZ1R5cGUsIEN1c3RvbUZpZWxkVHlwZSwgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgc2ltcGxlRGVlcENsb25lIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaW1wbGUtZGVlcC1jbG9uZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcbmltcG9ydCB7IENvbmZpZ0FyZ0RlZmluaXRpb24sIEN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBnZXRDb25maWdBcmdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsaXRpZXMvY29uZmlndXJhYmxlLW9wZXJhdGlvbi11dGlscyc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tcG9uZW50LXJlZ2lzdHJ5L2NvbXBvbmVudC1yZWdpc3RyeS5zZXJ2aWNlJztcblxudHlwZSBJbnB1dExpc3RJdGVtID0ge1xuICAgIGlkOiBudW1iZXI7XG4gICAgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPEZvcm1JbnB1dENvbXBvbmVudD47XG4gICAgY29udHJvbDogRm9ybUNvbnRyb2w7XG59O1xuXG4vKipcbiAqIEEgaG9zdCBjb21wb25lbnQgd2hpY2ggZGVsZWdhdGVzIHRvIGFuIGluc3RhbmNlIG9yIGxpc3Qgb2YgRm9ybUlucHV0Q29tcG9uZW50IGNvbXBvbmVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWR5bmFtaWMtZm9ybS1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUlucHV0Q29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIEBJbnB1dCgpIGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgIEBWaWV3Q2hpbGQoJ3NpbmdsZScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBzaW5nbGVWaWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xuICAgIHJlbmRlckFzTGlzdCA9IGZhbHNlO1xuICAgIGxpc3RJdGVtczogSW5wdXRMaXN0SXRlbVtdID0gW107XG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgbGlzdElkID0gMTtcbiAgICBwcml2YXRlIGxpc3RGb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5KFtdKTtcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsOiBhbnkpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVuZGVyTGlzdCQgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlOiBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHRoaXMuZGVmKS5jb21wb25lbnQ7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChjb21wb25lbnRJZCk7XG4gICAgICAgIGlmIChjb21wb25lbnRUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBjb21wb25lbnRUeXBlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdENvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZGVmYXVsdENvbXBvbmVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xuICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY29tcG9uZW50VHlwZSk7XG5cbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcbiAgICAgICAgICAgIGNvbnN0IGNtcFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0SW5wdXRDb21wb25lbnQgPSBjbXBSZWYuaW5zdGFuY2UuaXNMaXN0SW5wdXQgPz8gZmFsc2U7XG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kZWYubGlzdCA9PT0gZmFsc2UgJiYgaXNMaXN0SW5wdXRDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBUaGUgJHt0aGlzLmNvbXBvbmVudFR5cGUubmFtZX0gY29tcG9uZW50IGlzIGEgbGlzdCBpbnB1dCwgYnV0IHRoZSBkZWZpbml0aW9uIGZvciAke3RoaXMuZGVmLm5hbWV9IGRvZXMgbm90IGV4cGVjdCBhIGxpc3RgLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlbmRlckFzTGlzdCA9IHRoaXMuZGVmLmxpc3QgJiYgIWlzTGlzdElucHV0Q29tcG9uZW50O1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlckFzTGlzdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgZmFjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVWaWV3Q29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbmRlckxpc3RJbnB1dHMgPSAodmlld0NvbnRhaW5lclJlZnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmlld0NvbnRhaW5lclJlZnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5U3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5KFtdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zLmZvckVhY2goaSA9PiBpLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWZzLmZvckVhY2goKHJlZiwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5saXN0SXRlbXM/LltpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnB1c2gobGlzdEl0ZW0uY29udHJvbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLmNvbXBvbmVudFJlZiA9IHRoaXMucmVuZGVySW5wdXRDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29udHJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5U3ViID0gdGhpcy5saXN0Rm9ybUFycmF5LnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKHZhbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAvLyBpbml0aWFsIHJlbmRlclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4gcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycykpO1xuXG4gICAgICAgICAgICAgICAgLy8gcmVuZGVyIG9uIGNoYW5nZXMgdG8gdGhlIGxpc3RcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXMucGlwZSh0YWtlKDEpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJMaXN0SW5wdXRzKHRoaXMubGlzdEl0ZW1Db250YWluZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMubGlzdEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgaXRlbS5jb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zaW5nbGVDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW5kaW5ncyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+KSB7XG4gICAgICAgIGlmICgnZGVmJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gc2ltcGxlRGVlcENsb25lKHRoaXMuZGVmKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3JlYWRvbmx5JyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRyYWNrQnlJZChpbmRleDogbnVtYmVyLCBpdGVtOiB7IGlkOiBudW1iZXIgfSkge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICBhZGRMaXN0SXRlbSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpc3RJdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmxpc3RJZCsrLFxuICAgICAgICAgICAgY29udHJvbDogbmV3IEZvcm1Db250cm9sKCh0aGlzLmRlZiBhcyBDb25maWdBcmdEZWZpbml0aW9uKS5kZWZhdWx0VmFsdWUgPz8gbnVsbCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcbiAgICB9XG5cbiAgICBtb3ZlTGlzdEl0ZW0oZXZlbnQ6IENka0RyYWdEcm9wPElucHV0TGlzdEl0ZW0+KSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubGlzdEl0ZW1zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnJlbW92ZUF0KGV2ZW50LnByZXZpb3VzSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5Lmluc2VydChldmVudC5jdXJyZW50SW5kZXgsIGV2ZW50Lml0ZW0uZGF0YS5jb250cm9sKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlTGlzdEl0ZW0oaXRlbTogSW5wdXRMaXN0SXRlbSkge1xuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0SXRlbXMuZmluZEluZGV4KGkgPT4gaSA9PT0gaXRlbSk7XG4gICAgICAgICAgICBpdGVtLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gdGhpcy5saXN0SXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gaXRlbSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVySW5wdXRDb21wb25lbnQoXG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Rm9ybUlucHV0Q29tcG9uZW50PixcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sLFxuICAgICkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmO1xuICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xuICAgICAgICBpbnN0YW5jZS5mb3JtQ29udHJvbCA9IGZvcm1Db250cm9sO1xuICAgICAgICBpbnN0YW5jZS5yZWFkb25seSA9IHRoaXMucmVhZG9ubHk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgICAgICAgIGlmIChvYmoubGVuZ3RoID09PSB0aGlzLmxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmxpc3RJdGVtc1tpbmRleF0/LmNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShnZXRDb25maWdBcmdWYWx1ZSh2YWx1ZSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBvYmoubWFwKFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5saXN0SWQrKyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2woZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgSW5wdXRMaXN0SXRlbSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XG4gICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW5wdXRDb21wb25lbnRDb25maWcoYXJnRGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiB7XG4gICAgICAgIGNvbXBvbmVudDogRGVmYXVsdEZvcm1Db21wb25lbnRJZDtcbiAgICB9IHtcbiAgICAgICAgaWYgKHRoaXMuaGFzVWlDb25maWcoYXJnRGVmKSAmJiBhcmdEZWYudWkuY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gYXJnRGVmLnVpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGUgPSBhcmdEZWY/LnR5cGUgYXMgQ29uZmlnQXJnVHlwZSB8IEN1c3RvbUZpZWxkVHlwZTtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgY2FzZSAnbG9jYWxlU3RyaW5nJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc09wdGlvbnMgPVxuICAgICAgICAgICAgICAgICAgICAhISh0aGlzLmlzQ29uZmlnQXJnRGVmKGFyZ0RlZikgJiYgYXJnRGVmLnVpPy5vcHRpb25zKSB8fFxuICAgICAgICAgICAgICAgICAgICAhIShhcmdEZWYgYXMgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcpLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKGhhc09wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnc2VsZWN0LWZvcm0taW5wdXQnIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dC1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dGFyZWEtZm9ybS1pbnB1dCcgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2ludCc6XG4gICAgICAgICAgICBjYXNlICdmbG9hdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdib29sZWFuLWZvcm0taW5wdXQnIH07XG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnZGF0ZS1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgY2FzZSAnSUQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcbiAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdyZWxhdGlvbi1mb3JtLWlucHV0JyB9O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNDb25maWdBcmdEZWYoZGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiBkZWYgaXMgQ29uZmlnQXJnRGVmaW5pdGlvbiB7XG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGRlZiA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIChkZWYgYXMgYW55KT8udWk/LmNvbXBvbmVudCA9PT0gJ3N0cmluZyc7XG4gICAgfVxufVxuIl19
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCx3QkFBd0IsRUFFeEIsUUFBUSxFQUNSLEtBQUssRUFPTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBUTVHOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQW1CbEMsWUFDWSx3QkFBa0QsRUFDbEQsd0JBQWtELEVBQ2xELGlCQUFvQyxFQUNwQyxRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFD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VUFBVTtnQkFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDaEQ7Z0JBQ0ksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUE0Qzs7UUFDL0QsT0FBTyxDQUFBLE1BQUMsR0FBMkIsMENBQUUsVUFBVSxNQUFLLHFCQUFxQixDQUFDO0lBQzlFLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBWTs7UUFDNUIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFBLE1BQUEsTUFBQyxHQUFXLDBDQUFFLEVBQUUsMENBQUUsU0FBUyxDQUFBLEtBQUssUUFBUSxDQUFDO0lBQ3RGLENBQUM7OztZQTNSSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK21DQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUseUJBQXlCO3dCQUN0QyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBdkJRLHdCQUF3QjtZQXpCN0Isd0JBQXdCO1lBSHhCLGlCQUFpQjtZQUtqQixRQUFROzs7a0JBa0RQLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7aUNBQzlDLFlBQVksU0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudEZhY3RvcnksXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFR5cGUsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdUeXBlLCBDdXN0b21GaWVsZFR5cGUsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IENvbmZpZ0FyZ0RlZmluaXRpb24sIEN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IGdldENvbmZpZ0FyZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9jb25maWd1cmFibGUtb3BlcmF0aW9uLXV0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XHJcblxyXG50eXBlIElucHV0TGlzdEl0ZW0gPSB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIGhvc3QgY29tcG9uZW50IHdoaWNoIGRlbGVnYXRlcyB0byBhbiBpbnN0YW5jZSBvciBsaXN0IG9mIEZvcm1JbnB1dENvbXBvbmVudCBjb21wb25lbnRzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgICBASW5wdXQoKSBkZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG4gICAgcmVuZGVyQXNMaXN0ID0gZmFsc2U7XHJcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBsaXN0SWQgPSAxO1xyXG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSk7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgcmVuZGVyTGlzdCQgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRSZWdpc3RyeVNlcnZpY2U6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChjb21wb25lbnRJZCk7XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50VHlwZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRUeXBlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcclxuICAgICAgICAgICAgY29uc3QgY21wUmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xyXG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgYFRoZSAke3RoaXMuY29tcG9uZW50VHlwZS5uYW1lfSBjb21wb25lbnQgaXMgYSBsaXN0IGlucHV0LCBidXQgdGhlIGRlZmluaXRpb24gZm9yICR7dGhpcy5kZWYubmFtZX0gZG9lcyBub3QgZXhwZWN0IGEgbGlzdGAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyQXNMaXN0ID0gdGhpcy5kZWYubGlzdCAmJiAhaXNMaXN0SW5wdXRDb21wb25lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdElucHV0cyA9ICh2aWV3Q29udGFpbmVyUmVmczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5KFtdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaChpID0+IGkuY29tcG9uZW50UmVmPy5kZXN0cm95KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmcy5mb3JFYWNoKChyZWYsIGkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5saXN0SXRlbXM/LltpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5wdXNoKGxpc3RJdGVtLmNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLmNvbXBvbmVudFJlZiA9IHRoaXMucmVuZGVySW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29udHJvbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1BcnJheVN1YiA9IHRoaXMubGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyByZW5kZXIgb24gY2hhbmdlcyB0byB0aGUgbGlzdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JFxyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5saXN0SXRlbUNvbnRhaW5lcnMuY2hhbmdlcy5waXBlKHRha2UoMSkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVCaW5kaW5ncyhjaGFuZ2VzLCBpdGVtLmNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW5kaW5ncyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+KSB7XHJcbiAgICAgICAgaWYgKCdkZWYnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IHNpbXBsZURlZXBDbG9uZSh0aGlzLmRlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgncmVhZG9ubHknIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tcG9uZW50UmVmLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZikubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IG51bWJlciB9KSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTGlzdEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RJdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbCgodGhpcy5kZWYgYXMgQ29uZmlnQXJnRGVmaW5pdGlvbikuZGVmYXVsdFZhbHVlID8/IG51bGwpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVMaXN0SXRlbShldmVudDogQ2RrRHJhZ0Ryb3A8SW5wdXRMaXN0SXRlbT4pIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubGlzdEl0ZW1zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5pbnNlcnQoZXZlbnQuY3VycmVudEluZGV4LCBldmVudC5pdGVtLmRhdGEuY29udHJvbCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVMaXN0SXRlbShpdGVtOiBJbnB1dExpc3RJdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0SXRlbXMuZmluZEluZGV4KGkgPT4gaSA9PT0gaXRlbSk7XHJcbiAgICAgICAgICAgIGl0ZW0uY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gdGhpcy5saXN0SXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Rm9ybUlucHV0Q29tcG9uZW50PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IGNvbXBvbmVudFJlZjtcclxuICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xyXG4gICAgICAgIGluc3RhbmNlLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBpZiAob2JqLmxlbmd0aCA9PT0gdGhpcy5saXN0SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubGlzdEl0ZW1zW2luZGV4XT8uY29udHJvbDtcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gb2JqLm1hcChcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2woZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBJbnB1dExpc3RJdGVtKSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SW5wdXRDb21wb25lbnRDb25maWcoYXJnRGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiB7XHJcbiAgICAgICAgY29tcG9uZW50OiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkO1xyXG4gICAgfSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzVWlDb25maWcoYXJnRGVmKSAmJiBhcmdEZWYudWkuY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhcmdEZWYudWk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBhcmdEZWY/LnR5cGUgYXMgQ29uZmlnQXJnVHlwZSB8IEN1c3RvbUZpZWxkVHlwZTtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgY2FzZSAnbG9jYWxlU3RyaW5nJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzT3B0aW9ucyA9XHJcbiAgICAgICAgICAgICAgICAgICAgISEodGhpcy5pc0NvbmZpZ0FyZ0RlZihhcmdEZWYpICYmIGFyZ0RlZi51aT8ub3B0aW9ucykgfHxcclxuICAgICAgICAgICAgICAgICAgICAhIShhcmdEZWYgYXMgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcpLm9wdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGFzT3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3NlbGVjdC1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICd0ZXh0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHRhcmVhLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnYm9vbGVhbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdkYXRlLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ0lEJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAncmVsYXRpb24tZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ29uZmlnQXJnRGVmKGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKTogZGVmIGlzIENvbmZpZ0FyZ0RlZmluaXRpb24ge1xyXG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGVmID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgKGRlZiBhcyBhbnkpPy51aT8uY29tcG9uZW50ID09PSAnc3RyaW5nJztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -18,7 +18,7 @@ export class AssetPreviewPipe {
|
|
|
18
18
|
if (!asset) {
|
|
19
19
|
return '';
|
|
20
20
|
}
|
|
21
|
-
if (
|
|
21
|
+
if (asset.preview == null || typeof asset.preview !== 'string') {
|
|
22
22
|
throw new Error(`Expected an Asset, got ${JSON.stringify(asset)}`);
|
|
23
23
|
}
|
|
24
24
|
const fp = asset.focalPoint ? `&fpx=${asset.focalPoint.x}&fpy=${asset.focalPoint.y}` : '';
|
|
@@ -35,4 +35,4 @@ AssetPreviewPipe.decorators = [
|
|
|
35
35
|
name: 'assetPreview',
|
|
36
36
|
},] }
|
|
37
37
|
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJldmlldy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvcGlwZXMvYXNzZXQtcHJldmlldy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXBEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxLQUFxQixFQUFFLFNBQTBCLE9BQU87UUFDOUQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEU7UUFDRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLFdBQVcsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO1NBQ25EO2FBQU07WUFDSCxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sTUFBTSxNQUFNLE1BQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzs7O1lBakJKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsY0FBYzthQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFzc2V0RnJhZ21lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogR2l2ZW4gYW4gQXNzZXQgb2JqZWN0IChhbiBvYmplY3Qgd2l0aCBgcHJldmlld2AgYW5kIG9wdGlvbmFsbHkgYGZvY2FsUG9pbnRgIHByb3BlcnRpZXMpLCB0aGlzIHBpcGVcclxuICogcmV0dXJucyBhIHN0cmluZyB3aXRoIHF1ZXJ5IHBhcmFtZXRlcnMgZGVzaWduZWQgdG8gd29yayB3aXRoIHRoZSBpbWFnZSByZXNpemUgY2FwYWJpbGl0aWVzIG9mIHRoZVxyXG4gKiBBc3NldFNlcnZlclBsdWdpbi5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgSFRNTFxyXG4gKiA8aW1nIFtzcmNdPVwiYXNzZXQgfCBhc3NldFByZXZpZXc6J3RpbnknXCIgLz5cclxuICogPGltZyBbc3JjXT1cImFzc2V0IHwgYXNzZXRQcmV2aWV3OjE1MFwiIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHBpcGVzXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnYXNzZXRQcmV2aWV3JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2V0UHJldmlld1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShhc3NldD86IEFzc2V0RnJhZ21lbnQsIHByZXNldDogc3RyaW5nIHwgbnVtYmVyID0gJ3RodW1iJyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhc3NldC5wcmV2aWV3ID09IG51bGwgfHwgdHlwZW9mIGFzc2V0LnByZXZpZXcgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYW4gQXNzZXQsIGdvdCAke0pTT04uc3RyaW5naWZ5KGFzc2V0KX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZnAgPSBhc3NldC5mb2NhbFBvaW50ID8gYCZmcHg9JHthc3NldC5mb2NhbFBvaW50Lnh9JmZweT0ke2Fzc2V0LmZvY2FsUG9pbnQueX1gIDogJyc7XHJcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihOdW1iZXIocHJlc2V0KSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2Fzc2V0LnByZXZpZXd9P3ByZXNldD0ke3ByZXNldH0ke2ZwfWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2Fzc2V0LnByZXZpZXd9P3c9JHtwcmVzZXR9Jmg9JHtwcmVzZXR9JHtmcH1gO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1892,7 +1892,7 @@ class ProductListComponent extends BaseListComponent {
|
|
|
1892
1892
|
ProductListComponent.decorators = [
|
|
1893
1893
|
{ type: Component, args: [{
|
|
1894
1894
|
selector: 'vdr-products-list',
|
|
1895
|
-
template: "<vdr-action-bar>\r\n <vdr-ab-left [grow]=\"true\">\r\n <div class=\"search-form\">\r\n <vdr-product-search-input\r\n #productSearchInputComponent\r\n [facetValueResults]=\"facetValues$ | async\"\r\n (searchTermChange)=\"setSearchTerm($event)\"\r\n (facetValueChange)=\"setFacetValueIds($event)\"\r\n ></vdr-product-search-input>\r\n <vdr-dropdown class=\"search-settings-menu mr3\">\r\n <button
|
|
1895
|
+
template: "<vdr-action-bar>\r\n <vdr-ab-left [grow]=\"true\">\r\n <div class=\"search-form\">\r\n <vdr-product-search-input\r\n #productSearchInputComponent\r\n [facetValueResults]=\"facetValues$ | async\"\r\n (searchTermChange)=\"setSearchTerm($event)\"\r\n (facetValueChange)=\"setFacetValueIds($event)\"\r\n ></vdr-product-search-input>\r\n <vdr-dropdown class=\"search-settings-menu mr3\">\r\n <button\r\n type=\"button\"\r\n class=\"icon-button search-index-button\"\r\n [title]=\"\r\n (pendingSearchIndexUpdates\r\n ? 'catalog.pending-search-index-updates'\r\n : 'catalog.search-index-controls'\r\n ) | translate\r\n \"\r\n vdrDropdownTrigger\r\n >\r\n <clr-icon shape=\"cog\"></clr-icon>\r\n <vdr-status-badge *ngIf=\"pendingSearchIndexUpdates\" type=\"warning\"> </vdr-status-badge>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <h4 class=\"dropdown-header\">{{ 'catalog.search-index-controls' | translate }}</h4>\r\n <ng-container *ngIf=\"pendingSearchIndexUpdates\">\r\n <button\r\n type=\"button\"\r\n class=\"run-updates-button\"\r\n vdrDropdownItem\r\n (click)=\"runPendingSearchIndexUpdates()\"\r\n [disabled]=\"!(['UpdateCatalog', 'UpdateProduct'] | hasPermission)\"\r\n >\r\n <vdr-status-badge type=\"warning\"> </vdr-status-badge>\r\n {{\r\n 'catalog.run-pending-search-index-updates'\r\n | translate: { count: pendingSearchIndexUpdates }\r\n }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n </ng-container>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"rebuildSearchIndex()\"\r\n [disabled]=\"!(['UpdateCatalog', 'UpdateProduct'] | hasPermission)\"\r\n >\r\n {{ 'catalog.rebuild-search-index' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n <div class=\"flex wrap\">\r\n <clr-checkbox-wrapper class=\"mt2\">\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"groupByProduct\" (ngModelChange)=\"refresh()\" />\r\n <label>{{ 'catalog.group-by-product' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"product-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n [routerLink]=\"['./create']\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateProduct']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n <span class=\"full-label\">{{ 'catalog.create-new-product' | translate }}</span>\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <ng-template let-result=\"item\">\r\n <td class=\"left align-middle\" [class.disabled]=\"!result.enabled\">\r\n <div class=\"image-placeholder\">\r\n <img\r\n *ngIf=\"\r\n groupByProduct\r\n ? result.productAsset\r\n : result.productVariantAsset || result.productAsset as asset;\r\n else imagePlaceholder\r\n \"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n />\r\n <ng-template #imagePlaceholder>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td class=\"left align-middle\" [class.disabled]=\"!result.enabled\">\r\n {{ groupByProduct ? result.productName : result.productVariantName }}\r\n </td>\r\n <td class=\"align-middle\" [class.disabled]=\"!result.enabled\">\r\n <vdr-chip *ngIf=\"!result.enabled\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </td>\r\n <td class=\"right align-middle\" [class.disabled]=\"!result.enabled\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', result.productId]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\" [class.disabled]=\"!result.enabled\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteProduct(result.productId)\"\r\n [disabled]=\"!(['DeleteCatalog', 'DeleteProduct'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
|
|
1896
1896
|
styles: [".image-placeholder{width:50px;height:50px;background-color:var(--color-component-bg-200)}.image-placeholder .placeholder{text-align:center;color:var(--color-grey-300)}.search-form{display:flex;align-items:center;width:100%;margin-bottom:6px}.search-input{min-width:300px}@media screen and (max-width: 768px){.search-input{min-width:100px}}.search-settings-menu{margin:0 12px}td.disabled{background-color:var(--color-component-bg-200)}.search-index-button{position:relative}.search-index-button vdr-status-badge{right:0;top:0}.run-updates-button{position:relative}.run-updates-button vdr-status-badge{left:10px;top:10px}\n"]
|
|
1897
1897
|
},] }
|
|
1898
1898
|
];
|