@norwegian/core-components 7.2.3 → 7.3.1

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.
@@ -385,11 +385,11 @@ export class AirportSelectComponent extends NasComponentBase {
385
385
  }
386
386
  }
387
387
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AirportSelectComponent, deps: [{ token: i1.DeviceHelper }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
388
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AirportSelectComponent, selector: "nas-airport-select", inputs: { outboundId: "outboundId", inboundId: "inboundId", airports: "airports", airportRelations: "airportRelations", latestSearchesOrigin: "latestSearchesOrigin", latestSearchesDestination: "latestSearchesDestination", closestAirports: "closestAirports", allowedOriginAiports: "allowedOriginAiports", allowedDestinationAirports: "allowedDestinationAirports", displayLatestSearches: "displayLatestSearches", displayClosestAirports: "displayClosestAirports", combo: "combo", useSwitch: "useSwitch", allAirportsLabel: "allAirportsLabel", latestSearchesLabel: "latestSearchesLabel", closestAirportsLabel: "closestAirportsLabel", geolocationLabel: "geolocationLabel", geolocationBlockedLabel: "geolocationBlockedLabel", selectOriginFirstLabel: "selectOriginFirstLabel", invalidDestinationText: "invalidDestinationText", labelOrigin: "labelOrigin", placeholderOrigin: "placeholderOrigin", labelDestination: "labelDestination", placeholderDestination: "placeholderDestination", keepSelection: "keepSelection", nasFormControlNameOrigin: "nasFormControlNameOrigin", nasFormControlNameDestination: "nasFormControlNameDestination", nasFormGroup: "nasFormGroup", originAirportCode: "originAirportCode", destinationAirportCode: "destinationAirportCode", ariaLabelClear: "ariaLabelClear", ariaLabelBackdrop: "ariaLabelBackdrop" }, outputs: { originChange: "originChange", originOpenChange: "originOpenChange", destinationChange: "destinationChange", destinationOpenChange: "destinationOpenChange", focusOnNext: "focusOnNext", positionChange: "positionChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "switchButton", first: true, predicate: ["switchButton"], descendants: true }, { propertyName: "airportSelectDropdownOrigin", first: true, predicate: ["airportSelectDropdownOrigin"], descendants: true }, { propertyName: "airportSelectDropdownDestination", first: true, predicate: ["airportSelectDropdownDestination"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"exists(combo); else airportSelectTemplate\"\n [nasClass]=\"getAirportSelectComboClass('', [inlineFlex && 'inline'])\" #container>\n <ng-container *ngTemplateOutlet=\"airportSelectTemplate\"></ng-container>\n</div>\n<ng-template #airportSelectTemplate>\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-origin')\" *ngIf=\"airportsOrigin\">\n <nas-airport-select-dropdown #airportSelectDropdownOrigin displayLatestSearches [id]=\"outboundId\"\n [enableGeolocation]=\"displayClosestAirports\" [displayClosestAirports]=\"displayClosestAirports\"\n [airportSelectLabel]=\"labelOrigin\" [latestSearches]=\"latestSearchesOrigin\" [closestAirports]=\"closestAirports\"\n [airport]=\"origin\" [airports]=\"airportsOrigin\" [resultsLabels]=\"resultsLabels\"\n [airportSelectPlaceholder]=\"placeholderOrigin\" [open]=\"originOpen\" [keepSelection]=\"keepSelection\"\n [airportSelectIconModifier]=\"'flight-departure'\" [nasFormControlName]=\"nasFormControlNameOrigin\"\n [nasFormGroup]=\"nasFormGroup\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n (clearedSelection)=\"onSelectionCleared()\" (selected)=\"setSelectedOrigin($event)\"\n (openChange)=\"onOriginOpen($event)\" (focusOnNext)=\"setDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select-dropdown>\n </div>\n <ng-container *ngIf=\"exists(combo)\">\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-destination')\"\n *ngIf=\"airportsDestination && airportsDestination.length > 0\">\n <nas-airport-select-dropdown #airportSelectDropdownDestination displayLatestSearches [id]=\"inboundId\"\n [airportSelectLabel]=\"labelDestination\" [displayClosestAirports]=\"false\"\n [latestSearches]=\"currentLatestSearchesDestination\" [airports]=\"airportsDestination\"\n [resultsLabels]=\"resultsLabels\" [airport]=\"destination\" [airportSelectPlaceholder]=\"placeholderDestination\"\n [open]=\"destinationOpen\" [keepSelection]=\"keepSelection\" [airportSelectIconModifier]=\"'flight-arrival'\"\n [nasFormControlName]=\"nasFormControlNameDestination\" [nasFormGroup]=\"nasFormGroup\"\n [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [isValid]=\"isDestinationValid\"\n [invalidText]=\"invalidDestinationText\" (clearedSelection)=\"onSelectionCleared()\"\n (selected)=\"setSelectedDestination($event)\" (openChange)=\"onDestinationOpen($event)\"\n (focusOnNext)=\"setFocusOnNext($event)\" (focusOnPrevious)=\"onOriginFocus()\"></nas-airport-select-dropdown>\n </div>\n <div *ngIf=\"exists(useSwitch) && !(originOpen || destinationOpen || cleared)\" #switchButton\n [nasClass]=\"getAirportSelectComboClass('switcher', (originAirportCodeValue && destinationAirportCodeValue) && 'filled')\"\n (mouseover)=\"changeSwitchIcon()\" (mouseleave)=\"changeSwitchIcon()\" (keydown)=\"swapKeyDown($event)\"\n (click)=\"swapAirports()\">\n <nas-icon\n [type]=\"(this.destinationAirportCodeValue && this.originAirportCodeValue) ? 'vector--secondary' : 'vector'\"></nas-icon>\n </div>\n </ng-container>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-airport-select{position:relative;width:100%;text-align:left}.nas-airport-select label{margin-bottom:0;height:67px}.nas-airport-select:first-child{margin-bottom:0}.nas-airport-select:only-child{max-width:360px}.nas-airport-select--expanded{z-index:30}.nas-airport-select__wrapper{position:relative;display:block;z-index:3;background-color:#fff;border:2px solid #6F6F6F}.nas-airport-select__wrapper--active{background-color:#ebf4ff;border:2px solid #15273F}.nas-airport-select__wrapper--filled{border:2px solid #15273F}.nas-airport-select__list-section-label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;position:relative;z-index:2;text-align:center;padding:3px 12px;background-color:#e9e7e4}.nas-airport-select__list-section-label:not(:first-child){margin-top:-1px}.nas-airport-select__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:inherit}.nas-airport-select__input{height:64px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__input[type=text]:focus{border-bottom:none}.nas-airport-select__label+.nas-airport-select__input{height:34px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__icon{position:absolute;z-index:4;right:18px;bottom:18px}.nas-airport-select__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:-4px}.nas-airport-select__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:airport-select-results .65s ease both}.nas-airport-select__dummy{position:absolute;left:-100px}.nas-airport-select__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:airport-select-backdrop .7s ease-out both}.nas-airport-select__list-item{border-bottom:2px solid #E9E7E4}.nas-airport-select__list-item:not(:last-of-type):after{content:\"\";display:block;width:100%;position:absolute;bottom:0;border-bottom:1px solid #E9E7E4}.nas-airport-select__geolocation--label{align-self:center;padding-left:4px}.nas-airport-select__geolocation--icon{margin-right:3px}.nas-airport-select__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:16px;margin-top:-1px;display:flex;justify-content:space-between;outline:0}.nas-airport-select__item--focus,.nas-airport-select__item:hover,.nas-airport-select__item:focus{background-color:#f8f8f8}.nas-airport-select__item--focus,.nas-airport-select__item--focus .nas-airport-select__name,.nas-airport-select__item--focus .nas-airport-select__code,.nas-airport-select__item:hover,.nas-airport-select__item:hover .nas-airport-select__name,.nas-airport-select__item:hover .nas-airport-select__code,.nas-airport-select__item:focus,.nas-airport-select__item:focus .nas-airport-select__name,.nas-airport-select__item:focus .nas-airport-select__code{color:#15273f!important}.nas-airport-select__item--disabled{border-bottom-width:0}.nas-airport-select__item--disabled,.nas-airport-select__item--disabled .nas-airport-select__name,.nas-airport-select__item--disabled .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:focus{background-color:#fff;cursor:auto}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:hover .nas-airport-select__name,.nas-airport-select__item--disabled:hover .nas-airport-select__code,.nas-airport-select__item--disabled:focus,.nas-airport-select__item--disabled:focus .nas-airport-select__name,.nas-airport-select__item--disabled:focus .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__name,.nas-airport-select__code{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-airport-select__name--invalid,.nas-airport-select__code--invalid{margin:12px}.nas-airport-select__code{margin-left:.12em}.nas-airport-select__country{display:block;font-size:14px}.nas-airport-select__empty{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:16px;line-height:1.4;color:#15273f;margin:0;padding:12px}.nas-icon-vector,.nas-icon-vector--secondary{margin-bottom:2px}.nas-filter .nas-airport-select-combo,.nas-search-filter .nas-airport-select-combo{margin:0 3px 0 0}.nas-airport-select-combo{position:relative;display:flex;flex-direction:column;width:100%;margin:8px auto;gap:8px}.nas-airport-select-combo--inline{flex-direction:row}.nas-airport-select-combo--inline .nas-airport-select-combo__switcher{left:48%;top:14px;transform:rotate(90deg)}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label{padding:12px 24px 0}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 24px 12px}.nas-airport-select-combo__switcher{position:absolute;top:48px;z-index:4;left:76%;cursor:pointer;border:2px solid #6F6F6F;border-radius:50%;width:40px;height:40px;background-color:#fff;justify-content:center;align-items:center;display:flex}.nas-airport-select-combo__switcher:focus{outline:none;box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-airport-select-combo__switcher--filled{border:2px solid #15273F}@keyframes airport-select-backdrop{0%{opacity:0}}@keyframes airport-select-results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i5.AirportSelectDropdownComponent, selector: "nas-airport-select-dropdown", inputs: ["id", "displayLatestSearches", "displayClosestAirports", "latestSearches", "resultsLabels", "airportSelectLabel", "airportSelectPlaceholder", "airportSelectIconModifier", "keepSelection", "nasFormControlName", "nasFormGroup", "enableGeolocation", "ariaLabelClear", "ariaLabelBackdrop", "isValid", "invalidText", "closestAirports", "airport", "open", "airports"], outputs: ["selected", "openChange", "focusOnNext", "focusOnPrevious", "positionChange", "clearedSelection"] }], encapsulation: i0.ViewEncapsulation.None }); }
388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AirportSelectComponent, selector: "nas-airport-select", inputs: { outboundId: "outboundId", inboundId: "inboundId", airports: "airports", airportRelations: "airportRelations", latestSearchesOrigin: "latestSearchesOrigin", latestSearchesDestination: "latestSearchesDestination", closestAirports: "closestAirports", allowedOriginAiports: "allowedOriginAiports", allowedDestinationAirports: "allowedDestinationAirports", displayLatestSearches: "displayLatestSearches", displayClosestAirports: "displayClosestAirports", combo: "combo", useSwitch: "useSwitch", allAirportsLabel: "allAirportsLabel", latestSearchesLabel: "latestSearchesLabel", closestAirportsLabel: "closestAirportsLabel", geolocationLabel: "geolocationLabel", geolocationBlockedLabel: "geolocationBlockedLabel", selectOriginFirstLabel: "selectOriginFirstLabel", invalidDestinationText: "invalidDestinationText", labelOrigin: "labelOrigin", placeholderOrigin: "placeholderOrigin", labelDestination: "labelDestination", placeholderDestination: "placeholderDestination", keepSelection: "keepSelection", nasFormControlNameOrigin: "nasFormControlNameOrigin", nasFormControlNameDestination: "nasFormControlNameDestination", nasFormGroup: "nasFormGroup", originAirportCode: "originAirportCode", destinationAirportCode: "destinationAirportCode", ariaLabelClear: "ariaLabelClear", ariaLabelBackdrop: "ariaLabelBackdrop" }, outputs: { originChange: "originChange", originOpenChange: "originOpenChange", destinationChange: "destinationChange", destinationOpenChange: "destinationOpenChange", focusOnNext: "focusOnNext", positionChange: "positionChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "switchButton", first: true, predicate: ["switchButton"], descendants: true }, { propertyName: "airportSelectDropdownOrigin", first: true, predicate: ["airportSelectDropdownOrigin"], descendants: true }, { propertyName: "airportSelectDropdownDestination", first: true, predicate: ["airportSelectDropdownDestination"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"exists(combo); else airportSelectTemplate\"\n [nasClass]=\"getAirportSelectComboClass('', [inlineFlex && 'inline'])\" #container>\n <ng-container *ngTemplateOutlet=\"airportSelectTemplate\"></ng-container>\n</div>\n<ng-template #airportSelectTemplate>\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-origin')\" *ngIf=\"airportsOrigin\">\n <nas-airport-select-dropdown #airportSelectDropdownOrigin displayLatestSearches [id]=\"outboundId\"\n [enableGeolocation]=\"displayClosestAirports\" [displayClosestAirports]=\"displayClosestAirports\"\n [airportSelectLabel]=\"labelOrigin\" [latestSearches]=\"latestSearchesOrigin\" [closestAirports]=\"closestAirports\"\n [airport]=\"origin\" [airports]=\"airportsOrigin\" [resultsLabels]=\"resultsLabels\"\n [airportSelectPlaceholder]=\"placeholderOrigin\" [open]=\"originOpen\" [keepSelection]=\"keepSelection\"\n [airportSelectIconModifier]=\"'flight-departure'\" [nasFormControlName]=\"nasFormControlNameOrigin\"\n [nasFormGroup]=\"nasFormGroup\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n (clearedSelection)=\"onSelectionCleared()\" (selected)=\"setSelectedOrigin($event)\"\n (openChange)=\"onOriginOpen($event)\" (focusOnNext)=\"setDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select-dropdown>\n </div>\n <ng-container *ngIf=\"exists(combo)\">\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-destination')\"\n *ngIf=\"airportsDestination && airportsDestination.length > 0\">\n <nas-airport-select-dropdown #airportSelectDropdownDestination displayLatestSearches [id]=\"inboundId\"\n [airportSelectLabel]=\"labelDestination\" [displayClosestAirports]=\"false\"\n [latestSearches]=\"currentLatestSearchesDestination\" [airports]=\"airportsDestination\"\n [resultsLabels]=\"resultsLabels\" [airport]=\"destination\" [airportSelectPlaceholder]=\"placeholderDestination\"\n [open]=\"destinationOpen\" [keepSelection]=\"keepSelection\" [airportSelectIconModifier]=\"'flight-arrival'\"\n [nasFormControlName]=\"nasFormControlNameDestination\" [nasFormGroup]=\"nasFormGroup\"\n [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [isValid]=\"isDestinationValid\"\n [invalidText]=\"invalidDestinationText\" (clearedSelection)=\"onSelectionCleared()\"\n (selected)=\"setSelectedDestination($event)\" (openChange)=\"onDestinationOpen($event)\"\n (focusOnNext)=\"setFocusOnNext($event)\" (focusOnPrevious)=\"onOriginFocus()\"></nas-airport-select-dropdown>\n </div>\n <div *ngIf=\"exists(useSwitch) && !(originOpen || destinationOpen || cleared)\" #switchButton\n [nasClass]=\"getAirportSelectComboClass('switcher', (originAirportCodeValue && destinationAirportCodeValue) && 'filled')\"\n (mouseover)=\"changeSwitchIcon()\" (mouseleave)=\"changeSwitchIcon()\" (keydown)=\"swapKeyDown($event)\"\n (click)=\"swapAirports()\">\n <nas-icon\n [type]=\"(this.destinationAirportCodeValue && this.originAirportCodeValue) ? 'vector--secondary' : 'vector'\"></nas-icon>\n </div>\n </ng-container>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-airport-select{position:relative;width:100%;text-align:left}.nas-airport-select label{margin-bottom:0;height:67px}.nas-airport-select:first-child{margin-bottom:0}.nas-airport-select:only-child{max-width:360px}.nas-airport-select--expanded{z-index:30}.nas-airport-select__wrapper{position:relative;display:block;z-index:3;background-color:#fff;border:2px solid #6F6F6F}.nas-airport-select__wrapper--active{background-color:#ebf4ff;border:2px solid #15273F}.nas-airport-select__wrapper--filled{border:2px solid #15273F}.nas-airport-select__list-section-label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;position:relative;z-index:2;text-align:center;padding:3px 12px;background-color:#e9e7e4}.nas-airport-select__list-section-label:not(:first-child){margin-top:-1px}.nas-airport-select__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:inherit}.nas-airport-select__input{height:64px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__input[type=text]:focus{border-bottom:none}.nas-airport-select__label+.nas-airport-select__input{height:34px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__icon{position:absolute;z-index:4;right:18px;bottom:18px}.nas-airport-select__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:-4px}.nas-airport-select__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:airport-select-results .65s ease both}.nas-airport-select__dummy{position:absolute;left:-100px}.nas-airport-select__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:airport-select-backdrop .7s ease-out both}.nas-airport-select__list-item{border-bottom:2px solid #E9E7E4}.nas-airport-select__list-item:not(:last-of-type):after{content:\"\";display:block;width:100%;position:absolute;bottom:0;border-bottom:1px solid #E9E7E4}.nas-airport-select__geolocation--label{align-self:center;padding-left:4px}.nas-airport-select__geolocation--icon{margin-right:3px}.nas-airport-select__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:16px;margin-top:-1px;display:flex;justify-content:space-between;outline:0}.nas-airport-select__item--focus,.nas-airport-select__item:hover,.nas-airport-select__item:focus{background-color:#f8f8f8}.nas-airport-select__item--focus,.nas-airport-select__item--focus .nas-airport-select__name,.nas-airport-select__item--focus .nas-airport-select__code,.nas-airport-select__item:hover,.nas-airport-select__item:hover .nas-airport-select__name,.nas-airport-select__item:hover .nas-airport-select__code,.nas-airport-select__item:focus,.nas-airport-select__item:focus .nas-airport-select__name,.nas-airport-select__item:focus .nas-airport-select__code{color:#15273f!important}.nas-airport-select__item--disabled{border-bottom-width:0}.nas-airport-select__item--disabled,.nas-airport-select__item--disabled .nas-airport-select__name,.nas-airport-select__item--disabled .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:focus{background-color:#fff;cursor:auto}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:hover .nas-airport-select__name,.nas-airport-select__item--disabled:hover .nas-airport-select__code,.nas-airport-select__item--disabled:focus,.nas-airport-select__item--disabled:focus .nas-airport-select__name,.nas-airport-select__item--disabled:focus .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__name,.nas-airport-select__code{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-airport-select__name--invalid,.nas-airport-select__code--invalid{margin:12px}.nas-airport-select__code{margin-left:.12em}.nas-airport-select__country{display:block;font-size:14px}.nas-airport-select__empty{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:16px;line-height:1.4;color:#15273f;margin:0;padding:12px}.nas-icon-vector,.nas-icon-vector--secondary{margin-bottom:2px}.nas-filter .nas-airport-select-combo,.nas-search-filter .nas-airport-select-combo{margin:0 3px 0 0}.nas-airport-select-combo{position:relative;display:flex;flex-direction:column;width:100%;margin:8px auto;gap:8px}.nas-airport-select-combo--inline{flex-direction:row}.nas-airport-select-combo--inline .nas-airport-select-combo__switcher{left:48%;top:14px;transform:rotate(90deg)}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label{padding:12px 24px 0}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 24px 12px}.nas-airport-select-combo__switcher{position:absolute;top:48px;z-index:3;left:76%;cursor:pointer;border:2px solid #6F6F6F;border-radius:50%;width:40px;height:40px;background-color:#fff;justify-content:center;align-items:center;display:flex}.nas-airport-select-combo__switcher:focus{outline:none;box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-airport-select-combo__switcher--filled{border:2px solid #15273F}@keyframes airport-select-backdrop{0%{opacity:0}}@keyframes airport-select-results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i5.AirportSelectDropdownComponent, selector: "nas-airport-select-dropdown", inputs: ["id", "displayLatestSearches", "displayClosestAirports", "latestSearches", "resultsLabels", "airportSelectLabel", "airportSelectPlaceholder", "airportSelectIconModifier", "keepSelection", "nasFormControlName", "nasFormGroup", "enableGeolocation", "ariaLabelClear", "ariaLabelBackdrop", "isValid", "invalidText", "closestAirports", "airport", "open", "airports"], outputs: ["selected", "openChange", "focusOnNext", "focusOnPrevious", "positionChange", "clearedSelection"] }], encapsulation: i0.ViewEncapsulation.None }); }
389
389
  }
390
390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AirportSelectComponent, decorators: [{
391
391
  type: Component,
392
- args: [{ selector: 'nas-airport-select', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"exists(combo); else airportSelectTemplate\"\n [nasClass]=\"getAirportSelectComboClass('', [inlineFlex && 'inline'])\" #container>\n <ng-container *ngTemplateOutlet=\"airportSelectTemplate\"></ng-container>\n</div>\n<ng-template #airportSelectTemplate>\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-origin')\" *ngIf=\"airportsOrigin\">\n <nas-airport-select-dropdown #airportSelectDropdownOrigin displayLatestSearches [id]=\"outboundId\"\n [enableGeolocation]=\"displayClosestAirports\" [displayClosestAirports]=\"displayClosestAirports\"\n [airportSelectLabel]=\"labelOrigin\" [latestSearches]=\"latestSearchesOrigin\" [closestAirports]=\"closestAirports\"\n [airport]=\"origin\" [airports]=\"airportsOrigin\" [resultsLabels]=\"resultsLabels\"\n [airportSelectPlaceholder]=\"placeholderOrigin\" [open]=\"originOpen\" [keepSelection]=\"keepSelection\"\n [airportSelectIconModifier]=\"'flight-departure'\" [nasFormControlName]=\"nasFormControlNameOrigin\"\n [nasFormGroup]=\"nasFormGroup\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n (clearedSelection)=\"onSelectionCleared()\" (selected)=\"setSelectedOrigin($event)\"\n (openChange)=\"onOriginOpen($event)\" (focusOnNext)=\"setDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select-dropdown>\n </div>\n <ng-container *ngIf=\"exists(combo)\">\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-destination')\"\n *ngIf=\"airportsDestination && airportsDestination.length > 0\">\n <nas-airport-select-dropdown #airportSelectDropdownDestination displayLatestSearches [id]=\"inboundId\"\n [airportSelectLabel]=\"labelDestination\" [displayClosestAirports]=\"false\"\n [latestSearches]=\"currentLatestSearchesDestination\" [airports]=\"airportsDestination\"\n [resultsLabels]=\"resultsLabels\" [airport]=\"destination\" [airportSelectPlaceholder]=\"placeholderDestination\"\n [open]=\"destinationOpen\" [keepSelection]=\"keepSelection\" [airportSelectIconModifier]=\"'flight-arrival'\"\n [nasFormControlName]=\"nasFormControlNameDestination\" [nasFormGroup]=\"nasFormGroup\"\n [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [isValid]=\"isDestinationValid\"\n [invalidText]=\"invalidDestinationText\" (clearedSelection)=\"onSelectionCleared()\"\n (selected)=\"setSelectedDestination($event)\" (openChange)=\"onDestinationOpen($event)\"\n (focusOnNext)=\"setFocusOnNext($event)\" (focusOnPrevious)=\"onOriginFocus()\"></nas-airport-select-dropdown>\n </div>\n <div *ngIf=\"exists(useSwitch) && !(originOpen || destinationOpen || cleared)\" #switchButton\n [nasClass]=\"getAirportSelectComboClass('switcher', (originAirportCodeValue && destinationAirportCodeValue) && 'filled')\"\n (mouseover)=\"changeSwitchIcon()\" (mouseleave)=\"changeSwitchIcon()\" (keydown)=\"swapKeyDown($event)\"\n (click)=\"swapAirports()\">\n <nas-icon\n [type]=\"(this.destinationAirportCodeValue && this.originAirportCodeValue) ? 'vector--secondary' : 'vector'\"></nas-icon>\n </div>\n </ng-container>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-airport-select{position:relative;width:100%;text-align:left}.nas-airport-select label{margin-bottom:0;height:67px}.nas-airport-select:first-child{margin-bottom:0}.nas-airport-select:only-child{max-width:360px}.nas-airport-select--expanded{z-index:30}.nas-airport-select__wrapper{position:relative;display:block;z-index:3;background-color:#fff;border:2px solid #6F6F6F}.nas-airport-select__wrapper--active{background-color:#ebf4ff;border:2px solid #15273F}.nas-airport-select__wrapper--filled{border:2px solid #15273F}.nas-airport-select__list-section-label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;position:relative;z-index:2;text-align:center;padding:3px 12px;background-color:#e9e7e4}.nas-airport-select__list-section-label:not(:first-child){margin-top:-1px}.nas-airport-select__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:inherit}.nas-airport-select__input{height:64px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__input[type=text]:focus{border-bottom:none}.nas-airport-select__label+.nas-airport-select__input{height:34px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__icon{position:absolute;z-index:4;right:18px;bottom:18px}.nas-airport-select__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:-4px}.nas-airport-select__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:airport-select-results .65s ease both}.nas-airport-select__dummy{position:absolute;left:-100px}.nas-airport-select__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:airport-select-backdrop .7s ease-out both}.nas-airport-select__list-item{border-bottom:2px solid #E9E7E4}.nas-airport-select__list-item:not(:last-of-type):after{content:\"\";display:block;width:100%;position:absolute;bottom:0;border-bottom:1px solid #E9E7E4}.nas-airport-select__geolocation--label{align-self:center;padding-left:4px}.nas-airport-select__geolocation--icon{margin-right:3px}.nas-airport-select__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:16px;margin-top:-1px;display:flex;justify-content:space-between;outline:0}.nas-airport-select__item--focus,.nas-airport-select__item:hover,.nas-airport-select__item:focus{background-color:#f8f8f8}.nas-airport-select__item--focus,.nas-airport-select__item--focus .nas-airport-select__name,.nas-airport-select__item--focus .nas-airport-select__code,.nas-airport-select__item:hover,.nas-airport-select__item:hover .nas-airport-select__name,.nas-airport-select__item:hover .nas-airport-select__code,.nas-airport-select__item:focus,.nas-airport-select__item:focus .nas-airport-select__name,.nas-airport-select__item:focus .nas-airport-select__code{color:#15273f!important}.nas-airport-select__item--disabled{border-bottom-width:0}.nas-airport-select__item--disabled,.nas-airport-select__item--disabled .nas-airport-select__name,.nas-airport-select__item--disabled .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:focus{background-color:#fff;cursor:auto}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:hover .nas-airport-select__name,.nas-airport-select__item--disabled:hover .nas-airport-select__code,.nas-airport-select__item--disabled:focus,.nas-airport-select__item--disabled:focus .nas-airport-select__name,.nas-airport-select__item--disabled:focus .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__name,.nas-airport-select__code{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-airport-select__name--invalid,.nas-airport-select__code--invalid{margin:12px}.nas-airport-select__code{margin-left:.12em}.nas-airport-select__country{display:block;font-size:14px}.nas-airport-select__empty{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:16px;line-height:1.4;color:#15273f;margin:0;padding:12px}.nas-icon-vector,.nas-icon-vector--secondary{margin-bottom:2px}.nas-filter .nas-airport-select-combo,.nas-search-filter .nas-airport-select-combo{margin:0 3px 0 0}.nas-airport-select-combo{position:relative;display:flex;flex-direction:column;width:100%;margin:8px auto;gap:8px}.nas-airport-select-combo--inline{flex-direction:row}.nas-airport-select-combo--inline .nas-airport-select-combo__switcher{left:48%;top:14px;transform:rotate(90deg)}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label{padding:12px 24px 0}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 24px 12px}.nas-airport-select-combo__switcher{position:absolute;top:48px;z-index:4;left:76%;cursor:pointer;border:2px solid #6F6F6F;border-radius:50%;width:40px;height:40px;background-color:#fff;justify-content:center;align-items:center;display:flex}.nas-airport-select-combo__switcher:focus{outline:none;box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-airport-select-combo__switcher--filled{border:2px solid #15273F}@keyframes airport-select-backdrop{0%{opacity:0}}@keyframes airport-select-results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}\n"] }]
392
+ args: [{ selector: 'nas-airport-select', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"exists(combo); else airportSelectTemplate\"\n [nasClass]=\"getAirportSelectComboClass('', [inlineFlex && 'inline'])\" #container>\n <ng-container *ngTemplateOutlet=\"airportSelectTemplate\"></ng-container>\n</div>\n<ng-template #airportSelectTemplate>\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-origin')\" *ngIf=\"airportsOrigin\">\n <nas-airport-select-dropdown #airportSelectDropdownOrigin displayLatestSearches [id]=\"outboundId\"\n [enableGeolocation]=\"displayClosestAirports\" [displayClosestAirports]=\"displayClosestAirports\"\n [airportSelectLabel]=\"labelOrigin\" [latestSearches]=\"latestSearchesOrigin\" [closestAirports]=\"closestAirports\"\n [airport]=\"origin\" [airports]=\"airportsOrigin\" [resultsLabels]=\"resultsLabels\"\n [airportSelectPlaceholder]=\"placeholderOrigin\" [open]=\"originOpen\" [keepSelection]=\"keepSelection\"\n [airportSelectIconModifier]=\"'flight-departure'\" [nasFormControlName]=\"nasFormControlNameOrigin\"\n [nasFormGroup]=\"nasFormGroup\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n (clearedSelection)=\"onSelectionCleared()\" (selected)=\"setSelectedOrigin($event)\"\n (openChange)=\"onOriginOpen($event)\" (focusOnNext)=\"setDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select-dropdown>\n </div>\n <ng-container *ngIf=\"exists(combo)\">\n <div [nasClass]=\"getClass('', exists(useSwitch) && 'padding-destination')\"\n *ngIf=\"airportsDestination && airportsDestination.length > 0\">\n <nas-airport-select-dropdown #airportSelectDropdownDestination displayLatestSearches [id]=\"inboundId\"\n [airportSelectLabel]=\"labelDestination\" [displayClosestAirports]=\"false\"\n [latestSearches]=\"currentLatestSearchesDestination\" [airports]=\"airportsDestination\"\n [resultsLabels]=\"resultsLabels\" [airport]=\"destination\" [airportSelectPlaceholder]=\"placeholderDestination\"\n [open]=\"destinationOpen\" [keepSelection]=\"keepSelection\" [airportSelectIconModifier]=\"'flight-arrival'\"\n [nasFormControlName]=\"nasFormControlNameDestination\" [nasFormGroup]=\"nasFormGroup\"\n [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [isValid]=\"isDestinationValid\"\n [invalidText]=\"invalidDestinationText\" (clearedSelection)=\"onSelectionCleared()\"\n (selected)=\"setSelectedDestination($event)\" (openChange)=\"onDestinationOpen($event)\"\n (focusOnNext)=\"setFocusOnNext($event)\" (focusOnPrevious)=\"onOriginFocus()\"></nas-airport-select-dropdown>\n </div>\n <div *ngIf=\"exists(useSwitch) && !(originOpen || destinationOpen || cleared)\" #switchButton\n [nasClass]=\"getAirportSelectComboClass('switcher', (originAirportCodeValue && destinationAirportCodeValue) && 'filled')\"\n (mouseover)=\"changeSwitchIcon()\" (mouseleave)=\"changeSwitchIcon()\" (keydown)=\"swapKeyDown($event)\"\n (click)=\"swapAirports()\">\n <nas-icon\n [type]=\"(this.destinationAirportCodeValue && this.originAirportCodeValue) ? 'vector--secondary' : 'vector'\"></nas-icon>\n </div>\n </ng-container>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-airport-select{position:relative;width:100%;text-align:left}.nas-airport-select label{margin-bottom:0;height:67px}.nas-airport-select:first-child{margin-bottom:0}.nas-airport-select:only-child{max-width:360px}.nas-airport-select--expanded{z-index:30}.nas-airport-select__wrapper{position:relative;display:block;z-index:3;background-color:#fff;border:2px solid #6F6F6F}.nas-airport-select__wrapper--active{background-color:#ebf4ff;border:2px solid #15273F}.nas-airport-select__wrapper--filled{border:2px solid #15273F}.nas-airport-select__list-section-label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;position:relative;z-index:2;text-align:center;padding:3px 12px;background-color:#e9e7e4}.nas-airport-select__list-section-label:not(:first-child){margin-top:-1px}.nas-airport-select__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:inherit}.nas-airport-select__input{height:64px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__input[type=text]:focus{border-bottom:none}.nas-airport-select__label+.nas-airport-select__input{height:34px;position:relative;z-index:3;line-height:1;margin:0;background-color:transparent}.nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 16px 9px}.nas-airport-select__icon{position:absolute;z-index:4;right:18px;bottom:18px}.nas-airport-select__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:-4px}.nas-airport-select__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:airport-select-results .65s ease both}.nas-airport-select__dummy{position:absolute;left:-100px}.nas-airport-select__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:airport-select-backdrop .7s ease-out both}.nas-airport-select__list-item{border-bottom:2px solid #E9E7E4}.nas-airport-select__list-item:not(:last-of-type):after{content:\"\";display:block;width:100%;position:absolute;bottom:0;border-bottom:1px solid #E9E7E4}.nas-airport-select__geolocation--label{align-self:center;padding-left:4px}.nas-airport-select__geolocation--icon{margin-right:3px}.nas-airport-select__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:16px;margin-top:-1px;display:flex;justify-content:space-between;outline:0}.nas-airport-select__item--focus,.nas-airport-select__item:hover,.nas-airport-select__item:focus{background-color:#f8f8f8}.nas-airport-select__item--focus,.nas-airport-select__item--focus .nas-airport-select__name,.nas-airport-select__item--focus .nas-airport-select__code,.nas-airport-select__item:hover,.nas-airport-select__item:hover .nas-airport-select__name,.nas-airport-select__item:hover .nas-airport-select__code,.nas-airport-select__item:focus,.nas-airport-select__item:focus .nas-airport-select__name,.nas-airport-select__item:focus .nas-airport-select__code{color:#15273f!important}.nas-airport-select__item--disabled{border-bottom-width:0}.nas-airport-select__item--disabled,.nas-airport-select__item--disabled .nas-airport-select__name,.nas-airport-select__item--disabled .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:focus{background-color:#fff;cursor:auto}.nas-airport-select__item--disabled:hover,.nas-airport-select__item--disabled:hover .nas-airport-select__name,.nas-airport-select__item--disabled:hover .nas-airport-select__code,.nas-airport-select__item--disabled:focus,.nas-airport-select__item--disabled:focus .nas-airport-select__name,.nas-airport-select__item--disabled:focus .nas-airport-select__code{color:#6f6f6f!important}.nas-airport-select__name,.nas-airport-select__code{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-airport-select__name--invalid,.nas-airport-select__code--invalid{margin:12px}.nas-airport-select__code{margin-left:.12em}.nas-airport-select__country{display:block;font-size:14px}.nas-airport-select__empty{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:16px;line-height:1.4;color:#15273f;margin:0;padding:12px}.nas-icon-vector,.nas-icon-vector--secondary{margin-bottom:2px}.nas-filter .nas-airport-select-combo,.nas-search-filter .nas-airport-select-combo{margin:0 3px 0 0}.nas-airport-select-combo{position:relative;display:flex;flex-direction:column;width:100%;margin:8px auto;gap:8px}.nas-airport-select-combo--inline{flex-direction:row}.nas-airport-select-combo--inline .nas-airport-select-combo__switcher{left:48%;top:14px;transform:rotate(90deg)}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label{padding:12px 24px 0}.nas-airport-select-combo--inline .nas-airport-select--padding-destination .nas-airport-select__label+.nas-airport-select__input[type=text]{padding:0 24px 12px}.nas-airport-select-combo__switcher{position:absolute;top:48px;z-index:3;left:76%;cursor:pointer;border:2px solid #6F6F6F;border-radius:50%;width:40px;height:40px;background-color:#fff;justify-content:center;align-items:center;display:flex}.nas-airport-select-combo__switcher:focus{outline:none;box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-airport-select-combo__switcher--filled{border:2px solid #15273F}@keyframes airport-select-backdrop{0%{opacity:0}}@keyframes airport-select-results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}\n"] }]
393
393
  }], ctorParameters: function () { return [{ type: i1.DeviceHelper }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { container: [{
394
394
  type: ViewChild,
395
395
  args: ['container']
@@ -135,6 +135,7 @@ export class AutocompleteComponent extends NasComponentBase {
135
135
  if (this.nasFormGroup && this.nasFormControlName) {
136
136
  const control = this.nasFormGroup.get(this.nasFormControlName);
137
137
  currentModel = control.value;
138
+ this.model = control.value;
138
139
  }
139
140
  this.filteredItems = this.items.filter(x => (x.title && x.title.toLowerCase().includes(currentModel.toLowerCase())) ||
140
141
  (x.preamble && x.preamble.toLowerCase().includes(currentModel.toLowerCase())));
@@ -188,6 +189,10 @@ export class AutocompleteComponent extends NasComponentBase {
188
189
  this.model = '';
189
190
  this.open = true;
190
191
  this.index = -1;
192
+ if (!!this.input && !!this.span) {
193
+ this.input.nativeElement.style.borderColor = '#6f6f6f';
194
+ this.span.nativeElement.style.borderColor = '#6f6f6f';
195
+ }
191
196
  this.input.nativeElement.focus();
192
197
  }
193
198
  select(item) {
@@ -259,11 +264,11 @@ export class AutocompleteComponent extends NasComponentBase {
259
264
  return this.model ? 'remove--secondary' : 'remove';
260
265
  }
261
266
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AutocompleteComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AutocompleteComponent, selector: "nas-autocomplete", inputs: { label: "label", placeholder: "placeholder", icon: "icon", items: "items", open: "open", model: "model", disableBackdrop: "disableBackdrop", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", ariaLabelBackdrop: "ariaLabelBackdrop", ariaLabelClear: "ariaLabelClear" }, outputs: { focusOnNext: "focusOnNext", selectedChange: "selectedChange", openChange: "openChange", modelChange: "modelChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "span", first: true, predicate: ["span"], descendants: true }, { propertyName: "results", first: true, predicate: ["results"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["labelDOM"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\"\n #labelElement>\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-haspopup=\"true\" aria-autocomplete=\"none\" autocomplete=\"off\"\n [id]=\"getInputId()\" [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [nasClass]=\"getClass('input')\" [(ngModel)]=\"model\" [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\" (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-autocomplete=\"none\" autocomplete=\"off\" [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\" (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\" [nasClass]=\"getClass('results-wrapper')\" [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results role=\"listbox\" *ngIf=\"open\" [attr.aria-labelledby]=\"getLabelId()\" [nasClass]=\"getClass('results')\">\n <li role=\"option\" *ngFor=\"let item of filteredItems\" [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\" [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\" (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:0;border:2px solid #6F6F6F;border-bottom:0}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0;border:2px solid #6F6F6F;border-top:none;padding:12px 16px}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:21px}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px}.nas-autocomplete__results{margin-top:-8px;position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both;scrollbar-width:none;-ms-overflow-style:none}.nas-autocomplete__results::-webkit-scrollbar{display:none}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px 16px;margin-top:-1px;outline:0;border-bottom:2px solid #E9E7E4}.nas-autocomplete__item--focus,.nas-autocomplete__item:focus{background-color:#ebf4ff;border-bottom-color:#15273f;border-top:2px solid #15273F}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#15273f}.nas-autocomplete__item:hover{background-color:#f8f8f8}.nas-autocomplete__title{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i5.BackdropComponent, selector: "nas-backdrop", inputs: ["showBackdrop", "ariaLabelBackdrop"], outputs: ["showBackdropChange"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AutocompleteComponent, selector: "nas-autocomplete", inputs: { label: "label", placeholder: "placeholder", icon: "icon", items: "items", open: "open", model: "model", disableBackdrop: "disableBackdrop", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", ariaLabelBackdrop: "ariaLabelBackdrop", ariaLabelClear: "ariaLabelClear" }, outputs: { focusOnNext: "focusOnNext", selectedChange: "selectedChange", openChange: "openChange", modelChange: "modelChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "span", first: true, predicate: ["span"], descendants: true }, { propertyName: "results", first: true, predicate: ["results"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["labelDOM"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\"\n #labelElement>\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-haspopup=\"true\" aria-autocomplete=\"none\" autocomplete=\"off\"\n [id]=\"getInputId()\" [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [nasClass]=\"getClass('input')\" [(ngModel)]=\"model\" [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\" (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-autocomplete=\"none\" autocomplete=\"off\" [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\" (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\" [nasClass]=\"getClass('results-wrapper')\" [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results role=\"listbox\" *ngIf=\"open\" [attr.aria-labelledby]=\"getLabelId()\" [nasClass]=\"getClass('results')\">\n <li role=\"option\" *ngFor=\"let item of filteredItems\" [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\" [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\" (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:0;border:2px solid #6F6F6F;border-bottom:0}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0;border:2px solid #6F6F6F;border-top:none;padding:12px 16px}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:21px}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px}.nas-autocomplete__results{margin-top:-8px;position:absolute;z-index:3;width:100%;top:2px;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both;scrollbar-width:none;-ms-overflow-style:none;border-top:0;border-bottom:0}.nas-autocomplete__results::-webkit-scrollbar{display:none}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px 16px;margin-top:-1px;outline:0;border-bottom:2px solid #E9E7E4}.nas-autocomplete__item--focus,.nas-autocomplete__item:focus{background-color:#ebf4ff;border-bottom-color:#15273f;border-top:2px solid #15273F}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#15273f}.nas-autocomplete__item:hover{background-color:#f8f8f8}.nas-autocomplete__title{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i5.BackdropComponent, selector: "nas-backdrop", inputs: ["showBackdrop", "ariaLabelBackdrop"], outputs: ["showBackdropChange"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
263
268
  }
264
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AutocompleteComponent, decorators: [{
265
270
  type: Component,
266
- args: [{ selector: 'nas-autocomplete', template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\"\n #labelElement>\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-haspopup=\"true\" aria-autocomplete=\"none\" autocomplete=\"off\"\n [id]=\"getInputId()\" [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [nasClass]=\"getClass('input')\" [(ngModel)]=\"model\" [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\" (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-autocomplete=\"none\" autocomplete=\"off\" [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\" (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\" [nasClass]=\"getClass('results-wrapper')\" [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results role=\"listbox\" *ngIf=\"open\" [attr.aria-labelledby]=\"getLabelId()\" [nasClass]=\"getClass('results')\">\n <li role=\"option\" *ngFor=\"let item of filteredItems\" [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\" [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\" (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:0;border:2px solid #6F6F6F;border-bottom:0}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0;border:2px solid #6F6F6F;border-top:none;padding:12px 16px}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:21px}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px}.nas-autocomplete__results{margin-top:-8px;position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both;scrollbar-width:none;-ms-overflow-style:none}.nas-autocomplete__results::-webkit-scrollbar{display:none}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px 16px;margin-top:-1px;outline:0;border-bottom:2px solid #E9E7E4}.nas-autocomplete__item--focus,.nas-autocomplete__item:focus{background-color:#ebf4ff;border-bottom-color:#15273f;border-top:2px solid #15273F}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#15273f}.nas-autocomplete__item:hover{background-color:#f8f8f8}.nas-autocomplete__title{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"] }]
271
+ args: [{ selector: 'nas-autocomplete', template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\"\n #labelElement>\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-haspopup=\"true\" aria-autocomplete=\"none\" autocomplete=\"off\"\n [id]=\"getInputId()\" [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [nasClass]=\"getClass('input')\" [(ngModel)]=\"model\" [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\" (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\" (input)=\"onInput($event)\" [attr.aria-label]=\"label\" [nasClass]=\"getClass('wrapper')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\" #span>{{label}}</span>\n <input #input type=\"text\" role=\"combobox\" aria-autocomplete=\"none\" autocomplete=\"off\" [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\" [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\" [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\" (focus)=\"setOpen()\" (input)=\"filter()\" (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\" role=\"button\" tabindex=\"-1\" *ngIf=\"model; else isEmpty\" [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"setRemoveIcon()\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\" [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\" [nasClass]=\"getClass('results-wrapper')\" [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results role=\"listbox\" *ngIf=\"open\" [attr.aria-labelledby]=\"getLabelId()\" [nasClass]=\"getClass('results')\">\n <li role=\"option\" *ngFor=\"let item of filteredItems\" [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\" [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\" (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:0;border:2px solid #6F6F6F;border-bottom:0}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0;border:2px solid #6F6F6F;border-top:none;padding:12px 16px}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:21px}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px}.nas-autocomplete__results{margin-top:-8px;position:absolute;z-index:3;width:100%;top:2px;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:2px solid #15273F;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both;scrollbar-width:none;-ms-overflow-style:none;border-top:0;border-bottom:0}.nas-autocomplete__results::-webkit-scrollbar{display:none}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px 16px;margin-top:-1px;outline:0;border-bottom:2px solid #E9E7E4}.nas-autocomplete__item--focus,.nas-autocomplete__item:focus{background-color:#ebf4ff;border-bottom-color:#15273f;border-top:2px solid #15273F}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#15273f}.nas-autocomplete__item:hover{background-color:#f8f8f8}.nas-autocomplete__title{display:inline-block;font-family:NorwegianTextPro,Arial,Apercu,Helvetica Neue,Helvetica,sans-serif;font-weight:700;line-height:1;color:#15273f;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"] }]
267
272
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
268
273
  type: Inject,
269
274
  args: [DOCUMENT]
@@ -310,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
310
315
  }], modelChange: [{
311
316
  type: Output
312
317
  }] } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFJOUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQUt6RCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBNEJEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQStCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLElB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QVE7NENBckpSLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDQyxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0ssT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNHLFlBQVk7c0JBQWxDLFNBQVM7dUJBQUMsVUFBVTtnQkFPWixLQUFLO3NCQUFiLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUYsS0FBSztzQkFEUixLQUFLO2dCQW9CRixJQUFJO3NCQURQLEtBQUs7Z0JBbUJGLEtBQUs7c0JBRFIsS0FBSztnQkF5QkcsZUFBZTtzQkFBdkIsS0FBSztnQkFTRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFPSSxXQUFXO3NCQUFwQixNQUFNO2dCQU9HLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2F1dG9jb21wbGV0ZS5tb2RlbCc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIEFpcnBvcnQgU2VsZWN0IENvbXBvbmVudCB8IEZvcm0gQ29udHJvbHMgfCBOZXcgZGVzaWduXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PEF1dG9jb21wbGV0ZU1vZGVsPiA9IHRoaXMuaXRlbXM7XG4gIGZvY3VzZWQ6IEF1dG9jb21wbGV0ZU1vZGVsO1xuICBpbmRleCA9IC0xO1xuXG4gIGdldCBzaG93QmFja2Ryb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVCYWNrZHJvcCkgJiYgdGhpcy5vcGVuO1xuICB9XG4gIHNldCBzaG93QmFja2Ryb3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmJsdXIoKTtcbiAgICB9XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzcGFuJykgc3BhbjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgncmVzdWx0cycpIHJlc3VsdHM6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2xhYmVsRE9NJykgbGFiZWxFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIHRoYXQgd2lsbCBhcHBlYXIgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHBsYWNlaG9sZGVyIHRoYXQgd2lsbCBhcHBlYXIgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBpY29uIHRoYXQgd2lsbCBhcHBlYXIgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGFycmF5IG9mIGl0ZW1zIHRoYXQgd2lsbCBhcHBlYXIgaW5zaWRlIHRoZSBkcm9wZG93biBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGl0ZW1zKCk6IEFycmF5PEF1dG9jb21wbGV0ZU1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNWYWx1ZTtcbiAgfVxuICBzZXQgaXRlbXMoaXRlbXM6IEFycmF5PEF1dG9jb21wbGV0ZU1vZGVsPikge1xuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zVmFsdWUgPSBpdGVtcztcblxuICAgIHRoaXMuZmlsdGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDYW4gc2V0IGFuZCBsaXN0ZW4gdG8gd2hlYXRoZXIgdGhlIGRyb3Bkb3duIGxpc3QgaXMgb3Igc2hvdWxkIGJlIG9wZW4gb3Igbm90LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMub3BlblZhbHVlO1xuICB9XG4gIHNldCBvcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vcGVuID09PSBvcGVuIHx8ICF0aGlzLml0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuVmFsdWUgPSBvcGVuO1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2FuIHNldCBhbmQgbGlzdGVuIHRvIGNoYW5nZXMgaW4gdGhlIG1vZGVsIG9mIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG1vZGVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxWYWx1ZTtcbiAgfVxuICBzZXQgbW9kZWwobW9kZWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLm1vZGVsVmFsdWUgPT09IG1vZGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2RlbFZhbHVlID0gbW9kZWw7XG5cbiAgICBpZiAobW9kZWwgJiYgdGhpcy5maWx0ZXJlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmluZGV4ID0gdGhpcy5maWx0ZXJlZEl0ZW1zLmZpbmRJbmRleCh4ID0+IHgudGl0bGUgPT09IG1vZGVsKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhdGhSZWFjdGl2ZUZvcm1Db250cm9sKG1vZGVsKTtcblxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChtb2RlbCk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEaXNhYmxlcyB0aGUgYmFja2Ryb3Agb24gZm9jdXMuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlQmFja2Ryb3A6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIGlucHV0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIGFuIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHRoZSBiYWNrZHJvcCBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxCYWNrZHJvcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgJ2FyaWEtbGFiZWwnIG9uIHRoZSBjbGVhciBidXR0b24gaW5zaWRlIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsQ2xlYXI6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSXMgZmlyZWQgd2hlbiB0aGUgbmV4dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBJcyBmaXJlZCB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgYW4gaXRlbSBpbiB0aGUgZHJvcGRvd24gbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlTW9kZWw+KCk7XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgb3BlblZhbHVlID0gZmFsc2U7XG4gIHByaXZhdGUgaXRlbXNWYWx1ZTogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+O1xuICBwcml2YXRlIG1vZGVsVmFsdWU6IHN0cmluZztcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSkge1xuICAgIHN1cGVyKCduYXMtYXV0b2NvbXBsZXRlJyk7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IG5leHRJZCsrO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFyaWFMYWJlbENsZWFyKSB7XG4gICAgICB0aGlzLndhcm5NaXNzaW5nQWNjZXNzaWJpbHR5SW5wdXQoJ2FyaWFMYWJlbENsZWFyJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFyaWFMYWJlbEJhY2tkcm9wKSB7XG4gICAgICB0aGlzLndhcm5NaXNzaW5nQWNjZXNzaWJpbHR5SW5wdXQoJ2FyaWFMYWJlbEJhY2tkcm9wJyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzdWx0c0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtYXV0b2NvbXBsZXRlLXJlc3VsdHMtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXRMYWJlbElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtYXV0b2NvbXBsZXRlLWxhYmVsLSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgZ2V0SW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbmFzLWF1dG9jb21wbGV0ZS1pbnB1dC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIHNldE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gIH1cblxuICBmaWx0ZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsICYmICghdGhpcy5uYXNGb3JtR3JvdXAgfHwgIXRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSkge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudE1vZGVsID0gdGhpcy5tb2RlbDtcblxuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSkge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGN1cnJlbnRNb2RlbCA9IGNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoeCA9PlxuICAgICAgKHgudGl0bGUgJiYgeC50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGN1cnJlbnRNb2RlbC50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAgICh4LnByZWFtYmxlICYmIHgucHJlYW1ibGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjdXJyZW50TW9kZWwudG9Mb3dlckNhc2UoKSkpKTtcblxuICAgIGlmIChjdXJyZW50TW9kZWwgPT09ICcnIHx8IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuXG4gICAgdGhpcy5pbmRleCA9IDA7XG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgdGhpcy5mb2N1c2VkID0gdGhpcy5maWx0ZXJlZEl0ZW1zW3RoaXMuaW5kZXhdO1xuICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9jdXNlZC50aXRsZTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5mb2N1c2VkKTtcbiAgICAgICAgICB0aGlzLnBhdGhSZWFjdGl2ZUZvcm1Db250cm9sKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgY2FzZSAnRG93bic6XG4gICAgICAgIHRoaXMuZm9jdXNEb3duKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdVcCc6XG4gICAgICAgIHRoaXMuZm9jdXNVcCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU2VsZWN0ZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLmZvY3VzZWQgPSBudWxsO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgdGhpcy5tb2RlbCA9ICcnO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgdGhpcy5pbmRleCA9IC0xO1xuXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBBdXRvY29tcGxldGVNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IGl0ZW07XG4gICAgdGhpcy5tb2RlbCA9IGl0ZW0udGl0bGU7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgdGhpcy5pbmRleCA9IHRoaXMuZmlsdGVyZWRJdGVtcy5maW5kSW5kZXgoeCA9PiB4LmlkID09PSBpdGVtLmlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoKTtcbiAgfVxuXG4gIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0Rvd24oKTogdm9pZCB7XG4gICAgKyt0aGlzLmluZGV4O1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgaWYgKCF0aGlzLmZpbHRlcmVkSXRlbXNbdGhpcy5pbmRleF0pIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMuZmlsdGVyZWRJdGVtc1t0aGlzLmluZGV4XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbmRleCA9PT0gMCkge1xuICAgICAgdGhpcy5hdXRvU2Nyb2xsKDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9TY3JvbGwoMTMxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzVXAoKTogdm9pZCB7XG4gICAgLS10aGlzLmluZGV4O1xuXG4gICAgaWYgKHRoaXMuaW5kZXggPCAwKSB7XG4gICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICAgIHRoaXMuYmx1cigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMuZmlsdGVyZWRJdGVtc1t0aGlzLmluZGV4XTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dG9TY3JvbGwoMCk7XG4gIH1cblxuICBwYXRoUmVhY3RpdmVGb3JtQ29udHJvbChtb2RlbDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG4gICAgICBmb3JtQ29udHJvbC5wYXRjaFZhbHVlKG1vZGVsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9TY3JvbGwoZXh0cmFPZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXN1bHRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnJlc3VsdHMubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBmb2N1c2VkSXRlbSA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5hcy1hdXRvY29tcGxldGVfX2xpc3QtaXRlbS0tZm9jdXMnKTtcblxuICAgIGlmIChmb2N1c2VkSXRlbSkge1xuICAgICAgcmVzdWx0cy5zY3JvbGxUbygwLCAwKTtcbiAgICAgIHJlc3VsdHMuc2Nyb2xsVG8oMCwgZm9jdXNlZEl0ZW0ub2Zmc2V0VG9wICsgZXh0cmFPZmZzZXQgLSByZXN1bHRzLmNsaWVudEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAodGhpcy5sYWJlbC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyQ29sb3IgPSBpbnB1dEVsZW1lbnQudmFsdWUgPyAnIzE1MjczZicgOiAnIzZmNmY2Zic7XG4gICAgICB0aGlzLnNwYW4ubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXJDb2xvciA9IGlucHV0RWxlbWVudC52YWx1ZSA/ICcjMTUyNzNmJyA6ICcjNmY2ZjZmJztcbiAgICB9XG4gIH1cblxuICBzZXRSZW1vdmVJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPyAncmVtb3ZlLS1zZWNvbmRhcnknIDogJ3JlbW92ZSc7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICA8bGFiZWwgW2lkXT1cImdldExhYmVsSWQoKVwiIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCd3cmFwcGVyJylcIlxuICAgICNsYWJlbEVsZW1lbnQ+XG4gICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCIgI3NwYW4+e3tsYWJlbH19PC9zcGFuPlxuICAgIDxpbnB1dCAjaW5wdXQgdHlwZT1cInRleHRcIiByb2xlPVwiY29tYm9ib3hcIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBbaWRdPVwiZ2V0SW5wdXRJZCgpXCIgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRSZXN1bHRzSWQoKVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlbiA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgW2F0dHIuYXJpYS1vd25zXT1cImdldFJlc3VsdHNJZCgpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbnB1dCcpXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAoZm9jdXMpPVwic2V0T3BlbigpXCIgKGlucHV0KT1cImZpbHRlcigpXCIgKGNsaWNrKT1cInNldE9wZW4oKVwiIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ljb24nKVwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiAqbmdJZj1cIm1vZGVsOyBlbHNlIGlzRW1wdHlcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbENsZWFyXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwic2V0UmVtb3ZlSWNvbigpXCI+PC9uYXMtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLXRlbXBsYXRlICNpc0VtcHR5PlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwiJ3NtYWxsJ1wiIFtpY29uXT1cImljb25cIj48L25hcy1pY29uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG4gIDwvbGFiZWw+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICA8bGFiZWwgW2lkXT1cImdldExhYmVsSWQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3dyYXBwZXInKVwiIFtmb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCI+e3tsYWJlbH19PC9zcGFuPlxuICAgIDxpbnB1dCAjaW5wdXQgdHlwZT1cInRleHRcIiByb2xlPVwiY29tYm9ib3hcIiBhcmlhLWF1dG9jb21wbGV0ZT1cIm5vbmVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbaWRdPVwiZ2V0SW5wdXRJZCgpXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ2V0UmVzdWx0c0lkKClcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW4gPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgIFthdHRyLmFyaWEtb3duc109XCJnZXRSZXN1bHRzSWQoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbnB1dCcpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChmb2N1cyk9XCJzZXRPcGVuKClcIiAoaW5wdXQpPVwiZmlsdGVyKClcIiAoY2xpY2spPVwic2V0T3BlbigpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ljb24nKVwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiAqbmdJZj1cIm1vZGVsOyBlbHNlIGlzRW1wdHlcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbENsZWFyXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwic2V0UmVtb3ZlSWNvbigpXCI+PC9uYXMtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLXRlbXBsYXRlICNpc0VtcHR5PlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwiJ3NtYWxsJ1wiIFtpY29uXT1cImljb25cIj48L25hcy1pY29uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG4gIDwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuPGRpdiBbaWRdPVwiZ2V0UmVzdWx0c0lkKClcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3Jlc3VsdHMtd3JhcHBlcicpXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuID8gJ3RydWUnIDogJ2ZhbHNlJ1wiPlxuICA8dWwgI3Jlc3VsdHMgcm9sZT1cImxpc3Rib3hcIiAqbmdJZj1cIm9wZW5cIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0TGFiZWxJZCgpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdyZXN1bHRzJylcIj5cbiAgICA8bGkgcm9sZT1cIm9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXNcIiBbaWRdPVwiaXRlbS5pZFwiXG4gICAgICBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xpc3QtaXRlbScsIGl0ZW0uaWQgPT09IGZvY3VzZWQ/LmlkICYmICdmb2N1cycpXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2l0ZW0nLCBpdGVtLmlkID09PSBmb2N1c2VkPy5pZCAmJiAnZm9jdXMnKVwiIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnKVwiPnt7aXRlbS50aXRsZX19PC9zcGFuPlxuICAgICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3ByZWFtYmxlJylcIj57e2l0ZW0ucHJlYW1ibGV9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cblxuPG5hcy1iYWNrZHJvcCAqbmdJZj1cIiFleGlzdHMoZGlzYWJsZUJhY2tkcm9wKVwiIFthcmlhTGFiZWxCYWNrZHJvcF09XCJhcmlhTGFiZWxCYWNrZHJvcFwiXG4gIFsoc2hvd0JhY2tkcm9wKV09XCJzaG93QmFja2Ryb3BcIj48L25hcy1iYWNrZHJvcD4iXX0=
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFJOUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQUt6RCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBNEJEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQStCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLElB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QUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDeEY7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNyRCxDQUFDOzhHQTVXVSxxQkFBcUIsa0JBbUtaLFFBQVE7a0dBbktqQixxQkFBcUIseTFCQzlCbEMsNnNHQW9EaUQ7OzJGRHRCcEMscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBdUtmLE1BQU07MkJBQUMsUUFBUTs0Q0FySlIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNDLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFDSyxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0csWUFBWTtzQkFBbEMsU0FBUzt1QkFBQyxVQUFVO2dCQU9aLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFRRixLQUFLO3NCQURSLEtBQUs7Z0JBb0JGLElBQUk7c0JBRFAsS0FBSztnQkFtQkYsS0FBSztzQkFEUixLQUFLO2dCQXlCRyxlQUFlO3NCQUF2QixLQUFLO2dCQVNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU07Z0JBT0csY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvYXV0b2NvbXBsZXRlLm1vZGVsJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gQWlycG9ydCBTZWxlY3QgQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZmlsdGVyZWRJdGVtczogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+ID0gdGhpcy5pdGVtcztcbiAgZm9jdXNlZDogQXV0b2NvbXBsZXRlTW9kZWw7XG4gIGluZGV4ID0gLTE7XG5cbiAgZ2V0IHNob3dCYWNrZHJvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZUJhY2tkcm9wKSAmJiB0aGlzLm9wZW47XG4gIH1cbiAgc2V0IHNob3dCYWNrZHJvcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuYmx1cigpO1xuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NwYW4nKSBzcGFuOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdyZXN1bHRzJykgcmVzdWx0czogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGFiZWxET00nKSBsYWJlbEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIHRleHQgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgcGxhY2Vob2xkZXIgdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIHRleHQgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGljb24gdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIHRleHQgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gYXJyYXkgb2YgaXRlbXMgdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaXRlbXMoKTogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1ZhbHVlO1xuICB9XG4gIHNldCBpdGVtcyhpdGVtczogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+KSB7XG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXNWYWx1ZSA9IGl0ZW1zO1xuXG4gICAgdGhpcy5maWx0ZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIENhbiBzZXQgYW5kIGxpc3RlbiB0byB3aGVhdGhlciB0aGUgZHJvcGRvd24gbGlzdCBpcyBvciBzaG91bGQgYmUgb3BlbiBvciBub3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuVmFsdWU7XG4gIH1cbiAgc2V0IG9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm9wZW4gPT09IG9wZW4gfHwgIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9wZW5WYWx1ZSA9IG9wZW47XG4gICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDYW4gc2V0IGFuZCBsaXN0ZW4gdG8gY2hhbmdlcyBpbiB0aGUgbW9kZWwgb2YgdGhlIHRleHQgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgbW9kZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbFZhbHVlO1xuICB9XG4gIHNldCBtb2RlbChtb2RlbDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubW9kZWxWYWx1ZSA9PT0gbW9kZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1vZGVsVmFsdWUgPSBtb2RlbDtcblxuICAgIGlmIChtb2RlbCAmJiB0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIHRoaXMuaW5kZXggPSB0aGlzLmZpbHRlcmVkSXRlbXMuZmluZEluZGV4KHggPT4geC50aXRsZSA9PT0gbW9kZWwpO1xuICAgIH1cblxuICAgIHRoaXMucGF0aFJlYWN0aXZlRm9ybUNvbnRyb2wobW9kZWwpO1xuXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KG1vZGVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERpc2FibGVzIHRoZSBiYWNrZHJvcCBvbiBmb2N1cy5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVCYWNrZHJvcDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgYW4gYXJpYS1sYWJlbCBhdHRyaWJ1dGUgdG8gdGhlIGJhY2tkcm9wIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbEJhY2tkcm9wOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyAnYXJpYS1sYWJlbCcgb24gdGhlIGNsZWFyIGJ1dHRvbiBpbnNpZGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxDbGVhcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBJcyBmaXJlZCB3aGVuIHRoZSBuZXh0IGVsZW1lbnQgc2hvdWxkIGJlIGZvY3VzZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIElzIGZpcmVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhbiBpdGVtIGluIHRoZSBkcm9wZG93biBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBdXRvY29tcGxldGVNb2RlbD4oKTtcblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBvcGVuVmFsdWUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpdGVtc1ZhbHVlOiBBcnJheTxBdXRvY29tcGxldGVNb2RlbD47XG4gIHByaXZhdGUgbW9kZWxWYWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55KSB7XG4gICAgc3VwZXIoJ25hcy1hdXRvY29tcGxldGUnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXJpYUxhYmVsQ2xlYXIpIHtcbiAgICAgIHRoaXMud2Fybk1pc3NpbmdBY2Nlc3NpYmlsdHlJbnB1dCgnYXJpYUxhYmVsQ2xlYXInKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYXJpYUxhYmVsQmFja2Ryb3ApIHtcbiAgICAgIHRoaXMud2Fybk1pc3NpbmdBY2Nlc3NpYmlsdHlJbnB1dCgnYXJpYUxhYmVsQmFja2Ryb3AnKTtcbiAgICB9XG4gIH1cblxuICBnZXRSZXN1bHRzSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYG5hcy1hdXRvY29tcGxldGUtcmVzdWx0cy0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldExhYmVsSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYG5hcy1hdXRvY29tcGxldGUtbGFiZWwtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXRJbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtYXV0b2NvbXBsZXRlLWlucHV0LSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgc2V0T3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIGZpbHRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubW9kZWwgJiYgKCF0aGlzLm5hc0Zvcm1Hcm91cCB8fCAhdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50TW9kZWwgPSB0aGlzLm1vZGVsO1xuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgY3VycmVudE1vZGVsID0gY29udHJvbC52YWx1ZTtcbiAgICAgIHRoaXMubW9kZWwgPSBjb250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKHggPT5cbiAgICAgICh4LnRpdGxlICYmIHgudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjdXJyZW50TW9kZWwudG9Mb3dlckNhc2UoKSkpIHx8XG4gICAgICAoeC5wcmVhbWJsZSAmJiB4LnByZWFtYmxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3VycmVudE1vZGVsLnRvTG93ZXJDYXNlKCkpKSk7XG5cbiAgICBpZiAoY3VycmVudE1vZGVsID09PSAnJyB8fCB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH1cblxuICAgIHRoaXMuaW5kZXggPSAwO1xuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMuZmlsdGVyZWRJdGVtc1t0aGlzLmluZGV4XTtcbiAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgaWYgKCFldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5mb2N1c09uTmV4dC5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLmZvY3VzZWQudGl0bGU7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuZm9jdXNlZCk7XG4gICAgICAgICAgdGhpcy5wYXRoUmVhY3RpdmVGb3JtQ29udHJvbCh0aGlzLm1vZGVsVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Rvd24nOlxuICAgICAgICB0aGlzLmZvY3VzRG93bigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgY2FzZSAnVXAnOlxuICAgICAgICB0aGlzLmZvY3VzVXAoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjbGVhclNlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5mb2N1c2VkID0gbnVsbDtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIHRoaXMubW9kZWwgPSAnJztcbiAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIHRoaXMuaW5kZXggPSAtMTtcblxuICAgIGlmKCEhdGhpcy5pbnB1dCAmJiAhIXRoaXMuc3Bhbikge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlckNvbG9yID0gJyM2ZjZmNmYnO1xuICAgICAgdGhpcy5zcGFuLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyQ29sb3IgPSAnIzZmNmY2Zic7XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBzZWxlY3QoaXRlbTogQXV0b2NvbXBsZXRlTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBpdGVtO1xuICAgIHRoaXMubW9kZWwgPSBpdGVtLnRpdGxlO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChpdGVtKTtcblxuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIHRoaXMuaW5kZXggPSB0aGlzLmZpbHRlcmVkSXRlbXMuZmluZEluZGV4KHggPT4geC5pZCA9PT0gaXRlbS5pZCk7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5mb2N1c09uTmV4dC5lbWl0KCk7XG4gIH1cblxuICBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNEb3duKCk6IHZvaWQge1xuICAgICsrdGhpcy5pbmRleDtcblxuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIGlmICghdGhpcy5maWx0ZXJlZEl0ZW1zW3RoaXMuaW5kZXhdKSB7XG4gICAgICAgIHRoaXMuaW5kZXggPSAwO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvY3VzZWQgPSB0aGlzLmZpbHRlcmVkSXRlbXNbdGhpcy5pbmRleF07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5kZXggPT09IDApIHtcbiAgICAgIHRoaXMuYXV0b1Njcm9sbCgwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRvU2Nyb2xsKDEzMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1VwKCk6IHZvaWQge1xuICAgIC0tdGhpcy5pbmRleDtcblxuICAgIGlmICh0aGlzLmluZGV4IDwgMCkge1xuICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgICB0aGlzLmJsdXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSB0aGlzLmZpbHRlcmVkSXRlbXNbdGhpcy5pbmRleF07XG4gICAgfVxuXG4gICAgdGhpcy5hdXRvU2Nyb2xsKDApO1xuICB9XG5cbiAgcGF0aFJlYWN0aXZlRm9ybUNvbnRyb2wobW9kZWw6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSkge1xuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLm5hc0Zvcm1Hcm91cC5nZXQodGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpO1xuICAgICAgZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShtb2RlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhdXRvU2Nyb2xsKGV4dHJhT2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVzdWx0cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5yZXN1bHRzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXMtYXV0b2NvbXBsZXRlX19saXN0LWl0ZW0tLWZvY3VzJyk7XG5cbiAgICBpZiAoZm9jdXNlZEl0ZW0pIHtcbiAgICAgIHJlc3VsdHMuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICByZXN1bHRzLnNjcm9sbFRvKDAsIGZvY3VzZWRJdGVtLm9mZnNldFRvcCArIGV4dHJhT2Zmc2V0IC0gcmVzdWx0cy5jbGllbnRIZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMubGFiZWwubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlckNvbG9yID0gaW5wdXRFbGVtZW50LnZhbHVlID8gJyMxNTI3M2YnIDogJyM2ZjZmNmYnO1xuICAgICAgdGhpcy5zcGFuLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyQ29sb3IgPSBpbnB1dEVsZW1lbnQudmFsdWUgPyAnIzE1MjczZicgOiAnIzZmNmY2Zic7XG4gICAgfVxuICB9XG5cbiAgc2V0UmVtb3ZlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID8gJ3JlbW92ZS0tc2Vjb25kYXJ5JyA6ICdyZW1vdmUnO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgPGxhYmVsIFtpZF09XCJnZXRMYWJlbElkKClcIiAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnd3JhcHBlcicpXCJcbiAgICAjbGFiZWxFbGVtZW50PlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwnKVwiICNzcGFuPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICA8aW5wdXQgI2lucHV0IHR5cGU9XCJ0ZXh0XCIgcm9sZT1cImNvbWJvYm94XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWF1dG9jb21wbGV0ZT1cIm5vbmVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgW2lkXT1cImdldElucHV0SWQoKVwiIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ2V0UmVzdWx0c0lkKClcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW4gPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgIFthdHRyLmFyaWEtb3duc109XCJnZXRSZXN1bHRzSWQoKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQnKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgKGZvY3VzKT1cInNldE9wZW4oKVwiIChpbnB1dCk9XCJmaWx0ZXIoKVwiIChjbGljayk9XCJzZXRPcGVuKClcIiAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiIC8+XG4gICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdpY29uJylcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCIgKm5nSWY9XCJtb2RlbDsgZWxzZSBpc0VtcHR5XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxDbGVhclwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgPG5hcy1pY29uIFt0eXBlXT1cInNldFJlbW92ZUljb24oKVwiPjwvbmFzLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaXNFbXB0eT5cbiAgICAgICAgPG5hcy1pY29uIFt0eXBlXT1cIidzbWFsbCdcIiBbaWNvbl09XCJpY29uXCI+PC9uYXMtaWNvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICA8L2xhYmVsPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgPGxhYmVsIFtpZF09XCJnZXRMYWJlbElkKClcIiAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnd3JhcHBlcicpXCIgW2Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIiAjc3Bhbj57e2xhYmVsfX08L3NwYW4+XG4gICAgPGlucHV0ICNpbnB1dCB0eXBlPVwidGV4dFwiIHJvbGU9XCJjb21ib2JveFwiIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtpZF09XCJnZXRJbnB1dElkKClcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRSZXN1bHRzSWQoKVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlbiA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgW2F0dHIuYXJpYS1vd25zXT1cImdldFJlc3VsdHNJZCgpXCIgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2lucHV0JylcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGZvY3VzKT1cInNldE9wZW4oKVwiIChpbnB1dCk9XCJmaWx0ZXIoKVwiIChjbGljayk9XCJzZXRPcGVuKClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIiAvPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCItMVwiICpuZ0lmPVwibW9kZWw7IGVsc2UgaXNFbXB0eVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsQ2xlYXJcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbdHlwZV09XCJzZXRSZW1vdmVJY29uKClcIj48L25hcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRW1wdHk+XG4gICAgICAgIDxuYXMtaWNvbiBbdHlwZV09XCInc21hbGwnXCIgW2ljb25dPVwiaWNvblwiPjwvbmFzLWljb24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cbiAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG48ZGl2IFtpZF09XCJnZXRSZXN1bHRzSWQoKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygncmVzdWx0cy13cmFwcGVyJylcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW4gPyAndHJ1ZScgOiAnZmFsc2UnXCI+XG4gIDx1bCAjcmVzdWx0cyByb2xlPVwibGlzdGJveFwiICpuZ0lmPVwib3BlblwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRMYWJlbElkKClcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3Jlc3VsdHMnKVwiPlxuICAgIDxsaSByb2xlPVwib3B0aW9uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRJdGVtc1wiIFtpZF09XCJpdGVtLmlkXCJcbiAgICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdC1pdGVtJywgaXRlbS5pZCA9PT0gZm9jdXNlZD8uaWQgJiYgJ2ZvY3VzJylcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaXRlbScsIGl0ZW0uaWQgPT09IGZvY3VzZWQ/LmlkICYmICdmb2N1cycpXCIgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScpXCI+e3tpdGVtLnRpdGxlfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygncHJlYW1ibGUnKVwiPnt7aXRlbS5wcmVhbWJsZX19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuXG48bmFzLWJhY2tkcm9wICpuZ0lmPVwiIWV4aXN0cyhkaXNhYmxlQmFja2Ryb3ApXCIgW2FyaWFMYWJlbEJhY2tkcm9wXT1cImFyaWFMYWJlbEJhY2tkcm9wXCJcbiAgWyhzaG93QmFja2Ryb3ApXT1cInNob3dCYWNrZHJvcFwiPjwvbmFzLWJhY2tkcm9wPiJdfQ==
@@ -47,7 +47,9 @@ export class CheckboxComponent extends NasComponentBase {
47
47
  this.exists(this.inverted) && 'inverted',
48
48
  (this.exists(this.inverted) && this.error) && 'inverted-error',
49
49
  this.exists(this.outlined) && 'outlined',
50
- (this.exists(this.outlined) && this.error) && 'outlined-error'
50
+ (this.exists(this.outlined) && this.error) && 'outlined-error',
51
+ this.exists(this.reverse) && 'reverse',
52
+ this.exists(this.filled) && 'filled',
51
53
  ]);
52
54
  }
53
55
  /**
@@ -94,11 +96,11 @@ export class CheckboxComponent extends NasComponentBase {
94
96
  }
95
97
  }
96
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CheckboxComponent, selector: "nas-checkbox", inputs: { inputId: "inputId", value: "value", error: "error", disabled: "disabled", block: "block", spaceless: "spaceless", inverted: "inverted", outlined: "outlined", ariaLabel: ["aria-label", "ariaLabel"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], name: "name", required: "required", tabIndex: "tabIndex", checked: "checked", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup" }, outputs: { checkedChange: "checkedChange", focusOnPrevious: "focusOnPrevious" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputReactive", first: true, predicate: ["inputReactive"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [nasClass]=\"mainClass\">\n <input type=\"checkbox\" #input [id]=\"inputId\" [checked]=\"exists(checked)\" [disabled]=\"exists(disabled)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (change)=\"inputChanged($event)\" (click)=\"inputClicked($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-container>\n\n<ng-template #reactiveForm>\n <label [nasClass]=\"mainClass\" #inputReactive [formGroup]=\"nasFormGroup\">\n <input type=\"checkbox\" [formControlName]=\"nasFormControlName\" [id]=\"inputId\" [checked]=\"exists(checked)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (keydown)=\"onKeydown($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-checkbox{-webkit-user-select:none;-o-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;position:relative;display:inline-block;cursor:pointer;padding-left:30px;margin-bottom:24px;margin-right:24px;color:#15273f}.nas-checkbox:hover .nas-checkbox__indicator:after{border-color:#6f6f6f}.nas-checkbox input{position:absolute;opacity:0;z-index:-1}.nas-checkbox input:checked+.nas-checkbox__indicator{border-color:#15273f;background-color:#ebf4ff}.nas-checkbox input:checked+.nas-checkbox__indicator:before{transform:scale(.9);opacity:1;top:10px}.nas-checkbox input:checked+.nas-checkbox__indicator:after{border-color:#15273f}.nas-checkbox input[disabled]+.nas-checkbox__indicator{background-color:#e9e7e4;border-color:#6f6f6f}.nas-checkbox input[disabled]+.nas-checkbox__indicator:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:hover:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:focus:after{border-color:#e9e7e4}.nas-checkbox__indicator{position:absolute;display:block;-webkit-user-select:none;user-select:none;left:0;border:2px solid #15273F;width:22px;height:22px;background-color:#fff}.nas-checkbox__indicator:focus-visible{outline:2px solid #2A5980;outline-offset:2px}.nas-checkbox__indicator:before{content:\"\";display:inline-block;vertical-align:middle;position:absolute;top:55%;left:50%;width:14px;height:12px;margin-top:-6px;margin-left:-7px;transform-origin:40% 90%;opacity:0;transform:scale(0);transition:all .1s cubic-bezier(0,0,.1,1);background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled{color:#6f6f6f;cursor:default}.nas-checkbox--disabled .nas-checkbox__indicator{background-color:#e9e7e4}.nas-checkbox--disabled .nas-checkbox__indicator:before{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%236F6F6F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled:hover .nas-checkbox__indicator:after{border-color:#e9e7e4}.nas-checkbox--error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--inverted{color:#fff}.nas-checkbox--inverted input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted input+.nas-checkbox__indicator:after{border-color:#fff}.nas-checkbox--inverted-error{color:#fff}.nas-checkbox--inverted-error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted-error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--outlined .nas-checkbox__indicator{border:2px solid #E9E7E4}.nas-checkbox--outlined .nas-checkbox__indicator:after{display:none}.nas-checkbox--outlined-error .nas-checkbox__indicator{border:2px solid #E5212D;background-color:#fff5f3}.nas-checkbox--outlined-error .nas-checkbox__indicator:after{display:none}.nas-checkbox--spaceless{margin-bottom:6px}.nas-checkbox--block{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CheckboxComponent, selector: "nas-checkbox", inputs: { inputId: "inputId", value: "value", error: "error", disabled: "disabled", block: "block", spaceless: "spaceless", inverted: "inverted", outlined: "outlined", reverse: "reverse", filled: "filled", ariaLabel: ["aria-label", "ariaLabel"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], name: "name", required: "required", tabIndex: "tabIndex", checked: "checked", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup" }, outputs: { checkedChange: "checkedChange", focusOnPrevious: "focusOnPrevious" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputReactive", first: true, predicate: ["inputReactive"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [nasClass]=\"mainClass\">\n <input type=\"checkbox\" #input [id]=\"inputId\" [checked]=\"exists(checked)\" [disabled]=\"exists(disabled)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (change)=\"inputChanged($event)\" (click)=\"inputClicked($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-container>\n\n<ng-template #reactiveForm>\n <label [nasClass]=\"mainClass\" #inputReactive [formGroup]=\"nasFormGroup\">\n <input type=\"checkbox\" [formControlName]=\"nasFormControlName\" [id]=\"inputId\" [checked]=\"exists(checked)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (keydown)=\"onKeydown($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-checkbox{-webkit-user-select:none;-o-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;position:relative;display:inline-block;cursor:pointer;padding-left:30px;margin-bottom:24px;margin-right:24px;color:#15273f}.nas-checkbox:hover .nas-checkbox__indicator:after{border-color:#6f6f6f}.nas-checkbox input{position:absolute;opacity:0;z-index:-1}.nas-checkbox input:checked+.nas-checkbox__indicator{border-color:#15273f;background-color:#ebf4ff}.nas-checkbox input:checked+.nas-checkbox__indicator:before{transform:scale(.9);opacity:1;top:10px}.nas-checkbox input:checked+.nas-checkbox__indicator:after{border-color:#15273f}.nas-checkbox input[disabled]+.nas-checkbox__indicator{background-color:#e9e7e4;border-color:#6f6f6f}.nas-checkbox input[disabled]+.nas-checkbox__indicator:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:hover:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:focus:after{border-color:#e9e7e4}.nas-checkbox__indicator{position:absolute;display:block;-webkit-user-select:none;user-select:none;left:0;border:2px solid #15273F;width:22px;height:22px;background-color:#fff}.nas-checkbox__indicator:focus-visible{outline:2px solid #2A5980;outline-offset:2px}.nas-checkbox__indicator:before{content:\"\";display:inline-block;vertical-align:middle;position:absolute;top:55%;left:50%;width:14px;height:12px;margin-top:-6px;margin-left:-7px;transform-origin:40% 90%;opacity:0;transform:scale(0);transition:all .1s cubic-bezier(0,0,.1,1);background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled{color:#6f6f6f;cursor:default}.nas-checkbox--disabled .nas-checkbox__indicator{background-color:#e9e7e4}.nas-checkbox--disabled .nas-checkbox__indicator:before{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%236F6F6F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled:hover .nas-checkbox__indicator:after{border-color:#e9e7e4}.nas-checkbox--error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--inverted{color:#fff}.nas-checkbox--inverted input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted input+.nas-checkbox__indicator:after{border-color:#fff}.nas-checkbox--inverted-error{color:#fff}.nas-checkbox--inverted-error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted-error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--outlined .nas-checkbox__indicator{border:2px solid #E9E7E4}.nas-checkbox--outlined .nas-checkbox__indicator:after{display:none}.nas-checkbox--outlined-error .nas-checkbox__indicator{border:2px solid #E5212D;background-color:#fff5f3}.nas-checkbox--outlined-error .nas-checkbox__indicator:after{display:none}.nas-checkbox--spaceless{margin-bottom:6px}.nas-checkbox--block{display:block}.nas-checkbox--reverse{padding-left:0;padding-right:30px}.nas-checkbox--reverse .nas-checkbox__indicator{right:0;left:auto}.nas-checkbox--filled{width:100%;margin:0;display:flex;justify-content:flex-end}.nas-checkbox--filled.nas-checkbox--reverse{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
98
100
  }
99
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CheckboxComponent, decorators: [{
100
102
  type: Component,
101
- args: [{ selector: 'nas-checkbox', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [nasClass]=\"mainClass\">\n <input type=\"checkbox\" #input [id]=\"inputId\" [checked]=\"exists(checked)\" [disabled]=\"exists(disabled)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (change)=\"inputChanged($event)\" (click)=\"inputClicked($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-container>\n\n<ng-template #reactiveForm>\n <label [nasClass]=\"mainClass\" #inputReactive [formGroup]=\"nasFormGroup\">\n <input type=\"checkbox\" [formControlName]=\"nasFormControlName\" [id]=\"inputId\" [checked]=\"exists(checked)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (keydown)=\"onKeydown($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-checkbox{-webkit-user-select:none;-o-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;position:relative;display:inline-block;cursor:pointer;padding-left:30px;margin-bottom:24px;margin-right:24px;color:#15273f}.nas-checkbox:hover .nas-checkbox__indicator:after{border-color:#6f6f6f}.nas-checkbox input{position:absolute;opacity:0;z-index:-1}.nas-checkbox input:checked+.nas-checkbox__indicator{border-color:#15273f;background-color:#ebf4ff}.nas-checkbox input:checked+.nas-checkbox__indicator:before{transform:scale(.9);opacity:1;top:10px}.nas-checkbox input:checked+.nas-checkbox__indicator:after{border-color:#15273f}.nas-checkbox input[disabled]+.nas-checkbox__indicator{background-color:#e9e7e4;border-color:#6f6f6f}.nas-checkbox input[disabled]+.nas-checkbox__indicator:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:hover:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:focus:after{border-color:#e9e7e4}.nas-checkbox__indicator{position:absolute;display:block;-webkit-user-select:none;user-select:none;left:0;border:2px solid #15273F;width:22px;height:22px;background-color:#fff}.nas-checkbox__indicator:focus-visible{outline:2px solid #2A5980;outline-offset:2px}.nas-checkbox__indicator:before{content:\"\";display:inline-block;vertical-align:middle;position:absolute;top:55%;left:50%;width:14px;height:12px;margin-top:-6px;margin-left:-7px;transform-origin:40% 90%;opacity:0;transform:scale(0);transition:all .1s cubic-bezier(0,0,.1,1);background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled{color:#6f6f6f;cursor:default}.nas-checkbox--disabled .nas-checkbox__indicator{background-color:#e9e7e4}.nas-checkbox--disabled .nas-checkbox__indicator:before{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%236F6F6F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled:hover .nas-checkbox__indicator:after{border-color:#e9e7e4}.nas-checkbox--error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--inverted{color:#fff}.nas-checkbox--inverted input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted input+.nas-checkbox__indicator:after{border-color:#fff}.nas-checkbox--inverted-error{color:#fff}.nas-checkbox--inverted-error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted-error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--outlined .nas-checkbox__indicator{border:2px solid #E9E7E4}.nas-checkbox--outlined .nas-checkbox__indicator:after{display:none}.nas-checkbox--outlined-error .nas-checkbox__indicator{border:2px solid #E5212D;background-color:#fff5f3}.nas-checkbox--outlined-error .nas-checkbox__indicator:after{display:none}.nas-checkbox--spaceless{margin-bottom:6px}.nas-checkbox--block{display:block}\n"] }]
103
+ args: [{ selector: 'nas-checkbox', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [nasClass]=\"mainClass\">\n <input type=\"checkbox\" #input [id]=\"inputId\" [checked]=\"exists(checked)\" [disabled]=\"exists(disabled)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (change)=\"inputChanged($event)\" (click)=\"inputClicked($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-container>\n\n<ng-template #reactiveForm>\n <label [nasClass]=\"mainClass\" #inputReactive [formGroup]=\"nasFormGroup\">\n <input type=\"checkbox\" [formControlName]=\"nasFormControlName\" [id]=\"inputId\" [checked]=\"exists(checked)\"\n [required]=\"exists(required)\" [tabIndex]=\"tabIndex\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\" [attr.aria-describedby]=\"ariaLabelledby\" [attr.value]=\"value\"\n (keydown)=\"onKeydown($event)\" />\n <span [nasClass]=\"getClass('indicator')\"></span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </label>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-checkbox{-webkit-user-select:none;-o-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;position:relative;display:inline-block;cursor:pointer;padding-left:30px;margin-bottom:24px;margin-right:24px;color:#15273f}.nas-checkbox:hover .nas-checkbox__indicator:after{border-color:#6f6f6f}.nas-checkbox input{position:absolute;opacity:0;z-index:-1}.nas-checkbox input:checked+.nas-checkbox__indicator{border-color:#15273f;background-color:#ebf4ff}.nas-checkbox input:checked+.nas-checkbox__indicator:before{transform:scale(.9);opacity:1;top:10px}.nas-checkbox input:checked+.nas-checkbox__indicator:after{border-color:#15273f}.nas-checkbox input[disabled]+.nas-checkbox__indicator{background-color:#e9e7e4;border-color:#6f6f6f}.nas-checkbox input[disabled]+.nas-checkbox__indicator:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:hover:after,.nas-checkbox input[disabled]+.nas-checkbox__indicator:focus:after{border-color:#e9e7e4}.nas-checkbox__indicator{position:absolute;display:block;-webkit-user-select:none;user-select:none;left:0;border:2px solid #15273F;width:22px;height:22px;background-color:#fff}.nas-checkbox__indicator:focus-visible{outline:2px solid #2A5980;outline-offset:2px}.nas-checkbox__indicator:before{content:\"\";display:inline-block;vertical-align:middle;position:absolute;top:55%;left:50%;width:14px;height:12px;margin-top:-6px;margin-left:-7px;transform-origin:40% 90%;opacity:0;transform:scale(0);transition:all .1s cubic-bezier(0,0,.1,1);background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled{color:#6f6f6f;cursor:default}.nas-checkbox--disabled .nas-checkbox__indicator{background-color:#e9e7e4}.nas-checkbox--disabled .nas-checkbox__indicator:before{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.0.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2214px%22 height%3D%2212px%22 viewBox%3D%220 0 14 12%22 enable-background%3D%22new 0 0 14 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%236F6F6F%22 points%3D%2211.7%2C0 5.8%2C6.7 2.2%2C3.1 0%2C5.3 6%2C11.3 14%2C2 %22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat}.nas-checkbox--disabled:hover .nas-checkbox__indicator:after{border-color:#e9e7e4}.nas-checkbox--error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--inverted{color:#fff}.nas-checkbox--inverted input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted input+.nas-checkbox__indicator:after{border-color:#fff}.nas-checkbox--inverted-error{color:#fff}.nas-checkbox--inverted-error input:checked+.nas-checkbox__indicator:after,.nas-checkbox--inverted-error input+.nas-checkbox__indicator:after{border-color:#e5212d}.nas-checkbox--outlined .nas-checkbox__indicator{border:2px solid #E9E7E4}.nas-checkbox--outlined .nas-checkbox__indicator:after{display:none}.nas-checkbox--outlined-error .nas-checkbox__indicator{border:2px solid #E5212D;background-color:#fff5f3}.nas-checkbox--outlined-error .nas-checkbox__indicator:after{display:none}.nas-checkbox--spaceless{margin-bottom:6px}.nas-checkbox--block{display:block}.nas-checkbox--reverse{padding-left:0;padding-right:30px}.nas-checkbox--reverse .nas-checkbox__indicator{right:0;left:auto}.nas-checkbox--filled{width:100%;margin:0;display:flex;justify-content:flex-end}.nas-checkbox--filled.nas-checkbox--reverse{display:block}\n"] }]
102
104
  }], ctorParameters: function () { return []; }, propDecorators: { input: [{
103
105
  type: ViewChild,
104
106
  args: ['input']
@@ -121,6 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
121
123
  type: Input
122
124
  }], outlined: [{
123
125
  type: Input
126
+ }], reverse: [{
127
+ type: Input
128
+ }], filled: [{
129
+ type: Input
124
130
  }], ariaLabel: [{
125
131
  type: Input,
126
132
  args: ['aria-label']
@@ -147,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
147
153
  }], focusOnPrevious: [{
148
154
  type: Output
149
155
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFdkIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQUlyRDs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQjthQUFNO1lBQ0wsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUE2RkQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7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SztzQkFBYixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9lLFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFPUSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFPQyxjQUFjO3NCQUF2QyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFPZixJQUFJO3NCQUFaLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFrQkcsa0JBQWtCO3NCQUExQixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IENsYXNzTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9jbGFzcy5tb2RlbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gQ2hlY2tib3ggQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWFjdGl2ZScpIGlucHV0UmVhY3RpdmU6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgSWQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlucHV0SWRWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXRJZFZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYG5hcy1jaGVja2JveC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgICB9XG4gIH1cbiAgc2V0IGlucHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0SWRWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHZhbHVlIGF0dHJpYnV0ZSBpcyBib3VuZCB0byBuZ01vZGVsIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiBzZXR0aW5nIGVycm9yIHN0eWxpbmcgb2YgdGhlIGNoZWNrYm94LiBVc2VmdWxsIGZvciB2YWxpZGF0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBkaXNhYmxlIHRoZSBjaGVja2JveC5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IGRpc3BsYXkgYXMgYmxvY2tcbiAgICovXG4gIEBJbnB1dCgpIGJsb2NrOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IHNwYWNlbGVzcyBzdHlsaW5nIC0gcmVtb3ZlIHNwYWNlIGFyb3VuZCBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBzZXQgaW52ZXJ0ZWQgc3R5bGluZy5cbiAgICovXG4gIEBJbnB1dCgpIGludmVydGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IG91dGxpbmVkIHN0eWxpbmdcbiAgICovXG4gIEBJbnB1dCgpIG91dGxpbmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFVzZWQgdG8gc2V0IHRoZSAnYXJpYS1sYWJlbCcgYXR0cmlidXRlIG9uIHRoZSB1bmRlcmx5aW5nIGlucHV0IGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgJ2FyaWEtbGFiZWxsZWRieScgYXR0cmlidXRlIHRha2VzIHByZWNlZGVuY2UgYXMgdGhlIGVsZW1lbnQncyB0ZXh0IGFsdGVybmF0aXZlLlxuICAgKi9cbiAgQElucHV0KCdhcmlhLWRlc2NyaWJlZGJ5JykgYXJpYURlc2NyaWJlZGJ5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlICdhcmlhLWRlc2NyaWJlZGJ5JyBhdHRyaWJ1dGUgaXMgcmVhZCBhZnRlciB0aGUgZWxlbWVudCdzIGxhYmVsIGFuZCBmaWVsZCB0eXBlLlxuICAgKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFN0cmluZyB0byBzZXQgbmFtZSBvbiBuYXRpdmUgaW5wdXQgZWxlbWVudFxuICAgKi9cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFN0cmluZyB0byBzZXQgcmVxdWlyZWQgb24gbmF0aXZlIGlucHV0IGVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFN0cmluZyB0byBzZXQgdGFiSW5kZXggb24gbmF0aXZlIGlucHV0IGVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRhYkluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tlZFZhbHVlO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmNoZWNrZWRWYWx1ZSkge1xuICAgICAgdGhpcy5jaGVja2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIGlucHV0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGZvY3VzT25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBnZXQgbWFpbkNsYXNzKCk6IENsYXNzTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAnZXJyb3InLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkgJiYgJ2Rpc2FibGVkJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmxvY2spICYmICdibG9jaycsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnNwYWNlbGVzcykgJiYgJ3NwYWNlbGVzcycsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmludmVydGVkKSAmJiAnaW52ZXJ0ZWQnLFxuICAgICAgKHRoaXMuZXhpc3RzKHRoaXMuaW52ZXJ0ZWQpICYmIHRoaXMuZXJyb3IpICYmICdpbnZlcnRlZC1lcnJvcicsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLm91dGxpbmVkKSAmJiAnb3V0bGluZWQnLFxuICAgICAgKHRoaXMuZXhpc3RzKHRoaXMub3V0bGluZWQpICYmIHRoaXMuZXJyb3IpICYmICdvdXRsaW5lZC1lcnJvcidcbiAgICBdKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tlZFZhbHVlOiBib29sZWFuO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG4gIHByaXZhdGUgaW5wdXRJZFZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZXByZXNlbnQgYSBjaGVja2JveCBjb21wb25lbnQuXG4gICAqIFdpbGwgaW5pdGlhdGUgY29ycmVjdCBibG9jayBzdHlsZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCduYXMtY2hlY2tib3gnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGNvbnN0IGNoZWNrZWRDb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgaWYgKGNoZWNrZWRDb250cm9sKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWRDb250cm9sLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGlucHV0Q2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uUHJldmlvdXMuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICA8bGFiZWwgW25hc0NsYXNzXT1cIm1haW5DbGFzc1wiPlxuICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiAjaW5wdXQgW2lkXT1cImlucHV0SWRcIiBbY2hlY2tlZF09XCJleGlzdHMoY2hlY2tlZClcIiBbZGlzYWJsZWRdPVwiZXhpc3RzKGRpc2FibGVkKVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZXhpc3RzKHJlcXVpcmVkKVwiIFt0YWJJbmRleF09XCJ0YWJJbmRleFwiIFthdHRyLm5hbWVdPVwibmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhTGFiZWxsZWRieVwiIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKCRldmVudClcIiAoY2xpY2spPVwiaW5wdXRDbGlja2VkKCRldmVudClcIiAvPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5kaWNhdG9yJylcIj48L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9sYWJlbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgPGxhYmVsIFtuYXNDbGFzc109XCJtYWluQ2xhc3NcIiAjaW5wdXRSZWFjdGl2ZSBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hc0Zvcm1Db250cm9sTmFtZVwiIFtpZF09XCJpbnB1dElkXCIgW2NoZWNrZWRdPVwiZXhpc3RzKGNoZWNrZWQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJleGlzdHMocmVxdWlyZWQpXCIgW3RhYkluZGV4XT1cInRhYkluZGV4XCIgW2F0dHIubmFtZV09XCJuYW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCIgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIiAvPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5kaWNhdG9yJylcIj48L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFdkIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQUlyRDs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQjthQUFNO1lBQ0wsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUEyR0QsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQXVCRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU87WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFdBQVc7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtZQUN4QyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0I7WUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtZQUN4QyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0I7WUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFNRDs7OztPQUlHO0lBQ0g7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFsS3hCOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBaUlWLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBNEI1RCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUV0RSxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO2FBQ3JDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNqQixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEM7U0FDSjtJQUNILENBQUM7OEdBOU5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLDQxQkNoQzlCLHE0Q0F3QmM7OzJGRFFELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUk7MEVBR2pCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDVSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBUXRCLE9BQU87c0JBRFYsS0FBSztnQkFxQkcsS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9lLFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFPUSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFPQyxjQUFjO3NCQUF2QyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFPZixJQUFJO3NCQUFaLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFrQkcsa0JBQWtCO3NCQUExQixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IENsYXNzTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9jbGFzcy5tb2RlbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gQ2hlY2tib3ggQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWFjdGl2ZScpIGlucHV0UmVhY3RpdmU6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgSWQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlucHV0SWRWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXRJZFZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYG5hcy1jaGVja2JveC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgICB9XG4gIH1cbiAgc2V0IGlucHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0SWRWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHZhbHVlIGF0dHJpYnV0ZSBpcyBib3VuZCB0byBuZ01vZGVsIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiBzZXR0aW5nIGVycm9yIHN0eWxpbmcgb2YgdGhlIGNoZWNrYm94LiBVc2VmdWxsIGZvciB2YWxpZGF0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBkaXNhYmxlIHRoZSBjaGVja2JveC5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IGRpc3BsYXkgYXMgYmxvY2tcbiAgICovXG4gIEBJbnB1dCgpIGJsb2NrOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IHNwYWNlbGVzcyBzdHlsaW5nIC0gcmVtb3ZlIHNwYWNlIGFyb3VuZCBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBzZXQgaW52ZXJ0ZWQgc3R5bGluZy5cbiAgICovXG4gIEBJbnB1dCgpIGludmVydGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IG91dGxpbmVkIHN0eWxpbmdcbiAgICovXG4gIEBJbnB1dCgpIG91dGxpbmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IGNoZWNrYm94IHBvc2l0aW9uIG9uIHJpZ2h0IHNpZGVcbiAgICovXG4gIEBJbnB1dCgpIHJldmVyc2U6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBmaWxsZWQgdGhlIGNvbnRhaW5lciBlbGVtZW50IHdpdGggMTAwJSB3aWR0aC5cbiAgICovXG4gIEBJbnB1dCgpIGZpbGxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBVc2VkIHRvIHNldCB0aGUgJ2FyaWEtbGFiZWwnIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlICdhcmlhLWxhYmVsbGVkYnknIGF0dHJpYnV0ZSB0YWtlcyBwcmVjZWRlbmNlIGFzIHRoZSBlbGVtZW50J3MgdGV4dCBhbHRlcm5hdGl2ZS5cbiAgICovXG4gIEBJbnB1dCgnYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSAnYXJpYS1kZXNjcmliZWRieScgYXR0cmlidXRlIGlzIHJlYWQgYWZ0ZXIgdGhlIGVsZW1lbnQncyBsYWJlbCBhbmQgZmllbGQgdHlwZS5cbiAgICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnk6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTdHJpbmcgdG8gc2V0IG5hbWUgb24gbmF0aXZlIGlucHV0IGVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTdHJpbmcgdG8gc2V0IHJlcXVpcmVkIG9uIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTdHJpbmcgdG8gc2V0IHRhYkluZGV4IG9uIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrZWRWYWx1ZTtcbiAgfVxuICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5jaGVja2VkVmFsdWUpIHtcbiAgICAgIHRoaXMuY2hlY2tlZFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgdGhlIHBhcmVudCdzIGZvcm0gZ3JvdXAuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IGlzIHJlcXVpZXJlZCB0byBiZSBmaWxsZWQgaWYgbmFzRm9ybUNvbnRyb2xOYW1lIGFkZGVkLlxuICAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBmb2N1c09uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgZ2V0IG1haW5DbGFzcygpOiBDbGFzc01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbGFzcygnJywgW1xuICAgICAgdGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgJ2Vycm9yJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpICYmICdkaXNhYmxlZCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmJsb2NrKSAmJiAnYmxvY2snLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5zcGFjZWxlc3MpICYmICdzcGFjZWxlc3MnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5pbnZlcnRlZCkgJiYgJ2ludmVydGVkJyxcbiAgICAgICh0aGlzLmV4aXN0cyh0aGlzLmludmVydGVkKSAmJiB0aGlzLmVycm9yKSAmJiAnaW52ZXJ0ZWQtZXJyb3InLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5vdXRsaW5lZCkgJiYgJ291dGxpbmVkJyxcbiAgICAgICh0aGlzLmV4aXN0cyh0aGlzLm91dGxpbmVkKSAmJiB0aGlzLmVycm9yKSAmJiAnb3V0bGluZWQtZXJyb3InLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5yZXZlcnNlKSAmJiAncmV2ZXJzZScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmZpbGxlZCkgJiYgJ2ZpbGxlZCcsXG4gICAgXSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrZWRWYWx1ZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwcml2YXRlIGlucHV0SWRWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVwcmVzZW50IGEgY2hlY2tib3ggY29tcG9uZW50LlxuICAgKiBXaWxsIGluaXRpYXRlIGNvcnJlY3QgYmxvY2sgc3R5bGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLWNoZWNrYm94Jyk7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IG5leHRJZCsrO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBjaGVja2VkQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmIChjaGVja2VkQ29udHJvbCkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkQ29udHJvbC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dENoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBpbnB1dENsaWNrZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZpb3VzLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgPGxhYmVsIFtuYXNDbGFzc109XCJtYWluQ2xhc3NcIj5cbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgI2lucHV0IFtpZF09XCJpbnB1dElkXCIgW2NoZWNrZWRdPVwiZXhpc3RzKGNoZWNrZWQpXCIgW2Rpc2FibGVkXT1cImV4aXN0cyhkaXNhYmxlZClcIlxuICAgICAgW3JlcXVpcmVkXT1cImV4aXN0cyhyZXF1aXJlZClcIiBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIiBbYXR0ci5uYW1lXT1cIm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIiBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cImlucHV0Q2hhbmdlZCgkZXZlbnQpXCIgKGNsaWNrKT1cImlucHV0Q2xpY2tlZCgkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2luZGljYXRvcicpXCI+PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbGFiZWw+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNyZWFjdGl2ZUZvcm0+XG4gIDxsYWJlbCBbbmFzQ2xhc3NdPVwibWFpbkNsYXNzXCIgI2lucHV0UmVhY3RpdmUgW2Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIiBbaWRdPVwiaW5wdXRJZFwiIFtjaGVja2VkXT1cImV4aXN0cyhjaGVja2VkKVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZXhpc3RzKHJlcXVpcmVkKVwiIFt0YWJJbmRleF09XCJ0YWJJbmRleFwiIFthdHRyLm5hbWVdPVwibmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhTGFiZWxsZWRieVwiIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2luZGljYXRvcicpXCI+PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19