@norwegian/core-components 6.58.1 → 6.60.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.
@@ -118,16 +118,13 @@ export class AlertComponent extends NasComponentBase {
118
118
  if (alert.removeIcon) {
119
119
  this.removeIcon = alert.removeIcon;
120
120
  }
121
- if (alert.correlation) {
122
- this.correlation = alert.correlation;
123
- }
124
121
  }
125
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AlertComponent, selector: "nas-alert", inputs: { timestamp: "timestamp", title: "title", info: "info", warning: "warning", error: "error", success: "success", neutral: "neutral", text: "text", show: "show", removable: "removable", removeIcon: "removeIcon", trustTextHtml: "trustTextHtml", allowAutoScroll: "allowAutoScroll", server: "server", correlation: "correlation", alert: "alert" }, outputs: { showChange: "showChange" }, viewQueries: [{ propertyName: "alertContainer", first: true, predicate: ["alertContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #alertContainer *ngIf=\"exists(showValue)\" [nasClass]=\"getClasses('', modifiers)\" tabindex=\"0\">\n <div [nasClass]=\"getClass('content')\">\n <nas-icon *ngIf=\"!removeIcon\" [icon]=\"getIcon()\"></nas-icon>\n <div [nasClass]=\"getClass('remove-alert')\" *ngIf=\"exists(removable);\">\n <nas-icon type=\"remove\" (click)=\"removeAlertBox()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClass('text-container')\">\n <div *ngIf=\"exists(title)\" [nasClass]=\"getClass('text')\">{{title}}</div>\n <div [nasClass]=\"getClass('text--internal-info')\">\n <span *ngIf=\"timestamp\">{{timestamp | date:'full'}}</span>\n <span *ngIf=\"server\">{{server}}</span>\n <span *ngIf=\"correlation\">{{correlation}}</span>\n </div>\n <span *ngIf=\"text && !trustTextHtml\" [nasClass]=\"getClass('text--small')\">{{text}}</span>\n <span *ngIf=\"text && trustTextHtml\" [nasClass]=\"getClass('text--small')\" [innerHTML]=\"text\"></span>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", 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-alert{position:relative;padding:16px 12px;width:100%;height:100%;border:1px solid #15273f;background-color:#ebf4ff}.nas-alert--info{background-color:#ebf4ff;border:1px solid #15273f}.nas-alert--info img{width:24px;height:24px}.nas-alert--info:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--success{background-color:#f4faf2;border:1px solid #2EB004}.nas-alert--success img{width:24px;height:24px}.nas-alert--success:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--warning{background-color:#fff6ec;border:1px solid #FC9E12}.nas-alert--warning img{width:24px;height:24px}.nas-alert--warning:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--error{background-color:#fff5f3;border:1px solid #CC3A19}.nas-alert--error img{width:24px;height:24px}.nas-alert--error:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--neutral{background-color:#f9f9f9;border:1px solid #eaeaea}.nas-alert--neutral img{width:24px;height:24px}.nas-alert--neutral:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert__content{display:inline-flex}.nas-alert__remove-alert{position:absolute;right:10px;top:10px;cursor:pointer}.nas-alert__text-container{display:flex;flex-direction:column;margin-left:6px}.nas-alert__text,.nas-alert__text--internal-info,.nas-alert__text--small{color:#15273f;font-size:14px;font-weight:700;line-height:20px;margin-bottom:4px}.nas-alert__text--small{font-weight:400;margin-top:-1px}.nas-alert__text--internal-info{flex-direction:column;display:flex;font-weight:500;font-size:12px;line-height:16px;margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AlertComponent, selector: "nas-alert", inputs: { timestamp: "timestamp", title: "title", info: "info", warning: "warning", error: "error", success: "success", neutral: "neutral", text: "text", show: "show", removable: "removable", removeIcon: "removeIcon", trustTextHtml: "trustTextHtml", allowAutoScroll: "allowAutoScroll", server: "server", alert: "alert" }, outputs: { showChange: "showChange" }, viewQueries: [{ propertyName: "alertContainer", first: true, predicate: ["alertContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #alertContainer *ngIf=\"exists(showValue)\" [nasClass]=\"getClasses('', modifiers)\" tabindex=\"0\">\n <div [nasClass]=\"getClass('content')\">\n <nas-icon *ngIf=\"!removeIcon\" [icon]=\"getIcon()\"></nas-icon>\n <div [nasClass]=\"getClass('remove-alert')\" *ngIf=\"exists(removable);\">\n <nas-icon type=\"remove\" (click)=\"removeAlertBox()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClass('text-container')\">\n <div *ngIf=\"timestamp || server\" [nasClass]=\"getClass('text--internal-info')\">\n <span *ngIf=\"timestamp\">{{timestamp | date:'full'}}</span>\n <span *ngIf=\"server\">{{server}}</span>\n </div>\n <div *ngIf=\"exists(title)\" [nasClass]=\"getClass('text')\">{{title}}</div>\n <span *ngIf=\"text && !trustTextHtml\" [nasClass]=\"getClass('text--small')\">{{text}}</span>\n <span *ngIf=\"text && trustTextHtml\" [nasClass]=\"getClass('text--small')\" [innerHTML]=\"text\"></span>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", 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-alert{position:relative;padding:16px 12px;width:100%;height:100%;border:1px solid #15273f;background-color:#ebf4ff}.nas-alert--info{background-color:#ebf4ff;border:1px solid #15273f}.nas-alert--info img{width:24px;height:24px}.nas-alert--info:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--success{background-color:#f4faf2;border:1px solid #2EB004}.nas-alert--success img{width:24px;height:24px}.nas-alert--success:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--warning{background-color:#fff6ec;border:1px solid #FC9E12}.nas-alert--warning img{width:24px;height:24px}.nas-alert--warning:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--error{background-color:#fff5f3;border:1px solid #CC3A19}.nas-alert--error img{width:24px;height:24px}.nas-alert--error:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--neutral{background-color:#f9f9f9;border:1px solid #eaeaea}.nas-alert--neutral img{width:24px;height:24px}.nas-alert--neutral:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert__content{display:inline-flex}.nas-alert__remove-alert{position:absolute;right:10px;top:10px;cursor:pointer}.nas-alert__text-container{display:flex;flex-direction:column;margin-left:6px}.nas-alert__text,.nas-alert__text--internal-info,.nas-alert__text--small{color:#15273f;font-size:14px;font-weight:700;line-height:20px;margin-bottom:4px}.nas-alert__text--small{font-weight:400;margin-top:-1px}.nas-alert__text--internal-info{display:flex;flex-direction:row;font-weight:500;font-size:12px;line-height:16px;margin-bottom:9px;gap:3px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
124
  }
128
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AlertComponent, decorators: [{
129
126
  type: Component,
130
- args: [{ selector: 'nas-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #alertContainer *ngIf=\"exists(showValue)\" [nasClass]=\"getClasses('', modifiers)\" tabindex=\"0\">\n <div [nasClass]=\"getClass('content')\">\n <nas-icon *ngIf=\"!removeIcon\" [icon]=\"getIcon()\"></nas-icon>\n <div [nasClass]=\"getClass('remove-alert')\" *ngIf=\"exists(removable);\">\n <nas-icon type=\"remove\" (click)=\"removeAlertBox()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClass('text-container')\">\n <div *ngIf=\"exists(title)\" [nasClass]=\"getClass('text')\">{{title}}</div>\n <div [nasClass]=\"getClass('text--internal-info')\">\n <span *ngIf=\"timestamp\">{{timestamp | date:'full'}}</span>\n <span *ngIf=\"server\">{{server}}</span>\n <span *ngIf=\"correlation\">{{correlation}}</span>\n </div>\n <span *ngIf=\"text && !trustTextHtml\" [nasClass]=\"getClass('text--small')\">{{text}}</span>\n <span *ngIf=\"text && trustTextHtml\" [nasClass]=\"getClass('text--small')\" [innerHTML]=\"text\"></span>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", 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-alert{position:relative;padding:16px 12px;width:100%;height:100%;border:1px solid #15273f;background-color:#ebf4ff}.nas-alert--info{background-color:#ebf4ff;border:1px solid #15273f}.nas-alert--info img{width:24px;height:24px}.nas-alert--info:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--success{background-color:#f4faf2;border:1px solid #2EB004}.nas-alert--success img{width:24px;height:24px}.nas-alert--success:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--warning{background-color:#fff6ec;border:1px solid #FC9E12}.nas-alert--warning img{width:24px;height:24px}.nas-alert--warning:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--error{background-color:#fff5f3;border:1px solid #CC3A19}.nas-alert--error img{width:24px;height:24px}.nas-alert--error:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--neutral{background-color:#f9f9f9;border:1px solid #eaeaea}.nas-alert--neutral img{width:24px;height:24px}.nas-alert--neutral:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert__content{display:inline-flex}.nas-alert__remove-alert{position:absolute;right:10px;top:10px;cursor:pointer}.nas-alert__text-container{display:flex;flex-direction:column;margin-left:6px}.nas-alert__text,.nas-alert__text--internal-info,.nas-alert__text--small{color:#15273f;font-size:14px;font-weight:700;line-height:20px;margin-bottom:4px}.nas-alert__text--small{font-weight:400;margin-top:-1px}.nas-alert__text--internal-info{flex-direction:column;display:flex;font-weight:500;font-size:12px;line-height:16px;margin-bottom:4px}\n"] }]
127
+ args: [{ selector: 'nas-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #alertContainer *ngIf=\"exists(showValue)\" [nasClass]=\"getClasses('', modifiers)\" tabindex=\"0\">\n <div [nasClass]=\"getClass('content')\">\n <nas-icon *ngIf=\"!removeIcon\" [icon]=\"getIcon()\"></nas-icon>\n <div [nasClass]=\"getClass('remove-alert')\" *ngIf=\"exists(removable);\">\n <nas-icon type=\"remove\" (click)=\"removeAlertBox()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClass('text-container')\">\n <div *ngIf=\"timestamp || server\" [nasClass]=\"getClass('text--internal-info')\">\n <span *ngIf=\"timestamp\">{{timestamp | date:'full'}}</span>\n <span *ngIf=\"server\">{{server}}</span>\n </div>\n <div *ngIf=\"exists(title)\" [nasClass]=\"getClass('text')\">{{title}}</div>\n <span *ngIf=\"text && !trustTextHtml\" [nasClass]=\"getClass('text--small')\">{{text}}</span>\n <span *ngIf=\"text && trustTextHtml\" [nasClass]=\"getClass('text--small')\" [innerHTML]=\"text\"></span>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", 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-alert{position:relative;padding:16px 12px;width:100%;height:100%;border:1px solid #15273f;background-color:#ebf4ff}.nas-alert--info{background-color:#ebf4ff;border:1px solid #15273f}.nas-alert--info img{width:24px;height:24px}.nas-alert--info:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--success{background-color:#f4faf2;border:1px solid #2EB004}.nas-alert--success img{width:24px;height:24px}.nas-alert--success:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--warning{background-color:#fff6ec;border:1px solid #FC9E12}.nas-alert--warning img{width:24px;height:24px}.nas-alert--warning:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--error{background-color:#fff5f3;border:1px solid #CC3A19}.nas-alert--error img{width:24px;height:24px}.nas-alert--error:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert--neutral{background-color:#f9f9f9;border:1px solid #eaeaea}.nas-alert--neutral img{width:24px;height:24px}.nas-alert--neutral:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-alert__content{display:inline-flex}.nas-alert__remove-alert{position:absolute;right:10px;top:10px;cursor:pointer}.nas-alert__text-container{display:flex;flex-direction:column;margin-left:6px}.nas-alert__text,.nas-alert__text--internal-info,.nas-alert__text--small{color:#15273f;font-size:14px;font-weight:700;line-height:20px;margin-bottom:4px}.nas-alert__text--small{font-weight:400;margin-top:-1px}.nas-alert__text--internal-info{display:flex;flex-direction:row;font-weight:500;font-size:12px;line-height:16px;margin-bottom:9px;gap:3px}\n"] }]
131
128
  }], ctorParameters: function () { return []; }, propDecorators: { showChange: [{
132
129
  type: Output
133
130
  }], alertContainer: [{
@@ -161,9 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
161
158
  type: Input
162
159
  }], server: [{
163
160
  type: Input
164
- }], correlation: [{
165
- type: Input
166
161
  }], alert: [{
167
162
  type: Input
168
163
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFJOUM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFnRWxEOzs7O09BSUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUE0Q0Q7Ozs7T0FJRztJQUNELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFSDtRQUNFLEtBQUssQ0FB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LElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUN0QztJQUNILENBQUM7OEdBMU5VLGNBQWM7a0dBQWQsY0FBYywrakJDcEIzQixpaUNBa0JNOzsyRkRFTyxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTTswRUFJckMsVUFBVTtzQkFBbkIsTUFBTTtnQkFDc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ2xCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBZ0JHLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFRRixJQUFJO3NCQURQLEtBQUs7Z0JBY0csU0FBUztzQkFBakIsS0FBSztnQkFPSyxVQUFVO3NCQUFsQixLQUFLO2dCQU9DLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0ssV0FBVztzQkFBbkIsS0FBSztnQkFRRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2FsZXJ0Lm1vZGVsJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBhbGVydCBDb21wb25lbnQgfCBEaWFsb2dzIGFuZCBNb2RhbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWFsZXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgcHJpdmF0ZSBhbGVydE1vZGVsOiBBbGVydE1vZGVsO1xuICBAT3V0cHV0KCkgc2hvd0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAVmlld0NoaWxkKCdhbGVydENvbnRhaW5lcicpIGFsZXJ0Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSB0aW1lc3RhbXA6IERhdGU7XG4gIHB1YmxpYyBzaG93VmFsdWUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBAdGV4dFxuICAgKiBVc2VkIHRvIGRldGVybWluZSB0aGF0IHlvdSB3YW50IHRvIHNob3cgYW4gZXJyb3JcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1hbGVydCBlcnJvcj5UcnkgYWdhaW4sIHdlIHdlcmVudCBhYmxlIHRvIGZldGNoLi4uPC9uYXMtYWxlcnQ+XG4gICAqXG4gICAqL1xuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIGdpdmUgdGhlIGFsZXJ0IGluZm8uXG4gICAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSB0aGUgYWxlcnQgaW5mby5cbiAgICovXG4gIEBJbnB1dCgpIGluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIHRoZSBhbGVydCBhIHdhcm5pbmcuXG4gICAqL1xuICBASW5wdXQoKSB3YXJuaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSB0aGUgYWxlcnQgYW4gZXJyb3IuXG4gICAqL1xuICBASW5wdXQoKSBlcnJvcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIGdpdmUgdGhlIGFsZXJ0IGEgc3VjY2Vzcy5cbiAgICovXG4gIEBJbnB1dCgpIHN1Y2Nlc3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIHRoZSBhbGVydCBhIHN1Y2Nlc3MuXG4gICAqL1xuICBASW5wdXQoKSBuZXV0cmFsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGV4dCBvbiB0aGUgYWxlcnQuIElmIHNldCB0byBmYWxzZSB0aGUgYWxlcnQgd2lsbCBub3QgZGlzcGxheSBhbnkgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBGbGFnIGZvciBzaG93aW5nL2hpZGluZyBlbGVtZW50LiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHNob3coKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1ZhbHVlO1xuICB9XG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnNjcm9sbFRvQWxlcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSBvcHBvcnR1bml0eSB0byBjbG9zZSB0aGUgYWxlcnQgYm94XG4gICAqL1xuICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIG9wcG9ydHVuaXR5IHRvIHJlbW92ZSB0aGUgaWNvblxuICAgKi9cbiAgICBASW5wdXQoKSByZW1vdmVJY29uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBHZXQgb3Igc2V0cyBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0ZXh0IHNob3VsZCBiZSB0cnVzdGVkIGFzIEhUTUwuIERlZmF1bHRzIHRvIGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSB0cnVzdFRleHRIdG1sOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEZsYWcgZm9yIGFsbG93aW5nIGF1dG9zY3JvbGwgdG8gdG9wIHdoZW4gc2hvd2luZy4gRGVmYXVsdCBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpIGFsbG93QXV0b1Njcm9sbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIHNlcnZlciBzdHJpbmcgdmFsdWVcbiAgICovXG4gIEBJbnB1dCgpIHNlcnZlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgY29ycmVsYXRpb24gc3RyaW5nIHZhbHVlXG4gICAqL1xuICAgIEBJbnB1dCgpIGNvcnJlbGF0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRmxhZyBmb3Igc2hvd2luZy9oaWRpbmcgZWxlbWVudC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgYWxlcnQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5hbGVydE1vZGVsO1xuICAgIH1cbiAgICBzZXQgYWxlcnQoYWxlcnQ6IEFsZXJ0TW9kZWwpIHtcbiAgICAgIHRoaXMuYWxlcnRNb2RlbCA9IGFsZXJ0O1xuICAgICAgaWYgKGFsZXJ0KSB7XG4gICAgICAgIHRoaXMuc2V0QWxlcnRWYWx1ZXMoYWxlcnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5zY3JvbGxUb0FsZXJ0KCk7XG4gICAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCduYXMtYWxlcnQnKTtcbiAgfVxuXG4gIGdldENsYXNzZXMoZWxlbWVudD86IHN0cmluZywgbW9kaWZpZXJzPzogQXJyYXk8c3RyaW5nPik6IEFycmF5PENsYXNzTW9kZWw+IHtcbiAgICBjb25zdCBjbGFzc2VzOiBBcnJheTxDbGFzc01vZGVsPiA9IFtcbiAgICAgIHRoaXMuZ2V0Q2xhc3MoZWxlbWVudCwgbW9kaWZpZXJzKVxuICAgIF07XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBnZXQgbW9kaWZpZXJzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmluZm8pICYmICdpbmZvJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMud2FybmluZykgJiYgJ3dhcm5pbmcnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5zdWNjZXNzKSAmJiAnc3VjY2VzcycsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAnZXJyb3InLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5uZXV0cmFsKSAmJiAnbmV1dHJhbCcsXG4gICAgXTtcbiAgfVxuXG4gIGdldEljb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uTWFwID0ge1xuICAgICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgICAgc3VjY2VzczogJ3N1Y2Nlc3MnLFxuICAgICAgZXJyb3I6ICdlcnJvcicsXG4gICAgICBuZXV0cmFsOiAnaW5mbycsXG4gICAgICBpbmZvOiAnaW5mbydcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBpY29uIG9mIE9iamVjdC5rZXlzKGljb25NYXApKSB7XG4gICAgICBpZiAodGhpcy5leGlzdHMoKHRoaXMgYXMgYW55KVtpY29uXSkpIHtcbiAgICAgICAgcmV0dXJuIGljb25NYXBbaWNvbl07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICdpbmZvJztcbiAgfVxuXG4gIHJlbW92ZUFsZXJ0Qm94KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0NoYW5nZS5lbWl0KHRoaXMuc2hvdyk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvQWxlcnQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hbGxvd0F1dG9TY3JvbGwgJiYgdGhpcy5zaG93KSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkUGl4ZWxDb3VudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHwgMDtcbiAgICAgICAgaWYgKHRoaXMuYWxlcnRDb250YWluZXIpIHtcbiAgICAgICAgICBjb25zdCBvZmZzZXRUb3AgPSB0aGlzLmFsZXJ0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgIGlmICgodGhpcy50ZXh0IHx8IHRoaXMudGl0bGUpICYmIHNjcm9sbGVkUGl4ZWxDb3VudCA+IG9mZnNldFRvcCkge1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICB0b3A6IG9mZnNldFRvcFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxlcnRWYWx1ZXMoYWxlcnQ6IEFsZXJ0TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoYWxlcnQudGl0bGUpIHtcbiAgICAgIHRoaXMudGl0bGUgPSBhbGVydC50aXRsZTtcbiAgICB9XG4gICAgaWYgKGFsZXJ0LnRleHQpIHtcbiAgICAgIHRoaXMudGV4dCA9IGFsZXJ0LnRleHQ7XG4gICAgfVxuICAgIGlmIChhbGVydC50aW1lc3RhbXApIHtcbiAgICAgIHRoaXMudGltZXN0YW1wID0gYWxlcnQudGltZXN0YW1wO1xuICAgIH1cbiAgICBpZiAoYWxlcnQuc2VydmVyKSB7XG4gICAgICB0aGlzLnNlcnZlciA9IGFsZXJ0LnNlcnZlcjtcbiAgICB9XG4gICAgaWYgKGFsZXJ0LnJlbW92ZUljb24pIHtcbiAgICAgIHRoaXMucmVtb3ZlSWNvbiA9IGFsZXJ0LnJlbW92ZUljb247XG4gICAgfVxuICAgIGlmIChhbGVydC5jb3JyZWxhdGlvbikge1xuICAgICAgdGhpcy5jb3JyZWxhdGlvbiA9IGFsZXJ0LmNvcnJlbGF0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjYWxlcnRDb250YWluZXIgKm5nSWY9XCJleGlzdHMoc2hvd1ZhbHVlKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKCcnLCBtb2RpZmllcnMpXCIgdGFiaW5kZXg9XCIwXCI+XG4gIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdjb250ZW50JylcIj5cbiAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIiFyZW1vdmVJY29uXCIgW2ljb25dPVwiZ2V0SWNvbigpXCI+PC9uYXMtaWNvbj5cbiAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygncmVtb3ZlLWFsZXJ0JylcIiAqbmdJZj1cImV4aXN0cyhyZW1vdmFibGUpO1wiPlxuICAgICAgPG5hcy1pY29uIHR5cGU9XCJyZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlQWxlcnRCb3goKVwiPjwvbmFzLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQtY29udGFpbmVyJylcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJleGlzdHModGl0bGUpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIj57e3RpdGxlfX08L2Rpdj5cbiAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0LS1pbnRlcm5hbC1pbmZvJylcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0aW1lc3RhbXBcIj57e3RpbWVzdGFtcCB8IGRhdGU6J2Z1bGwnfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2VydmVyXCI+e3tzZXJ2ZXJ9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjb3JyZWxhdGlvblwiPnt7Y29ycmVsYXRpb259fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0ICYmICF0cnVzdFRleHRIdG1sXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0LS1zbWFsbCcpXCI+e3t0ZXh0fX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInRleHQgJiYgdHJ1c3RUZXh0SHRtbFwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dC0tc21hbGwnKVwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFJOUM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFnRWxEOzs7O09BSUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFxQ0Q7Ozs7T0FJRztJQUNELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFSDtRQUNFLEtBQUssQ0FB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LElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs4R0FoTlUsY0FBYztrR0FBZCxjQUFjLG1pQkNwQjNCLHFnQ0FpQk07OzJGREdPLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNOzBFQUlyQyxVQUFVO3NCQUFuQixNQUFNO2dCQUNzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDbEIsU0FBUztzQkFBakIsS0FBSztnQkFnQkcsS0FBSztzQkFBYixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQVFGLElBQUk7c0JBRFAsS0FBSztnQkFjRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9LLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0MsYUFBYTtzQkFBckIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLO2dCQU9HLE1BQU07c0JBQWQsS0FBSztnQkFRQSxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2FsZXJ0Lm1vZGVsJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBhbGVydCBDb21wb25lbnQgfCBEaWFsb2dzIGFuZCBNb2RhbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWFsZXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgcHJpdmF0ZSBhbGVydE1vZGVsOiBBbGVydE1vZGVsO1xuICBAT3V0cHV0KCkgc2hvd0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAVmlld0NoaWxkKCdhbGVydENvbnRhaW5lcicpIGFsZXJ0Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSB0aW1lc3RhbXA6IERhdGU7XG4gIHB1YmxpYyBzaG93VmFsdWUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBAdGV4dFxuICAgKiBVc2VkIHRvIGRldGVybWluZSB0aGF0IHlvdSB3YW50IHRvIHNob3cgYW4gZXJyb3JcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1hbGVydCBlcnJvcj5UcnkgYWdhaW4sIHdlIHdlcmVudCBhYmxlIHRvIGZldGNoLi4uPC9uYXMtYWxlcnQ+XG4gICAqXG4gICAqL1xuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIGdpdmUgdGhlIGFsZXJ0IGluZm8uXG4gICAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSB0aGUgYWxlcnQgaW5mby5cbiAgICovXG4gIEBJbnB1dCgpIGluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIHRoZSBhbGVydCBhIHdhcm5pbmcuXG4gICAqL1xuICBASW5wdXQoKSB3YXJuaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSB0aGUgYWxlcnQgYW4gZXJyb3IuXG4gICAqL1xuICBASW5wdXQoKSBlcnJvcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIGdpdmUgdGhlIGFsZXJ0IGEgc3VjY2Vzcy5cbiAgICovXG4gIEBJbnB1dCgpIHN1Y2Nlc3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIHRoZSBhbGVydCBhIHN1Y2Nlc3MuXG4gICAqL1xuICBASW5wdXQoKSBuZXV0cmFsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGV4dCBvbiB0aGUgYWxlcnQuIElmIHNldCB0byBmYWxzZSB0aGUgYWxlcnQgd2lsbCBub3QgZGlzcGxheSBhbnkgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBGbGFnIGZvciBzaG93aW5nL2hpZGluZyBlbGVtZW50LiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHNob3coKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1ZhbHVlO1xuICB9XG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnNjcm9sbFRvQWxlcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZ2l2ZSBvcHBvcnR1bml0eSB0byBjbG9zZSB0aGUgYWxlcnQgYm94XG4gICAqL1xuICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBnaXZlIG9wcG9ydHVuaXR5IHRvIHJlbW92ZSB0aGUgaWNvblxuICAgKi9cbiAgICBASW5wdXQoKSByZW1vdmVJY29uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBHZXQgb3Igc2V0cyBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0ZXh0IHNob3VsZCBiZSB0cnVzdGVkIGFzIEhUTUwuIERlZmF1bHRzIHRvIGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSB0cnVzdFRleHRIdG1sOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEZsYWcgZm9yIGFsbG93aW5nIGF1dG9zY3JvbGwgdG8gdG9wIHdoZW4gc2hvd2luZy4gRGVmYXVsdCBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpIGFsbG93QXV0b1Njcm9sbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIHNlcnZlciBzdHJpbmcgdmFsdWVcbiAgICovXG4gIEBJbnB1dCgpIHNlcnZlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEZsYWcgZm9yIHNob3dpbmcvaGlkaW5nIGVsZW1lbnQuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFsZXJ0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuYWxlcnRNb2RlbDtcbiAgICB9XG4gICAgc2V0IGFsZXJ0KGFsZXJ0OiBBbGVydE1vZGVsKSB7XG4gICAgICB0aGlzLmFsZXJ0TW9kZWwgPSBhbGVydDtcbiAgICAgIGlmIChhbGVydCkge1xuICAgICAgICB0aGlzLnNldEFsZXJ0VmFsdWVzKGFsZXJ0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2Nyb2xsVG9BbGVydCgpO1xuICAgIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLWFsZXJ0Jyk7XG4gIH1cblxuICBnZXRDbGFzc2VzKGVsZW1lbnQ/OiBzdHJpbmcsIG1vZGlmaWVycz86IEFycmF5PHN0cmluZz4pOiBBcnJheTxDbGFzc01vZGVsPiB7XG4gICAgY29uc3QgY2xhc3NlczogQXJyYXk8Q2xhc3NNb2RlbD4gPSBbXG4gICAgICB0aGlzLmdldENsYXNzKGVsZW1lbnQsIG1vZGlmaWVycylcbiAgICBdO1xuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZ2V0IG1vZGlmaWVycygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5leGlzdHModGhpcy5pbmZvKSAmJiAnaW5mbycsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLndhcm5pbmcpICYmICd3YXJuaW5nJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3VjY2VzcykgJiYgJ3N1Y2Nlc3MnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgJ2Vycm9yJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubmV1dHJhbCkgJiYgJ25ldXRyYWwnLFxuICAgIF07XG4gIH1cblxuICBnZXRJY29uKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaWNvbk1hcCA9IHtcbiAgICAgIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgICAgIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICAgIGVycm9yOiAnZXJyb3InLFxuICAgICAgbmV1dHJhbDogJ2luZm8nLFxuICAgICAgaW5mbzogJ2luZm8nXG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgaWNvbiBvZiBPYmplY3Qua2V5cyhpY29uTWFwKSkge1xuICAgICAgaWYgKHRoaXMuZXhpc3RzKCh0aGlzIGFzIGFueSlbaWNvbl0pKSB7XG4gICAgICAgIHJldHVybiBpY29uTWFwW2ljb25dO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnaW5mbyc7XG4gIH1cblxuICByZW1vdmVBbGVydEJveCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3cgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdCh0aGlzLnNob3cpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxUb0FsZXJ0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWxsb3dBdXRvU2Nyb2xsICYmIHRoaXMuc2hvdykge1xuICAgICAgICBjb25zdCBzY3JvbGxlZFBpeGVsQ291bnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmICh0aGlzLmFsZXJ0Q29udGFpbmVyKSB7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5hbGVydENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICBpZiAoKHRoaXMudGV4dCB8fCB0aGlzLnRpdGxlKSAmJiBzY3JvbGxlZFBpeGVsQ291bnQgPiBvZmZzZXRUb3ApIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgdG9wOiBvZmZzZXRUb3BcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwcml2YXRlIHNldEFsZXJ0VmFsdWVzKGFsZXJ0OiBBbGVydE1vZGVsKTogdm9pZCB7XG4gICAgaWYgKGFsZXJ0LnRpdGxlKSB7XG4gICAgICB0aGlzLnRpdGxlID0gYWxlcnQudGl0bGU7XG4gICAgfVxuICAgIGlmIChhbGVydC50ZXh0KSB7XG4gICAgICB0aGlzLnRleHQgPSBhbGVydC50ZXh0O1xuICAgIH1cbiAgICBpZiAoYWxlcnQudGltZXN0YW1wKSB7XG4gICAgICB0aGlzLnRpbWVzdGFtcCA9IGFsZXJ0LnRpbWVzdGFtcDtcbiAgICB9XG4gICAgaWYgKGFsZXJ0LnNlcnZlcikge1xuICAgICAgdGhpcy5zZXJ2ZXIgPSBhbGVydC5zZXJ2ZXI7XG4gICAgfVxuICAgIGlmIChhbGVydC5yZW1vdmVJY29uKSB7XG4gICAgICB0aGlzLnJlbW92ZUljb24gPSBhbGVydC5yZW1vdmVJY29uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjYWxlcnRDb250YWluZXIgKm5nSWY9XCJleGlzdHMoc2hvd1ZhbHVlKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKCcnLCBtb2RpZmllcnMpXCIgdGFiaW5kZXg9XCIwXCI+XG4gIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdjb250ZW50JylcIj5cbiAgICAgIDxuYXMtaWNvbiAqbmdJZj1cIiFyZW1vdmVJY29uXCIgW2ljb25dPVwiZ2V0SWNvbigpXCI+PC9uYXMtaWNvbj5cbiAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdyZW1vdmUtYWxlcnQnKVwiICpuZ0lmPVwiZXhpc3RzKHJlbW92YWJsZSk7XCI+XG4gICAgICA8bmFzLWljb24gdHlwZT1cInJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVBbGVydEJveCgpXCI+PC9uYXMtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dC1jb250YWluZXInKVwiPlxuICAgICAgPGRpdiAqbmdJZj1cInRpbWVzdGFtcCB8fCBzZXJ2ZXJcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQtLWludGVybmFsLWluZm8nKVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRpbWVzdGFtcFwiPnt7dGltZXN0YW1wIHwgZGF0ZTonZnVsbCd9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzZXJ2ZXJcIj57e3NlcnZlcn19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXhpc3RzKHRpdGxlKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dCcpXCI+e3t0aXRsZX19PC9kaXY+XG4gICAgICA8c3BhbiAqbmdJZj1cInRleHQgJiYgIXRydXN0VGV4dEh0bWxcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RleHQtLXNtYWxsJylcIj57e3RleHR9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwidGV4dCAmJiB0cnVzdFRleHRIdG1sXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0LS1zbWFsbCcpXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zcGFuPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L21vZGVscy9hbGVydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBbGVydE1vZGVsIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHRpbWVzdGFtcD86IERhdGU7XG4gIHNlcnZlcj86IHN0cmluZztcbiAgY29ycmVsYXRpb24/OiBzdHJpbmc7XG4gIHJlbW92ZUljb24/OiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L21vZGVscy9hbGVydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBbGVydE1vZGVsIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHRpbWVzdGFtcD86IERhdGU7XG4gIHNlcnZlcj86IHN0cmluZztcbiAgcmVtb3ZlSWNvbj86IGJvb2xlYW47XG59XG4iXX0=
@@ -8,7 +8,7 @@ import * as i4 from "../icon/icon.component";
8
8
  import * as i5 from "../button/button.component";
9
9
  /**
10
10
  * @description
11
- * Norwegian info Component | Dialogs and Modals
11
+ * Norwegian info Component | Dialogs and Modals | Depricated
12
12
  */
13
13
  export class InfoComponent extends NasComponentBase {
14
14
  /**
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
113
113
  }], sanitized: [{
114
114
  type: Input
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQUd0RTs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sYUFBYyxTQUFRLGdCQUFnQjtJQU1qRDs7Ozs7O09BTUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQWU7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBd0ZEO1FBQ0UsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBMUdWLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQTJGMUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFckI7Ozs7V0FJRztRQUNNLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFJMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLGNBQW9CO1FBQ2pELElBQUksU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUUvQixJQUFJLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRTtZQUN0QyxTQUFTLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5QjtRQUVELE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWSxDQUFDLElBQWU7UUFDbEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFFcEgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLE9BQU87YUFDUjtZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLEdBQUcsU0FBUyxFQUFFO2dCQUN6RyxNQUFNLENBQUMsUUFBUSxDQUFDO29CQUNkLFFBQVEsRUFBRSxRQUFRO29CQUNsQixJQUFJLEVBQUUsQ0FBQztvQkFDUCxHQUFHLEVBQUUsU0FBUztpQkFDZixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQWE7WUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVO1NBQ3pDLENBQUM7SUFDSixDQUFDOzhHQTlKVSxhQUFhO2tHQUFiLGFBQWEsc2NDZjFCLDZ5REF1Q0E7OzJGRHhCYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTswRUFLckMsVUFBVTtzQkFBbkIsTUFBTTtnQkFDcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQVV0QixJQUFJO3NCQURQLEtBQUs7Z0JBa0JHLEtBQUs7c0JBQWIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csV0FBVztzQkFBbkIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFVRyxlQUFlO3NCQUF2QixLQUFLO2dCQVdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5mb01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY2xhc3MubW9kZWwnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIGluZm8gQ29tcG9uZW50IHwgRGlhbG9ncyBhbmQgTW9kYWxzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEluZm9Db21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgcHJpdmF0ZSBpbmZvVmFsdWU6IEluZm9Nb2RlbDtcbiAgcmVtb3ZlQnV0dG9uUHJlc3NlZDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIHNob3dDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZCgnaW5mb0NvbnRhaW5lcicpIGluZm9Db250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBtb2RlbCB0aGF0IGNvbnRhaW5zIGFuIG9wdGlvbmFsIHRpdGxlIGFuZCBhbiBhcnJheSBvZiBtZXNzYWdlcy5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIj48L25hcy1pbmZvPlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5mb1ZhbHVlO1xuICB9XG4gIHNldCBpbmZvKGluZm86IEluZm9Nb2RlbCkge1xuICAgIHRoaXMuaW5mb1ZhbHVlID0gaW5mbztcbiAgICB0aGlzLnNjcm9sbFRvSW5mbyhpbmZvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBzZXQgdGhlIGFjY29yZGlvbiB0byBwcmltYXJ5IHN0eWxlLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLWluZm8gW2luZm9dPVwiaW5mb1wiIGVycm9yPjwvbmFzLWluZm8+XG4gICAqIG9yXG4gICAqIDxuYXMtYWNjb3JkaW9uIFtlcnJvcl09XCJpc0Vycm9yUHJvcGVydHlcIj48L25hcy1hY2NvcmRpb24+XG4gICAqL1xuICBASW5wdXQoKSBlcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBib29sZWFuIGlucHV0IHZhbHVlIHRvIHNldCB0aGUgYWNjb3JkaW9uIHRvIHdhcm5pbmcgc3R5bGUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtaW5mbyBbaW5mb109XCJpbmZvXCIgd2FybmluZz48L25hcy1pbmZvPlxuICAgKiBvclxuICAgKiA8bmFzLWFjY29yZGlvbiBbd2FybmluZ109XCJpc1dhcm5pbmdQcm9wZXJ0eVwiPjwvbmFzLWFjY29yZGlvbj5cbiAgICovXG4gIEBJbnB1dCgpIHdhcm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBzZXQgdGhlIGFjY29yZGlvbiB0byBpbmZvcm1hdGlvbiBzdHlsZS5cbiAqIEBleGFtcGxlXG4gKiA8bmFzLWluZm8gW2luZm9dPVwiaW5mb1wiIGluZm9ybWF0aW9uPjwvbmFzLWluZm8+XG4gKi9cbiAgQElucHV0KCkgaW5mb3JtYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBzZXQgdGhlIGFjY29yZGlvbiB0byBzdWNjZXNzIGluZm8uXG4gKiBAZXhhbXBsZVxuICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIiBzdWNjZXNzPjwvbmFzLWluZm8+XG4gKiBvclxuICogPG5hcy1hY2NvcmRpb24gW3N1Y2Nlc3NdPVwiaXNTdWNjZXNzUHJvcGVydHlcIj48L25hcy1hY2NvcmRpb24+XG4gKi9cbiAgQElucHV0KCkgc3VjY2Vzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBib29sZWFuIGlucHV0IHZhbHVlIHRvIHNldCB0aGUgYWNjb3JkaW9uIHRvIG91dGxpbmVkIGluZm8uXG4gKiBAZXhhbXBsZVxuICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIiBvdXRsaW5lZD48L25hcy1pbmZvPlxuICovXG4gIEBJbnB1dCgpIG91dGxpbmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTdHJpbmcgdG8gc2V0IHN0YWNrIHRyYWNlIGxhYmVsIG9uIHRoZSBhY2NvcmRpb24uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtaW5mbyBbc3RhY2tUcmFjZUxhYmVsXT1cIidTdGFjayB0cmFjZSdcIj48L25hcy1pbmZvPlxuICAgKi9cbiAgQElucHV0KCkgc3RhY2tUcmFjZUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBib29sZWFuIGlucHV0IHZhbHVlIHRvIGFsbG93IHRoZSByZW1vdmUgaWNvbiBpbiB0aGUgSW5mbyBVSS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIiByZW1vdmVJY29uPjwvbmFzLWluZm8+XG4gICAqIG9yXG4gICAqIDxuYXMtYWNjb3JkaW9uIFtyZW1vdmVJY29uXT1cImlzcmVtb3ZlSWNvblByb3BlcnR5XCI+PC9uYXMtYWNjb3JkaW9uPlxuICAgKi9cbiAgQElucHV0KCkgcmVtb3ZlSWNvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRmxhZyBmb3Igc2hvd2luZy9oaWRpbmcgZWxlbWVudC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHNob3cgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEZsYWcgZm9yIHRvZ2dsaW5nIG9uIG9yIG9mZiB0aGUgSFRNTCBzYW5pdGl6aW5nLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgQElucHV0KCkgc2FuaXRpemVkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLWluZm8nKTtcbiAgfVxuXG4gIHJlbW92ZUluZm9Cb3goKTogdm9pZCB7XG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q2hhbmdlLmVtaXQodGhpcy5zaG93KTtcbiAgfVxuXG4gIGdldExpc3RDbGFzcyhlbGVtZW50Pzogc3RyaW5nLCBtb2RpZmllcnNJbnB1dD86IGFueSk6IENsYXNzTW9kZWwge1xuICAgIGxldCBtb2RpZmllcnMgPSBtb2RpZmllcnNJbnB1dDtcblxuICAgIGlmICh0eXBlb2YgbW9kaWZpZXJzSW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBtb2RpZmllcnMgPSBbbW9kaWZpZXJzSW5wdXRdO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBibG9jazogJ2xpc3QnLFxuICAgICAgZWxlbWVudDogZWxlbWVudCxcbiAgICAgIG1vZGlmaWVyczogbW9kaWZpZXJzXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9JbmZvKGluZm86IEluZm9Nb2RlbCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsZWRQaXhlbENvdW50ID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHwgMDtcblxuICAgICAgaWYgKCF0aGlzLmluZm9Db250YWluZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvZmZzZXRUb3AgPSB0aGlzLmluZm9Db250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICBpZiAoaW5mbyAmJiAoKGluZm8ubWVzc2FnZXMgJiYgaW5mby5tZXNzYWdlcy5sZW5ndGggPiAwKSB8fCBpbmZvLnRpdGxlKSAmJiBzY3JvbGxlZFBpeGVsQ291bnQgPiBvZmZzZXRUb3ApIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB0b3A6IG9mZnNldFRvcFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9XG5cbiAgZ2V0IG1vZGlmaWVycygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgJ2Vycm9yJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMud2FybmluZykgJiYgJ3dhcm5pbmcnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5pbmZvcm1hdGlvbikgJiYgJ2luZm9ybWF0aW9uJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3VjY2VzcykgJiYgJ3N1Y2Nlc3MnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5vdXRsaW5lZCkgJiYgJ291dGxpbmVkJyxcbiAgICBdO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZXhpc3RzKHNob3cpXCIgI2luZm9Db250YWluZXIgW25hc0NsYXNzXT1cImdldENvbnRhaW5lckNsYXNzKClcIj5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbnRlbnQnLCBtb2RpZmllcnMpXCI+XG4gICAgPGRpdiAqbmdJZj1cImluZm8/LnRpbWVzdGFtcFwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGltZXN0YW1wJylcIj5cbiAgICAgIDxzbWFsbD57e2luZm8/LnRpbWVzdGFtcCB8IGRhdGU6J2Z1bGwnfX08L3NtYWxsPlxuICAgICAgPHNtYWxsICpuZ0lmPVwiaW5mbz8uc2VydmVyXCI+ICh7e2luZm8/LnNlcnZlcn19KTwvc21hbGw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImV4aXN0cyhlcnJvcikgfHwgZXhpc3RzKHN1Y2Nlc3MpOyBlbHNlIHRpdGxlVGVtcGxhdGVcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yLXRpdGxlJylcIj5cbiAgICAgIDxuYXMtaWNvbiAqbmdJZj1cImV4aXN0cyhlcnJvcilcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yLWljb24nKVwiIGljb249XCJhbGVydC0tZXJyb3JcIiB0eXBlPVwic21hbGxcIj48L25hcy1pY29uPlxuICAgICAgPG5hcy1pY29uICpuZ0lmPVwiZXhpc3RzKHN1Y2Nlc3MpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdlcnJvci1pY29uJylcIiBpY29uPVwiYWxlcnQtLXN1Y2Nlc3NcIiB0eXBlPVwic21hbGxcIj48L25hcy1pY29uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgKm5nSWY9XCJpbmZvPy5tZXNzYWdlcz8ubGVuZ3RoID4gMFwiIFtuYXNDbGFzc109XCJnZXRMaXN0Q2xhc3MoJycsICdzcGFjZWxlc3MnKVwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGluZm8/Lm1lc3NhZ2VzXCI+IFxuICAgICAgICA8c3BhbiAqbmdJZj1cImV4aXN0cyhzYW5pdGl6ZWQpXCIgW2lubmVySFRNTF09XCJtZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFleGlzdHMoc2FuaXRpemVkKVwiPnt7bWVzc2FnZX19PC9zcGFuPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdjdXN0b20tY29udGVudCcpXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImluZm8/LmxpbmtcIj5cbiAgICAgIDxuYXMtYnV0dG9uIGxpbmsgW2hyZWZdPVwiaW5mby5saW5rLmhyZWZcIj57e2luZm8ubGluay50ZXh0fX08L25hcy1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImluZm8/LnN0YWNrVHJhY2VcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3N0YWNrLXRyYWNlJylcIj5cbiAgICAgIDxuYXMtYWNjb3JkaW9uIHNpbXBsZSBbdGl0bGVdPVwic3RhY2tUcmFjZUxhYmVsXCI+XG4gICAgICAgIHt7aW5mbz8uc3RhY2tUcmFjZX19XG4gICAgICA8L25hcy1hY2NvcmRpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygncmVtb3ZlLWJveCcpXCIgKm5nSWY9XCJleGlzdHMocmVtb3ZlSWNvbik7XCI+XG4gICAgPG5hcy1pY29uIHR5cGU9XCJyZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlSW5mb0JveCgpXCI+PC9uYXMtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0aXRsZVRlbXBsYXRlPlxuICA8aDMgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScpXCIgW2lubmVySFRNTF09XCJpbmZvPy50aXRsZVwiPjwvaDM+XG48L25nLXRlbXBsYXRlPlxuXG5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQUd0RTs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sYUFBYyxTQUFRLGdCQUFnQjtJQU1qRDs7Ozs7O09BTUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQWU7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBd0ZEO1FBQ0UsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBMUdWLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQTJGMUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFckI7Ozs7V0FJRztRQUNNLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFJMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLGNBQW9CO1FBQ2pELElBQUksU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUUvQixJQUFJLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRTtZQUN0QyxTQUFTLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5QjtRQUVELE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWSxDQUFDLElBQWU7UUFDbEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFFcEgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLE9BQU87YUFDUjtZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLEdBQUcsU0FBUyxFQUFFO2dCQUN6RyxNQUFNLENBQUMsUUFBUSxDQUFDO29CQUNkLFFBQVEsRUFBRSxRQUFRO29CQUNsQixJQUFJLEVBQUUsQ0FBQztvQkFDUCxHQUFHLEVBQUUsU0FBUztpQkFDZixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQWE7WUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVO1NBQ3pDLENBQUM7SUFDSixDQUFDOzhHQTlKVSxhQUFhO2tHQUFiLGFBQWEsc2NDZjFCLDZ5REF1Q0E7OzJGRHhCYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTswRUFLckMsVUFBVTtzQkFBbkIsTUFBTTtnQkFDcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQVV0QixJQUFJO3NCQURQLEtBQUs7Z0JBa0JHLEtBQUs7c0JBQWIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csV0FBVztzQkFBbkIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFVRyxlQUFlO3NCQUF2QixLQUFLO2dCQVdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5mb01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY2xhc3MubW9kZWwnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIGluZm8gQ29tcG9uZW50IHwgRGlhbG9ncyBhbmQgTW9kYWxzIHwgRGVwcmljYXRlZFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtaW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5mby5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJbmZvQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSB7XG4gIHByaXZhdGUgaW5mb1ZhbHVlOiBJbmZvTW9kZWw7XG4gIHJlbW92ZUJ1dHRvblByZXNzZWQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBzaG93Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBWaWV3Q2hpbGQoJ2luZm9Db250YWluZXInKSBpbmZvQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbW9kZWwgdGhhdCBjb250YWlucyBhbiBvcHRpb25hbCB0aXRsZSBhbmQgYW4gYXJyYXkgb2YgbWVzc2FnZXMuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtaW5mbyBbaW5mb109XCJpbmZvXCI+PC9uYXMtaW5mbz5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBpbmZvKCkge1xuICAgIHJldHVybiB0aGlzLmluZm9WYWx1ZTtcbiAgfVxuICBzZXQgaW5mbyhpbmZvOiBJbmZvTW9kZWwpIHtcbiAgICB0aGlzLmluZm9WYWx1ZSA9IGluZm87XG4gICAgdGhpcy5zY3JvbGxUb0luZm8oaW5mbyk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGJvb2xlYW4gaW5wdXQgdmFsdWUgdG8gc2V0IHRoZSBhY2NvcmRpb24gdG8gcHJpbWFyeSBzdHlsZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIiBlcnJvcj48L25hcy1pbmZvPlxuICAgKiBvclxuICAgKiA8bmFzLWFjY29yZGlvbiBbZXJyb3JdPVwiaXNFcnJvclByb3BlcnR5XCI+PC9uYXMtYWNjb3JkaW9uPlxuICAgKi9cbiAgQElucHV0KCkgZXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBzZXQgdGhlIGFjY29yZGlvbiB0byB3YXJuaW5nIHN0eWxlLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLWluZm8gW2luZm9dPVwiaW5mb1wiIHdhcm5pbmc+PC9uYXMtaW5mbz5cbiAgICogb3JcbiAgICogPG5hcy1hY2NvcmRpb24gW3dhcm5pbmddPVwiaXNXYXJuaW5nUHJvcGVydHlcIj48L25hcy1hY2NvcmRpb24+XG4gICAqL1xuICBASW5wdXQoKSB3YXJuaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGJvb2xlYW4gaW5wdXQgdmFsdWUgdG8gc2V0IHRoZSBhY2NvcmRpb24gdG8gaW5mb3JtYXRpb24gc3R5bGUuXG4gKiBAZXhhbXBsZVxuICogPG5hcy1pbmZvIFtpbmZvXT1cImluZm9cIiBpbmZvcm1hdGlvbj48L25hcy1pbmZvPlxuICovXG4gIEBJbnB1dCgpIGluZm9ybWF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGJvb2xlYW4gaW5wdXQgdmFsdWUgdG8gc2V0IHRoZSBhY2NvcmRpb24gdG8gc3VjY2VzcyBpbmZvLlxuICogQGV4YW1wbGVcbiAqIDxuYXMtaW5mbyBbaW5mb109XCJpbmZvXCIgc3VjY2Vzcz48L25hcy1pbmZvPlxuICogb3JcbiAqIDxuYXMtYWNjb3JkaW9uIFtzdWNjZXNzXT1cImlzU3VjY2Vzc1Byb3BlcnR5XCI+PC9uYXMtYWNjb3JkaW9uPlxuICovXG4gIEBJbnB1dCgpIHN1Y2Nlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBzZXQgdGhlIGFjY29yZGlvbiB0byBvdXRsaW5lZCBpbmZvLlxuICogQGV4YW1wbGVcbiAqIDxuYXMtaW5mbyBbaW5mb109XCJpbmZvXCIgb3V0bGluZWQ+PC9uYXMtaW5mbz5cbiAqL1xuICBASW5wdXQoKSBvdXRsaW5lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU3RyaW5nIHRvIHNldCBzdGFjayB0cmFjZSBsYWJlbCBvbiB0aGUgYWNjb3JkaW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLWluZm8gW3N0YWNrVHJhY2VMYWJlbF09XCInU3RhY2sgdHJhY2UnXCI+PC9uYXMtaW5mbz5cbiAgICovXG4gIEBJbnB1dCgpIHN0YWNrVHJhY2VMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgYm9vbGVhbiBpbnB1dCB2YWx1ZSB0byBhbGxvdyB0aGUgcmVtb3ZlIGljb24gaW4gdGhlIEluZm8gVUkuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtaW5mbyBbaW5mb109XCJpbmZvXCIgcmVtb3ZlSWNvbj48L25hcy1pbmZvPlxuICAgKiBvclxuICAgKiA8bmFzLWFjY29yZGlvbiBbcmVtb3ZlSWNvbl09XCJpc3JlbW92ZUljb25Qcm9wZXJ0eVwiPjwvbmFzLWFjY29yZGlvbj5cbiAgICovXG4gIEBJbnB1dCgpIHJlbW92ZUljb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEZsYWcgZm9yIHNob3dpbmcvaGlkaW5nIGVsZW1lbnQuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBASW5wdXQoKSBzaG93ID0gdHJ1ZTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBGbGFnIGZvciB0b2dnbGluZyBvbiBvciBvZmYgdGhlIEhUTUwgc2FuaXRpemluZy4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHNhbml0aXplZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1pbmZvJyk7XG4gIH1cblxuICByZW1vdmVJbmZvQm94KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0NoYW5nZS5lbWl0KHRoaXMuc2hvdyk7XG4gIH1cblxuICBnZXRMaXN0Q2xhc3MoZWxlbWVudD86IHN0cmluZywgbW9kaWZpZXJzSW5wdXQ/OiBhbnkpOiBDbGFzc01vZGVsIHtcbiAgICBsZXQgbW9kaWZpZXJzID0gbW9kaWZpZXJzSW5wdXQ7XG5cbiAgICBpZiAodHlwZW9mIG1vZGlmaWVyc0lucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgbW9kaWZpZXJzID0gW21vZGlmaWVyc0lucHV0XTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYmxvY2s6ICdsaXN0JyxcbiAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXG4gICAgICBtb2RpZmllcnM6IG1vZGlmaWVyc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvSW5mbyhpbmZvOiBJbmZvTW9kZWwpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbGVkUGl4ZWxDb3VudCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICAgIGlmICghdGhpcy5pbmZvQ29udGFpbmVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5pbmZvQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgaWYgKGluZm8gJiYgKChpbmZvLm1lc3NhZ2VzICYmIGluZm8ubWVzc2FnZXMubGVuZ3RoID4gMCkgfHwgaW5mby50aXRsZSkgJiYgc2Nyb2xsZWRQaXhlbENvdW50ID4gb2Zmc2V0VG9wKSB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgdG9wOiBvZmZzZXRUb3BcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIGdldCBtb2RpZmllcnMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpICYmICdlcnJvcicsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLndhcm5pbmcpICYmICd3YXJuaW5nJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuaW5mb3JtYXRpb24pICYmICdpbmZvcm1hdGlvbicsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnN1Y2Nlc3MpICYmICdzdWNjZXNzJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMub3V0bGluZWQpICYmICdvdXRsaW5lZCcsXG4gICAgXTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImV4aXN0cyhzaG93KVwiICNpbmZvQ29udGFpbmVyIFtuYXNDbGFzc109XCJnZXRDb250YWluZXJDbGFzcygpXCI+XG4gIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdjb250ZW50JywgbW9kaWZpZXJzKVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpbmZvPy50aW1lc3RhbXBcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RpbWVzdGFtcCcpXCI+XG4gICAgICA8c21hbGw+e3tpbmZvPy50aW1lc3RhbXAgfCBkYXRlOidmdWxsJ319PC9zbWFsbD5cbiAgICAgIDxzbWFsbCAqbmdJZj1cImluZm8/LnNlcnZlclwiPiAoe3tpbmZvPy5zZXJ2ZXJ9fSk8L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJleGlzdHMoZXJyb3IpIHx8IGV4aXN0cyhzdWNjZXNzKTsgZWxzZSB0aXRsZVRlbXBsYXRlXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdlcnJvci10aXRsZScpXCI+XG4gICAgICA8bmFzLWljb24gKm5nSWY9XCJleGlzdHMoZXJyb3IpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdlcnJvci1pY29uJylcIiBpY29uPVwiYWxlcnQtLWVycm9yXCIgdHlwZT1cInNtYWxsXCI+PC9uYXMtaWNvbj5cbiAgICAgIDxuYXMtaWNvbiAqbmdJZj1cImV4aXN0cyhzdWNjZXNzKVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3ItaWNvbicpXCIgaWNvbj1cImFsZXJ0LS1zdWNjZXNzXCIgdHlwZT1cInNtYWxsXCI+PC9uYXMtaWNvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHVsICpuZ0lmPVwiaW5mbz8ubWVzc2FnZXM/Lmxlbmd0aCA+IDBcIiBbbmFzQ2xhc3NdPVwiZ2V0TGlzdENsYXNzKCcnLCAnc3BhY2VsZXNzJylcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBpbmZvPy5tZXNzYWdlc1wiPiBcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJleGlzdHMoc2FuaXRpemVkKVwiIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZXhpc3RzKHNhbml0aXplZClcIj57e21lc3NhZ2V9fTwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY3VzdG9tLWNvbnRlbnQnKVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpbmZvPy5saW5rXCI+XG4gICAgICA8bmFzLWJ1dHRvbiBsaW5rIFtocmVmXT1cImluZm8ubGluay5ocmVmXCI+e3tpbmZvLmxpbmsudGV4dH19PC9uYXMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpbmZvPy5zdGFja1RyYWNlXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdzdGFjay10cmFjZScpXCI+XG4gICAgICA8bmFzLWFjY29yZGlvbiBzaW1wbGUgW3RpdGxlXT1cInN0YWNrVHJhY2VMYWJlbFwiPlxuICAgICAgICB7e2luZm8/LnN0YWNrVHJhY2V9fVxuICAgICAgPC9uYXMtYWNjb3JkaW9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3JlbW92ZS1ib3gnKVwiICpuZ0lmPVwiZXhpc3RzKHJlbW92ZUljb24pO1wiPlxuICAgIDxuYXMtaWNvbiB0eXBlPVwicmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUluZm9Cb3goKVwiPjwvbmFzLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wbGF0ZT5cbiAgPGgzIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnKVwiIFtpbm5lckhUTUxdPVwiaW5mbz8udGl0bGVcIj48L2gzPlxuPC9uZy10ZW1wbGF0ZT5cblxuXG4iXX0=
@@ -43,7 +43,7 @@ export class WalletComponent extends NasComponentBase {
43
43
  return window.location.href.includes(this.walletModel?.urls?.myTravelsUrl?.href) ? true : false;
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: WalletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: WalletComponent, selector: "nas-wallet", inputs: { walletModel: "walletModel" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div *ngIf=\"pointsBalance >= 0 && (walletModel?.cashpointsBalance != null || walletModel?.spennBalance != null); else showTag\">\n <p>{{pointsBalance}}</p>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag--header')\" neutral [text]=\"'--'\"></nas-tag>\n </ng-template>\n <div *ngIf=\"!spennAndCashpointUnavailable\" [nasClass]=\"getClass('points-logo', icon)\">\n <nas-icon [nasClass]=\"getClass('icon')\" [type]=\"icon\"></nas-icon>\n </div>\n </div>\n </div>\n <button [nasClass]=\"getClass('dropdown')\" (click)=\"onClickToggleContent()\">\n <div [nasClass]=\"getClass('dropdown-icon', this.showContent && 'rotate')\">\n <nas-icon [icon]=\"'arrow-right'\" [type]=\"'chevron-down'\"></nas-icon>\n </div>\n </button>\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('content')\">\n <div *ngIf=\"walletModel?.rewardNumber\">\n <div [nasClass]=\"getClass('title')\">{{walletModel?.texts?.rewardPoints}}</div>\n <div *ngIf=\"!showNotAvailableMessage; else showAlert\">\n <div *ngIf=\"walletModel?.spennEnabled\" [nasClass]=\"getClass('spenn')\">\n <nas-icon [type]=\"'spenn'\"></nas-icon>\n <div *ngIf=\"walletModel?.spennBalance != null; else showTag\">\n <p>{{walletModel?.spennBalance}}</p>\n </div>\n </div>\n <div [nasClass]=\"getClass('cashpoints')\">\n <nas-icon [type]=\"'cashpoints-logo'\"></nas-icon>\n <div *ngIf=\"walletModel?.cashpointsBalance != null; else showTag\">\n <p>{{walletModel?.cashpointsBalance}}</p> \n </div>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag')\" neutral [text]=\"walletModel?.texts?.notAvailable\"></nas-tag>\n </ng-template>\n </div>\n <ng-template #showAlert>\n <div [nasClass]=\"getClass('info-box')\">\n <nas-alert neutral [text]=\"walletModel?.texts?.notAvailableMessage\"></nas-alert>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('info')\">{{pointsDescription}}</div>\n <div [nasClass]=\"getClass('reward')\">{{walletModel?.texts?.rewardNumber}} {{walletModel?.rewardNumber}}</div>\n </div>\n <div [nasClass]=\"getClass('button')\">\n <nas-button-new *ngIf=\"!myTravelsPage() && walletModel?.urls?.myTravelsUrl?.href\" \n light\n block\n [href]=\"walletModel?.urls?.myTravelsUrl?.href\" \n [nasClass]=\"getClass('button--mytravel')\">\n {{walletModel?.urls?.myTravelsUrl.text}}\n </nas-button-new>\n <nas-button-new *ngIf=\"walletModel?.urls?.signOutUrl?.href\" \n buttonlink \n block \n [href]=\"walletModel?.urls?.signOutUrl?.href\">\n {{walletModel?.urls?.signOutUrl?.text}}\n </nas-button-new>\n </div>\n </div>\n</div>", 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-wallet{display:inline-flex;position:unset;background-color:#fff}@media (min-width: 640px){.nas-wallet{position:relative;margin-left:16px}}.nas-wallet__header{display:flex;align-items:center}.nas-wallet__header-points,.nas-wallet__icon{display:none}@media (min-width: 640px){.nas-wallet__header-points,.nas-wallet__icon{display:flex}}.nas-wallet__points-logo{padding-top:0}.nas-wallet__points-logo--spenn{padding-top:5px}.nas-wallet__profile-name{padding-right:24px;color:#15273f}.nas-wallet__dropdown{padding:0 12px 0 16px}@media (min-width: 640px){.nas-wallet__dropdown{padding:0 16px}}.nas-wallet__dropdown-icon{transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-wallet__dropdown-icon--rotate{transform:rotate(180deg)}.nas-wallet__content{z-index:50;background:linear-gradient(180deg,#fff,#f9f9f9);box-shadow:0 0 14px #00325126;border-top:2px solid #15273f;position:absolute;padding:16px;top:70px;left:0}@media (min-width: 640px){.nas-wallet__content{width:334px;right:0;top:48px;left:unset}}.nas-wallet__profile-user{display:none;font-size:16px;color:#15273f;padding-bottom:16px}@media (min-width: 640px){.nas-wallet__profile-user{display:block}}.nas-wallet__profile-icon{transform:scale(.75)}.nas-wallet__title{font-weight:700;font-size:18px;line-height:24px;color:#15273f;padding-bottom:16px}.nas-wallet__spenn{display:flex;justify-content:space-between}.nas-wallet__cashpoints{display:flex;justify-content:space-between;padding-bottom:16px}.nas-wallet__info{padding-bottom:12px;border-bottom:solid 1px #c3c3c3}.nas-wallet__reward{padding:12px 0;text-align:center}.nas-wallet__info-box{margin-bottom:12px}.nas-wallet__button{display:flex;flex-direction:column}.nas-wallet__button--mytravel{margin-bottom:16px}.nas-wallet__tag--header{margin-right:12px}.nas-wallet__tag--wallet{padding-bottom:6px}.nas-wallet__backdrop{z-index:10;display:block;position:fixed;top:70px;left:0;width:100%;height:100%;color:transparent;background:var(--Color-UI-Overlay-40, rgba(21, 39, 63, .4));opacity:.2;animation:fade-in .3s ease-out both}.nas-wallet p{margin:0;padding-right:8px;color:#15273f;font-weight:700;font-size:21px}\n"], dependencies: [{ 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: "component", type: i4.TagComponent, selector: "nas-tag", inputs: ["info", "warning", "error", "success", "neutral", "text", "icon", "iconType"] }, { kind: "component", type: i5.ButtonNewComponent, selector: "nas-button-new", inputs: ["primary", "secondary", "link", "light", "large", "block", "flex", "compact", "right", "spaceless", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target", "icon", "iconLeft", "iconType", "buttonlink"], outputs: ["clickChange"] }, { kind: "component", type: i6.AlertComponent, selector: "nas-alert", inputs: ["timestamp", "title", "info", "warning", "error", "success", "neutral", "text", "show", "removable", "removeIcon", "trustTextHtml", "allowAutoScroll", "server", "correlation", "alert"], outputs: ["showChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: WalletComponent, selector: "nas-wallet", inputs: { walletModel: "walletModel" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div *ngIf=\"pointsBalance >= 0 && (walletModel?.cashpointsBalance != null || walletModel?.spennBalance != null); else showTag\">\n <p>{{pointsBalance}}</p>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag--header')\" neutral [text]=\"'--'\"></nas-tag>\n </ng-template>\n <div *ngIf=\"!spennAndCashpointUnavailable\" [nasClass]=\"getClass('points-logo', icon)\">\n <nas-icon [nasClass]=\"getClass('icon')\" [type]=\"icon\"></nas-icon>\n </div>\n </div>\n </div>\n <button [nasClass]=\"getClass('dropdown')\" (click)=\"onClickToggleContent()\">\n <div [nasClass]=\"getClass('dropdown-icon', this.showContent && 'rotate')\">\n <nas-icon [icon]=\"'arrow-right'\" [type]=\"'chevron-down'\"></nas-icon>\n </div>\n </button>\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('content')\">\n <div *ngIf=\"walletModel?.rewardNumber\">\n <div [nasClass]=\"getClass('title')\">{{walletModel?.texts?.rewardPoints}}</div>\n <div *ngIf=\"!showNotAvailableMessage; else showAlert\">\n <div *ngIf=\"walletModel?.spennEnabled\" [nasClass]=\"getClass('spenn')\">\n <nas-icon [type]=\"'spenn'\"></nas-icon>\n <div *ngIf=\"walletModel?.spennBalance != null; else showTag\">\n <p>{{walletModel?.spennBalance}}</p>\n </div>\n </div>\n <div [nasClass]=\"getClass('cashpoints')\">\n <nas-icon [type]=\"'cashpoints-logo'\"></nas-icon>\n <div *ngIf=\"walletModel?.cashpointsBalance != null; else showTag\">\n <p>{{walletModel?.cashpointsBalance}}</p> \n </div>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag')\" neutral [text]=\"walletModel?.texts?.notAvailable\"></nas-tag>\n </ng-template>\n </div>\n <ng-template #showAlert>\n <div [nasClass]=\"getClass('info-box')\">\n <nas-alert neutral [text]=\"walletModel?.texts?.notAvailableMessage\"></nas-alert>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('info')\">{{pointsDescription}}</div>\n <div [nasClass]=\"getClass('reward')\">{{walletModel?.texts?.rewardNumber}} {{walletModel?.rewardNumber}}</div>\n </div>\n <div [nasClass]=\"getClass('button')\">\n <nas-button-new *ngIf=\"!myTravelsPage() && walletModel?.urls?.myTravelsUrl?.href\" \n light\n block\n [href]=\"walletModel?.urls?.myTravelsUrl?.href\" \n [nasClass]=\"getClass('button--mytravel')\">\n {{walletModel?.urls?.myTravelsUrl.text}}\n </nas-button-new>\n <nas-button-new *ngIf=\"walletModel?.urls?.signOutUrl?.href\" \n buttonlink \n block \n [href]=\"walletModel?.urls?.signOutUrl?.href\">\n {{walletModel?.urls?.signOutUrl?.text}}\n </nas-button-new>\n </div>\n </div>\n</div>", 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-wallet{display:inline-flex;position:unset;background-color:#fff}@media (min-width: 640px){.nas-wallet{position:relative;margin-left:16px}}.nas-wallet__header{display:flex;align-items:center}.nas-wallet__header-points,.nas-wallet__icon{display:none}@media (min-width: 640px){.nas-wallet__header-points,.nas-wallet__icon{display:flex}}.nas-wallet__points-logo{padding-top:0}.nas-wallet__points-logo--spenn{padding-top:5px}.nas-wallet__profile-name{padding-right:24px;color:#15273f}.nas-wallet__dropdown{padding:0 12px 0 16px}@media (min-width: 640px){.nas-wallet__dropdown{padding:0 16px}}.nas-wallet__dropdown-icon{transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-wallet__dropdown-icon--rotate{transform:rotate(180deg)}.nas-wallet__content{z-index:50;background:linear-gradient(180deg,#fff,#f9f9f9);box-shadow:0 0 14px #00325126;border-top:2px solid #15273f;position:absolute;padding:16px;top:70px;left:0}@media (min-width: 640px){.nas-wallet__content{width:334px;right:0;top:48px;left:unset}}.nas-wallet__profile-user{display:none;font-size:16px;color:#15273f;padding-bottom:16px}@media (min-width: 640px){.nas-wallet__profile-user{display:block}}.nas-wallet__profile-icon{transform:scale(.75)}.nas-wallet__title{font-weight:700;font-size:18px;line-height:24px;color:#15273f;padding-bottom:16px}.nas-wallet__spenn{display:flex;justify-content:space-between}.nas-wallet__cashpoints{display:flex;justify-content:space-between;padding-bottom:16px}.nas-wallet__info{padding-bottom:12px;border-bottom:solid 1px #c3c3c3}.nas-wallet__reward{padding:12px 0;text-align:center}.nas-wallet__info-box{margin-bottom:12px}.nas-wallet__button{display:flex;flex-direction:column}.nas-wallet__button--mytravel{margin-bottom:16px}.nas-wallet__tag--header{margin-right:12px}.nas-wallet__tag--wallet{padding-bottom:6px}.nas-wallet__backdrop{z-index:10;display:block;position:fixed;top:70px;left:0;width:100%;height:100%;color:transparent;background:var(--Color-UI-Overlay-40, rgba(21, 39, 63, .4));opacity:.2;animation:fade-in .3s ease-out both}.nas-wallet p{margin:0;padding-right:8px;color:#15273f;font-weight:700;font-size:21px}\n"], dependencies: [{ 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: "component", type: i4.TagComponent, selector: "nas-tag", inputs: ["info", "warning", "error", "success", "neutral", "text", "icon", "iconType"] }, { kind: "component", type: i5.ButtonNewComponent, selector: "nas-button-new", inputs: ["primary", "secondary", "link", "light", "large", "block", "flex", "compact", "right", "spaceless", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target", "icon", "iconLeft", "iconType", "buttonlink"], outputs: ["clickChange"] }, { kind: "component", type: i6.AlertComponent, selector: "nas-alert", inputs: ["timestamp", "title", "info", "warning", "error", "success", "neutral", "text", "show", "removable", "removeIcon", "trustTextHtml", "allowAutoScroll", "server", "alert"], outputs: ["showChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: WalletComponent, decorators: [{
49
49
  type: Component,
@@ -23,6 +23,12 @@ export class PassengerSelectComponent extends NasComponentBase {
23
23
  * An array of different passenger types that will be displayed.
24
24
  */
25
25
  this.passengers = new Array();
26
+ /**
27
+ * @property Input
28
+ * @description
29
+ * The total maximum amount of passengers.
30
+ */
31
+ this.maxPaxCount = 10;
26
32
  /**
27
33
  * @property Output
28
34
  * @description
@@ -214,7 +220,7 @@ export class PassengerSelectComponent extends NasComponentBase {
214
220
  }
215
221
  return 0;
216
222
  }
217
- else if (passengers.type === PassengerType.Child && this.totalCount < 10) {
223
+ else if (passengers.type === PassengerType.Child && this.totalCount < this.maxPaxCount) {
218
224
  if (adults && youngAdult) {
219
225
  if (adults.count <= 0) {
220
226
  return 0;
@@ -414,4 +420,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
414
420
  }], focusOnPrevious: [{
415
421
  type: Output
416
422
  }] } });
417
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRTlFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUF1STVEO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFsSWhDOzs7O1VBSUU7UUFDTyxlQUFVLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUF1R25EOzs7O1VBSUU7UUFDUSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUV4RTs7OztVQUlFO1FBQ1EsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhEOzs7O1VBSUU7UUFDUSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFJcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFtQjtRQUMxQixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxQixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDNUIsS0FBSyxhQUFhLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQzNCLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxQixLQUFLLGFBQWEsQ0FBQyxVQUFVO2dCQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBb0IsRUFBRSxLQUFhO1FBQ3pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDakIsS0FBSyxXQUFXO2dCQUNkLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDckQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNyRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNwRTtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUN6QjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQzdCO1NBQ0o7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBMkIsRUFBRSxLQUFhO1FBQzNELFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDOUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RGLElBQUksWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDakcsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFMUUsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO3dCQUVoQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTs0QkFDOUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQ3ZFO3FCQUNGO2lCQUNGO2FBQ0Y7WUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEUsSUFBSSxVQUFVLElBQUksS0FBSyxFQUFFO2dCQUN2QixJQUFLLFVBQVUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBRTtvQkFFcEMsSUFBSSxLQUFLLEVBQUU7d0JBQ1QsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBRWhCLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFOzRCQUM1QyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUMxRDtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzlELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN0RixJQUFJLFlBQVksR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2pHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRTFFLElBQUksTUFBTSxFQUFFO3dCQUNWLE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQzt3QkFFaEMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7NEJBQzlDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3lCQUN2RTtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDdEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhFLElBQUksS0FBSyxJQUFJLEtBQUssRUFBRTtnQkFDbEIsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQzlELElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO3dCQUNqRSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMxRDtvQkFDRCxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDakI7Z0JBRUQsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7b0JBQzNDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztvQkFFaEQsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO3dCQUN4RixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7NEJBQzNDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3lCQUMzRTs2QkFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFOzRCQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUMxRDtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDM0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhFLElBQUksVUFBVSxJQUFJLEtBQUssRUFBRTtnQkFDdkIsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQzlELElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO3dCQUMzRSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMvRDtvQkFDRCxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDdEI7Z0JBRUQsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxVQUFVLEVBQUU7b0JBQ2hELEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztvQkFFckQsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFO3dCQUNsRyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7NEJBQ2hELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3lCQUMzRTs2QkFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFOzRCQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUMxRDtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUEyQjtRQUNoQyxJQUFJLFVBQVUsRUFBRSxRQUFRLEVBQUU7WUFDeEIsT0FBTyxVQUFVLEVBQUUsS0FBSyxDQUFDO1NBQzFCO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEYsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDNUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtvQkFDaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO2lCQUNyQjtnQkFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFdkUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ3JCO2dCQUVELE9BQU8saUJBQWlCLENBQUMsS0FBZSxDQUFDO2FBQzFDO1lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtvQkFDaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO2lCQUNyQjtnQkFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFdkUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ3JCO2dCQUVELE9BQU8saUJBQWlCLENBQUMsS0FBZSxDQUFDO2FBQzFDO1lBRUQsSUFBSSxVQUFVLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLENBQUM7YUFDVjtZQUVELElBQUksVUFBVSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQy9DLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7WUFFRCxPQUFPLENBQUMsQ0FBQztTQUVWO2FBQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFO2dCQUN4QixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFO29CQUNyQixPQUFPLENBQUMsQ0FBQztpQkFDVjthQUNGO1lBQ0QsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFO2dCQUN4QixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFO29CQUNyQixPQUFPLENBQUMsQ0FBQztpQkFDVjthQUNGO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUU5QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQzthQUN6QjtZQUVELE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRW5GLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDMUIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQ3pCO1lBRUQsT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7U0FDcEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsVUFBMkI7UUFDaEMsSUFBSSxVQUFVLEVBQUUsUUFBUSxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxFQUFFLEtBQUssQ0FBQztTQUMxQjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxGLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRTtZQUNwRCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN6RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDckYsVUFBVSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ3ZCLE9BQU8sR0FBRyxDQUFDO2FBQ1o7WUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3ZGLE9BQU8sR0FBRyxDQUFDO2FBQ1o7U0FDRjthQUFNLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxJQUFJLFVBQVUsRUFBRTtZQUNoRSxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN6RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDMUYsVUFBVSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ3ZCLE9BQU8sR0FBRyxDQUFDO2FBQ1o7WUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3ZGLE9BQU8sR0FBRyxDQUFDO2FBQ1o7U0FDRjthQUFNLElBQUksQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQzVELE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3pELE9BQU8sR0FBRyxDQUFDO1NBQ1o7YUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxVQUFVLEVBQUU7WUFDaEUsSUFBSSxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLENBQUM7YUFDVjtZQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsVUFBVSxJQUFJLEtBQUssRUFBRTtZQUNoRSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixPQUFPLENBQUMsQ0FBQzthQUNWO1lBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO2FBQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDbkQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztRQUVuQixJQUFJLEtBQUssRUFBRTtZQUVULElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtnQkFDOUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0wsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNsQixVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDMUI7cUJBQU07b0JBQ0wsVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7aUJBQ2xDO2FBQ0Y7U0FDRjtRQUVELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO2dCQUM5QyxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzthQUMxQjtpQkFBTTtnQkFDTCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRWpFLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ2xCLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUMxQjtxQkFBTTtvQkFDTCxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztpQkFDbEM7YUFDRjtTQUNGO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hELGVBQWUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVoRixJQUFJLENBQUMsa0JBQWtCLEVBQUU7b0JBQ3ZCLGVBQWUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO2lCQUNwQztxQkFBTTtvQkFDTCxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO2lCQUM1QzthQUNGO1NBQ0Y7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtnQkFDOUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0wsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNsQixVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDMUI7cUJBQU07b0JBQ0wsVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7aUJBQ2xDO2FBQ0Y7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsZUFBZSxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUVuRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBRWhFLElBQUksSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7YUFDN0I7WUFFRCxJQUFJLG1CQUFtQixDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRCxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pFO0lBRUgsQ0FBQzs4R0F0ZlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNHNCQUNyQixvQkFBb0IsdUVDN0JwQyw0bURBdUNLOzsyRkRYUSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQUtJLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CO2dCQVV6QixVQUFVO3NCQUFsQixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBT0csWUFBWTtzQkFBcEIsS0FBSztnQkFPSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBT0csV0FBVztzQkFBcEIsTUFBTTtnQkFPRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkcmVuLFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYXNzZW5nZXJUeXBlIH0gZnJvbSAnLi9lbnVtcy9wYXNzZW5nZXItdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhc3NlbmdlcnNNb2RlbCB9IGZyb20gJy4vbW9kZWxzL3Bhc3NlbmdlcnMubW9kZWwnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9udW1iZXItZmllbGQvbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gUGFzc2VuZ2VyIFNlbGVjdCBDb21wb25lbnQgfCBGdW5jdGlvbmFsXG4qL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXBhc3Nlbmdlci1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bhc3Nlbmdlci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzZW5nZXJTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZHJlbihOdW1iZXJGaWVsZENvbXBvbmVudCkgbnVtYmVyRmllbGRzITogUXVlcnlMaXN0PE51bWJlckZpZWxkQ29tcG9uZW50PjtcblxuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIGlzR3JvdXBCb29raW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGFycmF5IG9mIGRpZmZlcmVudCBwYXNzZW5nZXIgdHlwZXMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZC5cbiAgKi9cbiAgQElucHV0KCkgcGFzc2VuZ2VycyA9IG5ldyBBcnJheTxQYXNzZW5nZXJzTW9kZWw+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHRvdGFsIG1heGltdW0gYW1vdW50IG9mIHBhc3NlbmdlcnMuXG4gICovXG4gIEBJbnB1dCgpIG1heFBheENvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIG1pbmltdW0gYW1vdW50IG9mIGFkdWx0cyB0aGF0IGNhbiBiZSBzZWxlY3RlZC5cbiAgKi9cbiAgQElucHV0KCkgbWluQWR1bHRDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBsaW1pdCBmb3Igd2hlbiB0aGUgdG90YWwgYW1vdW50IG9mIHBhc3NlbmdlcnMgZXhjZWVkcyB0byBiZSBhIGdyb3VwIGJvb2tpbmcuXG4gICovXG4gIEBJbnB1dCgpIGdyb3VwQm9va2luZ0xpbWl0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSB0aXRsZSB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRyb3Bkb3duLlxuICAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBhZHVsdHMgcGFzc2VuZ2VyIHR5cGUuXG4gICovXG4gIEBJbnB1dCgpIGFkdWx0c0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGNoaWxkcmVuIHBhc3NlbmdlciB0eXBlLlxuICAqL1xuICBASW5wdXQoKSBjaGlsZHJlbkxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgaW5mYW50cyBwYXNzZW5nZXIgdHlwZS5cbiAgICovXG4gIEBJbnB1dCgpIGluZmFudHNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgbGFiZWwgZm9yIHRoZSBhZHVsdHMgcGFzc2VuZ2VyIHR5cGUuXG4qL1xuICBASW5wdXQoKSB5b3V0aHNMYWJlbDogc3RyaW5nO1xuXG4vKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuKi9cbiAgQElucHV0KCkgeW91bmdBZHVsdHNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgdGhhdCB3aWxsIGFwcGVhciB3aGVuIHRvdGFsIG51bWJlciBvZiBzZWxlY3RlZCBwYXNzZW5nZXJzIGV4Y2VlZHMgdGhlIGdyb3VwIGJvb2tpbmcgbGltaXRcbiAgKi9cbiAgQElucHV0KCkgZ3JvdXBCb29raW5nTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIGlucHV0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbEdyb3VwQm9va2luZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFSSUEgbGFiZWwgZm9yIHRoZSBzdWJ0cmFjdCBidXR0b25zLlxuICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxTdWJ0cmFjdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFSSUEgbGFiZWwgZm9yIHRoZSBhZGQgYnV0dG9ucy5cbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbEFkZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudCB0aGF0IGlzIGZpcmVkIGV2ZXJ5IHRpbWUgYSBwYXNzZW5nZXIgc2VsZWN0aW9uIGNoYW5nZSBpcyBwZXJmb3JtZWQuXG4gICovXG4gIEBPdXRwdXQoKSBwYXNzZW5nZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxQYXNzZW5nZXJzTW9kZWw+PigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudCB0aGF0IGlzIGZpcmVkIGV2ZXJ5IHRpbWUgYSBwYXNzZW5nZXIgc2VsZWN0aW9uIGNoYW5nZSBpcyBwZXJmb3JtZWQuXG4gICovXG4gIEBPdXRwdXQoKSBmb2N1c09uTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudCB0aGF0IGlzIGZpcmVkIGV2ZXJ5IHRpbWUgYSBwYXNzZW5nZXIgc2VsZWN0aW9uIGNoYW5nZSBpcyBwZXJmb3JtZWQuXG4gICovXG4gIEBPdXRwdXQoKSBmb2N1c09uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLXBhc3Nlbmdlci1zZWxlY3QnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VG90YWxDb3VudCgpO1xuICB9XG5cbiAgZ2V0TGFiZWwodHlwZTogUGFzc2VuZ2VyVHlwZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuQWR1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmFkdWx0c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkNoaWxkOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbkxhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkluZmFudDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5mYW50c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLllvdXRoOlxuICAgICAgICByZXR1cm4gdGhpcy55b3V0aHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy55b3VuZ0FkdWx0c0xhYmVsO1xuICAgIH1cbiAgfVxuXG4gIGtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy5maXJzdC5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMudG9BcnJheSgpW2luZGV4ICsgMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVt0aGlzLnBhc3NlbmdlcnMubGVuZ3RoIC0gMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZpb3VzLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhc3NlbmdlcnNDb3VudChwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBwYXNzZW5nZXJzLmNvdW50ID0gY291bnQ7XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCB5b3VuZ0FkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCk7XG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkKTtcbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIGNoaWxkKSB7XG4gICAgICAgIGlmICggcGFzc2VuZ2Vycy5jb3VudCA9PT0gMCAmJiBjaGlsZCkge1xuXG4gICAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgICBjaGlsZC5jb3VudCA9IDA7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZC5mb3JtR3JvdXAgJiYgY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGNoaWxkLmZvcm1Hcm91cC5nZXQoY2hpbGQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGlmICh0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgIGNvbnN0IGluZmFudHNDb3VudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkuY291bnQ7XG4gICAgICAgIGlmIChpbmZhbnRzQ291bnQgPiBwYXNzZW5nZXJzLmNvdW50ICYmIHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgICBjb25zdCBpbmZhbnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpO1xuXG4gICAgICAgICAgaWYgKGluZmFudCkge1xuICAgICAgICAgICAgaW5mYW50LmNvdW50ID0gcGFzc2VuZ2Vycy5jb3VudDtcblxuICAgICAgICAgICAgaWYgKGluZmFudC5mb3JtR3JvdXAgJiYgaW5mYW50LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBpbmZhbnQuZm9ybUdyb3VwLmdldChpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKGluZmFudC5jb3VudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCB8fCBwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGNvbnN0IGFkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmIChhZHVsdCAmJiB5b3V0aCkge1xuICAgICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50ID4gMCkge1xuICAgICAgICAgIGlmICh5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdXRoLmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgeW91dGguY291bnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgICAgIGFkdWx0LmNvdW50ID0geW91dGguY291bnQgPiAwID8gMCA6IGFkdWx0LmNvdW50OyBcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAoYWR1bHQuZm9ybUdyb3VwICYmIGFkdWx0LmZvcm1Db250cm9sTmFtZSAmJiB5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5taW5BZHVsdENvdW50ICYmIHlvdXRoLmNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgIGFkdWx0LmZvcm1Hcm91cC5nZXQoYWR1bHQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKHRoaXMubWluQWR1bHRDb3VudCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHlvdXRoLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQgfHwgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCB5b3VuZ0FkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCk7XG4gICAgICBjb25zdCB5b3V0aCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKTtcblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgeW91dGgpIHtcbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICBpZiAoeW91bmdBZHVsdC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdW5nQWR1bHQuY291bnQgIT09IDApIHtcbiAgICAgICAgICAgIHlvdW5nQWR1bHQuZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHlvdW5nQWR1bHQuY291bnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KSB7XG4gICAgICAgICAgeW91dGguY291bnQgPSB5b3VuZ0FkdWx0LmNvdW50ID4gMCA/IDAgOiB5b3V0aC5jb3VudDsgXG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKHlvdXRoLmZvcm1Hcm91cCAmJiB5b3V0aC5mb3JtQ29udHJvbE5hbWUgJiYgeW91bmdBZHVsdC5mb3JtR3JvdXAgJiYgeW91bmdBZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1pbkFkdWx0Q291bnQgJiYgeW91bmdBZHVsdC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXRUb3RhbENvdW50KCk7XG4gICAgdGhpcy5wYXNzZW5nZXJzQ2hhbmdlLmVtaXQodGhpcy5wYXNzZW5nZXJzKTtcbiAgfVxuXG4gIGdldE1heChwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwpOiBudW1iZXIge1xuICAgIGlmIChwYXNzZW5nZXJzPy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIHBhc3NlbmdlcnM/LmNvdW50O1xuICAgIH1cblxuICAgIGNvbnN0IGFkdWx0cyA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICBjb25zdCB5b3V0aHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpIHtcbiAgICAgIGlmIChhZHVsdHMgJiYgYWR1bHRzLmNvdW50ID4gMCkge1xuICAgICAgICBpZiAoIWFkdWx0cy5mb3JtR3JvdXAgfHwgIWFkdWx0cy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gYWR1bHRzLmNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWR1bHRzRm9ybUNvbnRyb2wgPSBhZHVsdHMuZm9ybUdyb3VwLmdldChhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIWFkdWx0c0Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhZHVsdHNGb3JtQ29udHJvbC52YWx1ZSBhcyBudW1iZXI7XG4gICAgICB9IFxuICAgICAgXG4gICAgICBpZiAoeW91dGhzICYmIHlvdXRocy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCF5b3V0aHMuZm9ybUdyb3VwIHx8ICF5b3V0aHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHlvdXRocy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHlvdXRoc0Zvcm1Db250cm9sID0geW91dGhzLmZvcm1Hcm91cC5nZXQoeW91dGhzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCF5b3V0aHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geW91dGhzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA8PSAwKSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuXG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQgJiYgdGhpcy50b3RhbENvdW50IDwgMTApIHsgXG4gICAgICBpZiAoYWR1bHRzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYgKGFkdWx0cy5jb3VudCA8PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh5b3V0aHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZiAoeW91dGhzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50ID49IHRoaXMubWF4UGF4Q291bnQpIHtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzLmZvcm1Hcm91cCB8fCAhcGFzc2VuZ2Vycy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhc3NlbmdlcnNGb3JtQ29udHJvbCA9IHBhc3NlbmdlcnMuZm9ybUdyb3VwLmdldChwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghcGFzc2VuZ2Vyc0Zvcm1Db250cm9sKSB7XG4gICAgICAgIHJldHVybiBwYXNzZW5nZXJzLmNvdW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VuZ2Vyc0Zvcm1Db250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhQYXhDb3VudDtcbiAgICB9XG4gIH1cblxuICBnZXRNaW4ocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBpZiAocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiB5b3V0aCkge1xuICAgICAgY29uc3QgbWluID0gIXRoaXMubWluQWR1bHRDb3VudCA/IDAgOiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50IDwgbWluICYmIHlvdXRoLmNvdW50ID09PSAwKSB7XG4gICAgICAgIHBhc3NlbmdlcnMuY291bnQgPSBtaW47XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3VuZ0FkdWx0KSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPCBtaW4gJiYgeW91bmdBZHVsdC5jb3VudCA9PT0gMCkge1xuICAgICAgICBwYXNzZW5nZXJzLmNvdW50ID0gbWluO1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWR1bHQgJiYgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91bmdBZHVsdCkge1xuICAgICAgaWYgKHlvdW5nQWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0ICYmIGFkdWx0KSB7XG4gICAgICBpZiAoYWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9ICBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFRvdGFsQ291bnQoKSB7XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQpO1xuXG4gICAgbGV0IGFkdWx0Q291bnQgPSAwO1xuICAgIGxldCB5b3V0aENvdW50ID0gMDtcbiAgICBsZXQgeW91bmdBZHVsdENvdW50ID0gMDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IDA7XG5cbiAgICBpZiAoYWR1bHQpIHtcblxuICAgICAgaWYgKCFhZHVsdC5mb3JtR3JvdXAgfHwgIWFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhZHVsdHNDb250cm9sID0gYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghYWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIGFkdWx0Q291bnQgPSBhZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHRzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3V0aCkge1xuICAgICAgaWYgKCF5b3V0aC5mb3JtR3JvdXAgfHwgIXlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB5b3V0aHNDb250cm9sID0geW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91dGhzQ29udHJvbCkge1xuICAgICAgICAgIHlvdXRoQ291bnQgPSB5b3V0aC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGhzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3VuZ0FkdWx0KSB7XG4gICAgICBpZiAoIXlvdW5nQWR1bHQuZm9ybUdyb3VwIHx8ICF5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0LmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91bmdBZHVsdHNDb250cm9sID0geW91bmdBZHVsdC5mb3JtR3JvdXAuZ2V0KHlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdW5nQWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHQuY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkKSB7XG4gICAgICBpZiAoIWNoaWxkLmZvcm1Hcm91cCB8fCAhY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkc0NvbnRyb2wgPSBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFjaGlsZHNDb250cm9sKSB7XG4gICAgICAgICAgY2hpbGRDb3VudCA9IGNoaWxkLmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50b3RhbENvdW50ID0gYWR1bHRDb3VudCArIGNoaWxkQ291bnQgKyB5b3V0aENvdW50ICsgeW91bmdBZHVsdENvdW50O1xuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpIHtcbiAgICAgIGNvbnN0IGdyb3VwQm9va2luZ0NvbnRyb2wgPSB0aGlzLm5hc0Zvcm1Hcm91cC5nZXQodGhpcy5uYXNGb3JtQ29udHJvbEdyb3VwQm9va2luZyk7XG5cbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcblxuICAgICAgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQgPCAxKSB7XG4gICAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwQm9va2luZ0NvbnRyb2wudmFsdWUgIT09IHRoaXMuaXNHcm91cEJvb2tpbmcpIHtcbiAgICAgICAgZ3JvdXBCb29raW5nQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMuaXNHcm91cEJvb2tpbmcpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5ncm91cEJvb2tpbmdMaW1pdCkge1xuICAgICAgdGhpcy5pc0dyb3VwQm9va2luZyA9IHRoaXMudG90YWxDb3VudCA+PSB0aGlzLmdyb3VwQm9va2luZ0xpbWl0O1xuICAgIH1cblxuICB9XG5cbn1cbiIsIjxoMiAqbmdJZj1cInRpdGxlXCJcbiAgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScsIGlzR3JvdXBCb29raW5nICYmICdncm91cC1ib29raW5nJylcIj57e3RpdGxlfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cEJvb2tpbmdcIj46XG4gICAgPGRpdj57e2dyb3VwQm9va2luZ0xhYmVsfX08L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2gyPlxuPHVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdCcpXCI+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXNzZW5nZXJzOyBpbmRleCBhcyBjb3VudFwiXG4gICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdsaXN0LWl0ZW0nKVwiPlxuICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRMYWJlbChpdGVtLnR5cGUpXCI+e3tnZXRMYWJlbChpdGVtLnR5cGUpfX08L2xhYmVsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5mb3JtR3JvdXAgfHwgIWl0ZW0uZm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW21heF09XCJnZXRNYXgoaXRlbSlcIlxuICAgICAgICBbbWluXT1cImdldE1pbihpdGVtKVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCI+PC9uYXMtbnVtYmVyLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW25hc0Zvcm1Hcm91cF09XCJpdGVtLmZvcm1Hcm91cFwiXG4gICAgICAgIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5mb3JtQ29udHJvbE5hbWVcIlxuICAgICAgICBbbnVtYmVyXT1cIml0ZW0uZm9ybUdyb3VwPy5nZXQoaXRlbS5mb3JtQ29udHJvbE5hbWUpPy52YWx1ZVwiXG4gICAgICAgIFttYXhdPVwiZ2V0TWF4KGl0ZW0pXCJcbiAgICAgICAgW21pbl09XCJnZXRNaW4oaXRlbSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCJcbiAgICAgICAgKG51bWJlckNoYW5nZSk9XCJzZXRQYXNzZW5nZXJzQ291bnQoaXRlbSwgJGV2ZW50KVwiPjwvbmFzLW51bWJlci1maWVsZD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuPC91bD4iXX0=
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRTlFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUF1STVEO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFsSWhDOzs7O1VBSUU7UUFDTyxlQUFVLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUFFbkQ7Ozs7VUFJRTtRQUNPLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBZ0dsQzs7OztVQUlFO1FBQ1EscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFeEU7Ozs7VUFJRTtRQUNRLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoRDs7OztVQUlFO1FBQ1Esb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBSXBELENBQUM7SUFF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LG9CQUFvQix1RUM3QnBDLDRtREF1Q0s7OzJGRFhRLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7MEVBS0ksWUFBWTtzQkFBL0MsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBVXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFPRyxXQUFXO3NCQUFwQixNQUFNO2dCQU9HLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhc3NlbmdlclR5cGUgfSBmcm9tICcuL2VudW1zL3Bhc3Nlbmdlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFzc2VuZ2Vyc01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcGFzc2VuZ2Vycy5tb2RlbCc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL251bWJlci1maWVsZC9udW1iZXItZmllbGQuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBQYXNzZW5nZXIgU2VsZWN0IENvbXBvbmVudCB8IEZ1bmN0aW9uYWxcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtcGFzc2VuZ2VyLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXNzZW5nZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhc3NlbmdlclNlbGVjdENvbXBvbmVudCBleHRlbmRzIE5hc0NvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkcmVuKE51bWJlckZpZWxkQ29tcG9uZW50KSBudW1iZXJGaWVsZHMhOiBRdWVyeUxpc3Q8TnVtYmVyRmllbGRDb21wb25lbnQ+O1xuXG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgaXNHcm91cEJvb2tpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gYXJyYXkgb2YgZGlmZmVyZW50IHBhc3NlbmdlciB0eXBlcyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkLlxuICAqL1xuICBASW5wdXQoKSBwYXNzZW5nZXJzID0gbmV3IEFycmF5PFBhc3NlbmdlcnNNb2RlbD4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgdG90YWwgbWF4aW11bSBhbW91bnQgb2YgcGFzc2VuZ2Vycy5cbiAgKi9cbiAgQElucHV0KCkgbWF4UGF4Q291bnQ6IG51bWJlciA9IDEwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBtaW5pbXVtIGFtb3VudCBvZiBhZHVsdHMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gICovXG4gIEBJbnB1dCgpIG1pbkFkdWx0Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbGltaXQgZm9yIHdoZW4gdGhlIHRvdGFsIGFtb3VudCBvZiBwYXNzZW5nZXJzIGV4Y2VlZHMgdG8gYmUgYSBncm91cCBib29raW5nLlxuICAqL1xuICBASW5wdXQoKSBncm91cEJvb2tpbmdMaW1pdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgdGl0bGUgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkcm9wZG93bi5cbiAgKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuICAqL1xuICBASW5wdXQoKSBhZHVsdHNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBjaGlsZHJlbiBwYXNzZW5nZXIgdHlwZS5cbiAgKi9cbiAgQElucHV0KCkgY2hpbGRyZW5MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGluZmFudHMgcGFzc2VuZ2VyIHR5cGUuXG4gICAqL1xuICBASW5wdXQoKSBpbmZhbnRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuKi9cbiAgQElucHV0KCkgeW91dGhzTGFiZWw6IHN0cmluZztcblxuLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiovXG4gIEBJbnB1dCgpIHlvdW5nQWR1bHRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIHRoYXQgd2lsbCBhcHBlYXIgd2hlbiB0b3RhbCBudW1iZXIgb2Ygc2VsZWN0ZWQgcGFzc2VuZ2VycyBleGNlZWRzIHRoZSBncm91cCBib29raW5nIGxpbWl0XG4gICovXG4gIEBJbnB1dCgpIGdyb3VwQm9va2luZ0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgc3VidHJhY3QgYnV0dG9ucy5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsU3VidHJhY3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbnMuXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxBZGQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgcGFzc2VuZ2Vyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8UGFzc2VuZ2Vyc01vZGVsPj4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPblByZXZpb3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1wYXNzZW5nZXItc2VsZWN0Jyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldFRvdGFsQ291bnQoKTtcbiAgfVxuXG4gIGdldExhYmVsKHR5cGU6IFBhc3NlbmdlclR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkFkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hZHVsdHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5DaGlsZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5MYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5JbmZhbnQ6XG4gICAgICAgIHJldHVybiB0aGlzLmluZmFudHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3V0aDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91dGhzTGFiZWw7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91bmdBZHVsdHNMYWJlbDtcbiAgICB9XG4gIH1cblxuICBrZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMucGFzc2VuZ2Vycy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMuZmlyc3QuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCArIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbaW5kZXggLSAxXS5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uTmV4dC5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25QcmV2aW91cy5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXNzZW5nZXJzQ291bnQocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgcGFzc2VuZ2Vycy5jb3VudCA9IGNvdW50O1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCkge1xuICAgICAgaWYgKHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgY29uc3QgaW5mYW50c0NvdW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KS5jb3VudDtcbiAgICAgICAgaWYgKGluZmFudHNDb3VudCA+IHBhc3NlbmdlcnMuY291bnQgJiYgdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICAgIGNvbnN0IGluZmFudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCk7XG5cbiAgICAgICAgICBpZiAoaW5mYW50KSB7XG4gICAgICAgICAgICBpbmZhbnQuY291bnQgPSBwYXNzZW5nZXJzLmNvdW50O1xuXG4gICAgICAgICAgICBpZiAoaW5mYW50LmZvcm1Hcm91cCAmJiBpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGluZmFudC5mb3JtR3JvdXAuZ2V0KGluZmFudC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoaW5mYW50LmNvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5DaGlsZCk7XG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiBjaGlsZCkge1xuICAgICAgICBpZiAoIHBhc3NlbmdlcnMuY291bnQgPT09IDAgJiYgY2hpbGQpIHtcblxuICAgICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgICAgY2hpbGQuY291bnQgPSAwO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGQuZm9ybUdyb3VwICYmIGNoaWxkLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgfHwgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBhZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICAgIGNvbnN0IHlvdXRoID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuXG4gICAgICBpZiAoYWR1bHQgJiYgeW91dGgpIHtcbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiBhZHVsdC5jb3VudCA+IDApIHtcbiAgICAgICAgICBpZiAoeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3V0aC5jb3VudCAhPT0gMCkge1xuICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHlvdXRoLmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgICAgICBhZHVsdC5jb3VudCA9IHlvdXRoLmNvdW50ID4gMCA/IDAgOiBhZHVsdC5jb3VudDsgXG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUgJiYgeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0IHx8IHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIHlvdXRoKSB7XG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgaWYgKHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB5b3VuZ0FkdWx0LmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCkge1xuICAgICAgICAgIHlvdXRoLmNvdW50ID0geW91bmdBZHVsdC5jb3VudCA+IDAgPyAwIDogeW91dGguY291bnQ7IFxuICAgICAgICAgIFxuICAgICAgICAgIGlmICh5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5taW5BZHVsdENvdW50ICYmIHlvdW5nQWR1bHQuY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUodGhpcy5taW5BZHVsdENvdW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgICAgIHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0VG90YWxDb3VudCgpO1xuICAgIHRoaXMucGFzc2VuZ2Vyc0NoYW5nZS5lbWl0KHRoaXMucGFzc2VuZ2Vycyk7XG4gIH1cblxuICBnZXRNYXgocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBpZiAocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG5cbiAgICBjb25zdCBhZHVsdHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGhzID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSB7XG4gICAgICBpZiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCFhZHVsdHMuZm9ybUdyb3VwIHx8ICFhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkdWx0c0Zvcm1Db250cm9sID0gYWR1bHRzLmZvcm1Hcm91cC5nZXQoYWR1bHRzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFhZHVsdHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiBhZHVsdHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWR1bHRzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfSBcbiAgICAgIFxuICAgICAgaWYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPiAwKSB7XG4gICAgICAgIGlmICgheW91dGhzLmZvcm1Hcm91cCB8fCAheW91dGhzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB5b3V0aHNGb3JtQ29udHJvbCA9IHlvdXRocy5mb3JtR3JvdXAuZ2V0KHlvdXRocy5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91dGhzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICByZXR1cm4geW91dGhzLmNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHlvdXRoc0Zvcm1Db250cm9sLnZhbHVlIGFzIG51bWJlcjtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKGFkdWx0cyAmJiBhZHVsdHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmICh5b3V0aHMgJiYgeW91dGhzLmNvdW50IDw9IDApKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcblxuICAgIH0gZWxzZSBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkICYmIHRoaXMudG90YWxDb3VudCA8IHRoaXMubWF4UGF4Q291bnQpIHsgXG4gICAgICBpZiAoYWR1bHRzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYgKGFkdWx0cy5jb3VudCA8PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh5b3V0aHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZiAoeW91dGhzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50ID49IHRoaXMubWF4UGF4Q291bnQpIHtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzLmZvcm1Hcm91cCB8fCAhcGFzc2VuZ2Vycy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhc3NlbmdlcnNGb3JtQ29udHJvbCA9IHBhc3NlbmdlcnMuZm9ybUdyb3VwLmdldChwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghcGFzc2VuZ2Vyc0Zvcm1Db250cm9sKSB7XG4gICAgICAgIHJldHVybiBwYXNzZW5nZXJzLmNvdW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VuZ2Vyc0Zvcm1Db250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhQYXhDb3VudDtcbiAgICB9XG4gIH1cblxuICBnZXRNaW4ocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBpZiAocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiB5b3V0aCkge1xuICAgICAgY29uc3QgbWluID0gIXRoaXMubWluQWR1bHRDb3VudCA/IDAgOiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50IDwgbWluICYmIHlvdXRoLmNvdW50ID09PSAwKSB7XG4gICAgICAgIHBhc3NlbmdlcnMuY291bnQgPSBtaW47XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3VuZ0FkdWx0KSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPCBtaW4gJiYgeW91bmdBZHVsdC5jb3VudCA9PT0gMCkge1xuICAgICAgICBwYXNzZW5nZXJzLmNvdW50ID0gbWluO1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWR1bHQgJiYgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91bmdBZHVsdCkge1xuICAgICAgaWYgKHlvdW5nQWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0ICYmIGFkdWx0KSB7XG4gICAgICBpZiAoYWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9ICBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFRvdGFsQ291bnQoKSB7XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQpO1xuXG4gICAgbGV0IGFkdWx0Q291bnQgPSAwO1xuICAgIGxldCB5b3V0aENvdW50ID0gMDtcbiAgICBsZXQgeW91bmdBZHVsdENvdW50ID0gMDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IDA7XG5cbiAgICBpZiAoYWR1bHQpIHtcblxuICAgICAgaWYgKCFhZHVsdC5mb3JtR3JvdXAgfHwgIWFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhZHVsdHNDb250cm9sID0gYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghYWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIGFkdWx0Q291bnQgPSBhZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHRzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3V0aCkge1xuICAgICAgaWYgKCF5b3V0aC5mb3JtR3JvdXAgfHwgIXlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB5b3V0aHNDb250cm9sID0geW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91dGhzQ29udHJvbCkge1xuICAgICAgICAgIHlvdXRoQ291bnQgPSB5b3V0aC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGhzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3VuZ0FkdWx0KSB7XG4gICAgICBpZiAoIXlvdW5nQWR1bHQuZm9ybUdyb3VwIHx8ICF5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0LmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91bmdBZHVsdHNDb250cm9sID0geW91bmdBZHVsdC5mb3JtR3JvdXAuZ2V0KHlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdW5nQWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHQuY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkKSB7XG4gICAgICBpZiAoIWNoaWxkLmZvcm1Hcm91cCB8fCAhY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkc0NvbnRyb2wgPSBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFjaGlsZHNDb250cm9sKSB7XG4gICAgICAgICAgY2hpbGRDb3VudCA9IGNoaWxkLmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50b3RhbENvdW50ID0gYWR1bHRDb3VudCArIGNoaWxkQ291bnQgKyB5b3V0aENvdW50ICsgeW91bmdBZHVsdENvdW50O1xuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpIHtcbiAgICAgIGNvbnN0IGdyb3VwQm9va2luZ0NvbnRyb2wgPSB0aGlzLm5hc0Zvcm1Hcm91cC5nZXQodGhpcy5uYXNGb3JtQ29udHJvbEdyb3VwQm9va2luZyk7XG5cbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcblxuICAgICAgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQgPCAxKSB7XG4gICAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwQm9va2luZ0NvbnRyb2wudmFsdWUgIT09IHRoaXMuaXNHcm91cEJvb2tpbmcpIHtcbiAgICAgICAgZ3JvdXBCb29raW5nQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMuaXNHcm91cEJvb2tpbmcpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5ncm91cEJvb2tpbmdMaW1pdCkge1xuICAgICAgdGhpcy5pc0dyb3VwQm9va2luZyA9IHRoaXMudG90YWxDb3VudCA+PSB0aGlzLmdyb3VwQm9va2luZ0xpbWl0O1xuICAgIH1cblxuICB9XG5cbn1cbiIsIjxoMiAqbmdJZj1cInRpdGxlXCJcbiAgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScsIGlzR3JvdXBCb29raW5nICYmICdncm91cC1ib29raW5nJylcIj57e3RpdGxlfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cEJvb2tpbmdcIj46XG4gICAgPGRpdj57e2dyb3VwQm9va2luZ0xhYmVsfX08L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2gyPlxuPHVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdCcpXCI+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXNzZW5nZXJzOyBpbmRleCBhcyBjb3VudFwiXG4gICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdsaXN0LWl0ZW0nKVwiPlxuICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRMYWJlbChpdGVtLnR5cGUpXCI+e3tnZXRMYWJlbChpdGVtLnR5cGUpfX08L2xhYmVsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5mb3JtR3JvdXAgfHwgIWl0ZW0uZm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW21heF09XCJnZXRNYXgoaXRlbSlcIlxuICAgICAgICBbbWluXT1cImdldE1pbihpdGVtKVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCI+PC9uYXMtbnVtYmVyLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW25hc0Zvcm1Hcm91cF09XCJpdGVtLmZvcm1Hcm91cFwiXG4gICAgICAgIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5mb3JtQ29udHJvbE5hbWVcIlxuICAgICAgICBbbnVtYmVyXT1cIml0ZW0uZm9ybUdyb3VwPy5nZXQoaXRlbS5mb3JtQ29udHJvbE5hbWUpPy52YWx1ZVwiXG4gICAgICAgIFttYXhdPVwiZ2V0TWF4KGl0ZW0pXCJcbiAgICAgICAgW21pbl09XCJnZXRNaW4oaXRlbSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCJcbiAgICAgICAgKG51bWJlckNoYW5nZSk9XCJzZXRQYXNzZW5nZXJzQ291bnQoaXRlbSwgJGV2ZW50KVwiPjwvbmFzLW51bWJlci1maWVsZD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuPC91bD4iXX0=