@arsedizioni/ars-utils 18.4.53 → 18.4.55

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.
@@ -97,7 +97,7 @@ export class ClipperSearchResultItemComponent {
97
97
  }
98
98
  ;
99
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ClipperSearchResultItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ClipperSearchResultItemComponent, isStandalone: true, selector: "clipper-search-result-item", inputs: { parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null }, tileNoPictureUrl: { classPropertyName: "tileNoPictureUrl", publicName: "tileNoPictureUrl", isSignal: true, isRequired: false, transformFunction: null }, tilePictureUrl: { classPropertyName: "tilePictureUrl", publicName: "tilePictureUrl", isSignal: true, isRequired: false, transformFunction: null }, isSelectable: { classPropertyName: "isSelectable", publicName: "isSelectable", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isReadableModel: { classPropertyName: "isReadableModel", publicName: "isReadableModel", isSignal: true, isRequired: false, transformFunction: null }, displayModelName: { classPropertyName: "displayModelName", publicName: "displayModelName", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contextMenuTrigger", first: true, predicate: ["contextMenuTrigger"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (displayMode() === displayModesEnum.List ) {\r\n <div class=\"item\" fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill\r\n [ngClass]=\"{'item-selected': isSelected() }\" (contextmenu)=\"onContextMenu($event, item())\"\r\n (mouseenter)=\"item().isOver = true\" (mouseleave)=\"item().isOver = false\">\r\n <div fxFlex=\"6px\" fxFlexAlign=\"stretch\" [ngClass]=\"parent().getItemStateCssClass(item())\"\r\n [matTooltip]=\"parent().getItemStateTooltip(item())\"><span></span>\r\n </div>\r\n <!-- <div [fxFlex]=\"isSelectable() ? '48px' : '18px'\" fxLayoutAlign=\"center\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n </div>-->\r\n <div fxFlex=\"*\">\r\n <div class=\"item-content\">\r\n @if (displayModelName() && item().modelName) {\r\n @if (item().origin === 'GC' || item().origin === 'GN') {\r\n <div class=\"info-2\">GIURISPRUDENZA</div>\r\n } @else {\r\n <div class=\"info-2\">{{item().modelName}}</div>\r\n }\r\n }\r\n\r\n @if (item().info && item().model === modelsEnum.Quesiti) {\r\n @if(item().info) {\r\n <div class=\"info-1\">{{item().info}}</div>\r\n }\r\n }@else if(item().model === modelsEnum.NormativaVigente ||\r\n item().model === modelsEnum.AggiornamentoNormativo ||\r\n item().model === modelsEnum.GiurisprudenzaRecente ||\r\n item().model === modelsEnum.Juris) {\r\n @if (item().author && (item().origin === 'LR' || item().origin === 'GC' || item().origin\r\n === 'GN')) {\r\n <div class=\"info-1\">{{item().author}}</div>\r\n }\r\n }@else if (item().date) {\r\n <div class=\"info-1\">{{item().date | format:'D':'d MMM yyyy'}}</div>\r\n }\r\n <div>\r\n <a class=\"link\" (click)=\"parent().open(item().documentId)\"\r\n [attr.aria-label]=\"'Apri documento ' + item().title1\">{{item().title1 ?? item().title2}}</a>\r\n @if (item().part > 0) {\r\n <span class=\"badge\">PARTE {{item().part}}</span>\r\n }\r\n @if (item().isCommented) {\r\n <span class=\"badge\">COMMENTATA</span>\r\n }\r\n @if (item().validityState > 0) {\r\n <span class=\"badge-red\">{{item().validityDescription}}</span>\r\n }\r\n </div>\r\n @if(item().description && item().model === modelsEnum.Coordinamento) {\r\n <div class=\"title\">{{item().description}}</div>\r\n }\r\n @if (item().title2 &&\r\n item().model !== modelsEnum.Coordinamento &&\r\n item().model !== modelsEnum.AllerteAlimentari &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni) {\r\n <div class=\"title\">{{item().title2}}</div>\r\n }\r\n @if (item().originDescription &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni ) {\r\n <div class=\"info-1\">\r\n {{item().originDescription}}</div>\r\n }\r\n @if (item().anchors.length > 0) {\r\n <div class=\"details\">\r\n <div>DETTAGLIO</div>\r\n <div class=\"links\">\r\n @for (a of item().anchors; track $index) {\r\n <span>\r\n @if (a.uri && a.text) {\r\n <a (click)=\"parent().open(a.documentId + '#' + a.uri)\" [matTooltip]=\"a.title\">{{a.text}} @if\r\n (a.veryRelevant) {\r\n <sup>\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n </sup>\r\n }</a>\r\n }\r\n @if (!a.uri && a.text) {\r\n <span>{{a.text}}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().taxonomy?.length > 0) {\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n @for (n of item().taxonomy?.split('\\r\\n'); track $index) {\r\n <div class=\"link\">\r\n {{n}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().model === modelsEnum.News ||\r\n item().model === modelsEnum.Articoli ||\r\n item().model === modelsEnum.Juris) {\r\n @if (!displayModelName() && item().modelName ) {\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n }\r\n @if (item().info){\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n <div>{{item().info}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Coordinamento) {\r\n @if (item().title2) {\r\n <div class=\"details\">\r\n <div>TITOLO DOCUMENTO MODIFICATO</div>\r\n <div class=\"links\">\r\n <div>{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n @if (item().expiringDescription) {\r\n <div class=\"details\">\r\n <div>PROSSIMA SCADENZA</div>\r\n <div class=\"links\">\r\n <div>{{item().expiringDescription}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex=\"1px\" fxLayoutAlign=\"end\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n @if (item().isOver || item().isMenuOpen) {\r\n @if (canBeRead())\r\n {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Segna come gi\u00E0 letta\" [attr.aria-label]=\"'Segna come gi\u00E0 letta'\"\r\n (click)=\"parent().toggleRead(item(), $event)\">\r\n <mat-icon>flag</mat-icon>\r\n </button>\r\n }\r\n @if(item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Aggiungi al tuo calendario\"\r\n [attr.aria-label]=\"'Aggiungi al tuo calendario'\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\" [attr.aria-label]=\"'Menu opzioni'\"\r\n [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\" (click)=\"item().isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"tile\" (contextmenu)=\"onContextMenu($event, item())\" (mouseenter)=\"item().isOver = true\"\r\n (mouseleave)=\"item().isOver = false\" [ngClass]=\"{'item-selected': isSelected(), \r\n 'item-unread': isRead()}\" (click)=\"parent().open(item().documentId)\">\r\n <div class=\"image-mark\" [ngClass]=\"{'image-mark-unread': !isRead()}\"></div>\r\n <div class=\"image\">\r\n @if (canBeRead() || isSelectable()) {\r\n <div class=\"buttons\">\r\n @if (canBeRead() && item().isOver === true) {\r\n <button mat-icon-button class=\"read\" matTooltip=\"Segna come gi\u00E0 letto\"\r\n (click)=\"parent().toggleRead(item(), $event)\"><mat-icon>flag</mat-icon></button>\r\n }\r\n @if (isSelectable() && (isSelected() || item().isOver === true)) {\r\n <button mat-icon-button class=\"check\" [ngClass]=\"{'check-selected': isSelected()}\"\r\n matTooltip=\"Seleziona/Deseleziona\"\r\n (click)=\"parent().toggleSelection(item(), $event)\"><mat-icon>check</mat-icon></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n @if (item().info) {\r\n <div class=\"info-2\">{{item().info}}</div>\r\n }\r\n @if (item().pictureId && tilePictureUrl()) {\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tilePictureUrl() + '?id=' + item().pictureId\" [alt]=\"item().title2\" />\r\n } @else if (tileNoPictureUrl()) {\r\n <picture>\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tileNoPictureUrl()\"\r\n [alt]=\"item().title2 || 'immagine non trovata'\" />\r\n </picture>\r\n }\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"date\">\r\n <span class=\"date-day\" [ngClass]=\"{'unread': !item().isRead}\">{{item().date | format:'D':'d\r\n MMMM'}}</span>\r\n <span class=\"date-divider\"></span>\r\n <span>{{item().date| format:'D':'yyyy'}}</span>\r\n </div>\r\n <div class=\"title\">{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n<div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\">\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:5px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .image{height:150px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .time{font-size:small!important;font-weight:700!important}.tile .title{text-decoration:none!important;font-size:15px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: FormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ClipperSearchResultItemComponent, isStandalone: true, selector: "clipper-search-result-item", inputs: { parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null }, tileNoPictureUrl: { classPropertyName: "tileNoPictureUrl", publicName: "tileNoPictureUrl", isSignal: true, isRequired: false, transformFunction: null }, tilePictureUrl: { classPropertyName: "tilePictureUrl", publicName: "tilePictureUrl", isSignal: true, isRequired: false, transformFunction: null }, isSelectable: { classPropertyName: "isSelectable", publicName: "isSelectable", isSignal: true, isRequired: false, transformFunction: null }, isReadable: { classPropertyName: "isReadable", publicName: "isReadable", isSignal: true, isRequired: false, transformFunction: null }, isReadableModel: { classPropertyName: "isReadableModel", publicName: "isReadableModel", isSignal: true, isRequired: false, transformFunction: null }, displayModelName: { classPropertyName: "displayModelName", publicName: "displayModelName", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contextMenuTrigger", first: true, predicate: ["contextMenuTrigger"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (displayMode() === displayModesEnum.List ) {\r\n <div class=\"item\" fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill\r\n [ngClass]=\"{'item-selected': isSelected() }\" (contextmenu)=\"onContextMenu($event, item())\"\r\n (mouseenter)=\"item().isOver = true\" (mouseleave)=\"item().isOver = false\">\r\n <div fxFlex=\"6px\" fxFlexAlign=\"stretch\" [ngClass]=\"parent().getItemStateCssClass(item())\"\r\n [matTooltip]=\"parent().getItemStateTooltip(item())\"><span></span>\r\n </div>\r\n <div [fxFlex]=\"isSelectable() ? '48px' : '16px'\" fxLayoutAlign=\"center\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\">\r\n <div class=\"item-content\">\r\n @if (displayModelName() && item().modelName) {\r\n @if (item().origin === 'GC' || item().origin === 'GN') {\r\n <div class=\"info-2\">GIURISPRUDENZA</div>\r\n } @else {\r\n <div class=\"info-2\">{{item().modelName}}</div>\r\n }\r\n }\r\n\r\n @if (item().info && item().model === modelsEnum.Quesiti) {\r\n @if(item().info) {\r\n <div class=\"info-1\">{{item().info}}</div>\r\n }\r\n }@else if(item().model === modelsEnum.NormativaVigente ||\r\n item().model === modelsEnum.AggiornamentoNormativo ||\r\n item().model === modelsEnum.GiurisprudenzaRecente ||\r\n item().model === modelsEnum.Juris) {\r\n @if (item().author && (item().origin === 'LR' || item().origin === 'GC' || item().origin\r\n === 'GN')) {\r\n <div class=\"info-1\">{{item().author}}</div>\r\n }\r\n }@else if (item().date) {\r\n <div class=\"info-1\">{{item().date | format:'D':'d MMM yyyy'}}</div>\r\n }\r\n <div>\r\n <a class=\"link\" (click)=\"parent().open(item().documentId)\"\r\n [attr.aria-label]=\"'Apri documento ' + item().title1\">{{item().title1 ?? item().title2}}</a>\r\n @if (item().part > 0) {\r\n <span class=\"badge\">PARTE {{item().part}}</span>\r\n }\r\n @if (item().isCommented) {\r\n <span class=\"badge\">COMMENTATA</span>\r\n }\r\n @if (item().validityState > 0) {\r\n <span class=\"badge-red\">{{item().validityDescription}}</span>\r\n }\r\n </div>\r\n @if(item().description && item().model === modelsEnum.Coordinamento) {\r\n <div class=\"title\">{{item().description}}</div>\r\n }\r\n @if (item().title2 &&\r\n item().model !== modelsEnum.Coordinamento &&\r\n item().model !== modelsEnum.AllerteAlimentari &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni) {\r\n <div class=\"title\">{{item().title2}}</div>\r\n }\r\n @if (item().originDescription &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni ) {\r\n <div class=\"info-1\">\r\n {{item().originDescription}}</div>\r\n }\r\n @if (item().anchors.length > 0) {\r\n <div class=\"details\">\r\n <div>DETTAGLIO</div>\r\n <div class=\"links\">\r\n @for (a of item().anchors; track $index) {\r\n <span>\r\n @if (a.uri && a.text) {\r\n <a (click)=\"parent().open(a.documentId + '#' + a.uri)\" [matTooltip]=\"a.title\">{{a.text}} @if\r\n (a.veryRelevant) {\r\n <sup>\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n </sup>\r\n }</a>\r\n }\r\n @if (!a.uri && a.text) {\r\n <span>{{a.text}}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().taxonomy?.length > 0) {\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n @for (n of item().taxonomy?.split('\\r\\n'); track $index) {\r\n <div class=\"link\">\r\n {{n}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().model === modelsEnum.News ||\r\n item().model === modelsEnum.Articoli ||\r\n item().model === modelsEnum.Juris) {\r\n @if (!displayModelName() && item().modelName ) {\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n }\r\n @if (item().info){\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n <div>{{item().info}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Coordinamento) {\r\n @if (item().title2) {\r\n <div class=\"details\">\r\n <div>TITOLO DOCUMENTO MODIFICATO</div>\r\n <div class=\"links\">\r\n <div>{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n @if (item().expiringDescription) {\r\n <div class=\"details\">\r\n <div>PROSSIMA SCADENZA</div>\r\n <div class=\"links\">\r\n <div>{{item().expiringDescription}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item().isOver || item().isMenuOpen) {\r\n @if (canBeRead())\r\n {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Segna come gi\u00E0 letta\" [attr.aria-label]=\"'Segna come gi\u00E0 letta'\"\r\n (click)=\"parent().toggleRead(item(), $event)\">\r\n <mat-icon>flag</mat-icon>\r\n </button>\r\n }\r\n @if(item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Aggiungi al tuo calendario\"\r\n [attr.aria-label]=\"'Aggiungi al tuo calendario'\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\" [attr.aria-label]=\"'Menu opzioni'\"\r\n [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\" (click)=\"item().isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"tile\" (contextmenu)=\"onContextMenu($event, item())\" (mouseenter)=\"item().isOver = true\"\r\n (mouseleave)=\"item().isOver = false\" [ngClass]=\"{'item-selected': isSelected(), \r\n 'item-unread': isRead()}\" (click)=\"parent().open(item().documentId)\">\r\n <div class=\"image-mark\" [ngClass]=\"{'image-mark-unread': !isRead()}\"></div>\r\n <div class=\"image\">\r\n @if (canBeRead() || isSelectable()) {\r\n <div class=\"buttons\">\r\n @if (canBeRead() && item().isOver === true) {\r\n <button mat-icon-button class=\"read\" matTooltip=\"Segna come gi\u00E0 letto\"\r\n (click)=\"parent().toggleRead(item(), $event)\"><mat-icon>flag</mat-icon></button>\r\n }\r\n @if (isSelectable() && (isSelected() || item().isOver === true)) {\r\n <button mat-icon-button class=\"check\" [ngClass]=\"{'check-selected': isSelected()}\"\r\n matTooltip=\"Seleziona/Deseleziona\"\r\n (click)=\"parent().toggleSelection(item(), $event)\"><mat-icon>check</mat-icon></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n @if (item().info) {\r\n <div class=\"info-2\">{{item().info}}</div>\r\n }\r\n @if (item().pictureId && tilePictureUrl()) {\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tilePictureUrl() + '?id=' + item().pictureId\" [alt]=\"item().title2\" />\r\n } @else if (tileNoPictureUrl()) {\r\n <picture>\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tileNoPictureUrl()\"\r\n [alt]=\"item().title2 || 'immagine non trovata'\" />\r\n </picture>\r\n }\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"date\">\r\n <span class=\"date-day\" [ngClass]=\"{'unread': !item().isRead}\">{{item().date | format:'D':'d\r\n MMMM'}}</span>\r\n <span class=\"date-divider\"></span>\r\n <span>{{item().date| format:'D':'yyyy'}}</span>\r\n </div>\r\n <div class=\"title\">{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n<div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\">\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 10px 10px 0;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:5px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .image{height:150px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .time{font-size:small!important;font-weight:700!important}.tile .title{text-decoration:none!important;font-size:15px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: FormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
101
  }
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ClipperSearchResultItemComponent, decorators: [{
103
103
  type: Component,
@@ -110,9 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
110
110
  MatMenuModule,
111
111
  FlexLayoutModule,
112
112
  FormatPipe
113
- ], template: "<div>\r\n @if (displayMode() === displayModesEnum.List ) {\r\n <div class=\"item\" fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill\r\n [ngClass]=\"{'item-selected': isSelected() }\" (contextmenu)=\"onContextMenu($event, item())\"\r\n (mouseenter)=\"item().isOver = true\" (mouseleave)=\"item().isOver = false\">\r\n <div fxFlex=\"6px\" fxFlexAlign=\"stretch\" [ngClass]=\"parent().getItemStateCssClass(item())\"\r\n [matTooltip]=\"parent().getItemStateTooltip(item())\"><span></span>\r\n </div>\r\n <!-- <div [fxFlex]=\"isSelectable() ? '48px' : '18px'\" fxLayoutAlign=\"center\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n </div>-->\r\n <div fxFlex=\"*\">\r\n <div class=\"item-content\">\r\n @if (displayModelName() && item().modelName) {\r\n @if (item().origin === 'GC' || item().origin === 'GN') {\r\n <div class=\"info-2\">GIURISPRUDENZA</div>\r\n } @else {\r\n <div class=\"info-2\">{{item().modelName}}</div>\r\n }\r\n }\r\n\r\n @if (item().info && item().model === modelsEnum.Quesiti) {\r\n @if(item().info) {\r\n <div class=\"info-1\">{{item().info}}</div>\r\n }\r\n }@else if(item().model === modelsEnum.NormativaVigente ||\r\n item().model === modelsEnum.AggiornamentoNormativo ||\r\n item().model === modelsEnum.GiurisprudenzaRecente ||\r\n item().model === modelsEnum.Juris) {\r\n @if (item().author && (item().origin === 'LR' || item().origin === 'GC' || item().origin\r\n === 'GN')) {\r\n <div class=\"info-1\">{{item().author}}</div>\r\n }\r\n }@else if (item().date) {\r\n <div class=\"info-1\">{{item().date | format:'D':'d MMM yyyy'}}</div>\r\n }\r\n <div>\r\n <a class=\"link\" (click)=\"parent().open(item().documentId)\"\r\n [attr.aria-label]=\"'Apri documento ' + item().title1\">{{item().title1 ?? item().title2}}</a>\r\n @if (item().part > 0) {\r\n <span class=\"badge\">PARTE {{item().part}}</span>\r\n }\r\n @if (item().isCommented) {\r\n <span class=\"badge\">COMMENTATA</span>\r\n }\r\n @if (item().validityState > 0) {\r\n <span class=\"badge-red\">{{item().validityDescription}}</span>\r\n }\r\n </div>\r\n @if(item().description && item().model === modelsEnum.Coordinamento) {\r\n <div class=\"title\">{{item().description}}</div>\r\n }\r\n @if (item().title2 &&\r\n item().model !== modelsEnum.Coordinamento &&\r\n item().model !== modelsEnum.AllerteAlimentari &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni) {\r\n <div class=\"title\">{{item().title2}}</div>\r\n }\r\n @if (item().originDescription &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni ) {\r\n <div class=\"info-1\">\r\n {{item().originDescription}}</div>\r\n }\r\n @if (item().anchors.length > 0) {\r\n <div class=\"details\">\r\n <div>DETTAGLIO</div>\r\n <div class=\"links\">\r\n @for (a of item().anchors; track $index) {\r\n <span>\r\n @if (a.uri && a.text) {\r\n <a (click)=\"parent().open(a.documentId + '#' + a.uri)\" [matTooltip]=\"a.title\">{{a.text}} @if\r\n (a.veryRelevant) {\r\n <sup>\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n </sup>\r\n }</a>\r\n }\r\n @if (!a.uri && a.text) {\r\n <span>{{a.text}}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().taxonomy?.length > 0) {\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n @for (n of item().taxonomy?.split('\\r\\n'); track $index) {\r\n <div class=\"link\">\r\n {{n}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().model === modelsEnum.News ||\r\n item().model === modelsEnum.Articoli ||\r\n item().model === modelsEnum.Juris) {\r\n @if (!displayModelName() && item().modelName ) {\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n }\r\n @if (item().info){\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n <div>{{item().info}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Coordinamento) {\r\n @if (item().title2) {\r\n <div class=\"details\">\r\n <div>TITOLO DOCUMENTO MODIFICATO</div>\r\n <div class=\"links\">\r\n <div>{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n @if (item().expiringDescription) {\r\n <div class=\"details\">\r\n <div>PROSSIMA SCADENZA</div>\r\n <div class=\"links\">\r\n <div>{{item().expiringDescription}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex=\"1px\" fxLayoutAlign=\"end\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n @if (item().isOver || item().isMenuOpen) {\r\n @if (canBeRead())\r\n {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Segna come gi\u00E0 letta\" [attr.aria-label]=\"'Segna come gi\u00E0 letta'\"\r\n (click)=\"parent().toggleRead(item(), $event)\">\r\n <mat-icon>flag</mat-icon>\r\n </button>\r\n }\r\n @if(item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Aggiungi al tuo calendario\"\r\n [attr.aria-label]=\"'Aggiungi al tuo calendario'\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\" [attr.aria-label]=\"'Menu opzioni'\"\r\n [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\" (click)=\"item().isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"tile\" (contextmenu)=\"onContextMenu($event, item())\" (mouseenter)=\"item().isOver = true\"\r\n (mouseleave)=\"item().isOver = false\" [ngClass]=\"{'item-selected': isSelected(), \r\n 'item-unread': isRead()}\" (click)=\"parent().open(item().documentId)\">\r\n <div class=\"image-mark\" [ngClass]=\"{'image-mark-unread': !isRead()}\"></div>\r\n <div class=\"image\">\r\n @if (canBeRead() || isSelectable()) {\r\n <div class=\"buttons\">\r\n @if (canBeRead() && item().isOver === true) {\r\n <button mat-icon-button class=\"read\" matTooltip=\"Segna come gi\u00E0 letto\"\r\n (click)=\"parent().toggleRead(item(), $event)\"><mat-icon>flag</mat-icon></button>\r\n }\r\n @if (isSelectable() && (isSelected() || item().isOver === true)) {\r\n <button mat-icon-button class=\"check\" [ngClass]=\"{'check-selected': isSelected()}\"\r\n matTooltip=\"Seleziona/Deseleziona\"\r\n (click)=\"parent().toggleSelection(item(), $event)\"><mat-icon>check</mat-icon></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n @if (item().info) {\r\n <div class=\"info-2\">{{item().info}}</div>\r\n }\r\n @if (item().pictureId && tilePictureUrl()) {\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tilePictureUrl() + '?id=' + item().pictureId\" [alt]=\"item().title2\" />\r\n } @else if (tileNoPictureUrl()) {\r\n <picture>\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tileNoPictureUrl()\"\r\n [alt]=\"item().title2 || 'immagine non trovata'\" />\r\n </picture>\r\n }\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"date\">\r\n <span class=\"date-day\" [ngClass]=\"{'unread': !item().isRead}\">{{item().date | format:'D':'d\r\n MMMM'}}</span>\r\n <span class=\"date-divider\"></span>\r\n <span>{{item().date| format:'D':'yyyy'}}</span>\r\n </div>\r\n <div class=\"title\">{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n<div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\">\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:5px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .image{height:150px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .time{font-size:small!important;font-weight:700!important}.tile .title{text-decoration:none!important;font-size:15px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}\n"] }]
113
+ ], template: "<div>\r\n @if (displayMode() === displayModesEnum.List ) {\r\n <div class=\"item\" fxLayout=\"row\" fxLayoutGap=\"6px\" fxLayoutAlign=\"start center\" fxFill\r\n [ngClass]=\"{'item-selected': isSelected() }\" (contextmenu)=\"onContextMenu($event, item())\"\r\n (mouseenter)=\"item().isOver = true\" (mouseleave)=\"item().isOver = false\">\r\n <div fxFlex=\"6px\" fxFlexAlign=\"stretch\" [ngClass]=\"parent().getItemStateCssClass(item())\"\r\n [matTooltip]=\"parent().getItemStateTooltip(item())\"><span></span>\r\n </div>\r\n <div [fxFlex]=\"isSelectable() ? '48px' : '16px'\" fxLayoutAlign=\"center\">\r\n @if (isSelectable() && (screenService.isTouchable || item().isOver || isSelected())) {\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? parent().selection?.toggle(item(), item().documentId) : null\" [checked]=\"isSelected()\">\r\n </mat-checkbox>\r\n }\r\n </div>\r\n <div fxFlex=\"*\">\r\n <div class=\"item-content\">\r\n @if (displayModelName() && item().modelName) {\r\n @if (item().origin === 'GC' || item().origin === 'GN') {\r\n <div class=\"info-2\">GIURISPRUDENZA</div>\r\n } @else {\r\n <div class=\"info-2\">{{item().modelName}}</div>\r\n }\r\n }\r\n\r\n @if (item().info && item().model === modelsEnum.Quesiti) {\r\n @if(item().info) {\r\n <div class=\"info-1\">{{item().info}}</div>\r\n }\r\n }@else if(item().model === modelsEnum.NormativaVigente ||\r\n item().model === modelsEnum.AggiornamentoNormativo ||\r\n item().model === modelsEnum.GiurisprudenzaRecente ||\r\n item().model === modelsEnum.Juris) {\r\n @if (item().author && (item().origin === 'LR' || item().origin === 'GC' || item().origin\r\n === 'GN')) {\r\n <div class=\"info-1\">{{item().author}}</div>\r\n }\r\n }@else if (item().date) {\r\n <div class=\"info-1\">{{item().date | format:'D':'d MMM yyyy'}}</div>\r\n }\r\n <div>\r\n <a class=\"link\" (click)=\"parent().open(item().documentId)\"\r\n [attr.aria-label]=\"'Apri documento ' + item().title1\">{{item().title1 ?? item().title2}}</a>\r\n @if (item().part > 0) {\r\n <span class=\"badge\">PARTE {{item().part}}</span>\r\n }\r\n @if (item().isCommented) {\r\n <span class=\"badge\">COMMENTATA</span>\r\n }\r\n @if (item().validityState > 0) {\r\n <span class=\"badge-red\">{{item().validityDescription}}</span>\r\n }\r\n </div>\r\n @if(item().description && item().model === modelsEnum.Coordinamento) {\r\n <div class=\"title\">{{item().description}}</div>\r\n }\r\n @if (item().title2 &&\r\n item().model !== modelsEnum.Coordinamento &&\r\n item().model !== modelsEnum.AllerteAlimentari &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni) {\r\n <div class=\"title\">{{item().title2}}</div>\r\n }\r\n @if (item().originDescription &&\r\n item().model !== modelsEnum.Scadenze &&\r\n item().model !== modelsEnum.Segnalazioni ) {\r\n <div class=\"info-1\">\r\n {{item().originDescription}}</div>\r\n }\r\n @if (item().anchors.length > 0) {\r\n <div class=\"details\">\r\n <div>DETTAGLIO</div>\r\n <div class=\"links\">\r\n @for (a of item().anchors; track $index) {\r\n <span>\r\n @if (a.uri && a.text) {\r\n <a (click)=\"parent().open(a.documentId + '#' + a.uri)\" [matTooltip]=\"a.title\">{{a.text}} @if\r\n (a.veryRelevant) {\r\n <sup>\r\n <mat-icon style='font-size:x-small; height: 10px; width:10px' color=\"primary\"\r\n matTooltip=\"Molto rilevante\">thumb_up_alt</mat-icon>\r\n </sup>\r\n }</a>\r\n }\r\n @if (!a.uri && a.text) {\r\n <span>{{a.text}}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().taxonomy?.length > 0) {\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n @for (n of item().taxonomy?.split('\\r\\n'); track $index) {\r\n <div class=\"link\">\r\n {{n}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (item().model === modelsEnum.News ||\r\n item().model === modelsEnum.Articoli ||\r\n item().model === modelsEnum.Juris) {\r\n @if (!displayModelName() && item().modelName ) {\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n }\r\n @if (item().info){\r\n <div class=\"details\">\r\n <div>ARGOMENTI</div>\r\n <div class=\"links\">\r\n <div>{{item().info}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Coordinamento) {\r\n @if (item().title2) {\r\n <div class=\"details\">\r\n <div>TITOLO DOCUMENTO MODIFICATO</div>\r\n <div class=\"links\">\r\n <div>{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n @if (item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n @if (item().expiringDescription) {\r\n <div class=\"details\">\r\n <div>PROSSIMA SCADENZA</div>\r\n <div class=\"links\">\r\n <div>{{item().expiringDescription}}</div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n <div fxFlex=\"48px\" fxLayoutAlign=\"end\">\r\n @if (item().isOver || item().isMenuOpen) {\r\n @if (canBeRead())\r\n {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Segna come gi\u00E0 letta\" [attr.aria-label]=\"'Segna come gi\u00E0 letta'\"\r\n (click)=\"parent().toggleRead(item(), $event)\">\r\n <mat-icon>flag</mat-icon>\r\n </button>\r\n }\r\n @if(item().model === modelsEnum.Scadenze || item().model === modelsEnum.Segnalazioni) {\r\n <button type=\"button\" mat-icon-button matTooltip=\"Aggiungi al tuo calendario\"\r\n [attr.aria-label]=\"'Aggiungi al tuo calendario'\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button matTooltip=\"Menu\" [attr.aria-label]=\"'Menu opzioni'\"\r\n [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\" (click)=\"item().isMenuOpen = true\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"tile\" (contextmenu)=\"onContextMenu($event, item())\" (mouseenter)=\"item().isOver = true\"\r\n (mouseleave)=\"item().isOver = false\" [ngClass]=\"{'item-selected': isSelected(), \r\n 'item-unread': isRead()}\" (click)=\"parent().open(item().documentId)\">\r\n <div class=\"image-mark\" [ngClass]=\"{'image-mark-unread': !isRead()}\"></div>\r\n <div class=\"image\">\r\n @if (canBeRead() || isSelectable()) {\r\n <div class=\"buttons\">\r\n @if (canBeRead() && item().isOver === true) {\r\n <button mat-icon-button class=\"read\" matTooltip=\"Segna come gi\u00E0 letto\"\r\n (click)=\"parent().toggleRead(item(), $event)\"><mat-icon>flag</mat-icon></button>\r\n }\r\n @if (isSelectable() && (isSelected() || item().isOver === true)) {\r\n <button mat-icon-button class=\"check\" [ngClass]=\"{'check-selected': isSelected()}\"\r\n matTooltip=\"Seleziona/Deseleziona\"\r\n (click)=\"parent().toggleSelection(item(), $event)\"><mat-icon>check</mat-icon></button>\r\n }\r\n </div>\r\n }\r\n <div class=\"info-1\">{{item().modelName}}</div>\r\n @if (item().info) {\r\n <div class=\"info-2\">{{item().info}}</div>\r\n }\r\n @if (item().pictureId && tilePictureUrl()) {\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tilePictureUrl() + '?id=' + item().pictureId\" [alt]=\"item().title2\" />\r\n } @else if (tileNoPictureUrl()) {\r\n <picture>\r\n <img decoding=\"async\" loading=\"lazy\" [src]=\"tileNoPictureUrl()\"\r\n [alt]=\"item().title2 || 'immagine non trovata'\" />\r\n </picture>\r\n }\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"date\">\r\n <span class=\"date-day\" [ngClass]=\"{'unread': !item().isRead}\">{{item().date | format:'D':'d\r\n MMMM'}}</span>\r\n <span class=\"date-divider\"></span>\r\n <span>{{item().date| format:'D':'yyyy'}}</span>\r\n </div>\r\n <div class=\"title\">{{item().title2}}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n<div #contextMenuTrigger=\"matMenuTrigger\" style=\"position: fixed\" [style.left]=\"contextMenuPosition.x\"\r\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"actions()\" [matMenuTriggerData]=\"{item: item()}\">\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 10px 10px 0;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:5px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .image{height:150px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .image img{object-fit:cover;width:100%;height:100%}.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .time{font-size:small!important;font-weight:700!important}.tile .title{text-decoration:none!important;font-size:15px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#00000052!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}\n"] }]
114
114
  }], propDecorators: { contextMenuTrigger: [{
115
115
  type: ViewChild,
116
116
  args: ['contextMenuTrigger']
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7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Q0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQ2hGLENBQUM7SUFBQSxDQUFDOzhHQTlFTyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyxna0RDckM3QyxvNlNBc05NLHN6VUQzTEYsT0FBTyxtRkFDUCxpQkFBaUIsb1lBQ2pCLGVBQWUsMklBQ2YsZ0JBQWdCLDRUQUNoQixhQUFhLG1MQUNiLGFBQWEsb1ZBQ2IsZ0JBQWdCLDhoSEFDaEIsVUFBVTs7MkZBR0QsZ0NBQWdDO2tCQWpCNUMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDRCQUE0QixjQUcxQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNYOzhCQUlnQyxrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IENsaXBwZXJEb2N1bWVudEluZm8sIENsaXBwZXJNZXNzYWdlcywgQ2xpcHBlck1vZGVsLCBDbGlwcGVyVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuaW1wb3J0IHsgQnJvYWRjYXN0U2VydmljZSwgRm9ybWF0UGlwZSwgU2NyZWVuU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2xpcHBlclNlYXJjaFJlc3VsdE1hbmFnZXIgfSBmcm9tICcuLi9zZWFyY2gtcmVzdWx0LW1hbmFnZXIvc2VhcmNoLXJlc3VsdC1tYW5hZ2VyJztcclxuXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlIHtcclxuICBMaXN0ID0gMSxcclxuICBUaWxlID0gMlxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLXNlYXJjaC1yZXN1bHQtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgRm9ybWF0UGlwZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51VHJpZ2dlcicpIGNvbnRleHRNZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBzY3JlZW5TZXJ2aWNlID0gaW5qZWN0KFNjcmVlblNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBicm9hZGNhc3RTZXJ2aWNlID0gaW5qZWN0KEJyb2FkY2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGFjdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxNYXRNZW51PigpO1xyXG4gIHRpbGVOb1BpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgdGlsZVBpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgaXNTZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaXNSZWFkYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpOyAgXHJcbiAgaXNSZWFkYWJsZU1vZGVsID0gaW5wdXQ8Q2xpcHBlck1vZGVsIHwgbnVsbD4obnVsbCk7XHJcbiAgZGlzcGxheU1vZGVsTmFtZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBkaXNwbGF5TW9kZSA9IGlucHV0PENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGU+KENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUuTGlzdCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc3BsYXlNb2Rlc0VudW06IHR5cGVvZiBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlID0gQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZWxzRW51bTogdHlwZW9mIENsaXBwZXJNb2RlbCA9IENsaXBwZXJNb2RlbDtcclxuICBwcm90ZWN0ZWQgY29udGV4dE1lbnVQb3NpdGlvbiA9IHsgeDogJzBweCcsIHk6ICcwcHgnIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5jaGFuZ2VkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gUmVhY3QgdG8gbWVzc2FnZSBicm9hZGNhc3RpbmdcclxuICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5nZXRNZXNzYWdlKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLmlkID09PSBDbGlwcGVyTWVzc2FnZXMuRE9DVU1FTlRfTkFWSUdBVEVEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQgJiYgIXRoaXMuaXRlbSgpLmlzUmVhZCkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudCgpPy5zZXRSZWFkKHRydWUsIHRoaXMuaXRlbSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWQgPT09IENsaXBwZXJNZXNzYWdlcy5ET0NVTUVOVF9SRUFEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtKCkuaXNSZWFkID0gbWVzc2FnZS5kYXRhLnZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgb25Db250ZXh0TWVudShldmVudDogTW91c2VFdmVudCwgaXRlbTogQ2xpcHBlckRvY3VtZW50SW5mbykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi54ID0gZXZlbnQuY2xpZW50WCArICdweCc7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueSA9IGV2ZW50LmNsaWVudFkgKyAncHgnO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXIubWVudURhdGEgPSB7IGl0ZW06IGl0ZW0gfTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIHNlbGVjdGVkXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IGl0ZW0gaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0YWJsZSgpICYmIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uaXNTZWxlY3RlZCh0aGlzLml0ZW0oKS5kb2N1bWVudElkKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBpcyByZWFkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzUmVhZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShcclxuICAgICAgdGhpcy5pc1JlYWRhYmxlTW9kZWwoKSA/PyB0aGlzLml0ZW0oKS5tb2RlbCkgJiYgdGhpcy5pdGVtKCkuaXNSZWFkID09PSB0cnVlO1xyXG4gIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBjYW4gYmUgcmVhZFxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY3VycmVudCBpdGVtIGNhbiBiZSByZWFkXHJcbiAgICovXHJcbiAgICBwcm90ZWN0ZWQgY2FuQmVSZWFkKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoXHJcbiAgICAgICAgdGhpcy5pc1JlYWRhYmxlTW9kZWwoKSA/PyB0aGlzLml0ZW0oKS5tb2RlbCkgJiYgdGhpcy5pdGVtKCkuaXNSZWFkICE9PSB0cnVlO1xyXG4gICAgfTtcclxuICBcclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICBAaWYgKGRpc3BsYXlNb2RlKCkgPT09IGRpc3BsYXlNb2Rlc0VudW0uTGlzdCApIHtcclxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCI2cHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsXHJcbiAgICBbbmdDbGFzc109XCJ7J2l0ZW0tc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCkgfVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaXRlbSgpKVwiXHJcbiAgICAobW91c2VlbnRlcik9XCJpdGVtKCkuaXNPdmVyID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cIml0ZW0oKS5pc092ZXIgPSBmYWxzZVwiPlxyXG4gICAgPGRpdiBmeEZsZXg9XCI2cHhcIiBmeEZsZXhBbGlnbj1cInN0cmV0Y2hcIiBbbmdDbGFzc109XCJwYXJlbnQoKS5nZXRJdGVtU3RhdGVDc3NDbGFzcyhpdGVtKCkpXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwicGFyZW50KCkuZ2V0SXRlbVN0YXRlVG9vbHRpcChpdGVtKCkpXCI+PHNwYW4+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgIDwhLS0gPGRpdiBbZnhGbGV4XT1cImlzU2VsZWN0YWJsZSgpID8gJzQ4cHgnIDogJzE4cHgnXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiPlxyXG4gICAgICBAaWYgKGlzU2VsZWN0YWJsZSgpICYmIChzY3JlZW5TZXJ2aWNlLmlzVG91Y2hhYmxlIHx8IGl0ZW0oKS5pc092ZXIgfHwgaXNTZWxlY3RlZCgpKSkge1xyXG4gICAgICA8bWF0LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gcGFyZW50KCkuc2VsZWN0aW9uPy50b2dnbGUoaXRlbSgpLCBpdGVtKCkuZG9jdW1lbnRJZCkgOiBudWxsXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZCgpXCI+XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj4tLT5cclxuICAgIDxkaXYgZnhGbGV4PVwiKlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb250ZW50XCI+XHJcbiAgICAgICAgQGlmIChkaXNwbGF5TW9kZWxOYW1lKCkgJiYgaXRlbSgpLm1vZGVsTmFtZSkge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLm9yaWdpbiA9PT0gJ0dDJyB8fCBpdGVtKCkub3JpZ2luID09PSAnR04nKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPkdJVVJJU1BSVURFTlpBPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChpdGVtKCkuaW5mbyAmJiBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uUXVlc2l0aSkge1xyXG4gICAgICAgIEBpZihpdGVtKCkuaW5mbykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfUBlbHNlIGlmKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5Ob3JtYXRpdmFWaWdlbnRlIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkFnZ2lvcm5hbWVudG9Ob3JtYXRpdm8gfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uR2l1cmlzcHJ1ZGVuemFSZWNlbnRlIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkp1cmlzKSB7XHJcbiAgICAgICAgQGlmIChpdGVtKCkuYXV0aG9yICYmIChpdGVtKCkub3JpZ2luID09PSAnTFInIHx8IGl0ZW0oKS5vcmlnaW4gPT09ICdHQycgfHwgaXRlbSgpLm9yaWdpblxyXG4gICAgICAgID09PSAnR04nKSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5hdXRob3J9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9QGVsc2UgaWYgKGl0ZW0oKS5kYXRlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLmRhdGUgfCBmb3JtYXQ6J0QnOidkIE1NTSB5eXl5J319PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImxpbmtcIiAoY2xpY2spPVwicGFyZW50KCkub3BlbihpdGVtKCkuZG9jdW1lbnRJZClcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50byAnICsgaXRlbSgpLnRpdGxlMVwiPnt7aXRlbSgpLnRpdGxlMSA/PyBpdGVtKCkudGl0bGUyfX08L2E+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS5wYXJ0ID4gMCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPlBBUlRFIHt7aXRlbSgpLnBhcnR9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoaXRlbSgpLmlzQ29tbWVudGVkKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCI+Q09NTUVOVEFUQTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoaXRlbSgpLnZhbGlkaXR5U3RhdGUgPiAwKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlLXJlZFwiPnt7aXRlbSgpLnZhbGlkaXR5RGVzY3JpcHRpb259fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYoaXRlbSgpLmRlc2NyaXB0aW9uICYmIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5Db29yZGluYW1lbnRvKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS50aXRsZTIgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50byAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5BbGxlcnRlQWxpbWVudGFyaSAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TY2FkZW56ZSAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0oKS50aXRsZTJ9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5vcmlnaW5EZXNjcmlwdGlvbiAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TY2FkZW56ZSAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkgKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPlxyXG4gICAgICAgICAge3tpdGVtKCkub3JpZ2luRGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5hbmNob3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5ERVRUQUdMSU88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChhIG9mIGl0ZW0oKS5hbmNob3JzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgQGlmIChhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwicGFyZW50KCkub3BlbihhLmRvY3VtZW50SWQgKyAnIycgKyBhLnVyaSlcIiBbbWF0VG9vbHRpcF09XCJhLnRpdGxlXCI+e3thLnRleHR9fSBAaWZcclxuICAgICAgICAgICAgICAgIChhLnZlcnlSZWxldmFudCkge1xyXG4gICAgICAgICAgICAgICAgPHN1cD5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSdmb250LXNpemU6eC1zbWFsbDsgaGVpZ2h0OiAxMHB4OyB3aWR0aDoxMHB4JyBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb2x0byByaWxldmFudGVcIj50aHVtYl91cF9hbHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9zdXA+XHJcbiAgICAgICAgICAgICAgICB9PC9hPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaWYgKCFhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8c3Bhbj57e2EudGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGF4b25vbXk/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5BUkdPTUVOVEk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChuIG9mIGl0ZW0oKS50YXhvbm9teT8uc3BsaXQoJ1xcclxcbicpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtcIj5cclxuICAgICAgICAgICAgICB7e259fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLk5ld3MgfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQXJ0aWNvbGkgfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uSnVyaXMpIHtcclxuICAgICAgICBAaWYgKCFkaXNwbGF5TW9kZWxOYW1lKCkgJiYgaXRlbSgpLm1vZGVsTmFtZSApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkubW9kZWxOYW1lfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkuaW5mbyl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+QVJHT01FTlRJPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgPGRpdj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRpdGxlMikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PlRJVE9MTyBET0NVTUVOVE8gTU9ESUZJQ0FUTzwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmV4cGlyaW5nRGVzY3JpcHRpb24pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5QUk9TU0lNQSBTQ0FERU5aQTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkuZXhwaXJpbmdEZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXg9XCIxcHhcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgIEBpZiAoaXNTZWxlY3RhYmxlKCkgJiYgKHNjcmVlblNlcnZpY2UuaXNUb3VjaGFibGUgfHwgaXRlbSgpLmlzT3ZlciB8fCBpc1NlbGVjdGVkKCkpKSB7XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBwYXJlbnQoKS5zZWxlY3Rpb24/LnRvZ2dsZShpdGVtKCksIGl0ZW0oKS5kb2N1bWVudElkKSA6IG51bGxcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKClcIj5cclxuICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpdGVtKCkuaXNPdmVyIHx8IGl0ZW0oKS5pc01lbnVPcGVuKSB7XHJcbiAgICAgIEBpZiAoY2FuQmVSZWFkKCkpXHJcbiAgICAgIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJTZWduYSBjb21lIGdpw6AgbGV0dGFcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWduYSBjb21lIGdpw6AgbGV0dGEnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlUmVhZChpdGVtKCksICRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIkFnZ2l1bmdpIGFsIHR1byBjYWxlbmRhcmlvXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZ2dpdW5naSBhbCB0dW8gY2FsZW5kYXJpbydcIj5cclxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgPGJ1dHRvbiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIk1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidNZW51IG9wemlvbmknXCJcclxuICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9ucygpXCIgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbSgpfVwiIChjbGljayk9XCJpdGVtKCkuaXNNZW51T3BlbiA9IHRydWVcIj5cclxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxkaXYgY2xhc3M9XCJ0aWxlXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpdGVtKCkpXCIgKG1vdXNlZW50ZXIpPVwiaXRlbSgpLmlzT3ZlciA9IHRydWVcIlxyXG4gICAgKG1vdXNlbGVhdmUpPVwiaXRlbSgpLmlzT3ZlciA9IGZhbHNlXCIgW25nQ2xhc3NdPVwieydpdGVtLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpLCBcclxuICAgICdpdGVtLXVucmVhZCc6IGlzUmVhZCgpfVwiIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGl0ZW0oKS5kb2N1bWVudElkKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlLW1hcmtcIiBbbmdDbGFzc109XCJ7J2ltYWdlLW1hcmstdW5yZWFkJzogIWlzUmVhZCgpfVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgIEBpZiAoY2FuQmVSZWFkKCkgfHwgaXNTZWxlY3RhYmxlKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICBAaWYgKGNhbkJlUmVhZCgpICYmIGl0ZW0oKS5pc092ZXIgPT09IHRydWUpIHtcclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInJlYWRcIiBtYXRUb29sdGlwPVwiU2VnbmEgY29tZSBnacOgIGxldHRvXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVSZWFkKGl0ZW0oKSwgJGV2ZW50KVwiPjxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoaXNTZWxlY3RlZCgpIHx8IGl0ZW0oKS5pc092ZXIgPT09IHRydWUpKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJjaGVja1wiIFtuZ0NsYXNzXT1cInsnY2hlY2stc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCl9XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXA9XCJTZWxlemlvbmEvRGVzZWxlemlvbmFcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVNlbGVjdGlvbihpdGVtKCksICRldmVudClcIj48bWF0LWljb24+Y2hlY2s8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgIEBpZiAoaXRlbSgpLmluZm8pIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPnt7aXRlbSgpLmluZm99fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoaXRlbSgpLnBpY3R1cmVJZCAmJiB0aWxlUGljdHVyZVVybCgpKSB7XHJcbiAgICAgIDxpbWcgZGVjb2Rpbmc9XCJhc3luY1wiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJ0aWxlUGljdHVyZVVybCgpICsgJz9pZD0nICsgaXRlbSgpLnBpY3R1cmVJZFwiIFthbHRdPVwiaXRlbSgpLnRpdGxlMlwiIC8+XHJcbiAgICAgIH0gQGVsc2UgaWYgKHRpbGVOb1BpY3R1cmVVcmwoKSkge1xyXG4gICAgICA8cGljdHVyZT5cclxuICAgICAgICA8aW1nIGRlY29kaW5nPVwiYXN5bmNcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwidGlsZU5vUGljdHVyZVVybCgpXCJcclxuICAgICAgICAgIFthbHRdPVwiaXRlbSgpLnRpdGxlMiB8fCAnaW1tYWdpbmUgbm9uIHRyb3ZhdGEnXCIgLz5cclxuICAgICAgPC9waWN0dXJlPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRheVwiIFtuZ0NsYXNzXT1cInsndW5yZWFkJzogIWl0ZW0oKS5pc1JlYWR9XCI+e3tpdGVtKCkuZGF0ZSB8IGZvcm1hdDonRCc6J2RcclxuICAgICAgICAgIE1NTU0nfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3tpdGVtKCkuZGF0ZXwgZm9ybWF0OidEJzoneXl5eSd9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48ZGl2ICNjb250ZXh0TWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIHN0eWxlPVwicG9zaXRpb246IGZpeGVkXCIgW3N0eWxlLmxlZnRdPVwiY29udGV4dE1lbnVQb3NpdGlvbi54XCJcclxuICBbc3R5bGUudG9wXT1cImNvbnRleHRNZW51UG9zaXRpb24ueVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25zKClcIiBbbWF0TWVudVRyaWdnZXJEYXRhXT1cIntpdGVtOiBpdGVtKCl9XCI+XHJcbjwvZGl2PiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7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Q0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQ2hGLENBQUM7SUFBQSxDQUFDOzhHQTlFTyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyxna0RDckM3QyxtbVNBaU5NLGswVUR0TEYsT0FBTyxtRkFDUCxpQkFBaUIsb1lBQ2pCLGVBQWUsMklBQ2YsZ0JBQWdCLDRUQUNoQixhQUFhLG1MQUNiLGFBQWEsb1ZBQ2IsZ0JBQWdCLDhoSEFDaEIsVUFBVTs7MkZBR0QsZ0NBQWdDO2tCQWpCNUMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDRCQUE0QixjQUcxQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNYOzhCQUlnQyxrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IENsaXBwZXJEb2N1bWVudEluZm8sIENsaXBwZXJNZXNzYWdlcywgQ2xpcHBlck1vZGVsLCBDbGlwcGVyVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuaW1wb3J0IHsgQnJvYWRjYXN0U2VydmljZSwgRm9ybWF0UGlwZSwgU2NyZWVuU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2xpcHBlclNlYXJjaFJlc3VsdE1hbmFnZXIgfSBmcm9tICcuLi9zZWFyY2gtcmVzdWx0LW1hbmFnZXIvc2VhcmNoLXJlc3VsdC1tYW5hZ2VyJztcclxuXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlIHtcclxuICBMaXN0ID0gMSxcclxuICBUaWxlID0gMlxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLXNlYXJjaC1yZXN1bHQtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgRm9ybWF0UGlwZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51VHJpZ2dlcicpIGNvbnRleHRNZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBzY3JlZW5TZXJ2aWNlID0gaW5qZWN0KFNjcmVlblNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBicm9hZGNhc3RTZXJ2aWNlID0gaW5qZWN0KEJyb2FkY2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGFjdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxNYXRNZW51PigpO1xyXG4gIHRpbGVOb1BpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgdGlsZVBpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgaXNTZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaXNSZWFkYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpOyAgXHJcbiAgaXNSZWFkYWJsZU1vZGVsID0gaW5wdXQ8Q2xpcHBlck1vZGVsIHwgbnVsbD4obnVsbCk7XHJcbiAgZGlzcGxheU1vZGVsTmFtZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBkaXNwbGF5TW9kZSA9IGlucHV0PENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGU+KENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUuTGlzdCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc3BsYXlNb2Rlc0VudW06IHR5cGVvZiBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlID0gQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZWxzRW51bTogdHlwZW9mIENsaXBwZXJNb2RlbCA9IENsaXBwZXJNb2RlbDtcclxuICBwcm90ZWN0ZWQgY29udGV4dE1lbnVQb3NpdGlvbiA9IHsgeDogJzBweCcsIHk6ICcwcHgnIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5jaGFuZ2VkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gUmVhY3QgdG8gbWVzc2FnZSBicm9hZGNhc3RpbmdcclxuICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5nZXRNZXNzYWdlKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLmlkID09PSBDbGlwcGVyTWVzc2FnZXMuRE9DVU1FTlRfTkFWSUdBVEVEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQgJiYgIXRoaXMuaXRlbSgpLmlzUmVhZCkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudCgpPy5zZXRSZWFkKHRydWUsIHRoaXMuaXRlbSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWQgPT09IENsaXBwZXJNZXNzYWdlcy5ET0NVTUVOVF9SRUFEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtKCkuaXNSZWFkID0gbWVzc2FnZS5kYXRhLnZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgb25Db250ZXh0TWVudShldmVudDogTW91c2VFdmVudCwgaXRlbTogQ2xpcHBlckRvY3VtZW50SW5mbykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi54ID0gZXZlbnQuY2xpZW50WCArICdweCc7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueSA9IGV2ZW50LmNsaWVudFkgKyAncHgnO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXIubWVudURhdGEgPSB7IGl0ZW06IGl0ZW0gfTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIHNlbGVjdGVkXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IGl0ZW0gaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0YWJsZSgpICYmIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uaXNTZWxlY3RlZCh0aGlzLml0ZW0oKS5kb2N1bWVudElkKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBpcyByZWFkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzUmVhZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShcclxuICAgICAgdGhpcy5pc1JlYWRhYmxlTW9kZWwoKSA/PyB0aGlzLml0ZW0oKS5tb2RlbCkgJiYgdGhpcy5pdGVtKCkuaXNSZWFkID09PSB0cnVlO1xyXG4gIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBjYW4gYmUgcmVhZFxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY3VycmVudCBpdGVtIGNhbiBiZSByZWFkXHJcbiAgICovXHJcbiAgICBwcm90ZWN0ZWQgY2FuQmVSZWFkKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoXHJcbiAgICAgICAgdGhpcy5pc1JlYWRhYmxlTW9kZWwoKSA/PyB0aGlzLml0ZW0oKS5tb2RlbCkgJiYgdGhpcy5pdGVtKCkuaXNSZWFkICE9PSB0cnVlO1xyXG4gICAgfTtcclxuICBcclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICBAaWYgKGRpc3BsYXlNb2RlKCkgPT09IGRpc3BsYXlNb2Rlc0VudW0uTGlzdCApIHtcclxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCI2cHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsXHJcbiAgICBbbmdDbGFzc109XCJ7J2l0ZW0tc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCkgfVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaXRlbSgpKVwiXHJcbiAgICAobW91c2VlbnRlcik9XCJpdGVtKCkuaXNPdmVyID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cIml0ZW0oKS5pc092ZXIgPSBmYWxzZVwiPlxyXG4gICAgPGRpdiBmeEZsZXg9XCI2cHhcIiBmeEZsZXhBbGlnbj1cInN0cmV0Y2hcIiBbbmdDbGFzc109XCJwYXJlbnQoKS5nZXRJdGVtU3RhdGVDc3NDbGFzcyhpdGVtKCkpXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwicGFyZW50KCkuZ2V0SXRlbVN0YXRlVG9vbHRpcChpdGVtKCkpXCI+PHNwYW4+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgIDxkaXYgW2Z4RmxleF09XCJpc1NlbGVjdGFibGUoKSA/ICc0OHB4JyA6ICcxNnB4J1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoc2NyZWVuU2VydmljZS5pc1RvdWNoYWJsZSB8fCBpdGVtKCkuaXNPdmVyIHx8IGlzU2VsZWN0ZWQoKSkpIHtcclxuICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHBhcmVudCgpLnNlbGVjdGlvbj8udG9nZ2xlKGl0ZW0oKSwgaXRlbSgpLmRvY3VtZW50SWQpIDogbnVsbFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQoKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIipcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5vcmlnaW4gPT09ICdHQycgfHwgaXRlbSgpLm9yaWdpbiA9PT0gJ0dOJykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj5HSVVSSVNQUlVERU5aQTwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmluZm8gJiYgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlF1ZXNpdGkpIHtcclxuICAgICAgICBAaWYoaXRlbSgpLmluZm8pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1AZWxzZSBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uTm9ybWF0aXZhVmlnZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5BZ2dpb3JuYW1lbnRvTm9ybWF0aXZvIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkdpdXJpc3BydWRlbnphUmVjZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5KdXJpcykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmF1dGhvciAmJiAoaXRlbSgpLm9yaWdpbiA9PT0gJ0xSJyB8fCBpdGVtKCkub3JpZ2luID09PSAnR0MnIHx8IGl0ZW0oKS5vcmlnaW5cclxuICAgICAgICA9PT0gJ0dOJykpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuYXV0aG9yfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfUBlbHNlIGlmIChpdGVtKCkuZGF0ZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5kYXRlIHwgZm9ybWF0OidEJzonZCBNTU0geXl5eSd9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJsaW5rXCIgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oaXRlbSgpLmRvY3VtZW50SWQpXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQXByaSBkb2N1bWVudG8gJyArIGl0ZW0oKS50aXRsZTFcIj57e2l0ZW0oKS50aXRsZTEgPz8gaXRlbSgpLnRpdGxlMn19PC9hPlxyXG4gICAgICAgICAgQGlmIChpdGVtKCkucGFydCA+IDApIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIj5QQVJURSB7e2l0ZW0oKS5wYXJ0fX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS5pc0NvbW1lbnRlZCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPkNPTU1FTlRBVEE8L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS52YWxpZGl0eVN0YXRlID4gMCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS1yZWRcIj57e2l0ZW0oKS52YWxpZGl0eURlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGl0ZW0oKS5kZXNjcmlwdGlvbiAmJiBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGl0bGUyICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8gJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uQWxsZXJ0ZUFsaW1lbnRhcmkgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2NhZGVuemUgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkub3JpZ2luRGVzY3JpcHRpb24gJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2NhZGVuemUgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pICkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj5cclxuICAgICAgICAgIHt7aXRlbSgpLm9yaWdpbkRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkuYW5jaG9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+REVUVEFHTElPPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgQGZvciAoYSBvZiBpdGVtKCkuYW5jaG9yczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgIEBpZiAoYS51cmkgJiYgYS50ZXh0KSB7XHJcbiAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oYS5kb2N1bWVudElkICsgJyMnICsgYS51cmkpXCIgW21hdFRvb2x0aXBdPVwiYS50aXRsZVwiPnt7YS50ZXh0fX0gQGlmXHJcbiAgICAgICAgICAgICAgICAoYS52ZXJ5UmVsZXZhbnQpIHtcclxuICAgICAgICAgICAgICAgIDxzdXA+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0nZm9udC1zaXplOngtc21hbGw7IGhlaWdodDogMTBweDsgd2lkdGg6MTBweCcgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW9sdG8gcmlsZXZhbnRlXCI+dGh1bWJfdXBfYWx0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvc3VwPlxyXG4gICAgICAgICAgICAgICAgfTwvYT5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmICghYS51cmkgJiYgYS50ZXh0KSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3thLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRheG9ub215Py5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+QVJHT01FTlRJPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgQGZvciAobiBvZiBpdGVtKCkudGF4b25vbXk/LnNwbGl0KCdcXHJcXG4nKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rXCI+XHJcbiAgICAgICAgICAgICAge3tufX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5OZXdzIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkFydGljb2xpIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkp1cmlzKSB7XHJcbiAgICAgICAgQGlmICghZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUgKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmluZm8pe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PkFSR09NRU5USTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8pIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS50aXRsZTIpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5USVRPTE8gRE9DVU1FTlRPIE1PRElGSUNBVE88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNjYWRlbnplIHx8IGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5leHBpcmluZ0Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+UFJPU1NJTUEgU0NBREVOWkE8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7aXRlbSgpLmV4cGlyaW5nRGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhGbGV4PVwiNDhweFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cclxuICAgICAgQGlmIChpdGVtKCkuaXNPdmVyIHx8IGl0ZW0oKS5pc01lbnVPcGVuKSB7XHJcbiAgICAgIEBpZiAoY2FuQmVSZWFkKCkpXHJcbiAgICAgIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJTZWduYSBjb21lIGdpw6AgbGV0dGFcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWduYSBjb21lIGdpw6AgbGV0dGEnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlUmVhZChpdGVtKCksICRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIkFnZ2l1bmdpIGFsIHR1byBjYWxlbmRhcmlvXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZ2dpdW5naSBhbCB0dW8gY2FsZW5kYXJpbydcIj5cclxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgPGJ1dHRvbiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIk1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidNZW51IG9wemlvbmknXCJcclxuICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9ucygpXCIgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbSgpfVwiIChjbGljayk9XCJpdGVtKCkuaXNNZW51T3BlbiA9IHRydWVcIj5cclxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxkaXYgY2xhc3M9XCJ0aWxlXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpdGVtKCkpXCIgKG1vdXNlZW50ZXIpPVwiaXRlbSgpLmlzT3ZlciA9IHRydWVcIlxyXG4gICAgKG1vdXNlbGVhdmUpPVwiaXRlbSgpLmlzT3ZlciA9IGZhbHNlXCIgW25nQ2xhc3NdPVwieydpdGVtLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpLCBcclxuICAgICdpdGVtLXVucmVhZCc6IGlzUmVhZCgpfVwiIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGl0ZW0oKS5kb2N1bWVudElkKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlLW1hcmtcIiBbbmdDbGFzc109XCJ7J2ltYWdlLW1hcmstdW5yZWFkJzogIWlzUmVhZCgpfVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgIEBpZiAoY2FuQmVSZWFkKCkgfHwgaXNTZWxlY3RhYmxlKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICBAaWYgKGNhbkJlUmVhZCgpICYmIGl0ZW0oKS5pc092ZXIgPT09IHRydWUpIHtcclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInJlYWRcIiBtYXRUb29sdGlwPVwiU2VnbmEgY29tZSBnacOgIGxldHRvXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVSZWFkKGl0ZW0oKSwgJGV2ZW50KVwiPjxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoaXNTZWxlY3RlZCgpIHx8IGl0ZW0oKS5pc092ZXIgPT09IHRydWUpKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJjaGVja1wiIFtuZ0NsYXNzXT1cInsnY2hlY2stc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCl9XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXA9XCJTZWxlemlvbmEvRGVzZWxlemlvbmFcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVNlbGVjdGlvbihpdGVtKCksICRldmVudClcIj48bWF0LWljb24+Y2hlY2s8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgIEBpZiAoaXRlbSgpLmluZm8pIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPnt7aXRlbSgpLmluZm99fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoaXRlbSgpLnBpY3R1cmVJZCAmJiB0aWxlUGljdHVyZVVybCgpKSB7XHJcbiAgICAgIDxpbWcgZGVjb2Rpbmc9XCJhc3luY1wiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJ0aWxlUGljdHVyZVVybCgpICsgJz9pZD0nICsgaXRlbSgpLnBpY3R1cmVJZFwiIFthbHRdPVwiaXRlbSgpLnRpdGxlMlwiIC8+XHJcbiAgICAgIH0gQGVsc2UgaWYgKHRpbGVOb1BpY3R1cmVVcmwoKSkge1xyXG4gICAgICA8cGljdHVyZT5cclxuICAgICAgICA8aW1nIGRlY29kaW5nPVwiYXN5bmNcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwidGlsZU5vUGljdHVyZVVybCgpXCJcclxuICAgICAgICAgIFthbHRdPVwiaXRlbSgpLnRpdGxlMiB8fCAnaW1tYWdpbmUgbm9uIHRyb3ZhdGEnXCIgLz5cclxuICAgICAgPC9waWN0dXJlPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRheVwiIFtuZ0NsYXNzXT1cInsndW5yZWFkJzogIWl0ZW0oKS5pc1JlYWR9XCI+e3tpdGVtKCkuZGF0ZSB8IGZvcm1hdDonRCc6J2RcclxuICAgICAgICAgIE1NTU0nfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3tpdGVtKCkuZGF0ZXwgZm9ybWF0OidEJzoneXl5eSd9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48ZGl2ICNjb250ZXh0TWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIHN0eWxlPVwicG9zaXRpb246IGZpeGVkXCIgW3N0eWxlLmxlZnRdPVwiY29udGV4dE1lbnVQb3NpdGlvbi54XCJcclxuICBbc3R5bGUudG9wXT1cImNvbnRleHRNZW51UG9zaXRpb24ueVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25zKClcIiBbbWF0TWVudVRyaWdnZXJEYXRhXT1cIntpdGVtOiBpdGVtKCl9XCI+XHJcbjwvZGl2PiJdfQ==
@@ -125,12 +125,12 @@ export class ButtonSelectorComponent {
125
125
  this.writeValue(null);
126
126
  }
127
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ButtonSelectorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ButtonSelectorComponent, isStandalone: true, selector: "button-selector", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelSelected: { classPropertyName: "labelSelected", publicName: "labelSelected", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", selected: "selected" }, host: { properties: { "id": "this.id", "attr.aria-describedBy": "this.describedBy" } }, ngImport: i0, template: "<button mat-stroked-button class=\"menu-selector-button\" [ngStyle]=\"{\r\n 'border': border() >= 0 ? border() : 'auto',\r\n 'border-radius': borderRadius(),\r\n 'height': border() <= 0 ? '40px' : 'auto',\r\n 'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')\r\n}\" [attr.aria-label]=\"label()\" [matMenuTriggerFor]=\"optionsMenu\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"100\" fxFlexAlign=\"center\">\r\n @if(current()) {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n <div class=\"x-small \">{{labelSelected() ?? label()}}</div>\r\n <div fxHide.xs class=\"small\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n </div>\r\n } @else {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n {{label()}}</div>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </div>\r\n </div>\r\n</button>\r\n<mat-menu #optionsMenu=\"matMenu\">\r\n @for (o of options(); track $index) {\r\n <button mat-menu-item (click)=\"select(o)\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}})\r\n }\r\n </button>\r\n }\r\n</mat-menu>", styles: [".menu-selector-button{padding:0 10px 0 20px!important;border-radius:9999px!important}.menu-selector-button .in-search-bar{height:56px!important;padding:0 20px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}::ng-deep .menu-selector-button>.mdc-button__label{width:100%!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i3.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ButtonSelectorComponent, isStandalone: true, selector: "button-selector", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelSelected: { classPropertyName: "labelSelected", publicName: "labelSelected", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", selected: "selected" }, host: { properties: { "id": "this.id", "attr.aria-describedBy": "this.describedBy" } }, ngImport: i0, template: "<button mat-stroked-button class=\"menu-selector-button\" [ngStyle]=\"{\r\n 'border': border() >= 0 ? border() : 'auto',\r\n 'border-radius': borderRadius(),\r\n 'height': border() <= 0 ? '40px' : 'auto',\r\n 'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')\r\n}\" [attr.aria-label]=\"label()\" [matMenuTriggerFor]=\"optionsMenu\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"100\" fxFlexAlign=\"center\">\r\n @if(current()) {\r\n <div style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n @if(labelSelected() || label()) {\r\n <div class=\"x-small \">{{labelSelected() ?? label()}}</div>\r\n <div fxHide.xs class=\"small truncated-1\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated-1\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n } @else {\r\n <div fxHide.xs class=\"small truncated\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n }\r\n </div>\r\n } @else if(labelSelected() || label()) {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n {{labelSelected() ?? label()}}</div>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </div>\r\n </div>\r\n</button>\r\n<mat-menu #optionsMenu=\"matMenu\">\r\n @for (o of options(); track $index) {\r\n <button mat-menu-item (click)=\"select(o)\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}})\r\n }\r\n </button>\r\n }\r\n</mat-menu>", styles: [".menu-selector-button{padding:0 10px 0 20px!important;border-radius:9999px!important}.menu-selector-button .in-search-bar{height:56px!important;padding:0 20px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}::ng-deep .menu-selector-button>.mdc-button__label{width:100%!important}.truncated-1{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 1){.truncated-1{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i3.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ButtonSelectorComponent, decorators: [{
131
131
  type: Component,
132
132
  args: [{ selector: 'button-selector', standalone: true, imports: [NgStyle, NgClass, FlexLayoutModule, MatIconModule, MatButtonModule,
133
- MatMenuModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button mat-stroked-button class=\"menu-selector-button\" [ngStyle]=\"{\r\n 'border': border() >= 0 ? border() : 'auto',\r\n 'border-radius': borderRadius(),\r\n 'height': border() <= 0 ? '40px' : 'auto',\r\n 'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')\r\n}\" [attr.aria-label]=\"label()\" [matMenuTriggerFor]=\"optionsMenu\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"100\" fxFlexAlign=\"center\">\r\n @if(current()) {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n <div class=\"x-small \">{{labelSelected() ?? label()}}</div>\r\n <div fxHide.xs class=\"small\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n </div>\r\n } @else {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n {{label()}}</div>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </div>\r\n </div>\r\n</button>\r\n<mat-menu #optionsMenu=\"matMenu\">\r\n @for (o of options(); track $index) {\r\n <button mat-menu-item (click)=\"select(o)\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}})\r\n }\r\n </button>\r\n }\r\n</mat-menu>", styles: [".menu-selector-button{padding:0 10px 0 20px!important;border-radius:9999px!important}.menu-selector-button .in-search-bar{height:56px!important;padding:0 20px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}::ng-deep .menu-selector-button>.mdc-button__label{width:100%!important}\n"] }]
133
+ MatMenuModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button mat-stroked-button class=\"menu-selector-button\" [ngStyle]=\"{\r\n 'border': border() >= 0 ? border() : 'auto',\r\n 'border-radius': borderRadius(),\r\n 'height': border() <= 0 ? '40px' : 'auto',\r\n 'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')\r\n}\" [attr.aria-label]=\"label()\" [matMenuTriggerFor]=\"optionsMenu\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"100\" fxFlexAlign=\"center\">\r\n @if(current()) {\r\n <div style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n @if(labelSelected() || label()) {\r\n <div class=\"x-small \">{{labelSelected() ?? label()}}</div>\r\n <div fxHide.xs class=\"small truncated-1\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated-1\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n } @else {\r\n <div fxHide.xs class=\"small truncated\" >{{current()?.shortName ?? current()?.name ?? ''}}</div>\r\n <div fxHide.gt-xs class=\"x-small truncated\" style=\"max-width: 120px;\"><div>{{current()?.shortName ?? current()?.name ?? ''}}</div></div>\r\n }\r\n </div>\r\n } @else if(labelSelected() || label()) {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n {{labelSelected() ?? label()}}</div>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </div>\r\n </div>\r\n</button>\r\n<mat-menu #optionsMenu=\"matMenu\">\r\n @for (o of options(); track $index) {\r\n <button mat-menu-item (click)=\"select(o)\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}})\r\n }\r\n </button>\r\n }\r\n</mat-menu>", styles: [".menu-selector-button{padding:0 10px 0 20px!important;border-radius:9999px!important}.menu-selector-button .in-search-bar{height:56px!important;padding:0 20px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}::ng-deep .menu-selector-button>.mdc-button__label{width:100%!important}.truncated-1{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 1){.truncated-1{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}}\n"] }]
134
134
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
135
135
  type: Optional
136
136
  }, {
@@ -147,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
147
147
  type: HostBinding,
148
148
  args: ['attr.aria-describedBy']
149
149
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9jb21wb25lbnRzL2J1dHRvbi1zZWxlY3Rvci9idXR0b24tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2NvbXBvbmVudHMvYnV0dG9uLXNlbGVjdG9yL2J1dHRvbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyTSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBWS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsSUFBSSxL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dCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBSZW5kZXJlcjIsIFNlbGYsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTmFtZVZhbHVlSXRlbSwgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYnV0dG9uLXNlbGVjdG9yJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ1N0eWxlLCBOZ0NsYXNzLCBGbGV4TGF5b3V0TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYnV0dG9uLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvblNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgQE91dHB1dCgpIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hbWVWYWx1ZUl0ZW08YW55PiB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOYW1lVmFsdWVJdGVtPGFueT4gfCBudWxsPigpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGZvY3VzZWQgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IE5hbWVWYWx1ZUl0ZW08YW55PiB8IG51bGwgPSBudWxsXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBOYW1lVmFsdWVJdGVtPGFueT4gfCBudWxsKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gICAgdGhpcy5jdXJyZW50LnNldCh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2U6IChfOiBhbnkpID0+IHZvaWQgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xyXG5cclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBidXR0b24tc2VsZWN0b3ItLSR7U3lzdGVtVXRpbHMuZ2VuZXJhdGVVVUlEKCl9YDtcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRCeScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuXHJcbiAgcHJvdGVjdGVkIGN1cnJlbnQgPSBzaWduYWw8TmFtZVZhbHVlSXRlbTxhbnk+IHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIHdpZHRoID0gaW5wdXQ8bnVtYmVyPigtMSk7XHJcbiAgYm9yZGVyID0gaW5wdXQ8bnVtYmVyPigtMSk7XHJcbiAgYm9yZGVyUmFkaXVzID0gaW5wdXQ8c3RyaW5nPihcIjk5OTlweFwiKTtcclxuICBsYWJlbCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xyXG4gIGxhYmVsU2VsZWN0ZWQgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuICBvcHRpb25zID0gaW5wdXQ8TmFtZVZhbHVlSXRlbTxhbnk+W10+KFtdKTtcclxuICBhdXRvU2VsZWN0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9TZWxlY3QoKSkge1xyXG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zWzBdLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50LnNldChvcHRpb25zWzBdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgbGV0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcclxuICAgIGlmIChlbGVtKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoZWxlbSwgJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNvbnRhaW5lckNsaWNrKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcclxuICAgICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgICBsZXQgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xyXG4gICAgICBpZiAoZWxlbSkge1xyXG4gICAgICAgIGVsZW0uZm9jdXMoKTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFNlbGVjdCBhbiBlbGVtZW50XHJcbiAqIEBwYXJhbSBpdGVtIDogdGhlIGl0ZW0gdG8gc2VsZWN0XHJcbiAqIEBwYXJhbSBub3RpZnk6IHRydWUgaWYgc2VsZWN0aW9uIG5vdGlmaWNhdGlvbiBtdXN0IGJlIHJpc2VkLiBEZWZhdWx0IGlzIHRydWVcclxuICovXHJcbiAgc2VsZWN0KGl0ZW06IE5hbWVWYWx1ZUl0ZW08YW55Piwgbm90aWZ5OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKGl0ZW0pO1xyXG4gICAgaWYgKG5vdGlmeSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzZXQgdmFsdWVcclxuICAgKi9cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShudWxsKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtZW51LXNlbGVjdG9yLWJ1dHRvblwiIFtuZ1N0eWxlXT1cIntcclxuICAgICdib3JkZXInOiBib3JkZXIoKSA+PSAwID8gYm9yZGVyKCkgOiAnYXV0bycsXHJcbiAgICAnYm9yZGVyLXJhZGl1cyc6IGJvcmRlclJhZGl1cygpLFxyXG4gICAgJ2hlaWdodCc6IGJvcmRlcigpIDw9IDAgPyAnNDBweCcgOiAnYXV0bycsXHJcbiAgICAnbWluLXdpZHRoJzogd2lkdGgoKSA+IDAgPyB3aWR0aCgpKydweCcgOiAod2lkdGgoKSA9PT0gLTEgPyAnMTAwJScgOiAnYXV0bycpXHJcbn1cIiBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsKClcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc01lbnVcIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCIxMDBcIiBmeEZsZXhBbGlnbj1cImNlbnRlclwiPlxyXG4gICAgICAgICAgICBAaWYoY3VycmVudCgpKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cnVuY2F0ZWRcIiBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnbWluLXdpZHRoJzogd2lkdGgoKSA+IDAgPyB3aWR0aCgpKydweCcgOiAod2lkdGgoKSA9PT0gLTEgPyAnMTAwJScgOiAnYXV0bycpfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIngtc21hbGwgXCI+e3tsYWJlbFNlbGVjdGVkKCkgPz8gbGFiZWwoKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4SGlkZS54cyBjbGFzcz1cInNtYWxsXCIgPnt7Y3VycmVudCgpPy5zaG9ydE5hbWUgPz8gY3VycmVudCgpPy5uYW1lID8/ICcnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZnhIaWRlLmd0LXhzIGNsYXNzPVwieC1zbWFsbCB0cnVuY2F0ZWRcIiBzdHlsZT1cIm1heC13aWR0aDogMTIwcHg7XCI+PGRpdj57e2N1cnJlbnQoKT8uc2hvcnROYW1lID8/IGN1cnJlbnQoKT8ubmFtZSA/PyAnJ319PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRydW5jYXRlZFwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiB3aWR0aCgpID4gMCA/IHdpZHRoKCkrJ3B4JyA6ICh3aWR0aCgpID09PSAtMSA/ICcxMDAlJyA6ICdhdXRvJyl9XCI+XHJcbiAgICAgICAgICAgICAgICB7e2xhYmVsKCl9fTwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwiZW5kXCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbjxtYXQtbWVudSAjb3B0aW9uc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgICBAZm9yIChvIG9mIG9wdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNlbGVjdChvKVwiIFtkaXNhYmxlZF09XCJvLmRpc2FibGVkXCI+XHJcbiAgICAgICAge3tvLm5hbWV9fVxyXG4gICAgICAgIEBpZihvLmJhZykge1xyXG4gICAgICAgICAgICAoe3tvLmJhZ319KVxyXG4gICAgICAgIH1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG48L21hdC1tZW51PiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9jb21wb25lbnRzL2J1dHRvbi1zZWxlY3Rvci9idXR0b24tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2NvbXBvbmVudHMvYnV0dG9uLXNlbGVjdG9yL2J1dHRvbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyTSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBWS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsSUFBSSxLQUFLLENBQUMsS0FBZ0M7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBb0JELFlBQzZCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFyRHZDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFDM0QsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixXQUFNLEdBQThCLElBQUksQ0FBQTtRQVl4QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBZ0IzQixvQkFBZSxHQUFxQixDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELHFCQUFnQixHQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVsQyxPQUFFLEdBQUcsb0JBQW9CLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0IsWUFBTyxHQUFHLE1BQU0sQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFFNUQsVUFBSyxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixpQkFBWSxHQUFHLEtBQUssQ0FBUyxRQUFRLENBQUMsQ0FBQztRQUN2QyxVQUFLLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDM0MsWUFBTyxHQUFHLEtBQUssQ0FBdUIsRUFBRSxDQUFDLENBQUM7UUFDMUMsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUtqQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87UUFDckMsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFO2dCQUFFLE9BQU87WUFDckMsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7S0FJQztJQUNELE1BQU0sQ0FBQyxJQUF3QixFQUFFLFNBQWtCLElBQUk7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs4R0FoSVUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscXZDQ3JCcEMsa3JFQXdDVyw4a0JEekJDLE9BQU8sMEVBQVcsZ0JBQWdCLHcrSUFBRSxhQUFhLG1MQUFFLGVBQWUsMk5BQzFFLGFBQWE7OzJGQUtKLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlO3dCQUMxRSxhQUFhLENBQUMsbUJBR0MsdUJBQXVCLENBQUMsTUFBTTs7MEJBeUQ1QyxRQUFROzswQkFBSSxJQUFJO3lDQXJEVCxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBbUJILFFBQVE7c0JBRFgsS0FBSztnQkFrQlMsRUFBRTtzQkFBaEIsV0FBVztnQkFDMEIsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUmVuZGVyZXIyLCBTZWxmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE5hbWVWYWx1ZUl0ZW0sIFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2J1dHRvbi1zZWxlY3RvcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdTdHlsZSwgTmdDbGFzcywgRmxleExheW91dE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2J1dHRvbi1zZWxlY3Rvci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25TZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOYW1lVmFsdWVJdGVtPGFueT4gfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TmFtZVZhbHVlSXRlbTxhbnk+IHwgbnVsbD4oKTtcclxuICBwcml2YXRlIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBmb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBOYW1lVmFsdWVJdGVtPGFueT4gfCBudWxsID0gbnVsbFxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogTmFtZVZhbHVlSXRlbTxhbnk+IHwgbnVsbCkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgIHRoaXMuY3VycmVudC5zZXQodGhpcy5fdmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gIH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlOiAoXzogYW55KSA9PiB2b2lkID0gKF86IGFueSkgPT4geyB9O1xyXG4gIHByaXZhdGUgcHJvcGFnYXRlVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgYnV0dG9uLXNlbGVjdG9yLS0ke1N5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpfWA7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkQnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG5cclxuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcblxyXG4gIHByb3RlY3RlZCBjdXJyZW50ID0gc2lnbmFsPE5hbWVWYWx1ZUl0ZW08YW55PiB8IG51bGw+KG51bGwpO1xyXG5cclxuICB3aWR0aCA9IGlucHV0PG51bWJlcj4oLTEpO1xyXG4gIGJvcmRlciA9IGlucHV0PG51bWJlcj4oLTEpO1xyXG4gIGJvcmRlclJhZGl1cyA9IGlucHV0PHN0cmluZz4oXCI5OTk5cHhcIik7XHJcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuICBsYWJlbFNlbGVjdGVkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcbiAgb3B0aW9ucyA9IGlucHV0PE5hbWVWYWx1ZUl0ZW08YW55PltdPihbXSk7XHJcbiAgYXV0b1NlbGVjdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICApIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvU2VsZWN0KCkpIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xyXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDAgJiYgb3B0aW9uc1swXS52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudC5zZXQob3B0aW9uc1swXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgIGxldCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XHJcbiAgICBpZiAoZWxlbSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGVsZW0sICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Db250YWluZXJDbGljaygpIHtcclxuICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XHJcbiAgICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgICAgbGV0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcclxuICAgICAgaWYgKGVsZW0pIHtcclxuICAgICAgICBlbGVtLmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBTZWxlY3QgYW4gZWxlbWVudFxyXG4gKiBAcGFyYW0gaXRlbSA6IHRoZSBpdGVtIHRvIHNlbGVjdFxyXG4gKiBAcGFyYW0gbm90aWZ5OiB0cnVlIGlmIHNlbGVjdGlvbiBub3RpZmljYXRpb24gbXVzdCBiZSByaXNlZC4gRGVmYXVsdCBpcyB0cnVlXHJcbiAqL1xyXG4gIHNlbGVjdChpdGVtOiBOYW1lVmFsdWVJdGVtPGFueT4sIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShpdGVtKTtcclxuICAgIGlmIChub3RpZnkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHZhbHVlXHJcbiAgICovXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwibWVudS1zZWxlY3Rvci1idXR0b25cIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAnYm9yZGVyJzogYm9yZGVyKCkgPj0gMCA/IGJvcmRlcigpIDogJ2F1dG8nLFxyXG4gICAgJ2JvcmRlci1yYWRpdXMnOiBib3JkZXJSYWRpdXMoKSxcclxuICAgICdoZWlnaHQnOiBib3JkZXIoKSA8PSAwID8gJzQwcHgnIDogJ2F1dG8nLFxyXG4gICAgJ21pbi13aWR0aCc6IHdpZHRoKCkgPiAwID8gd2lkdGgoKSsncHgnIDogKHdpZHRoKCkgPT09IC0xID8gJzEwMCUnIDogJ2F1dG8nKVxyXG59XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCgpXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNNZW51XCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhGaWxsPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4PVwiMTAwXCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmKGN1cnJlbnQoKSkge1xyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiB3aWR0aCgpID4gMCA/IHdpZHRoKCkrJ3B4JyA6ICh3aWR0aCgpID09PSAtMSA/ICcxMDAlJyA6ICdhdXRvJyl9XCI+XHJcbiAgICAgICAgICAgICAgICBAaWYobGFiZWxTZWxlY3RlZCgpIHx8IGxhYmVsKCkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LXNtYWxsIFwiPnt7bGFiZWxTZWxlY3RlZCgpID8/IGxhYmVsKCl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmeEhpZGUueHMgY2xhc3M9XCJzbWFsbCB0cnVuY2F0ZWQtMVwiID57e2N1cnJlbnQoKT8uc2hvcnROYW1lID8/IGN1cnJlbnQoKT8ubmFtZSA/PyAnJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4SGlkZS5ndC14cyBjbGFzcz1cIngtc21hbGwgdHJ1bmNhdGVkLTFcIiBzdHlsZT1cIm1heC13aWR0aDogMTIwcHg7XCI+PGRpdj57e2N1cnJlbnQoKT8uc2hvcnROYW1lID8/IGN1cnJlbnQoKT8ubmFtZSA/PyAnJ319PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4SGlkZS54cyBjbGFzcz1cInNtYWxsIHRydW5jYXRlZFwiID57e2N1cnJlbnQoKT8uc2hvcnROYW1lID8/IGN1cnJlbnQoKT8ubmFtZSA/PyAnJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEhpZGUuZ3QteHMgY2xhc3M9XCJ4LXNtYWxsIHRydW5jYXRlZFwiIHN0eWxlPVwibWF4LXdpZHRoOiAxMjBweDtcIj48ZGl2Pnt7Y3VycmVudCgpPy5zaG9ydE5hbWUgPz8gY3VycmVudCgpPy5uYW1lID8/ICcnfX08L2Rpdj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYobGFiZWxTZWxlY3RlZCgpIHx8IGxhYmVsKCkpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRydW5jYXRlZFwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiB3aWR0aCgpID4gMCA/IHdpZHRoKCkrJ3B4JyA6ICh3aWR0aCgpID09PSAtMSA/ICcxMDAlJyA6ICdhdXRvJyl9XCI+XHJcbiAgICAgICAgICAgICAgICB7e2xhYmVsU2VsZWN0ZWQoKSA/PyBsYWJlbCgpfX08L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmxleEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI29wdGlvbnNNZW51PVwibWF0TWVudVwiPlxyXG4gICAgQGZvciAobyBvZiBvcHRpb25zKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZWxlY3QobylcIiBbZGlzYWJsZWRdPVwiby5kaXNhYmxlZFwiPlxyXG4gICAgICAgIHt7by5uYW1lfX1cclxuICAgICAgICBAaWYoby5iYWcpIHtcclxuICAgICAgICAgICAgKHt7by5iYWd9fSlcclxuICAgICAgICB9XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuPC9tYXQtbWVudT4iXX0=