@alfresco/aca-content 4.0.0-A.2-9995 → 4.0.0-A.2-10006

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.
@@ -210,9 +210,9 @@ export class SearchResultsComponent extends PageComponent {
210
210
  }
211
211
  }
212
212
  SearchResultsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchResultsComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: i2.ActivatedRoute }, { token: i3.Store }, { token: i4.AppExtensionService }, { token: i5.ContentManagementService }, { token: i6.TranslationService }, { token: i2.Router }, { token: i7.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
213
- SearchResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SearchResultsComponent, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.SEARCH.TITLE\"> </adf-breadcrumb>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "urlFileViewer", "blobFile", "nodeId", "versionId", "sharedLinkId", "overlayMode", "showViewer", "showToolbar", "displayName", "allowGoBack", "allowDownload", "allowPrint", "allowFullScreen", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "allowThumbnails", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "thumbnailsTemplate", "mimeType", "fileName", "maxRetries"], outputs: ["goBack", "print", "showViewerChange", "extensionChange", "navigateBefore", "navigateNext", "invalidSharedLink"] }, { kind: "component", type: i6.ViewerToolbarComponent, selector: "adf-viewer-toolbar" }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: i6.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "directive", type: i6.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: i6.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey"] }, { kind: "component", type: i6.DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: i6.DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "component", type: i1.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "display", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection"] }, { kind: "component", type: i1.SearchFormComponent, selector: "adf-search-form", outputs: ["formChange"] }, { kind: "component", type: i1.SearchFilterChipsComponent, selector: "adf-search-filter-chips", inputs: ["showContextFacets"] }, { kind: "directive", type: i1.ResetSearchDirective, selector: "[adf-reset-search]" }, { kind: "component", type: i1.BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: i4.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i4.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "directive", type: i13.DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: i4.PaginationDirective, selector: "[acaPagination]" }, { kind: "directive", type: i4.ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable"], exportAs: ["acaContextActions"] }, { kind: "component", type: i4.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i4.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i4.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: i14.ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: ["context"] }, { kind: "component", type: i15.SearchResultsRowComponent, selector: "aca-search-results-row", inputs: ["context"] }, { kind: "component", type: i16.SearchActionMenuComponent, selector: "aca-search-action-menu", outputs: ["sortingSelected"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
213
+ SearchResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SearchResultsComponent, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.SEARCH.TITLE\"> </adf-breadcrumb>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ViewerToolbarComponent, selector: "adf-viewer-toolbar" }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: i6.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "directive", type: i6.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: i6.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey"] }, { kind: "component", type: i6.DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: i6.DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "component", type: i1.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "display", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection"] }, { kind: "component", type: i1.SearchFormComponent, selector: "adf-search-form", outputs: ["formChange"] }, { kind: "component", type: i1.SearchFilterChipsComponent, selector: "adf-search-filter-chips", inputs: ["showContextFacets"] }, { kind: "directive", type: i1.ResetSearchDirective, selector: "[adf-reset-search]" }, { kind: "component", type: i1.BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: i1.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: i4.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i4.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "directive", type: i13.DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: i4.PaginationDirective, selector: "[acaPagination]" }, { kind: "directive", type: i4.ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable"], exportAs: ["acaContextActions"] }, { kind: "component", type: i4.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i4.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i4.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: i14.ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: ["context"] }, { kind: "component", type: i15.SearchResultsRowComponent, selector: "aca-search-results-row", inputs: ["context"] }, { kind: "component", type: i16.SearchActionMenuComponent, selector: "aca-search-action-menu", outputs: ["sortingSelected"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
214
214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SearchResultsComponent, decorators: [{
215
215
  type: Component,
216
- args: [{ selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.SEARCH.TITLE\"> </adf-breadcrumb>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"] }]
216
+ args: [{ selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.SEARCH.TITLE\"> </adf-breadcrumb>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"] }]
217
217
  }], ctorParameters: function () { return [{ type: i1.SearchQueryBuilderService }, { type: i2.ActivatedRoute }, { type: i3.Store }, { type: i4.AppExtensionService }, { type: i5.ContentManagementService }, { type: i6.TranslationService }, { type: i2.Router }, { type: i7.BreakpointObserver }]; } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDcEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JB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QUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBRSxLQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBK0I7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7O21IQWhOVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpRkN0RG5DLHVuTUFxSUE7MkZEL0VhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBRWYsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFsTm9kZUVudGl0eSwgUGFnaW5hdGlvbiwgUmVzdWx0U2V0UGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEFwcFN0b3JlLFxuICBpbmZvRHJhd2VyUHJldmlldyxcbiAgTmF2aWdhdGVUb0ZvbGRlcixcbiAgU2V0SW5mb0RyYXdlclByZXZpZXdTdGF0ZUFjdGlvbixcbiAgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uLFxuICBzaG93RmFjZXRGaWx0ZXIsXG4gIFNob3dJbmZvRHJhd2VyUHJldmlld0FjdGlvbixcbiAgU25hY2tiYXJFcnJvckFjdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb250ZW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSwgUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IFNlYXJjaFNvcnRpbmdEZWZpbml0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzL2xpYi9zZWFyY2gvbW9kZWxzL3NlYXJjaC1zb3J0aW5nLWRlZmluaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRzQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dGYWNldEZpbHRlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGluZm9EcmF3ZXJQcmV2aWV3JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBzZWFyY2hlZFdvcmQ6IHN0cmluZztcbiAgcXVlcnlQYXJhbU5hbWUgPSAncSc7XG4gIGRhdGE6IFJlc3VsdFNldFBhZ2luZztcbiAgc29ydGluZyA9IFsnbmFtZScsICdhc2MnXTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIGlzU21hbGxTY3JlZW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1ZXJ5QnVpbGRlcjogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIGV4dGVuc2lvbnM6IEFwcEV4dGVuc2lvblNlcnZpY2UsXG4gICAgY29udGVudDogQ29udGVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBleHRlbnNpb25zLCBjb250ZW50KTtcblxuICAgIHF1ZXJ5QnVpbGRlci5wYWdpbmcgPSB7XG4gICAgICBza2lwQ291bnQ6IDAsXG4gICAgICBtYXhJdGVtczogMjVcbiAgICB9O1xuXG4gICAgdGhpcy5zaG93RmFjZXRGaWx0ZXIkID0gc3RvcmUuc2VsZWN0KHNob3dGYWNldEZpbHRlcik7XG4gICAgdGhpcy5pbmZvRHJhd2VyUHJldmlldyQgPSBzdG9yZS5zZWxlY3QoaW5mb0RyYXdlclByZXZpZXcpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucm91dGUucGFyYW1zLCB0aGlzLnF1ZXJ5QnVpbGRlci5jb25maWdVcGRhdGVkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3BhcmFtcywgc2VhcmNoQ29uZmlnXSkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSh0aGlzLnF1ZXJ5UGFyYW1OYW1lKSA/IHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1OYW1lXSA6IG51bGw7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5mb3JtYXRTZWFyY2hRdWVyeSh0aGlzLnNlYXJjaGVkV29yZCwgc2VhcmNoQ29uZmlnWydhY2E6ZmllbGRzJ10pO1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51c2VyUXVlcnkgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldFBvcnRyYWl0LCBCcmVha3BvaW50cy5IYW5kc2V0TGFuZHNjYXBlXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTbWFsbFNjcmVlbiA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVzZXRUb0RlZmF1bHRzKCk7XG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5nZXRTb3J0aW5nKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZWQuc3Vic2NyaWJlKChxdWVyeSkgPT4ge1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLmdldFNvcnRpbmcoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIucGFnaW5nLnNraXBDb3VudCA9IDA7XG5cbiAgICAgICAgdGhpcy5vblNlYXJjaFJlc3VsdExvYWRlZChkYXRhKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5lcnJvci5zdWJzY3JpYmUoKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25TZWFyY2hFcnJvcihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucm91dGUpIHtcbiAgICAgIHRoaXMucm91dGUucGFyYW1zLmZvckVhY2goKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gcGFyYW1zLmhhc093blByb3BlcnR5KHRoaXMucXVlcnlQYXJhbU5hbWUpID8gcGFyYW1zW3RoaXMucXVlcnlQYXJhbU5hbWVdIDogbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoZWRXb3JkKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXNlclF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5uZXh0KHtcbiAgICAgICAgICAgIGxpc3Q6IHsgcGFnaW5hdGlvbjogeyB0b3RhbEl0ZW1zOiAwIH0sIGVudHJpZXM6IFtdIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hFcnJvcihlcnJvcjogeyBtZXNzYWdlOiBhbnkgfSkge1xuICAgIGNvbnN0IHsgc3RhdHVzQ29kZSB9ID0gSlNPTi5wYXJzZShlcnJvci5tZXNzYWdlKS5lcnJvcjtcblxuICAgIGNvbnN0IG1lc3NhZ2VLZXkgPSBgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLiR7c3RhdHVzQ29kZX1gO1xuICAgIGxldCB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChtZXNzYWdlS2V5KTtcblxuICAgIGlmICh0cmFuc2xhdGVkID09PSBtZXNzYWdlS2V5KSB7XG4gICAgICB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLkdFTkVSSUNgKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTbmFja2JhckVycm9yQWN0aW9uKHRyYW5zbGF0ZWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPcGVyYXRvcihpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dCA9IGlucHV0LnRyaW0oKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBvcGVyYXRvcnMgPSBbJ0FORCcsICdPUiddO1xuICAgICAgcmV0dXJuIG9wZXJhdG9ycy5pbmNsdWRlcyhpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGRzKGZpZWxkczogc3RyaW5nW10sIHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHByZWZpeCA9ICcnO1xuICAgIGxldCBzdWZmaXggPSAnKic7XG5cbiAgICBpZiAodGVybS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgIHByZWZpeCA9ICc9JztcbiAgICAgIHN1ZmZpeCA9ICcnO1xuICAgICAgdGVybSA9IHRlcm0uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIHJldHVybiAnKCcgKyBmaWVsZHMubWFwKChmaWVsZCkgPT4gYCR7cHJlZml4fSR7ZmllbGR9OlwiJHt0ZXJtfSR7c3VmZml4fVwiYCkuam9pbignIE9SICcpICsgJyknO1xuICB9XG5cbiAgZm9ybWF0U2VhcmNoUXVlcnkodXNlcklucHV0OiBzdHJpbmcsIGZpZWxkcyA9IFsnY206bmFtZSddKSB7XG4gICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICgvXmh0dHBbc10/OlxcL1xcLy8udGVzdCh1c2VySW5wdXQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICAgIH1cblxuICAgIHVzZXJJbnB1dCA9IHVzZXJJbnB1dC50cmltKCk7XG5cbiAgICBpZiAodXNlcklucHV0LmluY2x1ZGVzKCc6JykgfHwgdXNlcklucHV0LmluY2x1ZGVzKCdcIicpKSB7XG4gICAgICByZXR1cm4gdXNlcklucHV0O1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmRzID0gdXNlcklucHV0LnNwbGl0KCcgJyk7XG5cbiAgICBpZiAod29yZHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gd29yZHMuc29tZSh0aGlzLmlzT3BlcmF0b3IpID8gJyAnIDogJyBBTkQgJztcblxuICAgICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5tYXAoKHRlcm0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc09wZXJhdG9yKHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGVybTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB0ZXJtKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICB9XG5cbiAgb25TZWFyY2hSZXN1bHRMb2FkZWQobm9kZVBhZ2luZzogUmVzdWx0U2V0UGFnaW5nKSB7XG4gICAgdGhpcy5kYXRhID0gbm9kZVBhZ2luZztcbiAgfVxuXG4gIG9uUGFnaW5hdGlvbkNoYW5nZWQocGFnaW5hdGlvbjogUGFnaW5hdGlvbikge1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnBhZ2luZyA9IHtcbiAgICAgIG1heEl0ZW1zOiBwYWdpbmF0aW9uLm1heEl0ZW1zLFxuICAgICAgc2tpcENvdW50OiBwYWdpbmF0aW9uLnNraXBDb3VudFxuICAgIH07XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRpbmcoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHByaW1hcnkgPSB0aGlzLnF1ZXJ5QnVpbGRlci5nZXRQcmltYXJ5U29ydGluZygpO1xuXG4gICAgaWYgKHByaW1hcnkpIHtcbiAgICAgIHJldHVybiBbcHJpbWFyeS5rZXksIHByaW1hcnkuYXNjZW5kaW5nID8gJ2FzYycgOiAnZGVzYyddO1xuICAgIH1cblxuICAgIHJldHVybiBbJ25hbWUnLCAnYXNjJ107XG4gIH1cblxuICBvbk5vZGVEb3VibGVDbGljayhub2RlOiBNaW5pbWFsTm9kZUVudGl0eSkge1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkpIHtcbiAgICAgIGlmIChub2RlLmVudHJ5LmlzRm9sZGVyKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlVG9Gb2xkZXIobm9kZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2hvd1ByZXZpZXcobm9kZSwgeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU5vZGVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLm9uTm9kZURvdWJsZUNsaWNrKChldmVudCBhcyBDdXN0b21FdmVudCkuZGV0YWlsPy5ub2RlKTtcbiAgfVxuXG4gIG9uUHJldmlld0Nsb3NlZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTaG93SW5mb0RyYXdlclByZXZpZXdBY3Rpb24oKSk7XG4gIH1cblxuICBvbkRyYXdlckNsb3NlZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRJbmZvRHJhd2VyUHJldmlld1N0YXRlQWN0aW9uKGZhbHNlKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uKGZhbHNlKSk7XG4gIH1cblxuICBvblNlYXJjaFNvcnRpbmdVcGRhdGUob3B0aW9uOiBTZWFyY2hTb3J0aW5nRGVmaW5pdGlvbikge1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnNvcnRpbmcgPSBbeyAuLi5vcHRpb24sIGFzY2VuZGluZzogb3B0aW9uLmFzY2VuZGluZyB9XTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cbiAgPGFjYS1wYWdlLWxheW91dC1oZWFkZXI+XG4gICAgPGFkZi1icmVhZGNydW1iIHJvb3Q9XCJBUFAuQlJPV1NFLlNFQVJDSC5USVRMRVwiPiA8L2FkZi1icmVhZGNydW1iPlxuICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi10b29sYmFyLS1pbmxpbmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25JZFwiPlxuICAgICAgICA8YWNhLXRvb2xiYXItYWN0aW9uIFthY3Rpb25SZWZdPVwiZW50cnlcIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXRvb2xiYXI+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cblxuICA8YWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzX19jb250ZW50XCI+XG4gICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPiA8L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c19fY29udGVudC1oZWFkZXIgY29udGVudFwiPlxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZm9ybSBjbGFzcz1cImNvbnRlbnRfX3NpZGUtLWxlZnRcIj48L2FkZi1zZWFyY2gtZm9ybT5cblxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJjb250ZW50X19kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZmlsdGVyLWNoaXBzIGNsYXNzPVwiY29udGVudF9fZmlsdGVyXCI+PC9hZGYtc2VhcmNoLWZpbHRlci1jaGlwcz5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgIGFkZi1yZXNldC1zZWFyY2hcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50X19yZXNldC1hY3Rpb25cIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7J0FQUC5CUk9XU0UuU0VBUkNILlJFU0VUX0FDVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuQlJPV1NFLlNFQVJDSC5SRVNFVF9BQ1RJT04nIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+IHJlZnJlc2ggPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGFkZi1kb2N1bWVudC1saXN0XG4gICAgICAgICAgICAjZG9jdW1lbnRMaXN0XG4gICAgICAgICAgICBhY2FEb2N1bWVudExpc3RcbiAgICAgICAgICAgIGFjYUNvbnRleHRBY3Rpb25zXG4gICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgICAgICAgIFtzb3J0aW5nTW9kZV09XCInc2VydmVyJ1wiXG4gICAgICAgICAgICBbc29ydGluZ109XCJzb3J0aW5nXCJcbiAgICAgICAgICAgIFtpbWFnZVJlc29sdmVyXT1cImltYWdlUmVzb2x2ZXJcIlxuICAgICAgICAgICAgW25vZGVdPVwiJGFueShkYXRhKVwiXG4gICAgICAgICAgICAobm9kZS1kYmxjbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cIiR0aHVtYm5haWxcIiB0eXBlPVwiaW1hZ2VcIiBbc3ItdGl0bGVdPVwiJ0FERi1ET0NVTUVOVC1MSVNULkxBWU9VVC5USFVNQk5BSUwnXCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPGFjYS1jdXN0b20tdGh1bWJuYWlsLWNvbHVtbiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2EtY3VzdG9tLXRodW1ibmFpbC1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxhZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1hY3Rpb24tbWVudSAoc29ydGluZ1NlbGVjdGVkKT1cIm9uU2VhcmNoU29ydGluZ1VwZGF0ZSgkZXZlbnQpXCI+PC9hY2Etc2VhcmNoLWFjdGlvbi1tZW51PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2FkZi1kYXRhLWNvbHVtbi1oZWFkZXI+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleSB0eXBlPVwidGV4dFwiICBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01XCIgdGl0bGU9XCJBUFAuRE9DVU1FTlRfTElTVC5DT0xVTU5TLk5BTUVcIiBbc29ydGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1yZXN1bHRzLXJvdyBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2Etc2VhcmNoLXJlc3VsdHMtcm93PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cInByb3BlcnRpZXNcIiAgdGl0bGU9XCJEZXNjcmlwdGlvblwiIGNsYXNzPVwiYWRmLWV4cGFuZC1jZWxsLTNcIiBbc29ydGFibGVdPVwiZmFsc2VcIiAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWUgYWRmLWVsbGlwc2lzLWNlbGxcIj5cbiAgICAgICAgICAgICAgICAgIHt7Y29udGV4dC5yb3c/Lm5vZGU/LmVudHJ5Py5wcm9wZXJ0aWVzICYmIGNvbnRleHQucm93Py5ub2RlPy5lbnRyeT8ucHJvcGVydGllc1snY206ZGVzY3JpcHRpb24nXX19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cblxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiY29udGVudC5zaXplSW5CeXRlc1wiIHR5cGU9XCJmaWxlU2l6ZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5TSVpFXCIgY2xhc3M9XCJhZGYtbm8tZ3Jvdy1jZWxsIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEF0XCIgdHlwZT1cImRhdGVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuTU9ESUZJRURfT05cIiBjbGFzcz1cImFkZi1uby1ncm93LWNlbGwgYWRmLWVsbGlwc2lzLWNlbGxcIiBmb3JtYXQ9XCJ0aW1lQWdvXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEJ5VXNlci5kaXNwbGF5TmFtZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5NT0RJRklFRF9CWVwiIGNsYXNzPVwiYWRmLW5vLWdyb3ctY2VsbCBhZGYtZWxsaXBzaXMtY2VsbFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiICpuZ0lmPVwiIWlzU21hbGxTY3JlZW5cIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG5cbiAgICAgICAgICAgIDxhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXNlYXJjaF9fYmxvY2tcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZW1wdHktc2VhcmNoX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdBUFAuQlJPV1NFLlNFQVJDSC5OT19SRVNVTFRTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgIDwvYWRmLWRvY3VtZW50LWxpc3Q+XG5cbiAgICAgICAgICA8YWRmLXBhZ2luYXRpb24gKm5nSWY9XCIhZG9jdW1lbnRMaXN0LmlzRW1wdHkoKVwiIGFjYVBhZ2luYXRpb24gW3RhcmdldF09XCJkb2N1bWVudExpc3RcIiAoY2hhbmdlKT1cIm9uUGFnaW5hdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvYWRmLXBhZ2luYXRpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIChpbmZvRHJhd2VyUHJldmlldyQgfCBhc3luYykgPT09IHRydWUgPyAnYWRmLXNlYXJjaC1yZXN1bHRzLS1yaWdodF9wYW5lbF9zZWN0aW9uLWV4dGVuZGVkJyA6ICdhZGYtc2VhcmNoLXJlc3VsdHMtLXJpZ2h0X3BhbmVsX3NlY3Rpb24nXG4gICAgICBcIlxuICAgICAgKm5nSWY9XCJpbmZvRHJhd2VyT3BlbmVkJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICA8YWRmLXZpZXdlclxuICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0cy0tZW1iZWRkZWRfdmlld2VyXCJcbiAgICAgICAgW25vZGVJZF09XCJzZWxlY3Rpb24ubGFzdC5lbnRyeS5pZFwiXG4gICAgICAgICpuZ0lmPVwiaW5mb0RyYXdlclByZXZpZXckIHwgYXN5bmM7IGVsc2UgaW5mb0RyYXdlclBhbmVsXCJcbiAgICAgID5cbiAgICAgICAgPGFkZi12aWV3ZXItdG9vbGJhcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzLS1wcmV2aWV3LXRvb2xiYXJcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwib25EcmF3ZXJDbG9zZWQoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLlBSRVZJRVcnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHMtLXZpc2liaWxpdHlfYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj52aXNpYmlsaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwib25QcmV2aWV3Q2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+aW5mb19vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hZGYtdmlld2VyLXRvb2xiYXI+XG4gICAgICA8L2FkZi12aWV3ZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZm9EcmF3ZXJQYW5lbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIj5cbiAgICAgICAgICA8YWNhLWluZm8tZHJhd2VyIFtub2RlXT1cInNlbGVjdGlvbi5sYXN0XCI+PC9hY2EtaW5mby1kcmF3ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9hY2EtcGFnZS1sYXlvdXQtY29udGVudD5cbjwvYWNhLXBhZ2UtbGF5b3V0PlxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDcEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JB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QUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBRSxLQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBK0I7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7O21IQWhOVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpRkN0RG5DLHlvTUFxSUE7MkZEL0VhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBRWYsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFsTm9kZUVudGl0eSwgUGFnaW5hdGlvbiwgUmVzdWx0U2V0UGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEFwcFN0b3JlLFxuICBpbmZvRHJhd2VyUHJldmlldyxcbiAgTmF2aWdhdGVUb0ZvbGRlcixcbiAgU2V0SW5mb0RyYXdlclByZXZpZXdTdGF0ZUFjdGlvbixcbiAgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uLFxuICBzaG93RmFjZXRGaWx0ZXIsXG4gIFNob3dJbmZvRHJhd2VyUHJldmlld0FjdGlvbixcbiAgU25hY2tiYXJFcnJvckFjdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb250ZW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSwgUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IFNlYXJjaFNvcnRpbmdEZWZpbml0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzL2xpYi9zZWFyY2gvbW9kZWxzL3NlYXJjaC1zb3J0aW5nLWRlZmluaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRzQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dGYWNldEZpbHRlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGluZm9EcmF3ZXJQcmV2aWV3JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBzZWFyY2hlZFdvcmQ6IHN0cmluZztcbiAgcXVlcnlQYXJhbU5hbWUgPSAncSc7XG4gIGRhdGE6IFJlc3VsdFNldFBhZ2luZztcbiAgc29ydGluZyA9IFsnbmFtZScsICdhc2MnXTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIGlzU21hbGxTY3JlZW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1ZXJ5QnVpbGRlcjogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIGV4dGVuc2lvbnM6IEFwcEV4dGVuc2lvblNlcnZpY2UsXG4gICAgY29udGVudDogQ29udGVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBleHRlbnNpb25zLCBjb250ZW50KTtcblxuICAgIHF1ZXJ5QnVpbGRlci5wYWdpbmcgPSB7XG4gICAgICBza2lwQ291bnQ6IDAsXG4gICAgICBtYXhJdGVtczogMjVcbiAgICB9O1xuXG4gICAgdGhpcy5zaG93RmFjZXRGaWx0ZXIkID0gc3RvcmUuc2VsZWN0KHNob3dGYWNldEZpbHRlcik7XG4gICAgdGhpcy5pbmZvRHJhd2VyUHJldmlldyQgPSBzdG9yZS5zZWxlY3QoaW5mb0RyYXdlclByZXZpZXcpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucm91dGUucGFyYW1zLCB0aGlzLnF1ZXJ5QnVpbGRlci5jb25maWdVcGRhdGVkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3BhcmFtcywgc2VhcmNoQ29uZmlnXSkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSh0aGlzLnF1ZXJ5UGFyYW1OYW1lKSA/IHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1OYW1lXSA6IG51bGw7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5mb3JtYXRTZWFyY2hRdWVyeSh0aGlzLnNlYXJjaGVkV29yZCwgc2VhcmNoQ29uZmlnWydhY2E6ZmllbGRzJ10pO1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51c2VyUXVlcnkgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldFBvcnRyYWl0LCBCcmVha3BvaW50cy5IYW5kc2V0TGFuZHNjYXBlXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTbWFsbFNjcmVlbiA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVzZXRUb0RlZmF1bHRzKCk7XG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5nZXRTb3J0aW5nKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZWQuc3Vic2NyaWJlKChxdWVyeSkgPT4ge1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLmdldFNvcnRpbmcoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIucGFnaW5nLnNraXBDb3VudCA9IDA7XG5cbiAgICAgICAgdGhpcy5vblNlYXJjaFJlc3VsdExvYWRlZChkYXRhKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5lcnJvci5zdWJzY3JpYmUoKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25TZWFyY2hFcnJvcihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucm91dGUpIHtcbiAgICAgIHRoaXMucm91dGUucGFyYW1zLmZvckVhY2goKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gcGFyYW1zLmhhc093blByb3BlcnR5KHRoaXMucXVlcnlQYXJhbU5hbWUpID8gcGFyYW1zW3RoaXMucXVlcnlQYXJhbU5hbWVdIDogbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoZWRXb3JkKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXNlclF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5uZXh0KHtcbiAgICAgICAgICAgIGxpc3Q6IHsgcGFnaW5hdGlvbjogeyB0b3RhbEl0ZW1zOiAwIH0sIGVudHJpZXM6IFtdIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hFcnJvcihlcnJvcjogeyBtZXNzYWdlOiBhbnkgfSkge1xuICAgIGNvbnN0IHsgc3RhdHVzQ29kZSB9ID0gSlNPTi5wYXJzZShlcnJvci5tZXNzYWdlKS5lcnJvcjtcblxuICAgIGNvbnN0IG1lc3NhZ2VLZXkgPSBgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLiR7c3RhdHVzQ29kZX1gO1xuICAgIGxldCB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChtZXNzYWdlS2V5KTtcblxuICAgIGlmICh0cmFuc2xhdGVkID09PSBtZXNzYWdlS2V5KSB7XG4gICAgICB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLkdFTkVSSUNgKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTbmFja2JhckVycm9yQWN0aW9uKHRyYW5zbGF0ZWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPcGVyYXRvcihpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dCA9IGlucHV0LnRyaW0oKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBvcGVyYXRvcnMgPSBbJ0FORCcsICdPUiddO1xuICAgICAgcmV0dXJuIG9wZXJhdG9ycy5pbmNsdWRlcyhpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGRzKGZpZWxkczogc3RyaW5nW10sIHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHByZWZpeCA9ICcnO1xuICAgIGxldCBzdWZmaXggPSAnKic7XG5cbiAgICBpZiAodGVybS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgIHByZWZpeCA9ICc9JztcbiAgICAgIHN1ZmZpeCA9ICcnO1xuICAgICAgdGVybSA9IHRlcm0uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIHJldHVybiAnKCcgKyBmaWVsZHMubWFwKChmaWVsZCkgPT4gYCR7cHJlZml4fSR7ZmllbGR9OlwiJHt0ZXJtfSR7c3VmZml4fVwiYCkuam9pbignIE9SICcpICsgJyknO1xuICB9XG5cbiAgZm9ybWF0U2VhcmNoUXVlcnkodXNlcklucHV0OiBzdHJpbmcsIGZpZWxkcyA9IFsnY206bmFtZSddKSB7XG4gICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICgvXmh0dHBbc10/OlxcL1xcLy8udGVzdCh1c2VySW5wdXQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICAgIH1cblxuICAgIHVzZXJJbnB1dCA9IHVzZXJJbnB1dC50cmltKCk7XG5cbiAgICBpZiAodXNlcklucHV0LmluY2x1ZGVzKCc6JykgfHwgdXNlcklucHV0LmluY2x1ZGVzKCdcIicpKSB7XG4gICAgICByZXR1cm4gdXNlcklucHV0O1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmRzID0gdXNlcklucHV0LnNwbGl0KCcgJyk7XG5cbiAgICBpZiAod29yZHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gd29yZHMuc29tZSh0aGlzLmlzT3BlcmF0b3IpID8gJyAnIDogJyBBTkQgJztcblxuICAgICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5tYXAoKHRlcm0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc09wZXJhdG9yKHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGVybTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB0ZXJtKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICB9XG5cbiAgb25TZWFyY2hSZXN1bHRMb2FkZWQobm9kZVBhZ2luZzogUmVzdWx0U2V0UGFnaW5nKSB7XG4gICAgdGhpcy5kYXRhID0gbm9kZVBhZ2luZztcbiAgfVxuXG4gIG9uUGFnaW5hdGlvbkNoYW5nZWQocGFnaW5hdGlvbjogUGFnaW5hdGlvbikge1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnBhZ2luZyA9IHtcbiAgICAgIG1heEl0ZW1zOiBwYWdpbmF0aW9uLm1heEl0ZW1zLFxuICAgICAgc2tpcENvdW50OiBwYWdpbmF0aW9uLnNraXBDb3VudFxuICAgIH07XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRpbmcoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHByaW1hcnkgPSB0aGlzLnF1ZXJ5QnVpbGRlci5nZXRQcmltYXJ5U29ydGluZygpO1xuXG4gICAgaWYgKHByaW1hcnkpIHtcbiAgICAgIHJldHVybiBbcHJpbWFyeS5rZXksIHByaW1hcnkuYXNjZW5kaW5nID8gJ2FzYycgOiAnZGVzYyddO1xuICAgIH1cblxuICAgIHJldHVybiBbJ25hbWUnLCAnYXNjJ107XG4gIH1cblxuICBvbk5vZGVEb3VibGVDbGljayhub2RlOiBNaW5pbWFsTm9kZUVudGl0eSkge1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkpIHtcbiAgICAgIGlmIChub2RlLmVudHJ5LmlzRm9sZGVyKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlVG9Gb2xkZXIobm9kZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2hvd1ByZXZpZXcobm9kZSwgeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU5vZGVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLm9uTm9kZURvdWJsZUNsaWNrKChldmVudCBhcyBDdXN0b21FdmVudCkuZGV0YWlsPy5ub2RlKTtcbiAgfVxuXG4gIG9uUHJldmlld0Nsb3NlZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTaG93SW5mb0RyYXdlclByZXZpZXdBY3Rpb24oKSk7XG4gIH1cblxuICBvbkRyYXdlckNsb3NlZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRJbmZvRHJhd2VyUHJldmlld1N0YXRlQWN0aW9uKGZhbHNlKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uKGZhbHNlKSk7XG4gIH1cblxuICBvblNlYXJjaFNvcnRpbmdVcGRhdGUob3B0aW9uOiBTZWFyY2hTb3J0aW5nRGVmaW5pdGlvbikge1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnNvcnRpbmcgPSBbeyAuLi5vcHRpb24sIGFzY2VuZGluZzogb3B0aW9uLmFzY2VuZGluZyB9XTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cbiAgPGFjYS1wYWdlLWxheW91dC1oZWFkZXI+XG4gICAgPGFkZi1icmVhZGNydW1iIHJvb3Q9XCJBUFAuQlJPV1NFLlNFQVJDSC5USVRMRVwiPiA8L2FkZi1icmVhZGNydW1iPlxuICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi10b29sYmFyLS1pbmxpbmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25JZFwiPlxuICAgICAgICA8YWNhLXRvb2xiYXItYWN0aW9uIFthY3Rpb25SZWZdPVwiZW50cnlcIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXRvb2xiYXI+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cblxuICA8YWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzX19jb250ZW50XCI+XG4gICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPiA8L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c19fY29udGVudC1oZWFkZXIgY29udGVudFwiPlxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZm9ybSBjbGFzcz1cImNvbnRlbnRfX3NpZGUtLWxlZnRcIj48L2FkZi1zZWFyY2gtZm9ybT5cblxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJjb250ZW50X19kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZmlsdGVyLWNoaXBzIGNsYXNzPVwiY29udGVudF9fZmlsdGVyXCI+PC9hZGYtc2VhcmNoLWZpbHRlci1jaGlwcz5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgIGFkZi1yZXNldC1zZWFyY2hcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50X19yZXNldC1hY3Rpb25cIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7J0FQUC5CUk9XU0UuU0VBUkNILlJFU0VUX0FDVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuQlJPV1NFLlNFQVJDSC5SRVNFVF9BQ1RJT04nIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+IHJlZnJlc2ggPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGFkZi1kb2N1bWVudC1saXN0XG4gICAgICAgICAgICAjZG9jdW1lbnRMaXN0XG4gICAgICAgICAgICBhY2FEb2N1bWVudExpc3RcbiAgICAgICAgICAgIGFjYUNvbnRleHRBY3Rpb25zXG4gICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgICAgICAgIFtzb3J0aW5nTW9kZV09XCInc2VydmVyJ1wiXG4gICAgICAgICAgICBbc29ydGluZ109XCJzb3J0aW5nXCJcbiAgICAgICAgICAgIFtpbWFnZVJlc29sdmVyXT1cImltYWdlUmVzb2x2ZXJcIlxuICAgICAgICAgICAgW25vZGVdPVwiJGFueShkYXRhKVwiXG4gICAgICAgICAgICAobm9kZS1kYmxjbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cIiR0aHVtYm5haWxcIiB0eXBlPVwiaW1hZ2VcIiBbc3ItdGl0bGVdPVwiJ0FERi1ET0NVTUVOVC1MSVNULkxBWU9VVC5USFVNQk5BSUwnXCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPGFjYS1jdXN0b20tdGh1bWJuYWlsLWNvbHVtbiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2EtY3VzdG9tLXRodW1ibmFpbC1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxhZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1hY3Rpb24tbWVudSAoc29ydGluZ1NlbGVjdGVkKT1cIm9uU2VhcmNoU29ydGluZ1VwZGF0ZSgkZXZlbnQpXCI+PC9hY2Etc2VhcmNoLWFjdGlvbi1tZW51PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2FkZi1kYXRhLWNvbHVtbi1oZWFkZXI+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleSB0eXBlPVwidGV4dFwiICBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01XCIgdGl0bGU9XCJBUFAuRE9DVU1FTlRfTElTVC5DT0xVTU5TLk5BTUVcIiBbc29ydGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1yZXN1bHRzLXJvdyBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2Etc2VhcmNoLXJlc3VsdHMtcm93PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cInByb3BlcnRpZXNcIiAgdGl0bGU9XCJEZXNjcmlwdGlvblwiIGNsYXNzPVwiYWRmLWV4cGFuZC1jZWxsLTNcIiBbc29ydGFibGVdPVwiZmFsc2VcIiAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWUgYWRmLWVsbGlwc2lzLWNlbGxcIj5cbiAgICAgICAgICAgICAgICAgIHt7Y29udGV4dC5yb3c/Lm5vZGU/LmVudHJ5Py5wcm9wZXJ0aWVzICYmIGNvbnRleHQucm93Py5ub2RlPy5lbnRyeT8ucHJvcGVydGllc1snY206ZGVzY3JpcHRpb24nXX19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cblxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiY29udGVudC5zaXplSW5CeXRlc1wiIHR5cGU9XCJmaWxlU2l6ZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5TSVpFXCIgY2xhc3M9XCJhZGYtbm8tZ3Jvdy1jZWxsIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEF0XCIgdHlwZT1cImRhdGVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuTU9ESUZJRURfT05cIiBjbGFzcz1cImFkZi1uby1ncm93LWNlbGwgYWRmLWVsbGlwc2lzLWNlbGxcIiBmb3JtYXQ9XCJ0aW1lQWdvXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEJ5VXNlci5kaXNwbGF5TmFtZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5NT0RJRklFRF9CWVwiIGNsYXNzPVwiYWRmLW5vLWdyb3ctY2VsbCBhZGYtZWxsaXBzaXMtY2VsbFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiICpuZ0lmPVwiIWlzU21hbGxTY3JlZW5cIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG5cbiAgICAgICAgICAgIDxhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXNlYXJjaF9fYmxvY2tcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZW1wdHktc2VhcmNoX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdBUFAuQlJPV1NFLlNFQVJDSC5OT19SRVNVTFRTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgIDwvYWRmLWRvY3VtZW50LWxpc3Q+XG5cbiAgICAgICAgICA8YWRmLXBhZ2luYXRpb24gKm5nSWY9XCIhZG9jdW1lbnRMaXN0LmlzRW1wdHkoKVwiIGFjYVBhZ2luYXRpb24gW3RhcmdldF09XCJkb2N1bWVudExpc3RcIiAoY2hhbmdlKT1cIm9uUGFnaW5hdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvYWRmLXBhZ2luYXRpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIChpbmZvRHJhd2VyUHJldmlldyQgfCBhc3luYykgPT09IHRydWUgPyAnYWRmLXNlYXJjaC1yZXN1bHRzLS1yaWdodF9wYW5lbF9zZWN0aW9uLWV4dGVuZGVkJyA6ICdhZGYtc2VhcmNoLXJlc3VsdHMtLXJpZ2h0X3BhbmVsX3NlY3Rpb24nXG4gICAgICBcIlxuICAgICAgKm5nSWY9XCJpbmZvRHJhd2VyT3BlbmVkJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICA8YWRmLWFsZnJlc2NvLXZpZXdlclxuICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0cy0tZW1iZWRkZWRfdmlld2VyXCJcbiAgICAgICAgW25vZGVJZF09XCJzZWxlY3Rpb24ubGFzdC5lbnRyeS5pZFwiXG4gICAgICAgICpuZ0lmPVwiaW5mb0RyYXdlclByZXZpZXckIHwgYXN5bmM7IGVsc2UgaW5mb0RyYXdlclBhbmVsXCJcbiAgICAgID5cbiAgICAgICAgPGFkZi12aWV3ZXItdG9vbGJhcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzLS1wcmV2aWV3LXRvb2xiYXJcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwib25EcmF3ZXJDbG9zZWQoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLlBSRVZJRVcnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHMtLXZpc2liaWxpdHlfYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj52aXNpYmlsaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwib25QcmV2aWV3Q2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+aW5mb19vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hZGYtdmlld2VyLXRvb2xiYXI+XG4gICAgICA8L2FkZi1hbGZyZXNjby12aWV3ZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZm9EcmF3ZXJQYW5lbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIj5cbiAgICAgICAgICA8YWNhLWluZm8tZHJhd2VyIFtub2RlXT1cInNlbGVjdGlvbi5sYXN0XCI+PC9hY2EtaW5mby1kcmF3ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9hY2EtcGFnZS1sYXlvdXQtY29udGVudD5cbjwvYWNhLXBhZ2UtbGF5b3V0PlxuIl19
@@ -37,6 +37,7 @@ import * as i2 from "@ngrx/store";
37
37
  import * as i3 from "@alfresco/aca-shared";
38
38
  import * as i4 from "@alfresco/adf-core";
39
39
  import * as i5 from "@angular/common";
40
+ import * as i6 from "@alfresco/adf-content-services";
40
41
  export class SharedLinkViewComponent {
41
42
  constructor(route, store, extensions, alfrescoApiService) {
42
43
  this.route = route;
@@ -73,9 +74,9 @@ export class SharedLinkViewComponent {
73
74
  }
74
75
  }
75
76
  SharedLinkViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SharedLinkViewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.Store }, { token: i3.AppExtensionService }, { token: i4.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Component });
76
- SharedLinkViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SharedLinkViewComponent, selector: "app-shared-link-view", host: { classAttribute: "app-shared-link-view" }, ngImport: i0, template: "<ng-container *ngIf=\"sharedLinkId\">\n <adf-viewer [allowPrint]=\"false\" [allowDownload]=\"false\" [allowFullScreen]=\"false\" [sharedLinkId]=\"sharedLinkId\" [allowGoBack]=\"false\">\n <adf-viewer-toolbar-actions>\n <ng-container *ngFor=\"let action of viewerToolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\n </adf-viewer-toolbar-actions>\n </adf-viewer>\n</ng-container>\n", styles: [".app-shared-link-view{width:100%;height:100%}.app-shared-link-view .adf-viewer-toolbar .adf-toolbar-divider{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "urlFileViewer", "blobFile", "nodeId", "versionId", "sharedLinkId", "overlayMode", "showViewer", "showToolbar", "displayName", "allowGoBack", "allowDownload", "allowPrint", "allowFullScreen", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "allowThumbnails", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "thumbnailsTemplate", "mimeType", "fileName", "maxRetries"], outputs: ["goBack", "print", "showViewerChange", "extensionChange", "navigateBefore", "navigateNext", "invalidSharedLink"] }, { kind: "component", type: i4.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: i3.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }], encapsulation: i0.ViewEncapsulation.None });
77
+ SharedLinkViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: SharedLinkViewComponent, selector: "app-shared-link-view", host: { classAttribute: "app-shared-link-view" }, ngImport: i0, template: "<ng-container *ngIf=\"sharedLinkId\">\n <adf-alfresco-viewer [allowPrint]=\"false\" [allowDownload]=\"false\" [allowFullScreen]=\"false\" [sharedLinkId]=\"sharedLinkId\" [allowGoBack]=\"false\">\n <adf-viewer-toolbar-actions>\n <ng-container *ngFor=\"let action of viewerToolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-shared-link-view{width:100%;height:100%}.app-shared-link-view .adf-viewer-toolbar .adf-toolbar-divider{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: i3.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "component", type: i6.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }], encapsulation: i0.ViewEncapsulation.None });
77
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SharedLinkViewComponent, decorators: [{
78
79
  type: Component,
79
- args: [{ selector: 'app-shared-link-view', encapsulation: ViewEncapsulation.None, host: { class: 'app-shared-link-view' }, template: "<ng-container *ngIf=\"sharedLinkId\">\n <adf-viewer [allowPrint]=\"false\" [allowDownload]=\"false\" [allowFullScreen]=\"false\" [sharedLinkId]=\"sharedLinkId\" [allowGoBack]=\"false\">\n <adf-viewer-toolbar-actions>\n <ng-container *ngFor=\"let action of viewerToolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\n </adf-viewer-toolbar-actions>\n </adf-viewer>\n</ng-container>\n", styles: [".app-shared-link-view{width:100%;height:100%}.app-shared-link-view .adf-viewer-toolbar .adf-toolbar-divider{display:none}\n"] }]
80
+ args: [{ selector: 'app-shared-link-view', encapsulation: ViewEncapsulation.None, host: { class: 'app-shared-link-view' }, template: "<ng-container *ngIf=\"sharedLinkId\">\n <adf-alfresco-viewer [allowPrint]=\"false\" [allowDownload]=\"false\" [allowFullScreen]=\"false\" [sharedLinkId]=\"sharedLinkId\" [allowGoBack]=\"false\">\n <adf-viewer-toolbar-actions>\n <ng-container *ngFor=\"let action of viewerToolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-shared-link-view{width:100%;height:100%}.app-shared-link-view .adf-viewer-toolbar .adf-toolbar-divider{display:none}\n"] }]
80
81
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.Store }, { type: i3.AppExtensionService }, { type: i4.AlfrescoApiService }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmstdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWxpbmstdmlldy9zaGFyZWQtbGluay12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtbGluay12aWV3L3NoYXJlZC1saW5rLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsT0FBTyxFQUFZLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUzNELE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFDVSxLQUFxQixFQUNyQixLQUFzQixFQUN0QixVQUErQixFQUMvQixrQkFBc0M7UUFIdEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVR4QyxlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFFOUQsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFDNUIseUJBQW9CLEdBQTRCLEVBQUUsQ0FBQztRQVFqRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO2FBQ2QsSUFBSSxDQUNILFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2xCLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzVILENBQ0Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQTRCLEVBQUUsRUFBRTtZQUNoRSxJQUFJLFdBQVcsRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsV0FBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2RTtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFVBQVU7YUFDWixpQ0FBaUMsRUFBRTthQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQXdCO1FBQ2pELE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDOztvSEE1Q1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsOEdDM0NwQyxvZUFTQTsyRkRrQ2EsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQXBwU3RvcmUsIFNldFNlbGVjdGVkTm9kZXNBY3Rpb24gfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29udGVudEFjdGlvblJlZiB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBTaGFyZWRMaW5rRW50cnksIFNoYXJlZGxpbmtzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1lcmdlTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2hhcmVkLWxpbmstdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZWQtbGluay12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NoYXJlZC1saW5rLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1zaGFyZWQtbGluay12aWV3JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZExpbmtWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIHNoYXJlZExpbmtzQXBpOiBTaGFyZWRsaW5rc0FwaTtcbiAgc2hhcmVkTGlua0lkOiBzdHJpbmcgPSBudWxsO1xuICB2aWV3ZXJUb29sYmFyQWN0aW9uczogQXJyYXk8Q29udGVudEFjdGlvblJlZj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxmcmVzY29BcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zaGFyZWRMaW5rc0FwaSA9IG5ldyBTaGFyZWRsaW5rc0FwaSh0aGlzLmFsZnJlc2NvQXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGUucGFyYW1zXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHBhcmFtcykgPT5cbiAgICAgICAgICBmb3JrSm9pbihbZnJvbSh0aGlzLnNoYXJlZExpbmtzQXBpLmdldFNoYXJlZExpbmsocGFyYW1zLmlkKSksIG9mKHBhcmFtcy5pZCldKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW251bGwsIHBhcmFtcy5pZF0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW3NoYXJlZEVudHJ5LCBzaGFyZWRJZF06IFtTaGFyZWRMaW5rRW50cnksIHN0cmluZ10pID0+IHtcbiAgICAgICAgaWYgKHNoYXJlZEVudHJ5KSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U2VsZWN0ZWROb2Rlc0FjdGlvbihbc2hhcmVkRW50cnkgYXMgYW55XSkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hhcmVkTGlua0lkID0gc2hhcmVkSWQ7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLmdldFNoYXJlZExpbmtWaWV3ZXJUb29sYmFyQWN0aW9ucygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy52aWV3ZXJUb29sYmFyQWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgdHJhY2tCeUFjdGlvbklkKF86IG51bWJlciwgYWN0aW9uOiBDb250ZW50QWN0aW9uUmVmKSB7XG4gICAgcmV0dXJuIGFjdGlvbi5pZDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNoYXJlZExpbmtJZFwiPlxuICA8YWRmLXZpZXdlciBbYWxsb3dQcmludF09XCJmYWxzZVwiIFthbGxvd0Rvd25sb2FkXT1cImZhbHNlXCIgW2FsbG93RnVsbFNjcmVlbl09XCJmYWxzZVwiIFtzaGFyZWRMaW5rSWRdPVwic2hhcmVkTGlua0lkXCIgW2FsbG93R29CYWNrXT1cImZhbHNlXCI+XG4gICAgPGFkZi12aWV3ZXItdG9vbGJhci1hY3Rpb25zPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHZpZXdlclRvb2xiYXJBY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFjYS10b29sYmFyLWFjdGlvbiBbYWN0aW9uUmVmXT1cImFjdGlvblwiPjwvYWNhLXRvb2xiYXItYWN0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hZGYtdmlld2VyLXRvb2xiYXItYWN0aW9ucz5cbiAgPC9hZGYtdmlld2VyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmstdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWxpbmstdmlldy9zaGFyZWQtbGluay12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtbGluay12aWV3L3NoYXJlZC1saW5rLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsT0FBTyxFQUFZLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVMzRCxNQUFNLE9BQU8sdUJBQXVCO0lBTWxDLFlBQ1UsS0FBcUIsRUFDckIsS0FBc0IsRUFDdEIsVUFBK0IsRUFDL0Isa0JBQXNDO1FBSHRDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFUeEMsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTlELGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBQzVCLHlCQUFvQixHQUE0QixFQUFFLENBQUM7UUFRakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTthQUNkLElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1SCxDQUNGO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUE0QixFQUFFLEVBQUU7WUFDaEUsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLFdBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkU7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxVQUFVO2FBQ1osaUNBQWlDLEVBQUU7YUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVMsRUFBRSxNQUF3QjtRQUNqRCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7b0hBNUNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhHQzNDcEMsc2ZBU0E7MkZEa0NhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFwcFN0b3JlLCBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbnRlbnRBY3Rpb25SZWYgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU2hhcmVkTGlua0VudHJ5LCBTaGFyZWRsaW5rc0FwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtZXJnZU1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNoYXJlZC1saW5rLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hhcmVkLWxpbmstdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzaGFyZWQtbGluay12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtc2hhcmVkLWxpbmstdmlldycgfVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRMaW5rVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBzaGFyZWRMaW5rc0FwaTogU2hhcmVkbGlua3NBcGk7XG4gIHNoYXJlZExpbmtJZDogc3RyaW5nID0gbnVsbDtcbiAgdmlld2VyVG9vbGJhckFjdGlvbnM6IEFycmF5PENvbnRlbnRBY3Rpb25SZWY+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIHByaXZhdGUgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2hhcmVkTGlua3NBcGkgPSBuZXcgU2hhcmVkbGlua3NBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtc1xuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChwYXJhbXMpID0+XG4gICAgICAgICAgZm9ya0pvaW4oW2Zyb20odGhpcy5zaGFyZWRMaW5rc0FwaS5nZXRTaGFyZWRMaW5rKHBhcmFtcy5pZCkpLCBvZihwYXJhbXMuaWQpXSkucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKFtudWxsLCBwYXJhbXMuaWRdKSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtzaGFyZWRFbnRyeSwgc2hhcmVkSWRdOiBbU2hhcmVkTGlua0VudHJ5LCBzdHJpbmddKSA9PiB7XG4gICAgICAgIGlmIChzaGFyZWRFbnRyeSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFNlbGVjdGVkTm9kZXNBY3Rpb24oW3NoYXJlZEVudHJ5IGFzIGFueV0pKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNoYXJlZExpbmtJZCA9IHNoYXJlZElkO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmV4dGVuc2lvbnNcbiAgICAgIC5nZXRTaGFyZWRMaW5rVmlld2VyVG9vbGJhckFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIHRoaXMudmlld2VyVG9vbGJhckFjdGlvbnMgPSBhY3Rpb25zO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25JZChfOiBudW1iZXIsIGFjdGlvbjogQ29udGVudEFjdGlvblJlZikge1xuICAgIHJldHVybiBhY3Rpb24uaWQ7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaGFyZWRMaW5rSWRcIj5cbiAgPGFkZi1hbGZyZXNjby12aWV3ZXIgW2FsbG93UHJpbnRdPVwiZmFsc2VcIiBbYWxsb3dEb3dubG9hZF09XCJmYWxzZVwiIFthbGxvd0Z1bGxTY3JlZW5dPVwiZmFsc2VcIiBbc2hhcmVkTGlua0lkXT1cInNoYXJlZExpbmtJZFwiIFthbGxvd0dvQmFja109XCJmYWxzZVwiPlxuICAgIDxhZGYtdmlld2VyLXRvb2xiYXItYWN0aW9ucz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB2aWV3ZXJUb29sYmFyQWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUFjdGlvbklkXCI+XG4gICAgICAgIDxhY2EtdG9vbGJhci1hY3Rpb24gW2FjdGlvblJlZl09XCJhY3Rpb25cIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXZpZXdlci10b29sYmFyLWFjdGlvbnM+XG4gIDwvYWRmLWFsZnJlc2NvLXZpZXdlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -31,6 +31,7 @@ import { AppCommonModule } from '../common/common.module';
31
31
  import { AppToolbarModule } from '../toolbar/toolbar.module';
32
32
  import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
33
33
  import { CoreExtensionsModule } from '../../extensions/core.extensions.module';
34
+ import { ContentModule } from '@alfresco/adf-content-services';
34
35
  import * as i0 from "@angular/core";
35
36
  import * as i1 from "@alfresco/adf-core";
36
37
  import * as i2 from "../../extensions/core.extensions.module";
@@ -39,14 +40,16 @@ export class AppSharedLinkViewModule {
39
40
  AppSharedLinkViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSharedLinkViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
41
  AppSharedLinkViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppSharedLinkViewModule, declarations: [SharedLinkViewComponent], imports: [CommonModule, i1.CoreModule, DirectivesModule,
41
42
  AppCommonModule,
42
- AppToolbarModule, i2.CoreExtensionsModule, AppInfoDrawerModule], exports: [SharedLinkViewComponent] });
43
+ AppToolbarModule, i2.CoreExtensionsModule, AppInfoDrawerModule,
44
+ ContentModule], exports: [SharedLinkViewComponent] });
43
45
  AppSharedLinkViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSharedLinkViewModule, imports: [CommonModule,
44
46
  CoreModule.forChild(),
45
47
  DirectivesModule,
46
48
  AppCommonModule,
47
49
  AppToolbarModule,
48
50
  CoreExtensionsModule.forChild(),
49
- AppInfoDrawerModule] });
51
+ AppInfoDrawerModule,
52
+ ContentModule] });
50
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppSharedLinkViewModule, decorators: [{
51
54
  type: NgModule,
52
55
  args: [{
@@ -57,10 +60,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
57
60
  AppCommonModule,
58
61
  AppToolbarModule,
59
62
  CoreExtensionsModule.forChild(),
60
- AppInfoDrawerModule
63
+ AppInfoDrawerModule,
64
+ ContentModule
61
65
  ],
62
66
  declarations: [SharedLinkViewComponent],
63
67
  exports: [SharedLinkViewComponent]
64
68
  }]
65
69
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmstdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWxpbmstdmlldy9zaGFyZWQtbGluay12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7O0FBZS9FLE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixpQkFIbkIsdUJBQXVCLGFBUnBDLFlBQVksaUJBRVosZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixnQkFBZ0IsMkJBRWhCLG1CQUFtQixhQUdYLHVCQUF1QjtxSEFFdEIsdUJBQXVCLFlBWGhDLFlBQVk7UUFDWixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ3JCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtRQUMvQixtQkFBbUI7MkZBS1YsdUJBQXVCO2tCQWJuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG9CQUFvQixDQUFDLFFBQVEsRUFBRTt3QkFDL0IsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDA1IC0gMjAyMCBBbGZyZXNjbyBTb2Z0d2FyZSBMaW1pdGVkXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWxmcmVzY28uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkTGlua1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC1saW5rLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7IEFwcENvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEFwcFRvb2xiYXJNb2R1bGUgfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IEFwcEluZm9EcmF3ZXJNb2R1bGUgfSBmcm9tICcuLi9pbmZvLWRyYXdlci9pbmZvLmRyYXdlci5tb2R1bGUnO1xuaW1wb3J0IHsgQ29yZUV4dGVuc2lvbnNNb2R1bGUgfSBmcm9tICcuLi8uLi9leHRlbnNpb25zL2NvcmUuZXh0ZW5zaW9ucy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvcmVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxuICAgIEFwcENvbW1vbk1vZHVsZSxcbiAgICBBcHBUb29sYmFyTW9kdWxlLFxuICAgIENvcmVFeHRlbnNpb25zTW9kdWxlLmZvckNoaWxkKCksXG4gICAgQXBwSW5mb0RyYXdlck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTaGFyZWRMaW5rVmlld0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTaGFyZWRMaW5rVmlld0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwU2hhcmVkTGlua1ZpZXdNb2R1bGUge31cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmstdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWxpbmstdmlldy9zaGFyZWQtbGluay12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQWdCL0QsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQUhuQix1QkFBdUIsYUFUcEMsWUFBWSxpQkFFWixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGdCQUFnQiwyQkFFaEIsbUJBQW1CO1FBQ25CLGFBQWEsYUFHTCx1QkFBdUI7cUhBRXRCLHVCQUF1QixZQVpoQyxZQUFZO1FBQ1osVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNyQixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUU7UUFDL0IsbUJBQW1CO1FBQ25CLGFBQWE7MkZBS0osdUJBQXVCO2tCQWRuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG9CQUFvQixDQUFDLFFBQVEsRUFBRTt3QkFDL0IsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkO29CQUNELFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRMaW5rVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkLWxpbmstdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQXBwQ29tbW9uTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXBwVG9vbGJhck1vZHVsZSB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgQXBwSW5mb0RyYXdlck1vZHVsZSB9IGZyb20gJy4uL2luZm8tZHJhd2VyL2luZm8uZHJhd2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBDb3JlRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJy4uLy4uL2V4dGVuc2lvbnMvY29yZS5leHRlbnNpb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBDb250ZW50TW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDb3JlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgRGlyZWN0aXZlc01vZHVsZSxcbiAgICBBcHBDb21tb25Nb2R1bGUsXG4gICAgQXBwVG9vbGJhck1vZHVsZSxcbiAgICBDb3JlRXh0ZW5zaW9uc01vZHVsZS5mb3JDaGlsZCgpLFxuICAgIEFwcEluZm9EcmF3ZXJNb2R1bGUsXG4gICAgQ29udGVudE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTaGFyZWRMaW5rVmlld0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTaGFyZWRMaW5rVmlld0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwU2hhcmVkTGlua1ZpZXdNb2R1bGUge31cbiJdfQ==