qms-angular 1.0.96 → 1.0.97

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.
@@ -2,27 +2,50 @@ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output,
2
2
  import { MatIconRegistry } from "@angular/material/icon";
3
3
  import { DomSanitizer } from "@angular/platform-browser";
4
4
  import { BREADCRUMB_DROPDOWN_ICON } from "../../common/qms-icon.const";
5
+ import { TranslateLibraryService } from "../../services/translation-registry.service";
5
6
  import { ItemIconType } from "../related/common/item-icon-type.enum";
6
7
  import { QMSBreadcrumbItemDirective } from "./breadcrumb-item.directive";
8
+ import { BreadcrumbType } from "./enum/breadcrumb-type";
7
9
  import { DropdownBreadCrumbNodeWidth } from "./enum/dropdown-node-width.enum";
8
10
  export class QMSBreadcrumb {
9
- constructor(ele, iconRegistry, cdRef, sanitizer) {
11
+ constructor(ele, iconRegistry, cdRef, sanitizer, trans) {
10
12
  this.ele = ele;
11
13
  this.iconRegistry = iconRegistry;
12
14
  this.cdRef = cdRef;
13
15
  this.sanitizer = sanitizer;
16
+ this.trans = trans;
17
+ this.type = BreadcrumbType.normal;
14
18
  this.numDisplayItem = 0;
15
19
  this.onlyItem = false;
16
20
  this.disabledLastItem = true;
17
21
  this.onItemClick = new EventEmitter();
18
- this.dropdownNodes = [];
19
22
  this.isOverflow = false;
23
+ this.dropdownNodes = [];
24
+ this.sideNavNodes = [];
20
25
  this.itemSpace = DropdownBreadCrumbNodeWidth.NORMAL; // width of dropdown node in normal view
21
26
  this.isMobileType = false;
22
27
  iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON));
23
28
  }
29
+ ngOnChanges(changes) {
30
+ if (changes.nodes && this.breadCrumbNodes && JSON.stringify(changes.nodes.currentValue) !== JSON.stringify(changes.nodes.previousValue)) {
31
+ this.nodes = [...changes.nodes.currentValue];
32
+ this.initBreadCrumb();
33
+ this.buildBreadcrumb();
34
+ }
35
+ }
36
+ ngOnInit() {
37
+ this.trans.getLanguageSubject$.pipe().subscribe((res) => {
38
+ if (res) {
39
+ this.LANG = this.trans.getObjectLang(res);
40
+ }
41
+ });
42
+ this.isMobileType = (this.type == BreadcrumbType.mobile);
43
+ this.itemIconType = ItemIconType;
44
+ this.initBreadCrumb();
45
+ }
24
46
  ngAfterViewInit() {
25
47
  this.buildBreadcrumb();
48
+ this.cdRef.detectChanges();
26
49
  }
27
50
  checkOverflow(width) {
28
51
  const nodeWidths = this.breadCrumbNodes.map(x => x.ele.nativeElement.offsetWidth);
@@ -57,17 +80,6 @@ export class QMSBreadcrumb {
57
80
  this.dropdownNodes = this.dropdownNodes.reverse();
58
81
  }
59
82
  }
60
- ngOnChanges(changes) {
61
- if (changes.nodes && this.breadCrumbNodes && JSON.stringify(changes.nodes.currentValue) !== JSON.stringify(changes.nodes.previousValue)) {
62
- this.nodes = [...changes.nodes.currentValue];
63
- this.initBreadCrumb();
64
- this.buildBreadcrumb();
65
- }
66
- }
67
- ngOnInit() {
68
- this.itemIconType = ItemIconType;
69
- this.initBreadCrumb();
70
- }
71
83
  initBreadCrumb() {
72
84
  if (this.nodes && this.nodes.length > 0) {
73
85
  this.nodes.forEach(ele => {
@@ -80,8 +92,9 @@ export class QMSBreadcrumb {
80
92
  this.itemNodes = this.nodes.slice(1);
81
93
  }
82
94
  else {
83
- this.isMobileType = true;
84
95
  this.previousNode = this.nodes[this.nodes.length >= 2 ? this.nodes.length - 2 : 0];
96
+ this.sideNavNodes = [];
97
+ this.sideNavNodes = this.nodes.length >= 2 ? [...this.nodes] : [];
85
98
  }
86
99
  }
87
100
  if (this.type === 'table') {
@@ -151,16 +164,17 @@ export class QMSBreadcrumb {
151
164
  QMSBreadcrumb.decorators = [
152
165
  { type: Component, args: [{
153
166
  selector: 'qms-breadcrumb',
154
- template: "<div>\r\n <div class=\"breadcrumb-container\" *ngIf=\"!isMobileType\">\r\n <!-- Home -->\r\n <span\r\n qms-breadcrumb-item\r\n *ngIf=\"!isOverflow || type=='table'\"\r\n [(showTooltip)]=\"homeNode.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"homeNode.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ homeNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"homeNode.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"homeNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"homeNode.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"homeNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"homeNode.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(homeNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"homeNode.name\"\r\n [showToolTip]=\"homeNode.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(homeNode)\"\r\n >\r\n {{homeNode.name}}\r\n </div>\r\n <mat-icon *ngIf=\"!isOverflow && type !=='table'\">keyboard_arrow_right</mat-icon>\r\n <span\r\n *ngIf=\"itemNodes.length && type=='table'\"\r\n qms-breadcrumb-direction-icon\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n\r\n <!-- Dropdown not table -->\r\n <span qms-breadcrumb-item *ngIf=\"isOverflow && type!='table'\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n class=\"breadcrumb__dropdown-btn\"\r\n [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n >\r\n <mat-icon svgIcon=\"breadcrumb_dropdown\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n\r\n <!-- Dropdown table -->\r\n <span qms-breadcrumb-item *ngIf=\"isOverflow && type=='table'\">\r\n <button qms-btn-icon color=\"light\" [matMenuTriggerFor]=\"bodyMediumMenu\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n <!-- Item list -->\r\n <span\r\n qms-breadcrumb-item\r\n *ngFor=\"let item of itemNodes;let i=index\"\r\n [isLastItem]=\"i === itemNodes.length - 1\"\r\n [(showTooltip)]=\"item.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.svg && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"item.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path && item.isShow\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64 && item.isShow\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"item.name\"\r\n [showToolTip]=\"item.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n *ngIf=\"item.isShow\"\r\n (click)=\"onItemSelect(item, i == itemNodes.length - 1);\"\r\n >\r\n {{item.name}}\r\n </div>\r\n <span\r\n qms-breadcrumb-direction-icon\r\n *ngIf=\"item.isShow && i !== itemNodes.length - 1\"\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"breadcrumb-container\" *ngIf=\"isMobileType\">\r\n <!-- Home -->\r\n <span qms-breadcrumb-item [(showTooltip)]=\"previousNode.isOverflow\">\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </span>\r\n <mat-icon\r\n *ngIf=\"previousNode.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ previousNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"previousNode.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"previousNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"previousNode.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"previousNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"previousNode.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(previousNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"previousNode.name\"\r\n [showToolTip]=\"previousNode.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(previousNode)\"\r\n >\r\n {{previousNode.name}}\r\n </div>\r\n </span>\r\n </div>\r\n</div>\r\n",
167
+ template: "<div>\r\n <div class=\"breadcrumb-container\" *ngIf=\"!isMobileType\">\r\n <!-- Home -->\r\n <div\r\n qms-breadcrumb-item\r\n *ngIf=\"!isOverflow || type=='table'\"\r\n [(showTooltip)]=\"homeNode['isOverflow']\"\r\n >\r\n <mat-icon\r\n *ngIf=\"homeNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ homeNode?.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"homeNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"homeNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"homeNode?.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"homeNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"homeNode?.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(homeNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"homeNode['name']\"\r\n [showToolTip]=\"homeNode['isOverflow']\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(homeNode)\"\r\n >\r\n {{homeNode?.name}}\r\n </div>\r\n <mat-icon *ngIf=\"!isOverflow && type !=='table'\"\r\n >keyboard_arrow_right</mat-icon\r\n >\r\n <span\r\n *ngIf=\"itemNodes.length && type=='table'\"\r\n qms-breadcrumb-direction-icon\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown not table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type!='table'\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n class=\"breadcrumb__dropdown-btn\"\r\n [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n >\r\n <mat-icon svgIcon=\"breadcrumb_dropdown\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type=='table'\">\r\n <button qms-btn-icon color=\"light\" [matMenuTriggerFor]=\"bodyMediumMenu\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n <!-- Item list -->\r\n <div\r\n qms-breadcrumb-item\r\n *ngFor=\"let item of itemNodes;let i=index\"\r\n [isLastItem]=\"i === itemNodes.length - 1\"\r\n [(showTooltip)]=\"item.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.svg && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"item.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path && item.isShow\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64 && item.isShow\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"item.name\"\r\n [showToolTip]=\"item.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n *ngIf=\"item.isShow\"\r\n (click)=\"onItemSelect(item, i == itemNodes.length - 1);\"\r\n >\r\n {{item.name}}\r\n </div>\r\n <span\r\n qms-breadcrumb-direction-icon\r\n *ngIf=\"item.isShow && i !== itemNodes.length - 1\"\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"breadcrumb-container\" *ngIf=\"isMobileType\">\r\n <mat-sidenav-container>\r\n <mat-sidenav\r\n #sidenav\r\n mode=\"'over'\"\r\n class=\"breadcrumb-sidenav\"\r\n [fixedInViewport]=\"true\"\r\n >\r\n <div class=\"header\">\r\n <div class=\"header-left\">\r\n <p>{{LANG.BREADCRUMB}}</p>\r\n <div class=\"sub\">{{LANG.NAVIGATE_TO}}</div>\r\n </div>\r\n <div class=\"header-right\">\r\n <button qms-btn-text (click)=\"sidenav.close()\">\r\n {{LANG.QMSCKEDITOR.CLOSE}}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"content\">\r\n <mat-selection-list #shoes [multiple]=\"false\">\r\n <mat-list-option\r\n class=\"qms-list-option\"\r\n *ngFor=\"let item of sideNavNodes; let first = first; let last = last;\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <mat-icon\r\n *ngIf=\"!first\"\r\n mat-list-icon\r\n class=\"subdirectory_arrow_right\"\r\n >subdirectory_arrow_right</mat-icon\r\n >\r\n <div class=\"content-text-name\">\r\n <div class=\"content-text-name-heading\">\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <span class=\"\">{{item.name}}</span>\r\n </div>\r\n <mat-icon class=\"color-gray\" *ngIf=\"last\">done</mat-icon>\r\n </div>\r\n </mat-list-option>\r\n </mat-selection-list>\r\n </div>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content>\r\n <button\r\n qms-btn-icon\r\n class=\"more_horiz-btn\"\r\n color=\"light\"\r\n *ngIf=\"sideNavNodes.length\"\r\n (click)=\"sidenav.toggle()\"\r\n >\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n <div qms-breadcrumb-item [(showTooltip)]=\"previousNode['isOverflow']\">\r\n <!-- Home -->\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </span>\r\n <mat-icon\r\n *ngIf=\"previousNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ previousNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"previousNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"previousNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"previousNode?.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"previousNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"previousNode?.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(previousNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"previousNode['name']\"\r\n [showToolTip]=\"previousNode['isOverflow']\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(previousNode)\"\r\n >\r\n {{previousNode.name}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
155
168
  encapsulation: ViewEncapsulation.None,
156
- styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.5rem;margin-right:.5rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:inherit}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}"]
169
+ styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.5rem;margin-right:.5rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:inherit;margin:8px 8px 8px 0}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.breadcrumb-container .mat-drawer-container{z-index:3;background-color:transparent}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}.breadcrumb-sidenav{display:flex;align-items:center;justify-content:center;width:100%;background:#fff;z-index:3}.breadcrumb-sidenav .header{font-family:Open Sans;font-style:normal;background-color:var(--background-area);height:71px;display:flex;justify-content:space-between;padding:16px}.breadcrumb-sidenav .header p{font-weight:600;font-size:18px;line-height:25px;color:var(--default-color);margin-bottom:0}.breadcrumb-sidenav .header .sub{font-weight:400;font-size:14px;line-height:22px;color:#5a5a5a}.breadcrumb-sidenav .content{padding:0 16px 16px;height:calc(100vh - 71px);overflow:auto}.breadcrumb-sidenav .content .qms-list-option{height:unset!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-text{padding-right:0!important;padding-left:0!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-item-content{border-bottom:1px solid #e0e0e0;padding:8px}.breadcrumb-sidenav .content-text-name{display:flex;align-items:center;justify-content:space-between}.breadcrumb-sidenav .content-text-name .content-text-name-heading{display:flex;align-items:center;color:var(--default-color)}.breadcrumb-sidenav .content-text-name .content-text-name-heading .item-icon{margin-right:10px;color:var(--tab-border)}.breadcrumb-sidenav .content-text-name .color-gray{color:var(--tab-border)}.more_horiz-btn.qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem;margin:8px 0 8px 8px}.subdirectory_arrow_right{color:#0163b2}"]
157
170
  },] }
158
171
  ];
159
172
  QMSBreadcrumb.ctorParameters = () => [
160
173
  { type: ElementRef },
161
174
  { type: MatIconRegistry },
162
175
  { type: ChangeDetectorRef },
163
- { type: DomSanitizer }
176
+ { type: DomSanitizer },
177
+ { type: TranslateLibraryService }
164
178
  ];
165
179
  QMSBreadcrumb.propDecorators = {
166
180
  nodes: [{ type: Input }],
@@ -172,4 +186,4 @@ QMSBreadcrumb.propDecorators = {
172
186
  onItemClick: [{ type: Output }],
173
187
  breadCrumbNodes: [{ type: ViewChildren, args: [QMSBreadcrumbItemDirective, {},] }]
174
188
  };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMU0sT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXOUUsTUFBTSxPQUFPLGFBQWE7SUFtQnhCLFlBQW9CLEdBQWUsRUFDekIsWUFBNkIsRUFDN0IsS0FBd0IsRUFDeEIsU0FBdUI7UUFIYixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBbEJ4QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR25FLGtCQUFhLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxlQUFVLEdBQUcsS0FB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ZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4sIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgQlJFQURDUlVNQl9EUk9QRE9XTl9JQ09OIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9xbXMtaWNvbi5jb25zdFwiO1xyXG5pbXBvcnQgeyBJdGVtSWNvblR5cGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9jb21tb24vaXRlbS1pY29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRHJvcGRvd25CcmVhZENydW1iTm9kZVdpZHRoIH0gZnJvbSBcIi4vZW51bS9kcm9wZG93bi1ub2RlLXdpZHRoLmVudW1cIjtcclxuaW1wb3J0IHsgQnJlYWRjcnVtYk5vZGUgfSBmcm9tIFwiLi9tb2RlbC9icmVhZGNydW1iLW5vZGUubW9kZWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncW1zLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnYnJlYWRjcnVtYi5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnYnJlYWRjcnVtYi5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBRTVNCcmVhZGNydW1iIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBub2RlczogQnJlYWRjcnVtYk5vZGVbXTtcclxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4TGluZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG51bURpc3BsYXlJdGVtOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIG9ubHlJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWRMYXN0SXRlbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGRyZW4oUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsIHt9KSBicmVhZENydW1iTm9kZXM6IFF1ZXJ5TGlzdDxRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZT47XHJcblxyXG4gIGRyb3Bkb3duTm9kZXM6IEJyZWFkY3J1bWJOb2RlW10gPSBbXTtcclxuICBpc092ZXJmbG93ID0gZmFsc2U7XHJcbiAgaG9tZU5vZGU6IEJyZWFkY3J1bWJOb2RlO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGU7XHJcbiAgaXRlbU5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIGl0ZW1TcGFjZTogbnVtYmVyID0gRHJvcGRvd25CcmVhZENydW1iTm9kZVdpZHRoLk5PUk1BTDsgLy8gd2lkdGggb2YgZHJvcGRvd24gbm9kZSBpbiBub3JtYWwgdmlld1xyXG4gIGl0ZW1JY29uVHlwZTtcclxuICBpc01vYmlsZVR5cGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGU6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ2JyZWFkY3J1bWJfZHJvcGRvd24nLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoQlJFQURDUlVNQl9EUk9QRE9XTl9JQ09OKSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1aWxkQnJlYWRjcnVtYigpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdmVyZmxvdyh3aWR0aDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBub2RlV2lkdGhzID0gdGhpcy5icmVhZENydW1iTm9kZXMubWFwKHggPT4geC5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICBsZXQgY3VycmVudFdpZHRoID0gMDtcclxuICAgIG5vZGVXaWR0aHMuZm9yRWFjaCh3aWR0aCA9PiB7XHJcbiAgICAgIGN1cnJlbnRXaWR0aCArPSB3aWR0aDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc092ZXJmbG93ID0gd2lkdGggPCBjdXJyZW50V2lkdGg7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc092ZXJmbG93KSB7XHJcbiAgICAgIGxldCBzY3JlZW5XaWR0aCA9IHdpZHRoO1xyXG4gICAgICBpZiAodGhpcy50eXBlICE9PSAndGFibGUnKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5ob21lTm9kZSk7XHJcbiAgICAgICAgY3VycmVudFdpZHRoIC09IG5vZGVXaWR0aHNbMF07XHJcbiAgICAgICAgY3VycmVudFdpZHRoICs9IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICAgIHNjcmVlbldpZHRoIC09IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIHNjcmVlbldpZHRoIC09IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGVXaWR0aHMuc2hpZnQoKTtcclxuICAgICAgbm9kZVdpZHRocy5mb3JFYWNoKChlbGVXaWR0aCwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAoY3VycmVudFdpZHRoID4gc2NyZWVuV2lkdGgpIHtcclxuICAgICAgICAgIHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc1Nob3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNPdmVyZmxvdyA9IGluZGV4ID09IG5vZGVXaWR0aHMubGVuZ3RoIC0gMSA/IGZhbHNlIDogdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3c7XHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLml0ZW1Ob2Rlc1tpbmRleF0pO1xyXG4gICAgICAgICAgY3VycmVudFdpZHRoIC09IChlbGVXaWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gdGhpcy5kcm9wZG93bk5vZGVzLnJldmVyc2UoKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5ub2RlcyAmJiB0aGlzLmJyZWFkQ3J1bWJOb2RlcyAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLm5vZGVzLmN1cnJlbnRWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXMubm9kZXMucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5ub2RlcyA9IFsuLi5jaGFuZ2VzLm5vZGVzLmN1cnJlbnRWYWx1ZV07XHJcbiAgICAgIHRoaXMuaW5pdEJyZWFkQ3J1bWIoKTtcclxuICAgICAgdGhpcy5idWlsZEJyZWFkY3J1bWIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pdGVtSWNvblR5cGUgPSBJdGVtSWNvblR5cGU7XHJcbiAgICB0aGlzLmluaXRCcmVhZENydW1iKCk7XHJcbiAgfVxyXG5cclxuICBpbml0QnJlYWRDcnVtYigpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzICYmIHRoaXMubm9kZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vZGVzLmZvckVhY2goZWxlID0+IHtcclxuICAgICAgICBlbGUuaXNPdmVyZmxvdyA9IGVsZS5pc092ZXJmbG93ID8gZWxlLmlzT3ZlcmZsb3cgOiBmYWxzZTtcclxuICAgICAgICBlbGUuaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICBlbGUuZGlzcGxheVR5cGUgPSB0aGlzLmdldEl0ZW1JY29uVHlwZShlbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ21vYmlsZScpIHtcclxuICAgICAgICB0aGlzLmhvbWVOb2RlID0gdGhpcy5ub2Rlc1swXTtcclxuICAgICAgICB0aGlzLml0ZW1Ob2RlcyA9IHRoaXMubm9kZXMuc2xpY2UoMSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlID0gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aCA+PSAyID8gdGhpcy5ub2Rlcy5sZW5ndGggLSAyIDogMF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAndGFibGUnKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWItdGFibGUnKTtcclxuICAgICAgdGhpcy5pdGVtU3BhY2UgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguVEFCTEU7ICAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIHRhYmxlIHZpZXdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1heExpbmUgJiYgdGhpcy5tYXhMaW5lID4gMSkge1xyXG4gICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1icmVhZGNydW1iX19tdWx0aS1saW5lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZEJyZWFkY3J1bWIoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVUeXBlICYmIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGlmICghdGhpcy5tYXhMaW5lIHx8IHRoaXMubWF4TGluZSA8IDIpIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAxLjcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9zaG93IG51bWJlciBJdGVtcyBhZnRlciAzIGRvdCBpY29uXHJcbiAgICBpZiAoK3RoaXMubnVtRGlzcGxheUl0ZW0gPiAwICYmIHRoaXMuaXRlbU5vZGVzLmxlbmd0aCA+PSAyKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IFtdO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSB0aGlzLml0ZW1Ob2Rlcy5zbGljZSgwLCAtdGhpcy5udW1EaXNwbGF5SXRlbSkucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLml0ZW1Ob2RlcyA9IFsuLi5bXSwgLi4udGhpcy5pdGVtTm9kZXMuc2xpY2UoLXRoaXMubnVtRGlzcGxheUl0ZW0pXTtcclxuICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAvL2p1c3Qgc2hvdyAxIGl0ZW0gZm9yIG1vYmlsZVxyXG4gICAgaWYgKHRoaXMub25seUl0ZW0pIHtcclxuICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGxldCBpdGVtTm9kZXMgPSBbLi4udGhpcy5pdGVtTm9kZXNdO1xyXG4gICAgICBsZXQgbGFzdEl0ZW0gPSBpdGVtTm9kZXMucG9wKCk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IFsuLi5pdGVtTm9kZXNdLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5ob21lTm9kZSk7XHJcbiAgICAgIHRoaXMuaXRlbU5vZGVzID0gW107XHJcbiAgICAgIHRoaXMuaXRlbU5vZGVzID0gW2xhc3RJdGVtXTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWNvblR5cGUodHJlZUNvbmZpZzogQnJlYWRjcnVtYk5vZGUpIHtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uKSByZXR1cm4gSXRlbUljb25UeXBlLm5hbWU7XHJcbiAgICBpZiAodHJlZUNvbmZpZy5pdGVtSWNvblBhdGgpIHJldHVybiBJdGVtSWNvblR5cGUucGF0aDtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uQmFzZTY0KSByZXR1cm4gSXRlbUljb25UeXBlLmJhc2U2NDtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uU3ZnKSByZXR1cm4gSXRlbUljb25UeXBlLnN2ZztcclxuICAgIHJldHVybiBJdGVtSWNvblR5cGUubm9uZTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlUGF0aChub2RlOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChub2RlLml0ZW1JY29uQmFzZTY0KSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzZWQoZXZlbnQpIHtcclxuICAgIFsuLi5ldmVudC50YXJnZXQuY2hpbGRyZW5dLmZvckVhY2goeCA9PiB4LmNsaWNrKCkpO1xyXG4gIH1cclxuXHJcbiAgb25JdGVtU2VsZWN0KGl0ZW06IEJyZWFkY3J1bWJOb2RlLCBpc0xhc3RJdGVtPzogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzTGFzdEl0ZW0gJiYgdGhpcy5kaXNhYmxlZExhc3RJdGVtKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5vbkl0ZW1DbGljaykge1xyXG4gICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEwsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBVzlFLE1BQU0sT0FBTyxhQUFhO0lBcUJ4QixZQUFvQixHQUFlLEVBQ3pCLFlBQTZCLEVBQzdCLEtBQXdCLEVBQ3hCLFNBQXVCLEVBQ3hCLEtBQThCO1FBSm5CLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUF2QjlCLFNBQUksR0FBeUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztR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LGNBQWMsQ0FBVyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNoQixDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQW9CLEVBQUUsVUFBb0I7UUFDckQsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFDaEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7O1lBcExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQix1d1RBQThCO2dCQUU5QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7OztZQWhCcUQsVUFBVTtZQUN2RCxlQUFlO1lBREEsaUJBQWlCO1lBRWhDLFlBQVk7WUFFWix1QkFBdUI7OztvQkFnQjdCLEtBQUs7bUJBQ0wsS0FBSztzQkFDTCxLQUFLOzZCQUNMLEtBQUs7dUJBQ0wsS0FBSzsrQkFDTCxLQUFLOzBCQUNMLE1BQU07OEJBQ04sWUFBWSxTQUFDLDBCQUEwQixFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4sIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgQlJFQURDUlVNQl9EUk9QRE9XTl9JQ09OIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9xbXMtaWNvbi5jb25zdFwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEl0ZW1JY29uVHlwZSB9IGZyb20gXCIuLi9yZWxhdGVkL2NvbW1vbi9pdGVtLWljb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIH0gZnJvbSBcIi4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iVHlwZSB9IGZyb20gXCIuL2VudW0vYnJlYWRjcnVtYi10eXBlXCI7XHJcbmltcG9ydCB7IERyb3Bkb3duQnJlYWRDcnVtYk5vZGVXaWR0aCB9IGZyb20gXCIuL2VudW0vZHJvcGRvd24tbm9kZS13aWR0aC5lbnVtXCI7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJOb2RlIH0gZnJvbSBcIi4vbW9kZWwvYnJlYWRjcnVtYi1ub2RlLm1vZGVsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1icmVhZGNydW1iJyxcclxuICB0ZW1wbGF0ZVVybDogJ2JyZWFkY3J1bWIuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2JyZWFkY3J1bWIuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUU1TQnJlYWRjcnVtYiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgbm9kZXM6IEJyZWFkY3J1bWJOb2RlW107XHJcbiAgQElucHV0KCkgdHlwZTogQnJlYWRjcnVtYlR5cGUubm9ybWFsIHwgQnJlYWRjcnVtYlR5cGUudGFibGUgfCBCcmVhZGNydW1iVHlwZS5tb2JpbGUgPSBCcmVhZGNydW1iVHlwZS5ub3JtYWw7XHJcbiAgQElucHV0KCkgbWF4TGluZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG51bURpc3BsYXlJdGVtOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIG9ubHlJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWRMYXN0SXRlbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGRyZW4oUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsIHt9KSBicmVhZENydW1iTm9kZXM6IFF1ZXJ5TGlzdDxRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZT47XHJcblxyXG4gIGlzT3ZlcmZsb3cgPSBmYWxzZTtcclxuICBkcm9wZG93bk5vZGVzOiBCcmVhZGNydW1iTm9kZVtdID0gW107XHJcbiAgaG9tZU5vZGU6IEJyZWFkY3J1bWJOb2RlO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGU7XHJcbiAgaXRlbU5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIHNpZGVOYXZOb2RlczogQnJlYWRjcnVtYk5vZGVbXSA9IFtdO1xyXG4gIGl0ZW1TcGFjZTogbnVtYmVyID0gRHJvcGRvd25CcmVhZENydW1iTm9kZVdpZHRoLk5PUk1BTDsgLy8gd2lkdGggb2YgZHJvcGRvd24gbm9kZSBpbiBub3JtYWwgdmlld1xyXG4gIGl0ZW1JY29uVHlwZTtcclxuICBpc01vYmlsZVR5cGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBMQU5HOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UpIHtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnYnJlYWRjcnVtYl9kcm9wZG93bicsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChCUkVBRENSVU1CX0RST1BET1dOX0lDT04pKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLm5vZGVzICYmIHRoaXMuYnJlYWRDcnVtYk5vZGVzICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXMubm9kZXMuY3VycmVudFZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5ub2Rlcy5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLm5vZGVzID0gWy4uLmNoYW5nZXMubm9kZXMuY3VycmVudFZhbHVlXTtcclxuICAgICAgdGhpcy5pbml0QnJlYWRDcnVtYigpO1xyXG4gICAgICB0aGlzLmJ1aWxkQnJlYWRjcnVtYigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRyYW5zLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSgpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zLmdldE9iamVjdExhbmcocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc01vYmlsZVR5cGUgPSAodGhpcy50eXBlID09IEJyZWFkY3J1bWJUeXBlLm1vYmlsZSk7XHJcbiAgICB0aGlzLml0ZW1JY29uVHlwZSA9IEl0ZW1JY29uVHlwZTtcclxuICAgIHRoaXMuaW5pdEJyZWFkQ3J1bWIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRCcmVhZGNydW1iKCk7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrT3ZlcmZsb3cod2lkdGg6IG51bWJlcikge1xyXG4gICAgY29uc3Qgbm9kZVdpZHRocyA9IHRoaXMuYnJlYWRDcnVtYk5vZGVzLm1hcCh4ID0+IHguZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xyXG4gICAgbGV0IGN1cnJlbnRXaWR0aCA9IDA7XHJcbiAgICBub2RlV2lkdGhzLmZvckVhY2god2lkdGggPT4ge1xyXG4gICAgICBjdXJyZW50V2lkdGggKz0gd2lkdGg7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNPdmVyZmxvdyA9IHdpZHRoIDwgY3VycmVudFdpZHRoO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNPdmVyZmxvdykge1xyXG4gICAgICBsZXQgc2NyZWVuV2lkdGggPSB3aWR0aDtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ3RhYmxlJykge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25Ob2Rlcy5wdXNoKHRoaXMuaG9tZU5vZGUpO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjdXJyZW50V2lkdGggKz0gdGhpcy5pdGVtU3BhY2U7XHJcbiAgICAgICAgc2NyZWVuV2lkdGggLT0gbm9kZVdpZHRoc1swXTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlV2lkdGhzLnNoaWZ0KCk7XHJcbiAgICAgIG5vZGVXaWR0aHMuZm9yRWFjaCgoZWxlV2lkdGgsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNTaG93ID0gaW5kZXggPT0gbm9kZVdpZHRocy5sZW5ndGggLSAxID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyBmYWxzZSA6IHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc092ZXJmbG93O1xyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5pdGVtTm9kZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGN1cnJlbnRXaWR0aCAtPSAoZWxlV2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IHRoaXMuZHJvcGRvd25Ob2Rlcy5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdEJyZWFkQ3J1bWIoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlcyAmJiB0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlcy5mb3JFYWNoKGVsZSA9PiB7XHJcbiAgICAgICAgZWxlLmlzT3ZlcmZsb3cgPSBlbGUuaXNPdmVyZmxvdyA/IGVsZS5pc092ZXJmbG93IDogZmFsc2U7XHJcbiAgICAgICAgZWxlLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUeXBlID0gdGhpcy5nZXRJdGVtSWNvblR5cGUoZWxlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdtb2JpbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ob21lTm9kZSA9IHRoaXMubm9kZXNbMF07XHJcbiAgICAgICAgdGhpcy5pdGVtTm9kZXMgPSB0aGlzLm5vZGVzLnNsaWNlKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlID0gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aCA+PSAyID8gdGhpcy5ub2Rlcy5sZW5ndGggLSAyIDogMF07XHJcbiAgICAgICAgdGhpcy5zaWRlTmF2Tm9kZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNpZGVOYXZOb2RlcyA9IHRoaXMubm9kZXMubGVuZ3RoID49IDIgPyBbLi4udGhpcy5ub2Rlc10gOiBbXTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAndGFibGUnKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWItdGFibGUnKTtcclxuICAgICAgdGhpcy5pdGVtU3BhY2UgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguVEFCTEU7ICAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIHRhYmxlIHZpZXdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1heExpbmUgJiYgdGhpcy5tYXhMaW5lID4gMSkge1xyXG4gICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1icmVhZGNydW1iX19tdWx0aS1saW5lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZEJyZWFkY3J1bWIoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVUeXBlICYmIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGlmICghdGhpcy5tYXhMaW5lIHx8IHRoaXMubWF4TGluZSA8IDIpIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAxLjcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9zaG93IG51bWJlciBJdGVtcyBhZnRlciAzIGRvdCBpY29uXHJcbiAgICBpZiAoK3RoaXMubnVtRGlzcGxheUl0ZW0gPiAwICYmIHRoaXMuaXRlbU5vZGVzLmxlbmd0aCA+PSAyKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IFtdO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSB0aGlzLml0ZW1Ob2Rlcy5zbGljZSgwLCAtdGhpcy5udW1EaXNwbGF5SXRlbSkucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLml0ZW1Ob2RlcyA9IFsuLi5bXSwgLi4udGhpcy5pdGVtTm9kZXMuc2xpY2UoLXRoaXMubnVtRGlzcGxheUl0ZW0pXTtcclxuICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAvL2p1c3Qgc2hvdyAxIGl0ZW0gZm9yIG1vYmlsZVxyXG4gICAgaWYgKHRoaXMub25seUl0ZW0pIHtcclxuICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGxldCBpdGVtTm9kZXMgPSBbLi4udGhpcy5pdGVtTm9kZXNdO1xyXG4gICAgICBsZXQgbGFzdEl0ZW0gPSBpdGVtTm9kZXMucG9wKCk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IFsuLi5pdGVtTm9kZXNdLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5ob21lTm9kZSk7XHJcbiAgICAgIHRoaXMuaXRlbU5vZGVzID0gW107XHJcbiAgICAgIHRoaXMuaXRlbU5vZGVzID0gW2xhc3RJdGVtXTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWNvblR5cGUodHJlZUNvbmZpZzogQnJlYWRjcnVtYk5vZGUpIHtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uKSByZXR1cm4gSXRlbUljb25UeXBlLm5hbWU7XHJcbiAgICBpZiAodHJlZUNvbmZpZy5pdGVtSWNvblBhdGgpIHJldHVybiBJdGVtSWNvblR5cGUucGF0aDtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uQmFzZTY0KSByZXR1cm4gSXRlbUljb25UeXBlLmJhc2U2NDtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uU3ZnKSByZXR1cm4gSXRlbUljb25UeXBlLnN2ZztcclxuICAgIHJldHVybiBJdGVtSWNvblR5cGUubm9uZTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlUGF0aChub2RlOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChub2RlLml0ZW1JY29uQmFzZTY0KSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzZWQoZXZlbnQpIHtcclxuICAgIFsuLi5ldmVudC50YXJnZXQuY2hpbGRyZW5dLmZvckVhY2goeCA9PiB4LmNsaWNrKCkpO1xyXG4gIH1cclxuXHJcbiAgb25JdGVtU2VsZWN0KGl0ZW06IEJyZWFkY3J1bWJOb2RlLCBpc0xhc3RJdGVtPzogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzTGFzdEl0ZW0gJiYgdGhpcy5kaXNhYmxlZExhc3RJdGVtKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5vbkl0ZW1DbGljaykge1xyXG4gICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -3,8 +3,10 @@ import { NgModule } from "@angular/core";
3
3
  import { MatCommonModule } from "@angular/material/core";
4
4
  import { MatIconModule } from "@angular/material/icon";
5
5
  import { MatMenuModule } from "@angular/material/menu";
6
+ import { MatSidenavModule } from '@angular/material/sidenav';
6
7
  import { QmsAngularModule } from "../../qms-angular.module";
7
8
  import { QMSButtonModule } from "../button/button.module";
9
+ import { QMSListModule } from "../list/list.module";
8
10
  import { QMSBreadcrumb } from "./breadcrumb";
9
11
  import { QMSBreadcrumbDirectionIconDirective } from "./breadcrumb-direction-icon.directive";
10
12
  import { QMSBreadcrumbItemDirective } from "./breadcrumb-item.directive";
@@ -17,8 +19,10 @@ QMSBreadcrumbModule.decorators = [
17
19
  MatCommonModule,
18
20
  MatIconModule,
19
21
  QmsAngularModule,
22
+ QMSListModule,
20
23
  QMSButtonModule,
21
- MatMenuModule
24
+ MatMenuModule,
25
+ MatSidenavModule
22
26
  ],
23
27
  exports: [
24
28
  MatCommonModule,
@@ -35,4 +39,4 @@ QMSBreadcrumbModule.decorators = [
35
39
  providers: []
36
40
  },] }
37
41
  ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQTJCdkUsTUFBTSxPQUFPLG1CQUFtQjs7O1lBdkJqQyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYiwwQkFBMEI7b0JBQzFCLG1DQUFtQztpQkFDcEM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGFBQWE7b0JBQ2IsMEJBQTBCO29CQUMxQixtQ0FBbUM7aUJBQ3RDO2dCQUNELFNBQVMsRUFBRSxFQUFFO2FBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xyXG5pbXBvcnQgeyBRTVNUb29sVGlwUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcmVuZGVyZXIuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFFtc0FuZ3VsYXJNb2R1bGUgfSBmcm9tIFwiLi4vLi4vcW1zLWFuZ3VsYXIubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gXCIuLi9idXR0b24vYnV0dG9uLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iIH0gZnJvbSBcIi4vYnJlYWRjcnVtYlwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iRGlyZWN0aW9uSWNvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItZGlyZWN0aW9uLWljb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIH0gZnJvbSBcIi4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgUW1zQW5ndWxhck1vZHVsZSxcclxuICAgICAgUU1TQnV0dG9uTW9kdWxlLFxyXG4gICAgICBNYXRNZW51TW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgIFFNU0JyZWFkY3J1bWIsXHJcbiAgICAgIFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLFxyXG4gICAgICBRTVNCcmVhZGNydW1iRGlyZWN0aW9uSWNvbkRpcmVjdGl2ZSxcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBRTVNCcmVhZGNydW1iLFxyXG4gICAgICAgIFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLFxyXG4gICAgICAgIFFNU0JyZWFkY3J1bWJEaXJlY3Rpb25JY29uRGlyZWN0aXZlLFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW11cclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBRTVNCcmVhZGNydW1iTW9kdWxlIHsgfSJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUE2QnpFLE1BQU0sT0FBTyxtQkFBbUI7OztZQXpCL0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixhQUFhO29CQUNiLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixhQUFhO29CQUNiLDBCQUEwQjtvQkFDMUIsbUNBQW1DO2lCQUNwQztnQkFDRCxZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYiwwQkFBMEI7b0JBQzFCLG1DQUFtQztpQkFDcEM7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgUU1TVG9vbFRpcFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXJlbmRlcmVyLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBRbXNBbmd1bGFyTW9kdWxlIH0gZnJvbSBcIi4uLy4uL3Ftcy1hbmd1bGFyLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBRTVNCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUU1TTGlzdE1vZHVsZSB9IGZyb20gXCIuLi9saXN0L2xpc3QubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWIgfSBmcm9tIFwiLi9icmVhZGNydW1iXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJEaXJlY3Rpb25JY29uRGlyZWN0aXZlIH0gZnJvbSBcIi4vYnJlYWRjcnVtYi1kaXJlY3Rpb24taWNvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUgfSBmcm9tIFwiLi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlXCI7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFFtc0FuZ3VsYXJNb2R1bGUsXHJcbiAgICBRTVNMaXN0TW9kdWxlLFxyXG4gICAgUU1TQnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdFNpZGVuYXZNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBRTVNCcmVhZGNydW1iLFxyXG4gICAgUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsXHJcbiAgICBRTVNCcmVhZGNydW1iRGlyZWN0aW9uSWNvbkRpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUU1TQnJlYWRjcnVtYixcclxuICAgIFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLFxyXG4gICAgUU1TQnJlYWRjcnVtYkRpcmVjdGlvbkljb25EaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNCcmVhZGNydW1iTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,7 @@
1
+ export var BreadcrumbType;
2
+ (function (BreadcrumbType) {
3
+ BreadcrumbType["normal"] = "normal";
4
+ BreadcrumbType["table"] = "table";
5
+ BreadcrumbType["mobile"] = "mobile";
6
+ })(BreadcrumbType || (BreadcrumbType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvZW51bS9icmVhZGNydW1iLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN0QixtQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQnJlYWRjcnVtYlR5cGUge1xyXG4gICAgbm9ybWFsID0gJ25vcm1hbCcsXHJcbiAgICB0YWJsZSA9ICd0YWJsZScsXHJcbiAgICBtb2JpbGUgPSAnbW9iaWxlJ1xyXG59Il19
@@ -1,3 +1,3 @@
1
1
  export class BreadcrumbNode {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvbW9kZWwvYnJlYWRjcnVtYi1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0NBVzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbUljb25UeXBlIH0gZnJvbSBcIi4uLy4uL3JlbGF0ZWQvY29tbW9uL2l0ZW0taWNvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iTm9kZSB7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICBpY29uQ29sb3I6IHN0cmluZztcclxuICAgIGl0ZW1JY29uOiBzdHJpbmc7XHJcbiAgICBpdGVtSWNvblN2Zzogc3RyaW5nO1xyXG4gICAgaXRlbUljb25QYXRoOiBzdHJpbmc7XHJcbiAgICBpdGVtSWNvbkJhc2U2NDogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNPdmVyZmxvdz86IGJvb2xlYW47XHJcbiAgICBpc1Nob3c/OiBib29sZWFuO1xyXG4gICAgZGlzcGxheVR5cGU/OiBJdGVtSWNvblR5cGU7XHJcbn1cclxuICAiXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvbW9kZWwvYnJlYWRjcnVtYi1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0NBVzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbUljb25UeXBlIH0gZnJvbSBcIi4uLy4uL3JlbGF0ZWQvY29tbW9uL2l0ZW0taWNvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iTm9kZSB7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICBpY29uQ29sb3I6IHN0cmluZztcclxuICAgIGl0ZW1JY29uOiBzdHJpbmc7XHJcbiAgICBpdGVtSWNvblN2Zzogc3RyaW5nO1xyXG4gICAgaXRlbUljb25QYXRoOiBzdHJpbmc7XHJcbiAgICBpdGVtSWNvbkJhc2U2NDogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNPdmVyZmxvdz86IGJvb2xlYW47XHJcbiAgICBpc1Nob3c/OiBib29sZWFuO1xyXG4gICAgZGlzcGxheVR5cGU/OiBJdGVtSWNvblR5cGU7XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -65,4 +65,4 @@ QMSComment.propDecorators = {
65
65
  sourceLog: [{ type: Input }],
66
66
  updateLog: [{ type: Output }]
67
67
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb21tZW50L2NvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQVV0RixNQUFNLE9BQU8sVUFBVTtJQU1uQixZQUFtQixLQUE4QjtRQUE5QixVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUp2QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUlZLENBQUM7SUFFdEQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssTUFBTSxRQUFRLElBQUksT0FBTyxFQUFFO1lBQzVCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsRUFBRTthQUNoQztpQkFBTTtnQkFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxRDtTQUNKO1FBQ0QsbURBQW1EO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDZixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBVTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBVTtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN6RCxDQUFDOzs7WUE5REosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix3ekRBQTJCO2dCQUUzQixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO2dCQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVRRLHVCQUF1Qjs7O3dCQVczQixLQUFLO3dCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnQgdGhlIGNvcmUgYW5ndWxhciBzZXJ2aWNlcy5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvZ3MgfSBmcm9tIFwiLi9jb21tZW50LWxvZy5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Ftcy1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnY29tbWVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydjb21tZW50LnNjc3MnXSxcclxuICAgIGhvc3Q6IHsgJ2NsYXNzJzogJ3Ftcy1jb21tZW50JyB9LFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDb21tZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgc291cmNlTG9nOiBMb2dzW107XHJcbiAgICBAT3V0cHV0KCkgdXBkYXRlTG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIExBTkc6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRQcm9wID0gY2hhbmdlc1twcm9wTmFtZV07XHJcbiAgICAgICAgICAgIGNvbnN0IHRvID0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlZFByb3AuY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKGNoYW5nZWRQcm9wLmlzRmlyc3RDaGFuZ2UoKSkge1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZnJvbSA9IEpTT04uc3RyaW5naWZ5KGNoYW5nZWRQcm9wLnByZXZpb3VzVmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMuc291cmNlTG9nID0gY2hhbmdlcy5zb3VyY2VMb2cuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudHJhbnMuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFucy5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93Q29udGVudChjb250ZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvKD86XFxyXFxufFxccnxcXG4pL2csICc8YnI+Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgZWRpdENvbnRlbnQoaXRlbTogTG9ncykge1xyXG4gICAgICAgIGl0ZW0uZWRpdGVkQ29udGVudCA9IGl0ZW0uY29udGVudDtcclxuICAgICAgICBpdGVtLmlzRWRpdCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZUVkaXRlZENvbnRlbnQoaXRlbTogTG9ncykge1xyXG4gICAgICAgIGl0ZW0uY29udGVudCA9IGl0ZW0uZWRpdGVkQ29udGVudDtcclxuICAgICAgICBpdGVtLmlzRWRpdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlTG9nLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSXRlbShpdGVtOiBMb2dzKSB7XHJcbiAgICAgICAgaXRlbS5pc0RlbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51cGRhdGVMb2cuZW1pdChpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdyZXRJdGVtKGl0ZW06IExvZ3MpIHtcclxuICAgICAgICBpdGVtLmlzRGVsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy51cGRhdGVMb2cuZW1pdChpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0ludmFsaWRDb250ZW50KGl0ZW06IExvZ3MpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5lZGl0ZWRDb250ZW50LnRyaW0oKSA9PSAnJyA/IHRydWUgOiBmYWxzZVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb21tZW50L2NvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQVV0RixNQUFNLE9BQU8sVUFBVTtJQU1uQixZQUFtQixLQUE4QjtRQUE5QixVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUp2QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUt6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssTUFBTSxRQUFRLElBQUksT0FBTyxFQUFFO1lBQzVCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsRUFBRTthQUNoQztpQkFBTTtnQkFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxRDtTQUNKO1FBQ0QsbURBQW1EO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDZixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBVTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBVTtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN6RCxDQUFDOzs7WUEvREosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix3ekRBQTJCO2dCQUUzQixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO2dCQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVRRLHVCQUF1Qjs7O3dCQVczQixLQUFLO3dCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnQgdGhlIGNvcmUgYW5ndWxhciBzZXJ2aWNlcy5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvZ3MgfSBmcm9tIFwiLi9jb21tZW50LWxvZy5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Ftcy1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnY29tbWVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydjb21tZW50LnNjc3MnXSxcclxuICAgIGhvc3Q6IHsgJ2NsYXNzJzogJ3Ftcy1jb21tZW50JyB9LFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDb21tZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgc291cmNlTG9nOiBMb2dzW107XHJcbiAgICBAT3V0cHV0KCkgdXBkYXRlTG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIExBTkc6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VkUHJvcCA9IGNoYW5nZXNbcHJvcE5hbWVdO1xyXG4gICAgICAgICAgICBjb25zdCB0byA9IEpTT04uc3RyaW5naWZ5KGNoYW5nZWRQcm9wLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkUHJvcC5pc0ZpcnN0Q2hhbmdlKCkpIHtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZyb20gPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VkUHJvcC5wcmV2aW91c1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLnNvdXJjZUxvZyA9IGNoYW5nZXMuc291cmNlTG9nLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnRyYW5zLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSgpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0NvbnRlbnQoY29udGVudCkge1xyXG4gICAgICAgIHJldHVybiBjb250ZW50LnJlcGxhY2UoLyg/OlxcclxcbnxcXHJ8XFxuKS9nLCAnPGJyPicpO1xyXG4gICAgfVxyXG5cclxuICAgIGVkaXRDb250ZW50KGl0ZW06IExvZ3MpIHtcclxuICAgICAgICBpdGVtLmVkaXRlZENvbnRlbnQgPSBpdGVtLmNvbnRlbnQ7XHJcbiAgICAgICAgaXRlbS5pc0VkaXQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVFZGl0ZWRDb250ZW50KGl0ZW06IExvZ3MpIHtcclxuICAgICAgICBpdGVtLmNvbnRlbnQgPSBpdGVtLmVkaXRlZENvbnRlbnQ7XHJcbiAgICAgICAgaXRlbS5pc0VkaXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxvZy5lbWl0KGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUl0ZW0oaXRlbTogTG9ncykge1xyXG4gICAgICAgIGl0ZW0uaXNEZWxldGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlTG9nLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVncmV0SXRlbShpdGVtOiBMb2dzKSB7XHJcbiAgICAgICAgaXRlbS5pc0RlbGV0ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlTG9nLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJbnZhbGlkQ29udGVudChpdGVtOiBMb2dzKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uZWRpdGVkQ29udGVudC50cmltKCkgPT0gJycgPyB0cnVlIDogZmFsc2VcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -71,6 +71,7 @@ export class QMSNavigationDrawerComponent {
71
71
  this.activeNode = node.id;
72
72
  this.onClickNodeEvent.emit(node.id);
73
73
  }
74
+ this.onClickToggleNode(node);
74
75
  }
75
76
  onOver(node) {
76
77
  this.hoverNode = node;
@@ -326,7 +327,7 @@ export class QMSNavigationDrawerComponent {
326
327
  QMSNavigationDrawerComponent.decorators = [
327
328
  { type: Component, args: [{
328
329
  selector: 'app-qms-navigation-drawer',
329
- template: "<mat-tree class=\"qms-navigation-drawer-container\" [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" cdkDropList\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListDisabled]=\"dragDropListDisabled\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node [class.pr-34]=\"showAddIcon\" *matTreeNodeDef=\"let node\" (mouseover)=\"onOver(node)\" matTreeNodePadding\r\n matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"{'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *cdkDragPreview class=\"node-preview-item\">{{ node.name }}</div>\r\n <div *ngIf=\"!node.isReadOnly\" class=\"tree-content\" (click)=\"onClickNode(node, true)\">\r\n <button tabindex=\"-1\" qms-btn-outlined disabled class=\"border-0 bg-transparent\">\r\n <img class=\"img-icon\" [src]=\"faIconPath\" alt=\"\" />\r\n </button>\r\n <div class=\"span-text\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && isHover)}\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\" mode=\"dark\" position=\"bottom\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mode=\"dark\" position=\"bottom\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node [class.pr-34]=\"showAddIcon\" *matTreeNodeDef=\"let node;when: hasChild\" (mouseover)=\"onOver(node)\"\r\n matTreeNodePadding matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"\r\n {'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *cdkDragPreview class=\"node-preview-item\">{{ node.name }}</div>\r\n <div *ngIf=\"!node.isReadOnly\" class=\"tree-content\" (keydown)=\"onKeyDownNode($event, node)\" matTreeNodeToggle\r\n (click)=\"onClickNode(node, true)\">\r\n <button matTreeNodeToggle (click)=\"onClickNode(node, false);onClickToggleNode(node)\" tabindex=\"-1\"\r\n class=\"button-icon collapse-expand-icon\" qms-btn-icon [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror arrow-icon left-icon\">\r\n {{treeControl.isExpanded(node) ? 'expand_less' : 'expand_more'}}\r\n </mat-icon>\r\n </button>\r\n <div class=\"span-text\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && isHover)}\"\r\n (mouseenter)=\"setHoverFavorite(node.id)\" (mouseleave)=\"setHoverFavorite(null)\" mode=\"dark\" position=\"below\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" mode=\"dark\" position=\"bottom\" (click)=\"addNewNode(node.id, $event)\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>",
330
+ template: "\r\n<mat-tree class=\"qms-navigation-drawer-container\" [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" cdkDropList\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListDisabled]=\"dragDropListDisabled\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node [class.pr-34]=\"showAddIcon\" *matTreeNodeDef=\"let node\" (mouseover)=\"onOver(node)\" matTreeNodePadding matTreeNodePaddingIndent=\"34\"\r\n cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\" (mouseleave)=\"dragHoverEnd()\"\r\n (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"{'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *cdkDragPreview class=\"node-preview-item\">{{ node.name }}</div>\r\n <div *ngIf=\"!node.isReadOnly\" class=\"tree-content\" (click)=\"onClickNode(node, true)\">\r\n <button tabindex=\"-1\" qms-btn-outlined disabled class=\"border-0 bg-transparent\">\r\n <img class=\"img-icon\" [src]=\"faIconPath\" alt=\"\" />\r\n </button>\r\n <div class=\"span-text\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && isHover)}\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\" mode=\"dark\" position=\"bottom\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mode=\"dark\" position=\"bottom\" qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node [class.pr-34]=\"showAddIcon\" *matTreeNodeDef=\"let node;when: hasChild\" (mouseover)=\"onOver(node)\" matTreeNodePadding\r\n matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"\r\n {'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *cdkDragPreview class=\"node-preview-item\">{{ node.name }}</div>\r\n <div *ngIf=\"!node.isReadOnly\" class=\"tree-content\"\r\n (keydown)=\"onKeyDownNode($event, node)\" matTreeNodeToggle (click)=\"onClickNode(node, true)\" >\r\n <button matTreeNodeToggle (click)=\"onClickNode(node, false)\" tabindex=\"-1\" class=\"button-icon collapse-expand-icon\" qms-btn-icon [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror arrow-icon left-icon\">\r\n {{treeControl.isExpanded(node) ? 'expand_less' : 'expand_more'}}\r\n </mat-icon>\r\n </button>\r\n <div class=\"span-text\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && isHover)}\"\r\n (mouseenter)=\"setHoverFavorite(node.id)\" (mouseleave)=\"setHoverFavorite(null)\" mode=\"dark\" position=\"below\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" mode=\"dark\" position=\"bottom\" (click)=\"addNewNode(node.id, $event)\" qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
330
331
  styles: ["::ng-deep mat-tree.qms-navigation-drawer-container{padding:.25rem!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{min-width:272px!important;height:48px!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{min-height:34px;cursor:pointer!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.active{background-color:#f2f7fd;color:#1954a9!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.active img{filter:opacity(.5) drop-shadow(0 0 0 #1954A9)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.active:hover{background-color:#e5eefb!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content{width:100%;position:relative;align-items:center}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .arrow-icon{color:#00324e}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon{color:#3e57b7}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .add-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .left-icon{color:#919191}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node{padding-left:0;position:static;height:32px;left:calc(50% - 216px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#1954a9;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node ::ng-deep mat-icon{color:#1954a9}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node:hover{background-color:#e5eefb!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node{position:static;height:32px;left:calc(50% - 176px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#323232;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content{display:flex}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon{width:40px;height:40px;line-height:30px!important;border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon:hover{border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .img-icon{max-height:25px;max-width:25px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon{position:absolute;right:-34px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon mat-icon{top:3px;right:3px;border-radius:50%;color:rgba(0,0,0,.6)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .favorite{color:#b13514!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .not-favorite{color:rgba(0,0,0,.6)!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .btn-favorite{right:6px;color:unset}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .space-icon{position:absolute;top:-5px;left:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text{position:relative;overflow:hidden;text-overflow:ellipsis;padding-left:7px;max-width:calc(100% - 56px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text:after{content:\"\";display:block;clear:both}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node:first-child{margin:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:hover{background:#00000014}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:active{background:#0000001f}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node:active{background:#f2f7fd}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node:hover .span-text{max-width:calc(100% - 96px)}::ng-deep mat-tree.qms-navigation-drawer-container .pr-34{padding-right:34px}.node-preview-item{display:flex;background-color:#0000001f;min-width:272px!important;height:48px!important;margin:0 auto;align-items:center;padding:0 16px}"]
331
332
  },] }
332
333
  ];
@@ -350,4 +351,4 @@ QMSNavigationDrawerComponent.propDecorators = {
350
351
  addNodeTooltip: [{ type: Input }],
351
352
  activeNode: [{ type: Input }]
352
353
  };
353
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9xbXMtbmF2aWdhdGlvbi1kcmF3ZXIvcW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpGLE9BQU8sVUFBVSxNQUFNLHdEQUF3RCxDQUFDO0FBUWhGLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFHUyxhQUFRLEdBQW9CLEVBQUUsQ0FBQztRQUc5QixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDekIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEQscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0QsdUJBQWtCLEdBQVcsbUJBQW1CLENBQUM7UUFDakQsMEJBQXFCLEdBQVcsZ0JBQWdCLENBQUM7UUFDakQsbUJBQWMsR0FBVyxtQkFBbUIsQ0FBQztRQUM3QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWpDLG9CQUFlLEdBQUcsSUFBSSxHQUFH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Q0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7O1lBalhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxra0tBQXFEOzthQUV0RDs7Ozt1QkFNRSxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxNQUFNOytCQUNOLE1BQU07Z0NBQ04sTUFBTTswQkFDTixLQUFLO3dCQUNMLEtBQUs7bUNBQ0wsS0FBSzswQkFDTCxNQUFNO3lCQUNOLEtBQUs7eUJBQ0wsS0FBSzsrQkFDTCxNQUFNO2lDQUNOLEtBQUs7b0NBQ0wsS0FBSzs2QkFDTCxLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSwgTWF0VHJlZUZsYXR0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IGd1aWRIZWxwZXIgZnJvbSAnLi4vLi4vcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2hlbHBlci9ndWlkSGVscGVyJztcclxuaW1wb3J0IHsgRmxhdE5vZGUsIFRyZWVOb2RlIH0gZnJvbSAnLi9tb2RlbHMvcW1zLW5hdmlnYXRpb24tZHJhd2VyLm1vZGVsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcW1zLW5hdmlnYXRpb24tZHJhd2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xbXMtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU05hdmlnYXRpb25EcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy50cmVlRGF0YTtcclxuICB9XHJcbiAgQElucHV0KCkgdHJlZURhdGE6IEFycmF5PFRyZWVOb2RlPiA9IFtdO1xyXG4gIEBJbnB1dCgpIHNob3dGYXZvcml0ZUljb246IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZmF2b3JpdGVNb2RlOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBhZGROb2RlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhZGRGYXZvcml0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZHJvZ0xvY2F0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHNob3dBZGRJY29uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBvcGVuTm9kZXM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgZHJhZ0Ryb3BMaXN0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgbm9kZXNFeHBhbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGZpbHRlclRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBmYUljb25QYXRoOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIG9uQ2xpY2tOb2RlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGFkZEZhdm9yaXRlVG9vbHRpcDogc3RyaW5nID0gJ0xlZ2cgdGlsIGZhdm9yaXR0JztcclxuICBASW5wdXQoKSBkZWxldGVGYXZvcml0ZVRvb2x0aXA6IHN0cmluZyA9ICdTbGV0dCBmYXZvcml0dCc7XHJcbiAgQElucHV0KCkgYWRkTm9kZVRvb2x0aXA6IHN0cmluZyA9ICdMZWdnIHRpbCBsb2thc2pvbic7XHJcbiAgQElucHV0KCkgYWN0aXZlTm9kZTogc3RyaW5nID0gJyc7XHJcbiAgYWN0aXZlTm9kZUxvY2F0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgZXhwYW5kZWROb2RlU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgZHJhZ2dpbmcgPSBmYWxzZTtcclxuICBleHBhbmRUaW1lb3V0OiBhbnk7XHJcbiAgZXhwYW5kRGVsYXkgPSAxMDAwO1xyXG4gIGhvdmVyRmF2b3JpdGVOb2RlSWQ6IHN0cmluZztcclxuICBpc0hvdmVyID0gZmFsc2U7XHJcbiAgdHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPEZsYXROb2RlPihub2RlID0+IG5vZGUubGV2ZWwsIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlKTtcclxuICB0cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIodGhpcy5fdHJhbnNmb3JtZXIsIG5vZGUgPT4gbm9kZS5sZXZlbCwgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUsIG5vZGUgPT4gbm9kZS5jaGlsZHJlbik7XHJcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UodGhpcy50cmVlQ29udHJvbCwgdGhpcy50cmVlRmxhdHRlbmVyKTtcclxuICBob3Zlck5vZGU6IGFueSA9IHt9O1xyXG4gIGV4cGFuZGluZ05vZGVzOiBGbGF0Tm9kZVtdID0gW107XHJcblxyXG4gIF90cmFuc2Zvcm1lcihub2RlOiBUcmVlTm9kZSwgbGV2ZWw6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXhwYW5kYWJsZTogISFub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCxcclxuICAgICAgbmFtZTogbm9kZS5uYW1lLFxyXG4gICAgICBsZXZlbCxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGlzUmVhZE9ubHk6IG5vZGUuaXNSZWFkT25seSxcclxuICAgICAgZmF2b3JpdGU6IG5vZGUuZmF2b3JpdGUsXHJcbiAgICAgIGRpc2FibGVkOiBub2RlLmRpc2FibGVkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5Ob2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZCh0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKHAgPT4gcC5pZC50b1N0cmluZygpID09PSBpdGVtKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogRmxhdE5vZGUpID0+IG5vZGUuZXhwYW5kYWJsZTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhO1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVGV4dCkge1xyXG4gICAgICB0aGlzLmV4cGFuZE5vZGVTZWFyY2hlZCh0aGlzLnRyZWVEYXRhLCB0aGlzLmZpbHRlclRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLm9wZW5Ob2Rlcykge1xyXG4gICAgICB0aGlzLm9wZW5Ob2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQocCA9PiBwLmlkLnRvU3RyaW5nKCkgPT09IGl0ZW0pKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBhbmROb2RlU2VhcmNoZWQobm9kZXNPcmlnaW46IFRyZWVOb2RlW10sIHR4dFNlYXJjaDogc3RyaW5nKSB7XHJcbiAgICBub2Rlc09yaWdpbi5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoIWl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHR4dFNlYXJjaC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQocCA9PiBwLmlkLnRvU3RyaW5nKCkgPT09IGl0ZW0uaWQpKTtcclxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGFuZE5vZGVTZWFyY2hlZChpdGVtLmNoaWxkcmVuLCB0eHRTZWFyY2gpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrTm9kZShub2RlOiBUcmVlTm9kZSwgc2V0QWN0aXZlTm9kZT86IGJvb2xlYW4pIHtcclxuICAgIGlmIChzZXRBY3RpdmVOb2RlKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IG5vZGUuaWQ7XHJcbiAgICAgIHRoaXMub25DbGlja05vZGVFdmVudC5lbWl0KG5vZGUuaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25PdmVyKG5vZGU6IGFueSkge1xyXG4gICAgdGhpcy5ob3Zlck5vZGUgPSBub2RlO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3Tm9kZShub2RlSWQ6IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5hZGROb2RlRXZlbnQuZW1pdChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgYWRkRmF2b3JpdGVOb2RlKG5vZGVJZDogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmFkZEZhdm9yaXRlRXZlbnQuZW1pdChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVOb2RlTG9jYXRpb24pIHtcclxuICAgICAgdGhpcy5hY3RpdmVOb2RlTG9jYXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgY29uc3RydWN0cyBhbiBhcnJheSBvZiBub2RlcyB0aGF0IG1hdGNoZXMgdGhlIERPTSxcclxuICAgKiBhbmQgY2FsbHMgcmVtZW1iZXJFeHBhbmRlZFRyZWVOb2RlcyB0byBwZXJzaXN0IGV4cGFuZCBzdGF0ZVxyXG4gICAqL1xyXG4gIHZpc2libGVOb2RlcygpOiBUcmVlTm9kZVtdIHtcclxuICAgIHRoaXMucmVtZW1iZXJFeHBhbmRlZFRyZWVOb2Rlcyh0aGlzLnRyZWVDb250cm9sLCB0aGlzLmV4cGFuZGVkTm9kZVNldCk7XHJcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuXHJcbiAgICBmdW5jdGlvbiBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGU6IFRyZWVOb2RlLCBleHBhbmRlZDogU2V0PHN0cmluZz4pIHtcclxuICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XHJcbiAgICAgIGlmIChleHBhbmRlZC5oYXMobm9kZS5pZCkpIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBhZGRFeHBhbmRlZENoaWxkcmVuKGNoaWxkLCBleHBhbmRlZCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKG5vZGUgPT4ge1xyXG4gICAgICBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGUsIHRoaXMuZXhwYW5kZWROb2RlU2V0KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSB0aGUgZHJvcCAtIGhlcmUgd2UgcmVhcnJhbmdlIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBkcm9wIGV2ZW50LFxyXG4gICAqIHRoZW4gcmVidWlsZCB0aGUgdHJlZS5cclxuICAgKiAqL1xyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgLy8gU2F2ZSBkYXRhIGZvciBiYWNrdXBcclxuICAgIGNvbnN0IG5vZGUgPSBldmVudC5pdGVtLmRhdGE7XHJcbiAgICBjb25zdCBiYWNrdXBDaGFuZ2VkTm9kZTogVHJlZU5vZGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG5vZGUpKTtcclxuICAgIGNvbnN0IGJhY2t1cERhdGE6IFRyZWVOb2RlW10gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YVNvdXJjZS5kYXRhKSk7XHJcblxyXG4gICAgLy8gaWdub3JlIGRyb3BzIG91dHNpZGUgb2YgdGhlIHRyZWVcclxuICAgIGlmICghZXZlbnQuaXNQb2ludGVyT3ZlckNvbnRhaW5lcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBjb25zdHJ1Y3QgYSBsaXN0IG9mIHZpc2libGUgbm9kZXMsIHRoaXMgd2lsbCBtYXRjaCB0aGUgRE9NLlxyXG4gICAgLy8gdGhlIGNka0RyYWdEcm9wIGV2ZW50LmN1cnJlbnRJbmRleCBqaXZlcyB3aXRoIHZpc2libGUgbm9kZXMuXHJcbiAgICAvLyBpdCBjYWxscyByZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzIHRvIHBlcnNpc3QgZXhwYW5kIHN0YXRlXHJcbiAgICBjb25zdCB2aXNpYmxlTm9kZXMgPSB0aGlzLnZpc2libGVOb2RlcygpO1xyXG5cclxuICAgIC8vIGRlZXAgY2xvbmUgdGhlIGRhdGEgc291cmNlIHNvIHdlIGNhbiBtdXRhdGUgaXRcclxuICAgIGNvbnN0IGNoYW5nZWREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGFTb3VyY2UuZGF0YSkpO1xyXG5cclxuICAgIC8vIHJlY3Vyc2l2ZSBmaW5kIGZ1bmN0aW9uIHRvIGZpbmQgc2libGluZ3Mgb2Ygbm9kZVxyXG4gICAgZnVuY3Rpb24gZmluZE5vZGVTaWJsaW5ncyhhcnI6IEFycmF5PGFueT4sIGlkOiBzdHJpbmcpOiBBcnJheTxhbnk+IHtcclxuICAgICAgbGV0IHJlc3VsdCwgc3ViUmVzdWx0O1xyXG4gICAgICBhcnIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gaWQpIHtcclxuICAgICAgICAgIHJlc3VsdCA9IGFycjtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgICAgIHN1YlJlc3VsdCA9IGZpbmROb2RlU2libGluZ3MoaXRlbS5jaGlsZHJlbiwgaWQpO1xyXG4gICAgICAgICAgaWYgKHN1YlJlc3VsdCkgeyByZXN1bHQgPSBzdWJSZXN1bHQ7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJlbW92ZSB0aGUgbm9kZSBmcm9tIGl0cyBvbGQgcGxhY2VcclxuICAgIGNvbnN0IHNpYmxpbmdzID0gZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZS5pZCk7XHJcbiAgICBjb25zdCBzaWJsaW5nSW5kZXggPSBzaWJsaW5ncy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBub2RlLmlkKTtcclxuICAgIC8vIGNvbnN0IG5vZGVUb0luc2VydDogVHJlZU5vZGUgPSBzaWJsaW5ncy5zcGxpY2Uoc2libGluZ0luZGV4LCAxKVswXTtcclxuICAgIGNvbnN0IG5vZGVUb0luc2VydCA9IHNpYmxpbmdzLnNwbGljZShzaWJsaW5nSW5kZXgsIDEpWzBdO1xyXG4gICAgLy8gZGV0ZXJtaW5lIHdoZXJlIHRvIGluc2VydCB0aGUgbm9kZVxyXG4gICAgY29uc3Qgbm9kZUF0RGVzdCA9IHZpc2libGVOb2Rlc1tldmVudC5jdXJyZW50SW5kZXhdO1xyXG4gICAgaWYgKG5vZGVBdERlc3QuaWQgPT09IG5vZGVUb0luc2VydC5pZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBkZXRlcm1pbmUgZHJvcCBpbmRleCByZWxhdGl2ZSB0byBkZXN0aW5hdGlvbiBhcnJheVxyXG4gICAgbGV0IHJlbGF0aXZlSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7IC8vIGRlZmF1bHQgaWYgbm8gcGFyZW50XHJcbiAgICBjb25zdCBub2RlQXREZXN0RmxhdE5vZGUgPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbm9kZUF0RGVzdC5pZCA9PT0gbi5pZCk7XHJcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZUF0RGVzdEZsYXROb2RlKTtcclxuXHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gdmlzaWJsZU5vZGVzLmZpbmRJbmRleChuID0+IG4uaWQgPT09IHBhcmVudC5pZCkgKyAxO1xyXG4gICAgICByZWxhdGl2ZUluZGV4ID0gZXZlbnQuY3VycmVudEluZGV4IC0gcGFyZW50SW5kZXg7XHJcbiAgICAgIC8vIHVwZGF0ZSBwYXJlbnRJZCBmb3Igbm9kZVRvSW5zZXJ0XHJcbiAgICAgIG5vZGVUb0luc2VydC5wYXJlbnRJZCA9IHBhcmVudC5pZDtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlVG9JbnNlcnQucGFyZW50SWQgPSBndWlkSGVscGVyLmVtcHR5O1xyXG4gICAgfVxyXG4gICAgLy8gdXBkYXRlIG5ldyBvcmRlciBmb3Igbm9kZVRvSW5zZXJ0XHJcbiAgICBub2RlVG9JbnNlcnQub3JkZXIgPSByZWxhdGl2ZUluZGV4O1xyXG4gICAgLy8gaW5zZXJ0IG5vZGVcclxuICAgIGNvbnN0IG5ld1NpYmxpbmdzID0gZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZUF0RGVzdC5pZCk7XHJcbiAgICBpZiAoIW5ld1NpYmxpbmdzKSB7IHJldHVybjsgfVxyXG4gICAgbmV3U2libGluZ3Muc3BsaWNlKHJlbGF0aXZlSW5kZXgsIDAsIG5vZGVUb0luc2VydCk7XHJcblxyXG4gICAgLy8gcmVidWlsZCB0cmVlIHdpdGggbXV0YXRlZCBkYXRhXHJcbiAgICB0aGlzLnJlYnVpbGRUcmVlRm9yRGF0YShjaGFuZ2VkRGF0YSk7XHJcblxyXG4gICAgLy8gdXBkYXRlIE5ldyBMb2NhdGlvbiBPcmRlciBmb3IgbmV3IGluc2VydCBub2RlXHJcbiAgICB0aGlzLnVwZGF0ZU5ld09yZGVyRm9yTm9kZVNpYmxpbmdzKG5ld1NpYmxpbmdzKTtcclxuXHJcbiAgICB0aGlzLmRyb2dMb2NhdGlvbkV2ZW50LmVtaXQoe1xyXG4gICAgICBuZXdTaWJsaW5nczogbmV3U2libGluZ3MsXHJcbiAgICAgIGNoYW5nZWROb2RlOiBiYWNrdXBDaGFuZ2VkTm9kZSxcclxuICAgICAgb2xkRGF0YVNvdXJjZTogYmFja3VwRGF0YVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5ld09yZGVyRm9yTm9kZVNpYmxpbmdzKG5ld1NpYmxpbmdzOiBhbnlbXSkge1xyXG4gICAgbGV0IG5ld09yZGVyID0gMDtcclxuICAgIG5ld1NpYmxpbmdzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGl0ZW0ub3JkZXIgPSBuZXdPcmRlcjtcclxuICAgICAgbmV3T3JkZXIgPSBuZXdPcmRlciArIDE7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRXhwZXJpbWVudGFsIC0gb3BlbmluZyB0cmVlIG5vZGVzIGFzIHlvdSBkcmFnIG92ZXIgdGhlbVxyXG4gICovXHJcbiAgZHJhZ1N0YXJ0KCkge1xyXG4gICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XHJcbiAgfVxyXG4gIGRyYWdFbmQoKSB7XHJcbiAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIGRyYWdIb3Zlcihub2RlOiBGbGF0Tm9kZSkge1xyXG4gICAgdGhpcy5pc0hvdmVyID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmV4cGFuZFRpbWVvdXQpO1xyXG4gICAgICB0aGlzLmV4cGFuZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZChub2RlKTtcclxuICAgICAgfSwgdGhpcy5leHBhbmREZWxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRyYWdIb3ZlckVuZCgpIHtcclxuICAgIHRoaXMuaXNIb3ZlciA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhwYW5kVGltZW91dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIGZvciBwZXJzaXN0aW5nIHRoZSB0cmVlIGV4cGFuZCBzdGF0ZVxyXG4gICAqIGFmdGVyIGJlaW5nIHJlYnVpbHRcclxuICAgKi9cclxuXHJcbiAgcmVidWlsZFRyZWVGb3JEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5yZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzKHRoaXMudHJlZUNvbnRyb2wsIHRoaXMuZXhwYW5kZWROb2RlU2V0KTtcclxuICAgIHRoaXMudHJlZURhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5mb3JnZXRNaXNzaW5nRXhwYW5kZWROb2Rlcyh0aGlzLnRyZWVDb250cm9sLCB0aGlzLmV4cGFuZGVkTm9kZVNldCk7XHJcbiAgICB0aGlzLmV4cGFuZE5vZGVzQnlJZCh0aGlzLnRyZWVDb250cm9sLmRhdGFOb2RlcywgQXJyYXkuZnJvbSh0aGlzLmV4cGFuZGVkTm9kZVNldCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzKFxyXG4gICAgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4sXHJcbiAgICBleHBhbmRlZE5vZGVTZXQ6IFNldDxzdHJpbmc+XHJcbiAgKSB7XHJcbiAgICBpZiAodHJlZUNvbnRyb2wuZGF0YU5vZGVzKSB7XHJcbiAgICAgIHRyZWVDb250cm9sLmRhdGFOb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRyZWVDb250cm9sLmlzRXhwYW5kYWJsZShub2RlKSAmJiB0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpKSB7XHJcbiAgICAgICAgICAvLyBjYXB0dXJlIGxhdGVzdCBleHBhbmRlZCBzdGF0ZVxyXG4gICAgICAgICAgZXhwYW5kZWROb2RlU2V0LmFkZChub2RlLmlkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcmdldE1pc3NpbmdFeHBhbmRlZE5vZGVzKFxyXG4gICAgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4sXHJcbiAgICBleHBhbmRlZE5vZGVTZXQ6IFNldDxzdHJpbmc+XHJcbiAgKSB7XHJcbiAgICBpZiAodHJlZUNvbnRyb2wuZGF0YU5vZGVzKSB7XHJcbiAgICAgIGV4cGFuZGVkTm9kZVNldC5mb3JFYWNoKChub2RlSWQpID0+IHtcclxuICAgICAgICAvLyBtYWludGFpbiBleHBhbmRlZCBub2RlIHN0YXRlXHJcbiAgICAgICAgaWYgKCF0cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZCgobikgPT4gbi5pZC50b1N0cmluZygpID09PSBub2RlSWQpKSB7XHJcbiAgICAgICAgICAvLyBpZiB0aGUgdHJlZSBkb2Vzbid0IGhhdmUgdGhlIHByZXZpb3VzIG5vZGUsIHJlbW92ZSBpdCBmcm9tIHRoZSBleHBhbmRlZCBsaXN0XHJcbiAgICAgICAgICBleHBhbmRlZE5vZGVTZXQuZGVsZXRlKG5vZGVJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwYW5kTm9kZXNCeUlkKGZsYXROb2RlczogRmxhdE5vZGVbXSwgaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKCFmbGF0Tm9kZXMgfHwgZmxhdE5vZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cclxuICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldChpZHMpO1xyXG4gICAgcmV0dXJuIGZsYXROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChpZFNldC5oYXMobm9kZS5pZC50b1N0cmluZygpKSkge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKG5vZGUpO1xyXG5cclxuICAgICAgICB0aGlzLmV4cGFuZGluZ05vZGVzLnB1c2gobm9kZSk7XHJcblxyXG4gICAgICAgIGxldCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZSk7XHJcbiAgICAgICAgd2hpbGUgKHBhcmVudCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQocGFyZW50KTtcclxuXHJcbiAgICAgICAgICB0aGlzLmV4cGFuZGluZ05vZGVzLnB1c2gocGFyZW50KTtcclxuXHJcbiAgICAgICAgICBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUocGFyZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlKG5vZGU6IEZsYXROb2RlKTogRmxhdE5vZGUgfCBudWxsIHtcclxuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IG5vZGUubGV2ZWw7XHJcbiAgICBpZiAoY3VycmVudExldmVsIDwgMSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5pbmRleE9mKG5vZGUpIC0gMTtcclxuICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpID49IDA7IGktLSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldO1xyXG4gICAgICBpZiAoY3VycmVudE5vZGUubGV2ZWwgPCBjdXJyZW50TGV2ZWwpIHtcclxuICAgICAgICByZXR1cm4gY3VycmVudE5vZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duTm9kZShldmVudDogYW55LCBub2RlKSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5vbkNsaWNrVG9nZ2xlTm9kZShub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xpY2tUb2dnbGVOb2RlKG5vZGUpIHtcclxuICAgIGlmICh0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkpIHtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICAgIHRoaXMuX2FkZEV4cGFuZGluZ05vZGUobm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmNvbGxhcHNlKG5vZGUpO1xyXG4gICAgICB0aGlzLl9yZW1vdmVFeHBhbmRpbmdOb2Rlcyhub2RlLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMubm9kZXNFeHBhbmQuZW1pdCh7IG5vZGUsIGlzRXhwYW5kOiB0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRIb3ZlckZhdm9yaXRlKGlkKSB7XHJcbiAgICB0aGlzLmhvdmVyRmF2b3JpdGVOb2RlSWQgPSBpZDtcclxuICB9XHJcblxyXG4gIGV4cGFuZE5vZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhwYW5kTm9kZXNMb29wKHRoaXMudHJlZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZXhwYW5kTm9kZXNMb29wKGRhdGE6IFRyZWVOb2RlW10pOiB2b2lkIHtcclxuICAgIGRhdGEuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgY29uc3QgZXhwYW5kaW5nTm9kZSA9IHRoaXMuZXhwYW5kaW5nTm9kZXMuc29tZSh4ID0+IHguaWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBpZiAoZXhwYW5kaW5nTm9kZSkge1xyXG4gICAgICAgIHRoaXMub25DbGlja1RvZ2dsZU5vZGUoZXhwYW5kaW5nTm9kZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgdGhpcy5fZXhwYW5kTm9kZXNMb29wKGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZEV4cGFuZGluZ05vZGUobm9kZTogRmxhdE5vZGUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5leHBhbmRpbmdOb2Rlcy5zb21lKHggPT4geC5pZCA9PT0gbm9kZS5pZCkpIHtcclxuICAgICAgdGhpcy5leHBhbmRpbmdOb2Rlcy5wdXNoKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtb3ZlRXhwYW5kaW5nTm9kZXMobm9kZUlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMgPSB0aGlzLmV4cGFuZGluZ05vZGVzLmZpbHRlcih4ID0+IHguaWQgIT09IG5vZGVJZCk7XHJcbiAgfVxyXG59Il19
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9xbXMtbmF2aWdhdGlvbi1kcmF3ZXIvcW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpGLE9BQU8sVUFBVSxNQUFNLHdEQUF3RCxDQUFDO0FBUWhGLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFHUyxhQUFRLEdBQW9CLEVBQUUsQ0FBQztRQUc5QixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDekIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEQscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0QsdUJBQWtCLEdBQVcsbUJBQW1CLENBQUM7UUFDakQsMEJBQXFCLEdBQVcsZ0JBQWdCLENBQUM7UUFDakQsbUJBQWMsR0FBVyxtQkFBbUIsQ0FBQztRQUM3QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWpDLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekYsa0JBQWEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1SCxlQUFVLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RSxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBb0JoQyxhQUFRLEdBQUcsQ0FBQyxDQUFTLEVBQUUsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBbER4RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUErQkQsWUFBWSxDQUFDLElBQWMsRUFBRSxLQUFhO1FBQ3hDLE9BQU87WUFDTCxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN2RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDekQ7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLFdBQXVCLEVBQUUsU0FBaUI7UUFDM0QsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO2dCQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzRixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7aUJBQ25EO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBYyxFQUFFLGFBQXVCO1FBQ2pELElBQUksYUFBYSxFQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVM7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVcsRUFBRSxLQUFVO1FBQ2hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXLEVBQUUsS0FBVTtRQUNyQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsU0FBUyxtQkFBbUIsQ0FBQyxJQUFjLEVBQUUsUUFBcUI7WUFDaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7U0FHSztJQUNMLElBQUksQ0FBQyxLQUE0QjtRQUMvQix1QkFBdUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsTUFBTSxpQkFBaUIsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWhGLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTlDLDhEQUE4RDtRQUM5RCwrREFBK0Q7UUFDL0QsNkRBQTZEO1FBQzdELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6QyxpREFBaUQ7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVyRSxtREFBbUQ7UUFDbkQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFlLEVBQUUsRUFBVTtZQUNuRCxJQUFJLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDdEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakIsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDbEIsTUFBTSxHQUFHLEdBQUcsQ0FBQztpQkFDZDtxQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ3hCLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLFNBQVMsRUFBRTt3QkFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO3FCQUFFO2lCQUN2QztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELHFDQUFxQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxzRUFBc0U7UUFDdEUsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekQscUNBQXFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEQsSUFBSSxVQUFVLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFbEQscURBQXFEO1FBQ3JELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyx1QkFBdUI7UUFDL0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdEQsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hFLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztZQUNqRCxtQ0FBbUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1NBRW5DO2FBQU07WUFDTCxZQUFZLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDMUM7UUFDRCxvQ0FBb0M7UUFDcEMsWUFBWSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDbkMsY0FBYztRQUNkLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM3QixXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbkQsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyQyxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixhQUFhLEVBQUUsVUFBVTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sNkJBQTZCLENBQUMsV0FBa0I7UUFDdEQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7WUFDdEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7O01BRUU7SUFDRixTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQWM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFFSCxrQkFBa0IsQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8seUJBQXlCLENBQy9CLFdBQXNDLEVBQ3RDLGVBQTRCO1FBRTVCLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRTtZQUN6QixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNyQyxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEUsZ0NBQWdDO29CQUNoQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDekM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLDBCQUEwQixDQUNoQyxXQUFzQyxFQUN0QyxlQUE0QjtRQUU1QixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDekIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNqQywrQkFBK0I7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRTtvQkFDbEUsK0VBQStFO29CQUMvRSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNoQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLFNBQXFCLEVBQUUsR0FBYTtRQUMxRCxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxNQUFNLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRWhDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUVqQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDckM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFjO1FBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxXQUFXLENBQUMsS0FBSyxHQUFHLFlBQVksRUFBRTtnQkFDcEMsT0FBTyxXQUFXLENBQUM7YUFDcEI7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVLEVBQUUsSUFBSTtRQUM1QixJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBRTtRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBZ0I7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLElBQUksYUFBYSxFQUFFO2dCQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDdkM7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNsQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN0QztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBYztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxNQUFjO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OztZQWxYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsb2hLQUFxRDs7YUFFdEQ7Ozs7dUJBTUUsS0FBSzsrQkFDTCxLQUFLOzJCQUNMLEtBQUs7MkJBQ0wsTUFBTTsrQkFDTixNQUFNO2dDQUNOLE1BQU07MEJBQ04sS0FBSzt3QkFDTCxLQUFLO21DQUNMLEtBQUs7MEJBQ0wsTUFBTTt5QkFDTixLQUFLO3lCQUNMLEtBQUs7K0JBQ0wsTUFBTTtpQ0FDTixLQUFLO29DQUNMLEtBQUs7NkJBQ0wsS0FBSzt5QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBndWlkSGVscGVyIGZyb20gJy4uLy4uL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9oZWxwZXIvZ3VpZEhlbHBlcic7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4vbW9kZWxzL3Ftcy1uYXZpZ2F0aW9uLWRyYXdlci5tb2RlbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXFtcy1uYXZpZ2F0aW9uLWRyYXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1uYXZpZ2F0aW9uLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcW1zLW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBRTVNOYXZpZ2F0aW9uRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMudHJlZURhdGE7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHRyZWVEYXRhOiBBcnJheTxUcmVlTm9kZT4gPSBbXTtcclxuICBASW5wdXQoKSBzaG93RmF2b3JpdGVJY29uOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZhdm9yaXRlTW9kZTogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgYWRkTm9kZUV2ZW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWRkRmF2b3JpdGVFdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRyb2dMb2NhdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG93QWRkSWNvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgb3Blbk5vZGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRyYWdEcm9wTGlzdERpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG5vZGVzRXhwYW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBmaWx0ZXJUZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmFJY29uUGF0aDogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBvbkNsaWNrTm9kZUV2ZW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhZGRGYXZvcml0ZVRvb2x0aXA6IHN0cmluZyA9ICdMZWdnIHRpbCBmYXZvcml0dCc7XHJcbiAgQElucHV0KCkgZGVsZXRlRmF2b3JpdGVUb29sdGlwOiBzdHJpbmcgPSAnU2xldHQgZmF2b3JpdHQnO1xyXG4gIEBJbnB1dCgpIGFkZE5vZGVUb29sdGlwOiBzdHJpbmcgPSAnTGVnZyB0aWwgbG9rYXNqb24nO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZU5vZGU6IHN0cmluZyA9ICcnO1xyXG4gIGFjdGl2ZU5vZGVMb2NhdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGV4cGFuZGVkTm9kZVNldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gIGRyYWdnaW5nID0gZmFsc2U7XHJcbiAgZXhwYW5kVGltZW91dDogYW55O1xyXG4gIGV4cGFuZERlbGF5ID0gMTAwMDtcclxuICBob3ZlckZhdm9yaXRlTm9kZUlkOiBzdHJpbmc7XHJcbiAgaXNIb3ZlciA9IGZhbHNlO1xyXG4gIHRyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4obm9kZSA9PiBub2RlLmxldmVsLCBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSk7XHJcbiAgdHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKHRoaXMuX3RyYW5zZm9ybWVyLCBub2RlID0+IG5vZGUubGV2ZWwsIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLCBub2RlID0+IG5vZGUuY2hpbGRyZW4pO1xyXG4gIGRhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKHRoaXMudHJlZUNvbnRyb2wsIHRoaXMudHJlZUZsYXR0ZW5lcik7XHJcbiAgaG92ZXJOb2RlOiBhbnkgPSB7fTtcclxuICBleHBhbmRpbmdOb2RlczogRmxhdE5vZGVbXSA9IFtdO1xyXG4gIFxyXG4gIF90cmFuc2Zvcm1lcihub2RlOiBUcmVlTm9kZSwgbGV2ZWw6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXhwYW5kYWJsZTogISFub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCxcclxuICAgICAgbmFtZTogbm9kZS5uYW1lLFxyXG4gICAgICBsZXZlbCxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGlzUmVhZE9ubHk6IG5vZGUuaXNSZWFkT25seSxcclxuICAgICAgZmF2b3JpdGU6IG5vZGUuZmF2b3JpdGUsXHJcbiAgICAgIGRpc2FibGVkOiBub2RlLmRpc2FibGVkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5Ob2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZCh0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKHAgPT4gcC5pZC50b1N0cmluZygpID09PSBpdGVtKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogRmxhdE5vZGUpID0+IG5vZGUuZXhwYW5kYWJsZTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhO1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVGV4dCkge1xyXG4gICAgICB0aGlzLmV4cGFuZE5vZGVTZWFyY2hlZCh0aGlzLnRyZWVEYXRhLCB0aGlzLmZpbHRlclRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLm9wZW5Ob2Rlcykge1xyXG4gICAgICB0aGlzLm9wZW5Ob2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQocCA9PiBwLmlkLnRvU3RyaW5nKCkgPT09IGl0ZW0pKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBhbmROb2RlU2VhcmNoZWQobm9kZXNPcmlnaW46IFRyZWVOb2RlW10sIHR4dFNlYXJjaDogc3RyaW5nKSB7XHJcbiAgICBub2Rlc09yaWdpbi5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoIWl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHR4dFNlYXJjaC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQocCA9PiBwLmlkLnRvU3RyaW5nKCkgPT09IGl0ZW0uaWQpKTtcclxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGFuZE5vZGVTZWFyY2hlZChpdGVtLmNoaWxkcmVuLCB0eHRTZWFyY2gpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrTm9kZShub2RlOiBUcmVlTm9kZSwgc2V0QWN0aXZlTm9kZT86IGJvb2xlYW4pIHtcclxuICAgIGlmIChzZXRBY3RpdmVOb2RlKXtcclxuICAgICAgdGhpcy5hY3RpdmVOb2RlID0gbm9kZS5pZDtcclxuICAgICAgdGhpcy5vbkNsaWNrTm9kZUV2ZW50LmVtaXQobm9kZS5pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2xpY2tUb2dnbGVOb2RlKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25PdmVyKG5vZGU6IGFueSkge1xyXG4gICAgdGhpcy5ob3Zlck5vZGUgPSBub2RlO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3Tm9kZShub2RlSWQ6IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5hZGROb2RlRXZlbnQuZW1pdChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgYWRkRmF2b3JpdGVOb2RlKG5vZGVJZDogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmFkZEZhdm9yaXRlRXZlbnQuZW1pdChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVOb2RlTG9jYXRpb24pIHtcclxuICAgICAgdGhpcy5hY3RpdmVOb2RlTG9jYXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgY29uc3RydWN0cyBhbiBhcnJheSBvZiBub2RlcyB0aGF0IG1hdGNoZXMgdGhlIERPTSxcclxuICAgKiBhbmQgY2FsbHMgcmVtZW1iZXJFeHBhbmRlZFRyZWVOb2RlcyB0byBwZXJzaXN0IGV4cGFuZCBzdGF0ZVxyXG4gICAqL1xyXG4gIHZpc2libGVOb2RlcygpOiBUcmVlTm9kZVtdIHtcclxuICAgIHRoaXMucmVtZW1iZXJFeHBhbmRlZFRyZWVOb2Rlcyh0aGlzLnRyZWVDb250cm9sLCB0aGlzLmV4cGFuZGVkTm9kZVNldCk7XHJcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuXHJcbiAgICBmdW5jdGlvbiBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGU6IFRyZWVOb2RlLCBleHBhbmRlZDogU2V0PHN0cmluZz4pIHtcclxuICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XHJcbiAgICAgIGlmIChleHBhbmRlZC5oYXMobm9kZS5pZCkpIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBhZGRFeHBhbmRlZENoaWxkcmVuKGNoaWxkLCBleHBhbmRlZCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKG5vZGUgPT4ge1xyXG4gICAgICBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGUsIHRoaXMuZXhwYW5kZWROb2RlU2V0KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSB0aGUgZHJvcCAtIGhlcmUgd2UgcmVhcnJhbmdlIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBkcm9wIGV2ZW50LFxyXG4gICAqIHRoZW4gcmVidWlsZCB0aGUgdHJlZS5cclxuICAgKiAqL1xyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgLy8gU2F2ZSBkYXRhIGZvciBiYWNrdXBcclxuICAgIGNvbnN0IG5vZGUgPSBldmVudC5pdGVtLmRhdGE7XHJcbiAgICBjb25zdCBiYWNrdXBDaGFuZ2VkTm9kZTogVHJlZU5vZGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG5vZGUpKTtcclxuICAgIGNvbnN0IGJhY2t1cERhdGE6IFRyZWVOb2RlW10gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YVNvdXJjZS5kYXRhKSk7XHJcblxyXG4gICAgLy8gaWdub3JlIGRyb3BzIG91dHNpZGUgb2YgdGhlIHRyZWVcclxuICAgIGlmICghZXZlbnQuaXNQb2ludGVyT3ZlckNvbnRhaW5lcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBjb25zdHJ1Y3QgYSBsaXN0IG9mIHZpc2libGUgbm9kZXMsIHRoaXMgd2lsbCBtYXRjaCB0aGUgRE9NLlxyXG4gICAgLy8gdGhlIGNka0RyYWdEcm9wIGV2ZW50LmN1cnJlbnRJbmRleCBqaXZlcyB3aXRoIHZpc2libGUgbm9kZXMuXHJcbiAgICAvLyBpdCBjYWxscyByZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzIHRvIHBlcnNpc3QgZXhwYW5kIHN0YXRlXHJcbiAgICBjb25zdCB2aXNpYmxlTm9kZXMgPSB0aGlzLnZpc2libGVOb2RlcygpO1xyXG5cclxuICAgIC8vIGRlZXAgY2xvbmUgdGhlIGRhdGEgc291cmNlIHNvIHdlIGNhbiBtdXRhdGUgaXRcclxuICAgIGNvbnN0IGNoYW5nZWREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGFTb3VyY2UuZGF0YSkpO1xyXG5cclxuICAgIC8vIHJlY3Vyc2l2ZSBmaW5kIGZ1bmN0aW9uIHRvIGZpbmQgc2libGluZ3Mgb2Ygbm9kZVxyXG4gICAgZnVuY3Rpb24gZmluZE5vZGVTaWJsaW5ncyhhcnI6IEFycmF5PGFueT4sIGlkOiBzdHJpbmcpOiBBcnJheTxhbnk+IHtcclxuICAgICAgbGV0IHJlc3VsdCwgc3ViUmVzdWx0O1xyXG4gICAgICBhcnIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gaWQpIHtcclxuICAgICAgICAgIHJlc3VsdCA9IGFycjtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgICAgIHN1YlJlc3VsdCA9IGZpbmROb2RlU2libGluZ3MoaXRlbS5jaGlsZHJlbiwgaWQpO1xyXG4gICAgICAgICAgaWYgKHN1YlJlc3VsdCkgeyByZXN1bHQgPSBzdWJSZXN1bHQ7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJlbW92ZSB0aGUgbm9kZSBmcm9tIGl0cyBvbGQgcGxhY2VcclxuICAgIGNvbnN0IHNpYmxpbmdzID0gZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZS5pZCk7XHJcbiAgICBjb25zdCBzaWJsaW5nSW5kZXggPSBzaWJsaW5ncy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBub2RlLmlkKTtcclxuICAgIC8vIGNvbnN0IG5vZGVUb0luc2VydDogVHJlZU5vZGUgPSBzaWJsaW5ncy5zcGxpY2Uoc2libGluZ0luZGV4LCAxKVswXTtcclxuICAgIGNvbnN0IG5vZGVUb0luc2VydCA9IHNpYmxpbmdzLnNwbGljZShzaWJsaW5nSW5kZXgsIDEpWzBdO1xyXG4gICAgLy8gZGV0ZXJtaW5lIHdoZXJlIHRvIGluc2VydCB0aGUgbm9kZVxyXG4gICAgY29uc3Qgbm9kZUF0RGVzdCA9IHZpc2libGVOb2Rlc1tldmVudC5jdXJyZW50SW5kZXhdO1xyXG4gICAgaWYgKG5vZGVBdERlc3QuaWQgPT09IG5vZGVUb0luc2VydC5pZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBkZXRlcm1pbmUgZHJvcCBpbmRleCByZWxhdGl2ZSB0byBkZXN0aW5hdGlvbiBhcnJheVxyXG4gICAgbGV0IHJlbGF0aXZlSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7IC8vIGRlZmF1bHQgaWYgbm8gcGFyZW50XHJcbiAgICBjb25zdCBub2RlQXREZXN0RmxhdE5vZGUgPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbm9kZUF0RGVzdC5pZCA9PT0gbi5pZCk7XHJcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZUF0RGVzdEZsYXROb2RlKTtcclxuXHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gdmlzaWJsZU5vZGVzLmZpbmRJbmRleChuID0+IG4uaWQgPT09IHBhcmVudC5pZCkgKyAxO1xyXG4gICAgICByZWxhdGl2ZUluZGV4ID0gZXZlbnQuY3VycmVudEluZGV4IC0gcGFyZW50SW5kZXg7XHJcbiAgICAgIC8vIHVwZGF0ZSBwYXJlbnRJZCBmb3Igbm9kZVRvSW5zZXJ0XHJcbiAgICAgIG5vZGVUb0luc2VydC5wYXJlbnRJZCA9IHBhcmVudC5pZDtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlVG9JbnNlcnQucGFyZW50SWQgPSBndWlkSGVscGVyLmVtcHR5O1xyXG4gICAgfVxyXG4gICAgLy8gdXBkYXRlIG5ldyBvcmRlciBmb3Igbm9kZVRvSW5zZXJ0XHJcbiAgICBub2RlVG9JbnNlcnQub3JkZXIgPSByZWxhdGl2ZUluZGV4O1xyXG4gICAgLy8gaW5zZXJ0IG5vZGVcclxuICAgIGNvbnN0IG5ld1NpYmxpbmdzID0gZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZUF0RGVzdC5pZCk7XHJcbiAgICBpZiAoIW5ld1NpYmxpbmdzKSB7IHJldHVybjsgfVxyXG4gICAgbmV3U2libGluZ3Muc3BsaWNlKHJlbGF0aXZlSW5kZXgsIDAsIG5vZGVUb0luc2VydCk7XHJcblxyXG4gICAgLy8gcmVidWlsZCB0cmVlIHdpdGggbXV0YXRlZCBkYXRhXHJcbiAgICB0aGlzLnJlYnVpbGRUcmVlRm9yRGF0YShjaGFuZ2VkRGF0YSk7XHJcblxyXG4gICAgLy8gdXBkYXRlIE5ldyBMb2NhdGlvbiBPcmRlciBmb3IgbmV3IGluc2VydCBub2RlXHJcbiAgICB0aGlzLnVwZGF0ZU5ld09yZGVyRm9yTm9kZVNpYmxpbmdzKG5ld1NpYmxpbmdzKTtcclxuXHJcbiAgICB0aGlzLmRyb2dMb2NhdGlvbkV2ZW50LmVtaXQoe1xyXG4gICAgICBuZXdTaWJsaW5nczogbmV3U2libGluZ3MsXHJcbiAgICAgIGNoYW5nZWROb2RlOiBiYWNrdXBDaGFuZ2VkTm9kZSxcclxuICAgICAgb2xkRGF0YVNvdXJjZTogYmFja3VwRGF0YVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5ld09yZGVyRm9yTm9kZVNpYmxpbmdzKG5ld1NpYmxpbmdzOiBhbnlbXSkge1xyXG4gICAgbGV0IG5ld09yZGVyID0gMDtcclxuICAgIG5ld1NpYmxpbmdzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGl0ZW0ub3JkZXIgPSBuZXdPcmRlcjtcclxuICAgICAgbmV3T3JkZXIgPSBuZXdPcmRlciArIDE7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRXhwZXJpbWVudGFsIC0gb3BlbmluZyB0cmVlIG5vZGVzIGFzIHlvdSBkcmFnIG92ZXIgdGhlbVxyXG4gICovXHJcbiAgZHJhZ1N0YXJ0KCkge1xyXG4gICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XHJcbiAgfVxyXG4gIGRyYWdFbmQoKSB7XHJcbiAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIGRyYWdIb3Zlcihub2RlOiBGbGF0Tm9kZSkge1xyXG4gICAgdGhpcy5pc0hvdmVyID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmV4cGFuZFRpbWVvdXQpO1xyXG4gICAgICB0aGlzLmV4cGFuZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZChub2RlKTtcclxuICAgICAgfSwgdGhpcy5leHBhbmREZWxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRyYWdIb3ZlckVuZCgpIHtcclxuICAgIHRoaXMuaXNIb3ZlciA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhwYW5kVGltZW91dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIGZvciBwZXJzaXN0aW5nIHRoZSB0cmVlIGV4cGFuZCBzdGF0ZVxyXG4gICAqIGFmdGVyIGJlaW5nIHJlYnVpbHRcclxuICAgKi9cclxuXHJcbiAgcmVidWlsZFRyZWVGb3JEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5yZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzKHRoaXMudHJlZUNvbnRyb2wsIHRoaXMuZXhwYW5kZWROb2RlU2V0KTtcclxuICAgIHRoaXMudHJlZURhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5mb3JnZXRNaXNzaW5nRXhwYW5kZWROb2Rlcyh0aGlzLnRyZWVDb250cm9sLCB0aGlzLmV4cGFuZGVkTm9kZVNldCk7XHJcbiAgICB0aGlzLmV4cGFuZE5vZGVzQnlJZCh0aGlzLnRyZWVDb250cm9sLmRhdGFOb2RlcywgQXJyYXkuZnJvbSh0aGlzLmV4cGFuZGVkTm9kZVNldCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1lbWJlckV4cGFuZGVkVHJlZU5vZGVzKFxyXG4gICAgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4sXHJcbiAgICBleHBhbmRlZE5vZGVTZXQ6IFNldDxzdHJpbmc+XHJcbiAgKSB7XHJcbiAgICBpZiAodHJlZUNvbnRyb2wuZGF0YU5vZGVzKSB7XHJcbiAgICAgIHRyZWVDb250cm9sLmRhdGFOb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRyZWVDb250cm9sLmlzRXhwYW5kYWJsZShub2RlKSAmJiB0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpKSB7XHJcbiAgICAgICAgICAvLyBjYXB0dXJlIGxhdGVzdCBleHBhbmRlZCBzdGF0ZVxyXG4gICAgICAgICAgZXhwYW5kZWROb2RlU2V0LmFkZChub2RlLmlkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcmdldE1pc3NpbmdFeHBhbmRlZE5vZGVzKFxyXG4gICAgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4sXHJcbiAgICBleHBhbmRlZE5vZGVTZXQ6IFNldDxzdHJpbmc+XHJcbiAgKSB7XHJcbiAgICBpZiAodHJlZUNvbnRyb2wuZGF0YU5vZGVzKSB7XHJcbiAgICAgIGV4cGFuZGVkTm9kZVNldC5mb3JFYWNoKChub2RlSWQpID0+IHtcclxuICAgICAgICAvLyBtYWludGFpbiBleHBhbmRlZCBub2RlIHN0YXRlXHJcbiAgICAgICAgaWYgKCF0cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZCgobikgPT4gbi5pZC50b1N0cmluZygpID09PSBub2RlSWQpKSB7XHJcbiAgICAgICAgICAvLyBpZiB0aGUgdHJlZSBkb2Vzbid0IGhhdmUgdGhlIHByZXZpb3VzIG5vZGUsIHJlbW92ZSBpdCBmcm9tIHRoZSBleHBhbmRlZCBsaXN0XHJcbiAgICAgICAgICBleHBhbmRlZE5vZGVTZXQuZGVsZXRlKG5vZGVJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwYW5kTm9kZXNCeUlkKGZsYXROb2RlczogRmxhdE5vZGVbXSwgaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKCFmbGF0Tm9kZXMgfHwgZmxhdE5vZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cclxuICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldChpZHMpO1xyXG4gICAgcmV0dXJuIGZsYXROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChpZFNldC5oYXMobm9kZS5pZC50b1N0cmluZygpKSkge1xyXG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKG5vZGUpO1xyXG5cclxuICAgICAgICB0aGlzLmV4cGFuZGluZ05vZGVzLnB1c2gobm9kZSk7XHJcblxyXG4gICAgICAgIGxldCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZSk7XHJcbiAgICAgICAgd2hpbGUgKHBhcmVudCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQocGFyZW50KTtcclxuXHJcbiAgICAgICAgICB0aGlzLmV4cGFuZGluZ05vZGVzLnB1c2gocGFyZW50KTtcclxuXHJcbiAgICAgICAgICBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUocGFyZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlKG5vZGU6IEZsYXROb2RlKTogRmxhdE5vZGUgfCBudWxsIHtcclxuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IG5vZGUubGV2ZWw7XHJcbiAgICBpZiAoY3VycmVudExldmVsIDwgMSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5pbmRleE9mKG5vZGUpIC0gMTtcclxuICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpID49IDA7IGktLSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldO1xyXG4gICAgICBpZiAoY3VycmVudE5vZGUubGV2ZWwgPCBjdXJyZW50TGV2ZWwpIHtcclxuICAgICAgICByZXR1cm4gY3VycmVudE5vZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duTm9kZShldmVudDogYW55LCBub2RlKSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5vbkNsaWNrVG9nZ2xlTm9kZShub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xpY2tUb2dnbGVOb2RlKG5vZGUpIHtcclxuICAgIGlmICh0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkpIHtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICAgIHRoaXMuX2FkZEV4cGFuZGluZ05vZGUobm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmNvbGxhcHNlKG5vZGUpO1xyXG4gICAgICB0aGlzLl9yZW1vdmVFeHBhbmRpbmdOb2Rlcyhub2RlLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMubm9kZXNFeHBhbmQuZW1pdCh7IG5vZGUsIGlzRXhwYW5kOiB0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRIb3ZlckZhdm9yaXRlKGlkKSB7XHJcbiAgICB0aGlzLmhvdmVyRmF2b3JpdGVOb2RlSWQgPSBpZDtcclxuICB9XHJcblxyXG4gIGV4cGFuZE5vZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhwYW5kTm9kZXNMb29wKHRoaXMudHJlZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZXhwYW5kTm9kZXNMb29wKGRhdGE6IFRyZWVOb2RlW10pOiB2b2lkIHtcclxuICAgIGRhdGEuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgY29uc3QgZXhwYW5kaW5nTm9kZSA9IHRoaXMuZXhwYW5kaW5nTm9kZXMuc29tZSh4ID0+IHguaWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBpZiAoZXhwYW5kaW5nTm9kZSkge1xyXG4gICAgICAgIHRoaXMub25DbGlja1RvZ2dsZU5vZGUoZXhwYW5kaW5nTm9kZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgdGhpcy5fZXhwYW5kTm9kZXNMb29wKGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZEV4cGFuZGluZ05vZGUobm9kZTogRmxhdE5vZGUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5leHBhbmRpbmdOb2Rlcy5zb21lKHggPT4geC5pZCA9PT0gbm9kZS5pZCkpIHtcclxuICAgICAgdGhpcy5leHBhbmRpbmdOb2Rlcy5wdXNoKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtb3ZlRXhwYW5kaW5nTm9kZXMobm9kZUlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMgPSB0aGlzLmV4cGFuZGluZ05vZGVzLmZpbHRlcih4ID0+IHguaWQgIT09IG5vZGVJZCk7XHJcbiAgfVxyXG59Il19
@@ -1,5 +1,5 @@
1
1
  import { Directive, ElementRef } from "@angular/core";
2
- export class QMSChipInputSelectDropWDownDirective {
2
+ export class QMSChipInputSelectDropDownDirective {
3
3
  constructor(ele) {
4
4
  this.ele = ele;
5
5
  }
@@ -9,12 +9,12 @@ export class QMSChipInputSelectDropWDownDirective {
9
9
  }
10
10
  }
11
11
  }
12
- QMSChipInputSelectDropWDownDirective.decorators = [
12
+ QMSChipInputSelectDropDownDirective.decorators = [
13
13
  { type: Directive, args: [{
14
14
  selector: '[qms-chip-input-dropdown]',
15
15
  },] }
16
16
  ];
17
- QMSChipInputSelectDropWDownDirective.ctorParameters = () => [
17
+ QMSChipInputSelectDropDownDirective.ctorParameters = () => [
18
18
  { type: ElementRef }
19
19
  ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pbnB1dC1zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSzlELE1BQU0sT0FBTyxvQ0FBb0M7SUFDN0MsWUFBbUIsR0FBZTtRQUFmLFFBQUcsR0FBSCxHQUFHLENBQVk7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDOzs7WUFYSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjthQUN4Qzs7O1lBSm1CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3Ftcy1jaGlwLWlucHV0LWRyb3Bkb3duXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDaGlwSW5wdXRTZWxlY3REcm9wV0Rvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZTogRWxlbWVudFJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1jaGlwLWlucHV0LWRyb3Bkb3duJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pbnB1dC1zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSzlELE1BQU0sT0FBTyxtQ0FBbUM7SUFDNUMsWUFBbUIsR0FBZTtRQUFmLFFBQUcsR0FBSCxHQUFHLENBQVk7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDOzs7WUFYSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjthQUN4Qzs7O1lBSm1CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3Ftcy1jaGlwLWlucHV0LWRyb3Bkb3duXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDaGlwSW5wdXRTZWxlY3REcm9wRG93bkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWNoaXAtaW5wdXQtZHJvcGRvd24nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19