@norwegian/core-components 7.20.2 → 7.21.0

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.
@@ -51,7 +51,7 @@ export class PremiumToggleComponent extends NasComponentBase {
51
51
  this.handleChange.emit(this.selectedValue.value);
52
52
  }
53
53
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PremiumToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PremiumToggleComponent, selector: "nas-premium-toggle", inputs: { defaultValue: "defaultValue", standardLabel: "standardLabel", premiumLabel: "premiumLabel" }, outputs: { handleChange: "handleChange" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass()\">\n <nas-toggle [group]=\"'premium'\" [selectedValue]=\"selectedValue\" [compact]=\"true\" (handleChange)=\"onChange($event)\" [options]=\"options\"></nas-toggle>\n</div>\n", 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)}}.premium-toggle{max-width:500px;margin:24px auto 12px}@media (min-width: 640px){.premium-toggle{margin:48px auto 24px}}\n"], dependencies: [{ kind: "component", type: i1.ToggleComponent, selector: "nas-toggle", inputs: ["options", "large", "compact", "rounded", "small", "big", "selectedValue", "label", "light", "tab", "vertical", "grouped", "group", "nasFormControlName", "nasFormGroup", "scrollable"], outputs: ["handleChange"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PremiumToggleComponent, selector: "nas-premium-toggle", inputs: { defaultValue: "defaultValue", standardLabel: "standardLabel", premiumLabel: "premiumLabel" }, outputs: { handleChange: "handleChange" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass()\">\n <nas-toggle [group]=\"'premium'\" [selectedValue]=\"selectedValue\" [compact]=\"true\" (handleChange)=\"onChange($event)\" [options]=\"options\"></nas-toggle>\n</div>\n", 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)}}.premium-toggle{max-width:500px;margin:24px auto 12px}@media (min-width: 640px){.premium-toggle{margin:48px auto 24px}}\n"], dependencies: [{ kind: "component", type: i1.ToggleComponent, selector: "nas-toggle", inputs: ["options", "large", "compact", "rounded", "small", "big", "selectedValue", "label", "light", "tab", "vertical", "grouped", "group", "nasFormControlName", "nasFormGroup", "scrollable", "toggleIconLight"], outputs: ["handleChange"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PremiumToggleComponent, decorators: [{
57
57
  type: Component,
@@ -1,3 +1,6 @@
1
1
  export class OptionModel {
2
+ constructor() {
3
+ this.title = '';
4
+ }
2
5
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlL21vZGVscy9vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0NBTXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9wdGlvbk1vZGVsIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBocmVmPzogc3RyaW5nO1xufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlL21vZGVscy9vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBTUksVUFBSyxHQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT3B0aW9uTW9kZWwge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBocmVmPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nID0gJyc7XG59XG4iXX0=
@@ -56,6 +56,14 @@ export class ToggleComponent extends NasComponentBase {
56
56
  this.exists(this.light) && 'light'
57
57
  ]);
58
58
  }
59
+ getIconName(option) {
60
+ if (!this.exists(this.toggleIconLight)) {
61
+ return option.icon;
62
+ }
63
+ const isSelected = option.value === this.selectedValue;
64
+ const isLight = this.exists(this.light);
65
+ return isSelected !== isLight ? option.icon + '--light' : option.icon;
66
+ }
59
67
  onClickHref(event, option) {
60
68
  if (option?.href == null || option?.href == '') {
61
69
  return;
@@ -65,11 +73,11 @@ export class ToggleComponent extends NasComponentBase {
65
73
  history.pushState(null, '', option.href);
66
74
  }
67
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToggleComponent, selector: "nas-toggle", inputs: { options: "options", large: "large", compact: "compact", rounded: "rounded", small: "small", big: "big", selectedValue: "selectedValue", label: "label", light: "light", tab: "tab", vertical: "vertical", grouped: "grouped", group: "group", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", scrollable: "scrollable" }, outputs: { handleChange: "handleChange" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"mainClasses()\" *ngIf=\"!nasFormControlName; else reactiveForm\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\" [checked]=\"option.value === selectedValue\"\n [attr.name]=\"group\" type=\"radio\" [attr.value]=\"option.value\" (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n</div>\n<ng-template #reactiveForm>\n <div [nasClass]=\"mainClasses()\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\"\n [checked]=\"option.value === selectedValue\" [name]=\"group\" type=\"radio\" [value]=\"option.value\"\n (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n </div>\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-toggle__items{display:flex;flex-grow:2;perspective:1000px}.nas-toggle__title{font-size:16px;line-height:24px}.nas-toggle .icon-small{display:none;margin-left:-3px;margin-right:9px}@media (min-width: 640px){.nas-toggle .icon-small{display:inline-block}}.nas-toggle__item{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;animation-delay:.42s;-webkit-user-select:none;user-select:none;width:100%}.nas-toggle__item:nth-child(1){animation-delay:60ms}.nas-toggle__item:nth-child(2){animation-delay:.12s}.nas-toggle__item:nth-child(3){animation-delay:.18s}.nas-toggle__item:nth-child(4){animation-delay:.24s}.nas-toggle__item:nth-child(5){animation-delay:.3s}.nas-toggle__item:nth-child(6){animation-delay:.36s}.nas-toggle__item:not(:first-child){margin-left:2px}.nas-toggle__item:not(:last-child){margin-right:2px}.nas-toggle__label{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-size:16px;line-height:24px;text-align:center;color:#15273f;white-space:nowrap;cursor:pointer;margin:0;border:2px solid #E9E7E4;background-color:#fff;transition:transform .15s cubic-bezier(0,0,.1,1)}.nas-toggle__label--content{padding:12px}.nas-toggle__label:hover,.nas-toggle__label:focus{border-color:#15273f}.nas-toggle__label:active{transform:translateY(3px)}.nas-toggle__price{display:block}@media (min-width: 640px){.nas-toggle__price{display:none}}.nas-toggle--compact .nas-toggle__label{font-size:14px;line-height:20px}.nas-toggle--compact .nas-toggle__label--content,.nas-toggle--compact .nas-toggle__link{padding:6px}.nas-toggle--large{align-items:stretch}.nas-toggle--large .icon-small{margin:0}.nas-toggle--large .nas-toggle__label{height:100%;border-color:#fff;background-color:#fff}.nas-toggle--large .nas-toggle__label--content{padding:24px}.nas-toggle--large .nas-toggle__label:hover,.nas-toggle--large .nas-toggle__label:focus{border-color:#15273f}.nas-toggle--large .nas-toggle__item:not(:first-child){margin-left:6px}.nas-toggle--large .nas-toggle__item:not(:last-child){margin-right:6px}.nas-toggle--large .nas-toggle__text{display:block}@media (min-width: 640px){.nas-toggle--large .nas-toggle__price{display:block;margin-bottom:-9px}}.nas-toggle--large .nas-toggle__link{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.nas-toggle--grouped{padding-bottom:3px;border-bottom:3px solid #15273F}.nas-toggle--vertical .nas-toggle__items{flex-direction:column;padding-bottom:0;border-bottom:0}.nas-toggle--vertical .nas-toggle__item,.nas-toggle--vertical .nas-toggle__item:not(:first-child),.nas-toggle--vertical .nas-toggle__item:not(:last-child){margin:0 0 3px}.nas-toggle--vertical .nas-toggle__label{text-align:left}.nas-toggle--vertical .nas-toggle__label--content,.nas-toggle--vertical .nas-toggle__link{padding:6px 24px}.nas-toggle--rounded .nas-toggle__label{margin:0 auto 6px;height:83px;width:83px;border-radius:100%}.nas-toggle--rounded .nas-toggle__label:hover,.nas-toggle--rounded .nas-toggle__label:focus{border-color:#fff;background-color:#fff}.nas-toggle--rounded .nas-toggle__item:not(:first-child){margin-left:12px}.nas-toggle--rounded .nas-toggle__item:not(:last-child){margin-right:12px}.nas-toggle--rounded .nas-toggle__text{display:block;text-align:center}.nas-toggle--big .nas-toggle__label{height:96px;width:96px;padding-top:9px}.nas-toggle--small .nas-toggle__label{padding-top:6px;height:65px;width:65px}.nas-toggle__radio{position:fixed;top:-99px;left:-99px;opacity:0}.nas-toggle__radio:checked~.nas-toggle__label{color:#15273f;border-color:#15273f;background-color:#ebf4ff}.nas-toggle__radio:focus-visible~.nas-toggle__label{box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-toggle__radio:disabled~.nas-toggle__label{opacity:.4;pointer-events:none}.nas-toggle--scrollable .nas-toggle__items{overflow-x:auto;overflow-y:hidden;padding-bottom:20px;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar{height:4px;width:4px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-thumb{background:#15273f;border-radius:2px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:end{margin-right:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:start{margin-left:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-moz-scrollbar{height:4px;width:4px}.nas-toggle__link{display:block;color:#15273f;border:0;padding:12px;text-decoration:none}.nas-toggle--tab{background-color:#f8f8f8;border-radius:8px}.nas-toggle--tab .nas-toggle__items{padding:4px}.nas-toggle--tab .nas-toggle__label{font-size:14px;line-height:20px;font-weight:700;border:0;background-color:#f8f8f8;border-radius:4px}.nas-toggle--tab .nas-toggle__label--content{padding:8px 16px}.nas-toggle--tab .nas-toggle__radio:checked~.nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light{background-color:#15273f}.nas-toggle--light .nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light .nas-toggle__radio:checked~.nas-toggle__label{background-color:#f8f8f8;color:#15273f}::ng-deep .nas-icon-small{margin-right:6px}\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: "component", type: i2.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i4.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: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToggleComponent, selector: "nas-toggle", inputs: { options: "options", large: "large", compact: "compact", rounded: "rounded", small: "small", big: "big", selectedValue: "selectedValue", label: "label", light: "light", tab: "tab", vertical: "vertical", grouped: "grouped", group: "group", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", scrollable: "scrollable", toggleIconLight: "toggleIconLight" }, outputs: { handleChange: "handleChange" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"mainClasses()\" *ngIf=\"!nasFormControlName; else reactiveForm\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\" [checked]=\"option.value === selectedValue\"\n [attr.name]=\"group\" type=\"radio\" [attr.value]=\"option.value\" (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n</div>\n<ng-template #reactiveForm>\n <div [nasClass]=\"mainClasses()\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\"\n [checked]=\"option.value === selectedValue\" [name]=\"group\" type=\"radio\" [value]=\"option.value\"\n (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n </div>\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-toggle__items{display:flex;flex-grow:2;perspective:1000px}.nas-toggle__title{font-size:16px;line-height:24px}.nas-toggle .icon-small{display:none;margin-left:-3px;margin-right:9px}@media (min-width: 640px){.nas-toggle .icon-small{display:inline-block}}.nas-toggle__item{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;animation-delay:.42s;-webkit-user-select:none;user-select:none;width:100%}.nas-toggle__item:nth-child(1){animation-delay:60ms}.nas-toggle__item:nth-child(2){animation-delay:.12s}.nas-toggle__item:nth-child(3){animation-delay:.18s}.nas-toggle__item:nth-child(4){animation-delay:.24s}.nas-toggle__item:nth-child(5){animation-delay:.3s}.nas-toggle__item:nth-child(6){animation-delay:.36s}.nas-toggle__item:not(:first-child){margin-left:2px}.nas-toggle__item:not(:last-child){margin-right:2px}.nas-toggle__label{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-size:16px;line-height:24px;text-align:center;color:#15273f;white-space:nowrap;cursor:pointer;margin:0;border:2px solid #E9E7E4;background-color:#fff;transition:transform .15s cubic-bezier(0,0,.1,1)}.nas-toggle__label--content{padding:12px}.nas-toggle__label:hover,.nas-toggle__label:focus{border-color:#15273f}.nas-toggle__label:active{transform:translateY(3px)}.nas-toggle__price{display:block}@media (min-width: 640px){.nas-toggle__price{display:none}}.nas-toggle--compact .nas-toggle__label{font-size:14px;line-height:20px}.nas-toggle--compact .nas-toggle__label--content,.nas-toggle--compact .nas-toggle__link{padding:6px}.nas-toggle--large{align-items:stretch}.nas-toggle--large .icon-small{margin:0}.nas-toggle--large .nas-toggle__label{height:100%;border-color:#fff;background-color:#fff}.nas-toggle--large .nas-toggle__label--content{padding:24px}.nas-toggle--large .nas-toggle__label:hover,.nas-toggle--large .nas-toggle__label:focus{border-color:#15273f}.nas-toggle--large .nas-toggle__item:not(:first-child){margin-left:6px}.nas-toggle--large .nas-toggle__item:not(:last-child){margin-right:6px}.nas-toggle--large .nas-toggle__text{display:block}@media (min-width: 640px){.nas-toggle--large .nas-toggle__price{display:block;margin-bottom:-9px}}.nas-toggle--large .nas-toggle__link{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.nas-toggle--grouped{padding-bottom:3px;border-bottom:3px solid #15273F}.nas-toggle--vertical .nas-toggle__items{flex-direction:column;padding-bottom:0;border-bottom:0}.nas-toggle--vertical .nas-toggle__item,.nas-toggle--vertical .nas-toggle__item:not(:first-child),.nas-toggle--vertical .nas-toggle__item:not(:last-child){margin:0 0 3px}.nas-toggle--vertical .nas-toggle__label{text-align:left}.nas-toggle--vertical .nas-toggle__label--content,.nas-toggle--vertical .nas-toggle__link{padding:6px 24px}.nas-toggle--rounded .nas-toggle__label{margin:0 auto 6px;height:83px;width:83px;border-radius:100%}.nas-toggle--rounded .nas-toggle__label:hover,.nas-toggle--rounded .nas-toggle__label:focus{border-color:#fff;background-color:#fff}.nas-toggle--rounded .nas-toggle__item:not(:first-child){margin-left:12px}.nas-toggle--rounded .nas-toggle__item:not(:last-child){margin-right:12px}.nas-toggle--rounded .nas-toggle__text{display:block;text-align:center}.nas-toggle--big .nas-toggle__label{height:96px;width:96px;padding-top:9px}.nas-toggle--small .nas-toggle__label{padding-top:6px;height:65px;width:65px}.nas-toggle__radio{position:fixed;top:-99px;left:-99px;opacity:0}.nas-toggle__radio:checked~.nas-toggle__label{color:#15273f;border-color:#15273f;background-color:#ebf4ff}.nas-toggle__radio:focus-visible~.nas-toggle__label{box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-toggle__radio:disabled~.nas-toggle__label{opacity:.4;pointer-events:none}.nas-toggle--scrollable .nas-toggle__items{overflow-x:auto;overflow-y:hidden;padding-bottom:20px;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar{height:4px;width:4px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-thumb{background:#15273f;border-radius:2px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:end{margin-right:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:start{margin-left:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-moz-scrollbar{height:4px;width:4px}.nas-toggle__link{display:block;color:#15273f;border:0;padding:12px;text-decoration:none}.nas-toggle--tab{background-color:#f8f8f8;border-radius:8px}.nas-toggle--tab .nas-toggle__items{padding:4px}.nas-toggle--tab .nas-toggle__label{font-size:14px;line-height:20px;font-weight:700;border:0;background-color:#f8f8f8;border-radius:4px}.nas-toggle--tab .nas-toggle__label--content{padding:8px 16px}.nas-toggle--tab .nas-toggle__radio:checked~.nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light{background-color:#15273f}.nas-toggle--light .nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light .nas-toggle__radio:checked~.nas-toggle__label{background-color:#f8f8f8;color:#15273f}::ng-deep .nas-icon-small{margin-right:6px}\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: "component", type: i2.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i4.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: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
69
77
  }
70
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToggleComponent, decorators: [{
71
79
  type: Component,
72
- args: [{ selector: 'nas-toggle', template: "<div [nasClass]=\"mainClasses()\" *ngIf=\"!nasFormControlName; else reactiveForm\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\" [checked]=\"option.value === selectedValue\"\n [attr.name]=\"group\" type=\"radio\" [attr.value]=\"option.value\" (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n</div>\n<ng-template #reactiveForm>\n <div [nasClass]=\"mainClasses()\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\"\n [checked]=\"option.value === selectedValue\" [name]=\"group\" type=\"radio\" [value]=\"option.value\"\n (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"option.icon\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n </div>\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-toggle__items{display:flex;flex-grow:2;perspective:1000px}.nas-toggle__title{font-size:16px;line-height:24px}.nas-toggle .icon-small{display:none;margin-left:-3px;margin-right:9px}@media (min-width: 640px){.nas-toggle .icon-small{display:inline-block}}.nas-toggle__item{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;animation-delay:.42s;-webkit-user-select:none;user-select:none;width:100%}.nas-toggle__item:nth-child(1){animation-delay:60ms}.nas-toggle__item:nth-child(2){animation-delay:.12s}.nas-toggle__item:nth-child(3){animation-delay:.18s}.nas-toggle__item:nth-child(4){animation-delay:.24s}.nas-toggle__item:nth-child(5){animation-delay:.3s}.nas-toggle__item:nth-child(6){animation-delay:.36s}.nas-toggle__item:not(:first-child){margin-left:2px}.nas-toggle__item:not(:last-child){margin-right:2px}.nas-toggle__label{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-size:16px;line-height:24px;text-align:center;color:#15273f;white-space:nowrap;cursor:pointer;margin:0;border:2px solid #E9E7E4;background-color:#fff;transition:transform .15s cubic-bezier(0,0,.1,1)}.nas-toggle__label--content{padding:12px}.nas-toggle__label:hover,.nas-toggle__label:focus{border-color:#15273f}.nas-toggle__label:active{transform:translateY(3px)}.nas-toggle__price{display:block}@media (min-width: 640px){.nas-toggle__price{display:none}}.nas-toggle--compact .nas-toggle__label{font-size:14px;line-height:20px}.nas-toggle--compact .nas-toggle__label--content,.nas-toggle--compact .nas-toggle__link{padding:6px}.nas-toggle--large{align-items:stretch}.nas-toggle--large .icon-small{margin:0}.nas-toggle--large .nas-toggle__label{height:100%;border-color:#fff;background-color:#fff}.nas-toggle--large .nas-toggle__label--content{padding:24px}.nas-toggle--large .nas-toggle__label:hover,.nas-toggle--large .nas-toggle__label:focus{border-color:#15273f}.nas-toggle--large .nas-toggle__item:not(:first-child){margin-left:6px}.nas-toggle--large .nas-toggle__item:not(:last-child){margin-right:6px}.nas-toggle--large .nas-toggle__text{display:block}@media (min-width: 640px){.nas-toggle--large .nas-toggle__price{display:block;margin-bottom:-9px}}.nas-toggle--large .nas-toggle__link{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.nas-toggle--grouped{padding-bottom:3px;border-bottom:3px solid #15273F}.nas-toggle--vertical .nas-toggle__items{flex-direction:column;padding-bottom:0;border-bottom:0}.nas-toggle--vertical .nas-toggle__item,.nas-toggle--vertical .nas-toggle__item:not(:first-child),.nas-toggle--vertical .nas-toggle__item:not(:last-child){margin:0 0 3px}.nas-toggle--vertical .nas-toggle__label{text-align:left}.nas-toggle--vertical .nas-toggle__label--content,.nas-toggle--vertical .nas-toggle__link{padding:6px 24px}.nas-toggle--rounded .nas-toggle__label{margin:0 auto 6px;height:83px;width:83px;border-radius:100%}.nas-toggle--rounded .nas-toggle__label:hover,.nas-toggle--rounded .nas-toggle__label:focus{border-color:#fff;background-color:#fff}.nas-toggle--rounded .nas-toggle__item:not(:first-child){margin-left:12px}.nas-toggle--rounded .nas-toggle__item:not(:last-child){margin-right:12px}.nas-toggle--rounded .nas-toggle__text{display:block;text-align:center}.nas-toggle--big .nas-toggle__label{height:96px;width:96px;padding-top:9px}.nas-toggle--small .nas-toggle__label{padding-top:6px;height:65px;width:65px}.nas-toggle__radio{position:fixed;top:-99px;left:-99px;opacity:0}.nas-toggle__radio:checked~.nas-toggle__label{color:#15273f;border-color:#15273f;background-color:#ebf4ff}.nas-toggle__radio:focus-visible~.nas-toggle__label{box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-toggle__radio:disabled~.nas-toggle__label{opacity:.4;pointer-events:none}.nas-toggle--scrollable .nas-toggle__items{overflow-x:auto;overflow-y:hidden;padding-bottom:20px;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar{height:4px;width:4px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-thumb{background:#15273f;border-radius:2px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:end{margin-right:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:start{margin-left:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-moz-scrollbar{height:4px;width:4px}.nas-toggle__link{display:block;color:#15273f;border:0;padding:12px;text-decoration:none}.nas-toggle--tab{background-color:#f8f8f8;border-radius:8px}.nas-toggle--tab .nas-toggle__items{padding:4px}.nas-toggle--tab .nas-toggle__label{font-size:14px;line-height:20px;font-weight:700;border:0;background-color:#f8f8f8;border-radius:4px}.nas-toggle--tab .nas-toggle__label--content{padding:8px 16px}.nas-toggle--tab .nas-toggle__radio:checked~.nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light{background-color:#15273f}.nas-toggle--light .nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light .nas-toggle__radio:checked~.nas-toggle__label{background-color:#f8f8f8;color:#15273f}::ng-deep .nas-icon-small{margin-right:6px}\n"] }]
80
+ args: [{ selector: 'nas-toggle', template: "<div [nasClass]=\"mainClasses()\" *ngIf=\"!nasFormControlName; else reactiveForm\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\" [checked]=\"option.value === selectedValue\"\n [attr.name]=\"group\" type=\"radio\" [attr.value]=\"option.value\" (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n</div>\n<ng-template #reactiveForm>\n <div [nasClass]=\"mainClasses()\">\n <h3 [nasClass]=\"getClass('title')\">{{label}}</h3>\n <div [nasClass]=\"getClass('items')\" [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('item')\" *ngFor=\"let option of options\">\n <input [formControlName]=\"nasFormControlName\" [nasClass]=\"getClass('radio')\" [attr.id]=\"getOptionId(option)\"\n [checked]=\"option.value === selectedValue\" [name]=\"group\" type=\"radio\" [value]=\"option.value\"\n (change)=\"onChange(option)\">\n <label [nasClass]=\"getClass('label')\" [attr.for]=\"getOptionId(option)\">\n <ng-container *ngIf=\"option?.href; else noLink\">\n <a [nasClass]=\"getClass('link', selectedValue == option.value && 'selected')\" [href]=\"option.href\"\n (click)=\"onClickHref($event, option)\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <div [nasClass]=\"getClass('label--content')\" title=\"{{option.title}}\">\n <nas-icon *ngIf=\"option.icon\" [icon]=\"getIconName(option)\" [type]=\"iconType\"></nas-icon>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"!isRounded\">{{ option.text }}</span>\n </div>\n </ng-template>\n </label>\n <span [nasClass]=\"getClass('text')\" *ngIf=\"isRounded\">{{option.text}}</span>\n </span>\n </div>\n </div>\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-toggle__items{display:flex;flex-grow:2;perspective:1000px}.nas-toggle__title{font-size:16px;line-height:24px}.nas-toggle .icon-small{display:none;margin-left:-3px;margin-right:9px}@media (min-width: 640px){.nas-toggle .icon-small{display:inline-block}}.nas-toggle__item{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;animation-delay:.42s;-webkit-user-select:none;user-select:none;width:100%}.nas-toggle__item:nth-child(1){animation-delay:60ms}.nas-toggle__item:nth-child(2){animation-delay:.12s}.nas-toggle__item:nth-child(3){animation-delay:.18s}.nas-toggle__item:nth-child(4){animation-delay:.24s}.nas-toggle__item:nth-child(5){animation-delay:.3s}.nas-toggle__item:nth-child(6){animation-delay:.36s}.nas-toggle__item:not(:first-child){margin-left:2px}.nas-toggle__item:not(:last-child){margin-right:2px}.nas-toggle__label{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-size:16px;line-height:24px;text-align:center;color:#15273f;white-space:nowrap;cursor:pointer;margin:0;border:2px solid #E9E7E4;background-color:#fff;transition:transform .15s cubic-bezier(0,0,.1,1)}.nas-toggle__label--content{padding:12px}.nas-toggle__label:hover,.nas-toggle__label:focus{border-color:#15273f}.nas-toggle__label:active{transform:translateY(3px)}.nas-toggle__price{display:block}@media (min-width: 640px){.nas-toggle__price{display:none}}.nas-toggle--compact .nas-toggle__label{font-size:14px;line-height:20px}.nas-toggle--compact .nas-toggle__label--content,.nas-toggle--compact .nas-toggle__link{padding:6px}.nas-toggle--large{align-items:stretch}.nas-toggle--large .icon-small{margin:0}.nas-toggle--large .nas-toggle__label{height:100%;border-color:#fff;background-color:#fff}.nas-toggle--large .nas-toggle__label--content{padding:24px}.nas-toggle--large .nas-toggle__label:hover,.nas-toggle--large .nas-toggle__label:focus{border-color:#15273f}.nas-toggle--large .nas-toggle__item:not(:first-child){margin-left:6px}.nas-toggle--large .nas-toggle__item:not(:last-child){margin-right:6px}.nas-toggle--large .nas-toggle__text{display:block}@media (min-width: 640px){.nas-toggle--large .nas-toggle__price{display:block;margin-bottom:-9px}}.nas-toggle--large .nas-toggle__link{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.nas-toggle--grouped{padding-bottom:3px;border-bottom:3px solid #15273F}.nas-toggle--vertical .nas-toggle__items{flex-direction:column;padding-bottom:0;border-bottom:0}.nas-toggle--vertical .nas-toggle__item,.nas-toggle--vertical .nas-toggle__item:not(:first-child),.nas-toggle--vertical .nas-toggle__item:not(:last-child){margin:0 0 3px}.nas-toggle--vertical .nas-toggle__label{text-align:left}.nas-toggle--vertical .nas-toggle__label--content,.nas-toggle--vertical .nas-toggle__link{padding:6px 24px}.nas-toggle--rounded .nas-toggle__label{margin:0 auto 6px;height:83px;width:83px;border-radius:100%}.nas-toggle--rounded .nas-toggle__label:hover,.nas-toggle--rounded .nas-toggle__label:focus{border-color:#fff;background-color:#fff}.nas-toggle--rounded .nas-toggle__item:not(:first-child){margin-left:12px}.nas-toggle--rounded .nas-toggle__item:not(:last-child){margin-right:12px}.nas-toggle--rounded .nas-toggle__text{display:block;text-align:center}.nas-toggle--big .nas-toggle__label{height:96px;width:96px;padding-top:9px}.nas-toggle--small .nas-toggle__label{padding-top:6px;height:65px;width:65px}.nas-toggle__radio{position:fixed;top:-99px;left:-99px;opacity:0}.nas-toggle__radio:checked~.nas-toggle__label{color:#15273f;border-color:#15273f;background-color:#ebf4ff}.nas-toggle__radio:focus-visible~.nas-toggle__label{box-shadow:0 0 1px 2px #e9e7e4,0 0 2px 3px #7ca4cd}.nas-toggle__radio:disabled~.nas-toggle__label{opacity:.4;pointer-events:none}.nas-toggle--scrollable .nas-toggle__items{overflow-x:auto;overflow-y:hidden;padding-bottom:20px;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar{height:4px;width:4px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-thumb{background:#15273f;border-radius:2px}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:end{margin-right:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-webkit-scrollbar-track-piece:start{margin-left:100px;background:#fff}.nas-toggle--scrollable .nas-toggle__items::-moz-scrollbar{height:4px;width:4px}.nas-toggle__link{display:block;color:#15273f;border:0;padding:12px;text-decoration:none}.nas-toggle--tab{background-color:#f8f8f8;border-radius:8px}.nas-toggle--tab .nas-toggle__items{padding:4px}.nas-toggle--tab .nas-toggle__label{font-size:14px;line-height:20px;font-weight:700;border:0;background-color:#f8f8f8;border-radius:4px}.nas-toggle--tab .nas-toggle__label--content{padding:8px 16px}.nas-toggle--tab .nas-toggle__radio:checked~.nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light{background-color:#15273f}.nas-toggle--light .nas-toggle__label{background-color:#15273f;color:#fff}.nas-toggle--light .nas-toggle__radio:checked~.nas-toggle__label{background-color:#f8f8f8;color:#15273f}::ng-deep .nas-icon-small{margin-right:6px}\n"] }]
73
81
  }], ctorParameters: function () { return []; }, propDecorators: { options: [{
74
82
  type: Input
75
83
  }], large: [{
@@ -104,5 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
104
112
  type: Input
105
113
  }], scrollable: [{
106
114
  type: Input
115
+ }], toggleIconLight: [{
116
+ type: Input
107
117
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBRXRFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQXFMbkQ7UUFDRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUE3Q3RCOzs7Ozs7VUFNRTtRQUNRLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQXdCekQ7Ozs7OztVQU1FO1FBQ08sZUFBVSxHQUFHLEtBQUssQ0FBQztJQVE1QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLElB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9vcHRpb25zLm1vZGVsJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBUb29nbGUgQ29tcG9uZW50IHwgQnV0dG9ucyBhbmQgSW5kaWNhdG9yc1xuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVG9nZ2xlIG9wdGlvbnMuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtvcHRpb25zXT1cIm9wdGlvbnNcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PE9wdGlvbk1vZGVsPjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgaWNvbiBzaXplIGxhcmdlLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBsYXJnZT48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtsYXJnZV09XCJ0cnVlXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBsYXJnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IGNvbXBhY3Qgc3R5bGluZy5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgY29tcGFjdD48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtjb21wYWN0XT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCByb3VuZGVkIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHJvdW5kZWQ+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbcm91bmRlZF09XCJ0cnVlXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSByb3VuZGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgc21hbGwgc2l6ZSBvZiByb3VuZGVkIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHJvdW5kZWQgc21hbGw+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbcm91bmRlZF09XCJ0cnVlXCIgW3NtYWxsXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNtYWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgYmlnIHNpemUgb2Ygcm91bmRlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSByb3VuZGVkIGJpZz48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtyb3VuZGVkXT1cInRydWVcIiBbYmlnXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGJpZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IHRoZSBzZWxlY3RlZCBvcHRpb24uXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbGFiZWwgZm9yIHRvZ2dsZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgW2xhYmVsXT1cIidUb2dnbGUgbGFiZWwnXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCBsaWdodCB2ZXJzaW9uIG9mIHRhYiBzdHlsaW5nIGZvciB0b2dnbGVcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgdGFiIGxpZ2h0PjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW3RhYl09XCJ0cnVlXCIgW2xpZ2h0XT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGxpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgdGFiIHN0eWxpbmcgZm9yIHRvZ2dsZVxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSB0YWI+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbdGFiXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHRhYj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IHZlcnRpY2FsIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHZlcnRpY2FsPjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW3ZlcnRpY2FsXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHZlcnRpY2FsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgZ3JvdXBlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBncm91cGVkPjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW2dyb3VwZWRdPVwidHJ1ZVwiPjwvbmFzLXRvZ2dsZT5cbiAgKi9cbiAgQElucHV0KCkgZ3JvdXBlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVG9nZ2xlIGdyb3VwIG5hbWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtncm91cF09XCInR3JvdXAgbmFtZSdcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHRvZ2dsZSBpcyBwZXJmb3JtZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIChoYW5kbGVDaGFuZ2UpPVwib25IYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvbmFzLXRvZ2dsZT5cbiAgKi9cbiAgQE91dHB1dCgpIGhhbmRsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uTW9kZWw+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIGlucHV0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIidzdW1tZXInXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgW25hc0Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRvIHNldCBob3Jpem9udGFsIHNjcm9sbC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgc2Nyb2xsYWJsZT48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNjcm9sbGFibGUgPSBmYWxzZTtcblxuICBpY29uVHlwZTogc3RyaW5nO1xuXG4gIGlzUm91bmRlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLXRvZ2dsZScpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHRoaXMuZXhpc3RzKHRoaXMucm91bmRlZCkgJiYgdGhpcy5leGlzdHModGhpcy5zbWFsbCkgPyAnc21hbGwnIDpcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGFyZ2UpIHx8IHRoaXMuZXhpc3RzKHRoaXMucm91bmRlZCkgPyAnbWVkaXVtJyA6ICdzbWFsbCc7XG4gICAgdGhpcy5pc1JvdW5kZWQgPSB0aGlzLmV4aXN0cyh0aGlzLnJvdW5kZWQpID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0T3B0aW9uSWQob3B0aW9uOiBPcHRpb25Nb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAgKyAnLScgKyBvcHRpb24ubmFtZTtcbiAgfVxuXG4gIG9uQ2hhbmdlKG9wdGlvbjogT3B0aW9uTW9kZWwpIHtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZE9wdGlvbi52YWx1ZTtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZS5lbWl0KHNlbGVjdGVkT3B0aW9uKTtcbiAgfVxuXG4gIG1haW5DbGFzc2VzKCkge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmxhcmdlKSAmJiAnbGFyZ2UnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5jb21wYWN0KSAmJiAnY29tcGFjdCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnZlcnRpY2FsKSAmJiAndmVydGljYWwnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5ncm91cGVkKSAmJiAnZ3JvdXBlZCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnJvdW5kZWQpICYmICdyb3VuZGVkJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmlnKSAmJiAnYmlnJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc21hbGwpICYmICdzbWFsbCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnNjcm9sbGFibGUpICYmICdzY3JvbGxhYmxlJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMudGFiKSAmJiAndGFiJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGlnaHQpICYmICdsaWdodCdcbiAgICBdKTtcbiAgfVxuXG4gIG9uQ2xpY2tIcmVmKGV2ZW50OiBNb3VzZUV2ZW50LCBvcHRpb246IE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbj8uaHJlZiA9PSBudWxsIHx8IG9wdGlvbj8uaHJlZiA9PSAnJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkNoYW5nZShvcHRpb24pO1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnLCBvcHRpb24uaHJlZik7XG4gIH1cbn0iLCI8ZGl2IFtuYXNDbGFzc109XCJtYWluQ2xhc3NlcygpXCIgKm5nSWY9XCIhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICA8aDMgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScpXCI+e3tsYWJlbH19PC9oMz5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2l0ZW1zJylcIj5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2l0ZW0nKVwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxuICAgICAgPGlucHV0IFtuYXNDbGFzc109XCJnZXRDbGFzcygncmFkaW8nKVwiIFthdHRyLmlkXT1cImdldE9wdGlvbklkKG9wdGlvbilcIiBbY2hlY2tlZF09XCJvcHRpb24udmFsdWUgPT09IHNlbGVjdGVkVmFsdWVcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cImdyb3VwXCIgdHlwZT1cInJhZGlvXCIgW2F0dHIudmFsdWVdPVwib3B0aW9uLnZhbHVlXCIgKGNoYW5nZSk9XCJvbkNoYW5nZShvcHRpb24pXCI+XG4gICAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCIgW2F0dHIuZm9yXT1cImdldE9wdGlvbklkKG9wdGlvbilcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbj8uaHJlZjsgZWxzZSBub0xpbmtcIj5cbiAgICAgICAgICA8YSBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xpbmsnLCBzZWxlY3RlZFZhbHVlID09IG9wdGlvbi52YWx1ZSAmJiAnc2VsZWN0ZWQnKVwiIFtocmVmXT1cIm9wdGlvbi5ocmVmXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrSHJlZigkZXZlbnQsIG9wdGlvbilcIj5cbiAgICAgICAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uXCIgW2ljb25dPVwib3B0aW9uLmljb25cIiBbdHlwZV09XCJpY29uVHlwZVwiPjwvbmFzLWljb24+XG4gICAgICAgICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQnKVwiICpuZ0lmPVwiIWlzUm91bmRlZFwiPnt7IG9wdGlvbi50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9MaW5rPlxuICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbC0tY29udGVudCcpXCI+XG4gICAgICAgICAgICA8bmFzLWljb24gKm5nSWY9XCJvcHRpb24uaWNvblwiIFtpY29uXT1cIm9wdGlvbi5pY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cIiFpc1JvdW5kZWRcIj57eyBvcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQnKVwiICpuZ0lmPVwiaXNSb3VuZGVkXCI+e3tvcHRpb24udGV4dH19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICA8ZGl2IFtuYXNDbGFzc109XCJtYWluQ2xhc3NlcygpXCI+XG4gICAgPGgzIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnKVwiPnt7bGFiZWx9fTwvaDM+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2l0ZW1zJylcIiBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdpdGVtJylcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdyYWRpbycpXCIgW2F0dHIuaWRdPVwiZ2V0T3B0aW9uSWQob3B0aW9uKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZFZhbHVlXCIgW25hbWVdPVwiZ3JvdXBcIiB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKG9wdGlvbilcIj5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwnKVwiIFthdHRyLmZvcl09XCJnZXRPcHRpb25JZChvcHRpb24pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbj8uaHJlZjsgZWxzZSBub0xpbmtcIj5cbiAgICAgICAgICAgIDxhIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGluaycsIHNlbGVjdGVkVmFsdWUgPT0gb3B0aW9uLnZhbHVlICYmICdzZWxlY3RlZCcpXCIgW2hyZWZdPVwib3B0aW9uLmhyZWZcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0hyZWYoJGV2ZW50LCBvcHRpb24pXCI+XG4gICAgICAgICAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uXCIgW2ljb25dPVwib3B0aW9uLmljb25cIiBbdHlwZV09XCJpY29uVHlwZVwiPjwvbmFzLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dCcpXCIgKm5nSWY9XCIhaXNSb3VuZGVkXCI+e3sgb3B0aW9uLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub0xpbms+XG4gICAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwtLWNvbnRlbnQnKVwiPlxuICAgICAgICAgICAgICA8bmFzLWljb24gKm5nSWY9XCJvcHRpb24uaWNvblwiIFtpY29uXT1cIm9wdGlvbi5pY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQnKVwiICpuZ0lmPVwiIWlzUm91bmRlZFwiPnt7IG9wdGlvbi50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cImlzUm91bmRlZFwiPnt7b3B0aW9uLnRleHR9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBRXRFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQWdNbkQ7UUFDRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUF4RHRCOzs7Ozs7VUFNRTtRQUNRLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQXdCekQ7Ozs7OztVQU1FO1FBQ08sZUFBVSxHQUFHLEtBQUssQ0FBQztJQW1CNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFtQjtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFtQjtRQUMxQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUs7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUs7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN0QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDcEI7UUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxVQUFVLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlCLEVBQUUsTUFBbUI7UUFDaEQsSUFBSSxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRTtZQUM5QyxPQUFPO1NBQ1I7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBcFBVLGVBQWU7bUdBQWYsZUFBZSxvZkNmNUIsbXNHQW9EYzs7NEZEckNELGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTswRUFhYixPQUFPO3NCQUFmLEtBQUs7Z0JBV0csS0FBSztzQkFBYixLQUFLO2dCQVdHLE9BQU87c0JBQWYsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBV0csS0FBSztzQkFBYixLQUFLO2dCQVdHLEdBQUc7c0JBQVgsS0FBSztnQkFTRyxhQUFhO3NCQUFyQixLQUFLO2dCQVNHLEtBQUs7c0JBQWIsS0FBSztnQkFXRyxLQUFLO3NCQUFiLEtBQUs7Z0JBV0csR0FBRztzQkFBWCxLQUFLO2dCQVdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQVNHLEtBQUs7c0JBQWIsS0FBSztnQkFTSSxZQUFZO3NCQUFyQixNQUFNO2dCQVdFLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFXRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBV0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9vcHRpb25zLm1vZGVsJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBUb29nbGUgQ29tcG9uZW50IHwgQnV0dG9ucyBhbmQgSW5kaWNhdG9yc1xuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVG9nZ2xlIG9wdGlvbnMuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtvcHRpb25zXT1cIm9wdGlvbnNcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PE9wdGlvbk1vZGVsPjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgaWNvbiBzaXplIGxhcmdlLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBsYXJnZT48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtsYXJnZV09XCJ0cnVlXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBsYXJnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IGNvbXBhY3Qgc3R5bGluZy5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgY29tcGFjdD48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtjb21wYWN0XT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCByb3VuZGVkIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHJvdW5kZWQ+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbcm91bmRlZF09XCJ0cnVlXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSByb3VuZGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgc21hbGwgc2l6ZSBvZiByb3VuZGVkIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHJvdW5kZWQgc21hbGw+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbcm91bmRlZF09XCJ0cnVlXCIgW3NtYWxsXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNtYWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgYmlnIHNpemUgb2Ygcm91bmRlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSByb3VuZGVkIGJpZz48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFtyb3VuZGVkXT1cInRydWVcIiBbYmlnXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGJpZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IHRoZSBzZWxlY3RlZCBvcHRpb24uXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbGFiZWwgZm9yIHRvZ2dsZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgW2xhYmVsXT1cIidUb2dnbGUgbGFiZWwnXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCBsaWdodCB2ZXJzaW9uIG9mIHRhYiBzdHlsaW5nIGZvciB0b2dnbGVcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgdGFiIGxpZ2h0PjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW3RhYl09XCJ0cnVlXCIgW2xpZ2h0XT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGxpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgdGFiIHN0eWxpbmcgZm9yIHRvZ2dsZVxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSB0YWI+PC9uYXMtdG9nZ2xlPlxuICAgKiBvclxuICAgKiA8bmFzLXRvZ2dsZSBbdGFiXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHRhYj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IHZlcnRpY2FsIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHZlcnRpY2FsPjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW3ZlcnRpY2FsXT1cInRydWVcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHZlcnRpY2FsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXQgZ3JvdXBlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBncm91cGVkPjwvbmFzLXRvZ2dsZT5cbiAgICogb3JcbiAgICogPG5hcy10b2dnbGUgW2dyb3VwZWRdPVwidHJ1ZVwiPjwvbmFzLXRvZ2dsZT5cbiAgKi9cbiAgQElucHV0KCkgZ3JvdXBlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVG9nZ2xlIGdyb3VwIG5hbWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIFtncm91cF09XCInR3JvdXAgbmFtZSdcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIGdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHRvZ2dsZSBpcyBwZXJmb3JtZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIChoYW5kbGVDaGFuZ2UpPVwib25IYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvbmFzLXRvZ2dsZT5cbiAgKi9cbiAgQE91dHB1dCgpIGhhbmRsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uTW9kZWw+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIGlucHV0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXRvZ2dsZSBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIidzdW1tZXInXCI+PC9uYXMtdG9nZ2xlPlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgW25hc0Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRvIHNldCBob3Jpem9udGFsIHNjcm9sbC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy10b2dnbGUgc2Nyb2xsYWJsZT48L25hcy10b2dnbGU+XG4gICovXG4gIEBJbnB1dCgpIHNjcm9sbGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDb250cm9scyB3aGV0aGVyICctLWxpZ2h0JyBzdWZmaXggaXMgdG9nZ2xlZCBvbiBpY29ucyBiYXNlZCBvbiBzZWxlY3Rpb24gc3RhdGUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtdG9nZ2xlIHRvZ2dsZUljb25MaWdodD48L25hcy10b2dnbGU+XG4gICAqIG9yXG4gICAqIDxuYXMtdG9nZ2xlIFt0b2dnbGVJY29uTGlnaHRdPVwidHJ1ZVwiPjwvbmFzLXRvZ2dsZT5cbiAgKi9cbiAgQElucHV0KCkgdG9nZ2xlSWNvbkxpZ2h0PzogYm9vbGVhbjtcblxuICBpY29uVHlwZTogc3RyaW5nO1xuXG4gIGlzUm91bmRlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLXRvZ2dsZScpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHRoaXMuZXhpc3RzKHRoaXMucm91bmRlZCkgJiYgdGhpcy5leGlzdHModGhpcy5zbWFsbCkgPyAnc21hbGwnIDpcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGFyZ2UpIHx8IHRoaXMuZXhpc3RzKHRoaXMucm91bmRlZCkgPyAnbWVkaXVtJyA6ICdzbWFsbCc7XG4gICAgdGhpcy5pc1JvdW5kZWQgPSB0aGlzLmV4aXN0cyh0aGlzLnJvdW5kZWQpID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0T3B0aW9uSWQob3B0aW9uOiBPcHRpb25Nb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAgKyAnLScgKyBvcHRpb24ubmFtZTtcbiAgfVxuXG4gIG9uQ2hhbmdlKG9wdGlvbjogT3B0aW9uTW9kZWwpIHtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZE9wdGlvbi52YWx1ZTtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZS5lbWl0KHNlbGVjdGVkT3B0aW9uKTtcbiAgfVxuXG4gIG1haW5DbGFzc2VzKCkge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmxhcmdlKSAmJiAnbGFyZ2UnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5jb21wYWN0KSAmJiAnY29tcGFjdCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnZlcnRpY2FsKSAmJiAndmVydGljYWwnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5ncm91cGVkKSAmJiAnZ3JvdXBlZCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnJvdW5kZWQpICYmICdyb3VuZGVkJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmlnKSAmJiAnYmlnJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc21hbGwpICYmICdzbWFsbCcsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnNjcm9sbGFibGUpICYmICdzY3JvbGxhYmxlJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMudGFiKSAmJiAndGFiJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGlnaHQpICYmICdsaWdodCdcbiAgICBdKTtcbiAgfVxuXG4gIGdldEljb25OYW1lKG9wdGlvbjogT3B0aW9uTW9kZWwpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5leGlzdHModGhpcy50b2dnbGVJY29uTGlnaHQpKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLmljb247XG4gICAgfVxuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgICBjb25zdCBpc0xpZ2h0ID0gdGhpcy5leGlzdHModGhpcy5saWdodCk7XG4gICAgcmV0dXJuIGlzU2VsZWN0ZWQgIT09IGlzTGlnaHQgPyBvcHRpb24uaWNvbiArICctLWxpZ2h0JyA6IG9wdGlvbi5pY29uO1xuICB9XG5cbiAgb25DbGlja0hyZWYoZXZlbnQ6IE1vdXNlRXZlbnQsIG9wdGlvbjogT3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uPy5ocmVmID09IG51bGwgfHwgb3B0aW9uPy5ocmVmID09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm9uQ2hhbmdlKG9wdGlvbik7XG4gICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgJycsIG9wdGlvbi5ocmVmKTtcbiAgfVxufSIsIjxkaXYgW25hc0NsYXNzXT1cIm1haW5DbGFzc2VzKClcIiAqbmdJZj1cIiFuYXNGb3JtQ29udHJvbE5hbWU7IGVsc2UgcmVhY3RpdmVGb3JtXCI+XG4gIDxoMyBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RpdGxlJylcIj57e2xhYmVsfX08L2gzPlxuICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnaXRlbXMnKVwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaXRlbScpXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XG4gICAgICA8aW5wdXQgW25hc0NsYXNzXT1cImdldENsYXNzKCdyYWRpbycpXCIgW2F0dHIuaWRdPVwiZ2V0T3B0aW9uSWQob3B0aW9uKVwiIFtjaGVja2VkXT1cIm9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwiZ3JvdXBcIiB0eXBlPVwicmFkaW9cIiBbYXR0ci52YWx1ZV09XCJvcHRpb24udmFsdWVcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKG9wdGlvbilcIj5cbiAgICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIiBbYXR0ci5mb3JdPVwiZ2V0T3B0aW9uSWQob3B0aW9uKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uPy5ocmVmOyBlbHNlIG5vTGlua1wiPlxuICAgICAgICAgIDxhIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGluaycsIHNlbGVjdGVkVmFsdWUgPT0gb3B0aW9uLnZhbHVlICYmICdzZWxlY3RlZCcpXCIgW2hyZWZdPVwib3B0aW9uLmhyZWZcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tIcmVmKCRldmVudCwgb3B0aW9uKVwiIHRpdGxlPVwie3tvcHRpb24udGl0bGV9fVwiPlxuICAgICAgICAgICAgPG5hcy1pY29uICpuZ0lmPVwib3B0aW9uLmljb25cIiBbaWNvbl09XCJnZXRJY29uTmFtZShvcHRpb24pXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cIiFpc1JvdW5kZWRcIj57eyBvcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vTGluaz5cbiAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwtLWNvbnRlbnQnKVwiIHRpdGxlPVwie3tvcHRpb24udGl0bGV9fVwiPlxuICAgICAgICAgICAgPG5hcy1pY29uICpuZ0lmPVwib3B0aW9uLmljb25cIiBbaWNvbl09XCJnZXRJY29uTmFtZShvcHRpb24pXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cIiFpc1JvdW5kZWRcIj57eyBvcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQnKVwiICpuZ0lmPVwiaXNSb3VuZGVkXCI+e3tvcHRpb24udGV4dH19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICA8ZGl2IFtuYXNDbGFzc109XCJtYWluQ2xhc3NlcygpXCI+XG4gICAgPGgzIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnKVwiPnt7bGFiZWx9fTwvaDM+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2l0ZW1zJylcIiBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdpdGVtJylcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdyYWRpbycpXCIgW2F0dHIuaWRdPVwiZ2V0T3B0aW9uSWQob3B0aW9uKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZFZhbHVlXCIgW25hbWVdPVwiZ3JvdXBcIiB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKG9wdGlvbilcIj5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwnKVwiIFthdHRyLmZvcl09XCJnZXRPcHRpb25JZChvcHRpb24pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbj8uaHJlZjsgZWxzZSBub0xpbmtcIj5cbiAgICAgICAgICAgIDxhIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGluaycsIHNlbGVjdGVkVmFsdWUgPT0gb3B0aW9uLnZhbHVlICYmICdzZWxlY3RlZCcpXCIgW2hyZWZdPVwib3B0aW9uLmhyZWZcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0hyZWYoJGV2ZW50LCBvcHRpb24pXCIgdGl0bGU9XCJ7e29wdGlvbi50aXRsZX19XCI+XG4gICAgICAgICAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uXCIgW2ljb25dPVwiZ2V0SWNvbk5hbWUob3B0aW9uKVwiIFt0eXBlXT1cImljb25UeXBlXCI+PC9uYXMtaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cIiFpc1JvdW5kZWRcIj57eyBvcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vTGluaz5cbiAgICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbC0tY29udGVudCcpXCIgdGl0bGU9XCJ7e29wdGlvbi50aXRsZX19XCI+XG4gICAgICAgICAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uXCIgW2ljb25dPVwiZ2V0SWNvbk5hbWUob3B0aW9uKVwiIFt0eXBlXT1cImljb25UeXBlXCI+PC9uYXMtaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiAqbmdJZj1cIiFpc1JvdW5kZWRcIj57eyBvcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dCcpXCIgKm5nSWY9XCJpc1JvdW5kZWRcIj57e29wdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=