qms-angular 1.1.5 → 1.1.6

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.
Files changed (67) hide show
  1. package/bundles/qms-angular.umd.js +542 -160
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/models/qms-flat-node.model.js +3 -0
  4. package/esm2015/lib/common/models/qms-tree-config.model.js +7 -0
  5. package/esm2015/lib/common/models/qms-tree-node.model.js +8 -0
  6. package/esm2015/lib/components/list/list.js +2 -2
  7. package/esm2015/lib/components/qms-nav-drawer/public_api.js +1 -3
  8. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +17 -10
  9. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.module.js +2 -4
  10. package/esm2015/lib/components/related/popup/related-popup.component.js +3 -3
  11. package/esm2015/lib/components/select-include-children/public_api.js +2 -2
  12. package/esm2015/lib/components/select-include-children/select-include-children.component.js +4 -4
  13. package/esm2015/lib/components/select-include-children/services/select-include-children-global.service.js +17 -0
  14. package/esm2015/lib/components/select-one/common/select-one-next.model.js +7 -0
  15. package/esm2015/lib/components/select-one/public_api.js +3 -1
  16. package/esm2015/lib/components/select-one/select-one-next.component.js +95 -0
  17. package/esm2015/lib/components/select-one/select-one.component.js +3 -3
  18. package/esm2015/lib/components/select-one/select-one.module.js +6 -3
  19. package/esm2015/lib/components/select-process-document/select-process-document.component.js +3 -3
  20. package/esm2015/lib/components/tree/basic-tree.component.js +220 -0
  21. package/esm2015/lib/components/tree/index.js +2 -0
  22. package/esm2015/lib/components/tree/public-api.js +9 -0
  23. package/esm2015/lib/components/tree/tree.module.js +4 -1
  24. package/esm2015/lib/directives/form.directive.js +9 -3
  25. package/esm2015/lib/directives/qms-multi-icon.directive.js +75 -0
  26. package/esm2015/lib/qms-angular.module.js +6 -3
  27. package/esm2015/lib/services/qms-tree-global.service.js +29 -0
  28. package/esm2015/public-api.js +7 -8
  29. package/esm2015/qms-angular.js +15 -12
  30. package/fesm2015/qms-angular.js +493 -140
  31. package/fesm2015/qms-angular.js.map +1 -1
  32. package/lib/common/models/qms-flat-node.model.d.ts +9 -0
  33. package/lib/common/models/qms-tree-config.model.d.ts +5 -0
  34. package/lib/common/models/qms-tree-node.model.d.ts +25 -0
  35. package/lib/components/qms-nav-drawer/public_api.d.ts +0 -2
  36. package/lib/components/qms-nav-drawer/qms-nav-drawer.component.d.ts +3 -3
  37. package/lib/components/select-include-children/public_api.d.ts +1 -1
  38. package/lib/components/select-include-children/select-include-children.component.d.ts +3 -3
  39. package/lib/components/select-include-children/services/{select-global.service.d.ts → select-include-children-global.service.d.ts} +1 -1
  40. package/lib/components/select-one/common/select-one-next.model.d.ts +11 -0
  41. package/lib/components/select-one/public_api.d.ts +2 -0
  42. package/lib/components/select-one/select-one-next.component.d.ts +33 -0
  43. package/lib/components/tree/basic-tree.component.d.ts +79 -0
  44. package/lib/components/tree/index.d.ts +1 -0
  45. package/lib/components/tree/public-api.d.ts +8 -0
  46. package/lib/directives/form.directive.d.ts +1 -0
  47. package/lib/{components/qms-nav-drawer/directive → directives}/qms-multi-icon.directive.d.ts +0 -0
  48. package/lib/services/qms-tree-global.service.d.ts +13 -0
  49. package/package.json +1 -1
  50. package/public-api.d.ts +6 -7
  51. package/qms-angular.d.ts +14 -11
  52. package/qms-angular.metadata.json +1 -1
  53. package/src/lib/components/list/list.scss +2 -2
  54. package/src/lib/components/qms-nav-drawer/qms-nav-drawer.component.scss +2 -0
  55. package/src/lib/components/related/popup/related-popup.component.scss +2 -2
  56. package/src/lib/components/select-include-children/select-include-children.component.scss +1 -1
  57. package/src/lib/components/select-one/select-one-next.component.scss +70 -0
  58. package/src/lib/components/select-one/select-one.component.scss +1 -1
  59. package/src/lib/components/select-process-document/select-process-document.component.scss +1 -1
  60. package/src/lib/components/tree/basic-tree.component.scss +168 -0
  61. package/src/themes/core/_checkbox.scss +18 -3
  62. package/src/themes/core/_radio.scss +18 -0
  63. package/src/themes/core/_slide-toggle.scss +17 -0
  64. package/esm2015/lib/components/qms-nav-drawer/directive/qms-multi-icon.directive.js +0 -75
  65. package/esm2015/lib/components/qms-nav-drawer/service/qms-nav-drawer.service.js +0 -17
  66. package/esm2015/lib/components/select-include-children/services/select-global.service.js +0 -17
  67. package/lib/components/qms-nav-drawer/service/qms-nav-drawer.service.d.ts +0 -7
@@ -0,0 +1,95 @@
1
+ import { Component, EventEmitter, Inject } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { Subject } from 'rxjs';
5
+ import { debounceTime, startWith, takeUntil } from 'rxjs/operators';
6
+ import { QMSTreeGlobalService } from '../../services/qms-tree-global.service';
7
+ import { TranslateLibraryService } from '../../services/translation-registry.service';
8
+ import { SelectOneNextData } from './common/select-one-next.model';
9
+ import { QMSSelectOneGlobalService } from './service/select-one-global.service';
10
+ export class SelectOneNextDialog {
11
+ constructor(dialogRef, translate, globalService, qmsTreeGlobalService, data) {
12
+ this.dialogRef = dialogRef;
13
+ this.translate = translate;
14
+ this.globalService = globalService;
15
+ this.qmsTreeGlobalService = qmsTreeGlobalService;
16
+ this.data = data;
17
+ this.onSearch = new EventEmitter();
18
+ this.onExpand = new EventEmitter();
19
+ this.ngUnsubscribe = new Subject();
20
+ this.filteredOptions = [];
21
+ this.isFocusedInputSearch = false;
22
+ this.searchField = new FormControl();
23
+ this.searchField.valueChanges.pipe(startWith(''), debounceTime(1000)).subscribe((text) => {
24
+ if (typeof text === 'string' && text) {
25
+ this.isFocusedInputSearch = !!text;
26
+ const params = {
27
+ isFrontend: true,
28
+ keyword: text,
29
+ searchType: 1
30
+ };
31
+ this.onSearch.emit(params);
32
+ }
33
+ });
34
+ this.data.popupConfig = this.data.popupConfig ? this.data.popupConfig : new SelectOneNextData();
35
+ }
36
+ ngOnInit() {
37
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
38
+ if (res) {
39
+ this.LANG = this.translate.getObjectLang(res);
40
+ }
41
+ });
42
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
43
+ if (res && res.length) {
44
+ this.filteredOptions = [];
45
+ this.filteredOptions = [...res];
46
+ }
47
+ });
48
+ }
49
+ displayFn(item) {
50
+ return item && item.name ? item.name : '';
51
+ }
52
+ getNodesExpand(itemNode) {
53
+ this.data.openNodes = [];
54
+ if (itemNode.isExpand) {
55
+ this.onExpand.emit({ node: itemNode.node, isExpand: true });
56
+ }
57
+ }
58
+ onClickNodeTree(node) {
59
+ this.selectedNode = node;
60
+ }
61
+ selectItemSearched(item) {
62
+ if (item.disabled) {
63
+ return;
64
+ }
65
+ this.data.openNodes = [];
66
+ this.data.openNodes.push(item.id.toString());
67
+ this.onExpand.emit({ node: item, isExpand: false });
68
+ }
69
+ isEllipsisActive(e) {
70
+ return e ? (e.clientWidth < e.scrollWidth) : false;
71
+ }
72
+ onAddClick() {
73
+ this.dialogRef.close(this.selectedNode);
74
+ }
75
+ ngOnDestroy() {
76
+ this.ngUnsubscribe.next();
77
+ this.ngUnsubscribe.complete();
78
+ this.globalService.setSearchRelated([]);
79
+ }
80
+ }
81
+ SelectOneNextDialog.decorators = [
82
+ { type: Component, args: [{
83
+ selector: 'app-select-one-next',
84
+ template: "<div qms-dialog-container-v2>\r\n <div qms-dialog-header>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h6 class=\"title-header\">{{ data.titleHeader }}</h6>\r\n <button qms-btn-icon class=\"btn-close-icon\" mat-dialog-close>\r\n <mat-icon mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"search-field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"searchField\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n <div class=\"page-content\">\r\n <mat-autocomplete\r\n mat-autocomplete\r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayFn\"\r\n >\r\n <ng-container *ngIf=\"isFocusedInputSearch\">\r\n <mat-option\r\n class=\"search-module__option\"\r\n *ngFor=\"let option of filteredOptions\"\r\n [value]=\"option\"\r\n [disabled]=\"option.disabled\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item [disabled]=\"option.disabled\" type=\"image-square\">\r\n <img\r\n *ngIf=\"option.itemIconSvg\"\r\n class=\"material-icons type-icon\"\r\n leading-icon\r\n type=\"image-square\"\r\n [src]=\"option.itemIconSvg\"\r\n />\r\n <span\r\n *ngIf=\"option.itemIcon\"\r\n [class]=\"option.itemIcon\"\r\n [appMultiIcon]=\"option.itemIcon\"\r\n leading-icon\r\n type=\"image-square\"\r\n class=\"material-icons-outlined type-icon\"\r\n ></span>\r\n <span\r\n *ngIf=\"option.itemMatIcon\"\r\n leading-icon\r\n type=\"image-square\"\r\n class=\"material-icons-outlined type-icon\"\r\n >{{ option.itemMatIcon }}\r\n </span>\r\n\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"data.popupConfig.parentName\"\r\n >\r\n <span #searchItemResult class=\"search-module__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div\r\n qms-line\r\n type=\"subtitle\"\r\n class=\"search-module__option-name\"\r\n >\r\n {{ option.name }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcrumbs && option.breadcrumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-container\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcrumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n </div>\r\n </div>\r\n <div qms-dialog-content>\r\n <div class=\"tree-content\">\r\n <qms-basic-tree\r\n [treeData]=\"data.treeData\"\r\n [treeConfig]=\"data.treeConfig\"\r\n [openNodes]=\"data.openNodes\"\r\n [disabledList]=\"data.disabledList\"\r\n (nodeExpand)=\"getNodesExpand($event)\"\r\n (onClickNodeEvent)=\"onClickNodeTree($event)\"\r\n >\r\n </qms-basic-tree>\r\n </div>\r\n </div>\r\n <div qms-dialog-footer>\r\n <div\r\n class=\"action-button-group d-flex align-items-center justify-content-end\"\r\n >\r\n <button qms-btn-text mat-dialog-close>\r\n {{ LANG.CANCEL }}\r\n </button>\r\n <button qms-btn [disabled]=\"!selectedNode\" (click)=\"onAddClick()\">\r\n {{ LANG.ADD }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
85
+ styles: ["@charset \"UTF-8\";::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:var(--text-white);padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:var(--button-red-background);margin-left:10px}.qms__danger .yellow{background-color:var(--button-yellow-background);margin-left:10px;color:var(--popup-title-color)}.qms__danger .green{background-color:var(--button-green-background);margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:var(--button-background)}.confirm__button__groups .confirm:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:var(--button-background)}.confirm__button__groups .cancel:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}::ng-deep .qms-dialog-container-v2{width:100%;height:100%;display:flex;flex-direction:column;flex-wrap:nowrap}::ng-deep .qms-dialog-container-v2 .qms-dialog-header{flex-shrink:0}::ng-deep .qms-dialog-container-v2 .qms-dialog-content{flex-grow:1;overflow-y:auto;overflow-x:hidden;margin:0;min-height:2em}::ng-deep .qms-dialog-container-v2 .qms-dialog-footer{margin-top:10px;flex-shrink:0}::ng-deep .qms-dialog-container-v2 .qms-dialog-footer.qms-dialog-footer-align-center{justify-content:center}::ng-deep .qms-dialog-container-v2 .qms-dialog-footer.qms-dialog-footer-align-start{justify-content:start}@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.search-field{display:flex;align-items:center}.search-field input{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.search-field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.title-header{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.btn-close-icon.qms-btn-icon{width:36px;height:36px;line-height:36px}.qms-dialog-header{border-bottom:1px solid #ccc;padding-bottom:10px}.search-module__option.mat-option.mat-active{background-color:transparent}.qms-dialog-content{margin-top:10px!important}.qms-dialog-footer{border-top:1px solid #ccc;padding-top:10px}::ng-deep .image-square.wrap-image{width:2.5rem!important;height:100%!important;background:transparent;align-self:center;margin-right:0}.mat-option:focus:not(.mat-option-disabled),::ng-deep .mat-option:hover:not(.mat-option-disabled){background:transparent!important}"]
86
+ },] }
87
+ ];
88
+ SelectOneNextDialog.ctorParameters = () => [
89
+ { type: MatDialogRef },
90
+ { type: TranslateLibraryService },
91
+ { type: QMSSelectOneGlobalService },
92
+ { type: QMSTreeGlobalService },
93
+ { type: SelectOneNextData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
94
+ ];
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9uZS1uZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qtb25lL3NlbGVjdC1vbmUtbmV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBT2hGLE1BQU0sT0FBTyxtQkFBbUI7SUFZNUIsWUFDVyxTQUE0QyxFQUM1QyxTQUFrQyxFQUNsQyxhQUF3QyxFQUN4QyxvQkFBMEMsRUFDakIsSUFBdUI7UUFKaEQsY0FBUyxHQUFULFNBQVMsQ0FBbUM7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFmM0QsYUFBUSxHQUFHLElBQUksWUFBWSxF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Q0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBYztRQUMzQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFHRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7O1lBOUZKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiwyMUlBQStDOzthQUVsRDs7O1lBYlEsWUFBWTtZQUtaLHVCQUF1QjtZQUV2Qix5QkFBeUI7WUFIekIsb0JBQW9CO1lBRXBCLGlCQUFpQix1QkF5QmpCLE1BQU0sU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBRTVNGbGF0Tm9kZVRyZWUgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1mbGF0LW5vZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNUcmVlR2xvYmFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Ftcy10cmVlLWdsb2JhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VsZWN0T25lTmV4dERhdGEgfSBmcm9tICcuL2NvbW1vbi9zZWxlY3Qtb25lLW5leHQubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNTZWxlY3RPbmVHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL3NlbGVjdC1vbmUtZ2xvYmFsLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1zZWxlY3Qtb25lLW5leHQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1vbmUtbmV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3Qtb25lLW5leHQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0T25lTmV4dERpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIG9uRXhwYW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBMQU5HOiBhbnk7XHJcblxyXG4gICAgc2VhcmNoRmllbGQ6IEZvcm1Db250cm9sO1xyXG4gICAgZmlsdGVyZWRPcHRpb25zID0gW107XHJcbiAgICBzZWxlY3RlZE5vZGU6IFFNU0ZsYXROb2RlVHJlZTtcclxuXHJcbiAgICBpc0ZvY3VzZWRJbnB1dFNlYXJjaCA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNlbGVjdE9uZU5leHREaWFsb2c+LFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBnbG9iYWxTZXJ2aWNlOiBRTVNTZWxlY3RPbmVHbG9iYWxTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBxbXNUcmVlR2xvYmFsU2VydmljZTogUU1TVHJlZUdsb2JhbFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBTZWxlY3RPbmVOZXh0RGF0YVxyXG4gICAgKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2VhcmNoRmllbGQgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgnJyksIGRlYm91bmNlVGltZSgxMDAwKSkuc3Vic2NyaWJlKCh0ZXh0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgJiYgdGV4dCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWRJbnB1dFNlYXJjaCA9ICEhdGV4dDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpc0Zyb250ZW5kOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmQ6IHRleHQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVHlwZTogMVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMub25TZWFyY2guZW1pdChwYXJhbXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS5wb3B1cENvbmZpZyA9IHRoaXMuZGF0YS5wb3B1cENvbmZpZyA/IHRoaXMuZGF0YS5wb3B1cENvbmZpZyA6IG5ldyBTZWxlY3RPbmVOZXh0RGF0YSgpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5nbG9iYWxTZXJ2aWNlLnNlYXJjaFJlbGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbLi4ucmVzXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXlGbihpdGVtKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gaXRlbSAmJiBpdGVtLm5hbWUgPyBpdGVtLm5hbWUgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICBnZXROb2Rlc0V4cGFuZChpdGVtTm9kZSkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5vcGVuTm9kZXMgPSBbXTtcclxuICAgICAgICBpZiAoaXRlbU5vZGUuaXNFeHBhbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkV4cGFuZC5lbWl0KHsgbm9kZTogaXRlbU5vZGUubm9kZSwgaXNFeHBhbmQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2tOb2RlVHJlZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbVNlYXJjaGVkKGl0ZW0pIHtcclxuICAgICAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YS5vcGVuTm9kZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmRhdGEub3Blbk5vZGVzLnB1c2goaXRlbS5pZC50b1N0cmluZygpKTtcclxuICAgICAgICB0aGlzLm9uRXhwYW5kLmVtaXQoeyBub2RlOiBpdGVtLCBpc0V4cGFuZDogZmFsc2UgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNFbGxpcHNpc0FjdGl2ZShlOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBlID8gKGUuY2xpZW50V2lkdGggPCBlLnNjcm9sbFdpZHRoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWRkQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zZWxlY3RlZE5vZGUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsU2VydmljZS5zZXRTZWFyY2hSZWxhdGVkKFtdKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -411,9 +411,9 @@ export class SelectOneDialog {
411
411
  SelectOneDialog.decorators = [
412
412
  { type: Component, args: [{
413
413
  selector: 'qms-select-one',
414
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n *ngIf=\"filteredOptions.length\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span>\r\n <mat-icon class=\"material-icons-outlined search__description-icon\"> local_offer </mat-icon>\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content panel__content_item\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (nodeExpandEvent)=\"nodeExpandEvent($event)\"\r\n [expandOnTitleClick]=\"false\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList()\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
414
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n *ngIf=\"filteredOptions.length\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-container\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span>\r\n <mat-icon\r\n class=\"material-icons-outlined search__description-icon\"\r\n >\r\n local_offer\r\n </mat-icon>\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content panel__content_item\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (nodeExpandEvent)=\"nodeExpandEvent($event)\"\r\n [expandOnTitleClick]=\"false\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList()\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
415
415
  encapsulation: ViewEncapsulation.None,
416
- styles: ["::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:var(--text-white);padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:var(--button-red-background);margin-left:10px}.qms__danger .yellow{background-color:var(--button-yellow-background);margin-left:10px;color:var(--popup-title-color)}.qms__danger .green{background-color:var(--button-green-background);margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:var(--button-background)}.confirm__button__groups .confirm:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:var(--button-background)}.confirm__button__groups .cancel:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
416
+ styles: ["::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:var(--text-white);padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:var(--button-red-background);margin-left:10px}.qms__danger .yellow{background-color:var(--button-yellow-background);margin-left:10px;color:var(--popup-title-color)}.qms__danger .green{background-color:var(--button-green-background);margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:var(--button-background)}.confirm__button__groups .confirm:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:var(--button-background)}.confirm__button__groups .cancel:hover{background:var(--primary-button-background-color);color:var(--primary-button-text-color)}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-container .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
417
417
  },] }
418
418
  ];
419
419
  SelectOneDialog.ctorParameters = () => [
@@ -431,4 +431,4 @@ SelectOneDialog.propDecorators = {
431
431
  autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
432
432
  onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
433
433
  };
434
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9uZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LW9uZS9zZWxlY3Qtb25lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFhLFNBQVMsRUFBRSxpQkFBaUIsRUFBK0IsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ2hLLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFB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LGFBQWEsRUFBRSxFQUFFOzJCQUU5QixTQUFTLFNBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt3QkFtQ25GLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3Q2hlY2tlZCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWljb24vaWNvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi9jb21tb24vZGF0YS10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBEb2N1bWVudE5vZGVUeXBlIH0gZnJvbSAnLi9jb21tb24vZG9jdW1lbnQtZm9sZGVyLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE1vZHVsZVR5cGUgfSBmcm9tICcuL2NvbW1vbi9tb2R1bGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU2hvd0hpZGVTZWFyY2hSZXN1bHRDb25zdCB9IGZyb20gJy4vY29tbW9uL3Nob3ctaGlkZS1zZWFyY2gtcmVzdWx0LmNvbnN0JztcclxuaW1wb3J0IHsgU2VsZWN0T25lUG9wdXBEYXRhIH0gZnJvbSAnLi9jb21tb24vc2VsZWN0b25lLXBvcHVwLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBJU2VsZWN0T25lSXRlbSB9IGZyb20gJy4vY29tbW9uL3NlbGVjdC1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWROb2RlIH0gZnJvbSAnLi9jb21tb24vc2VsZWN0ZWQtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdE9uZUdsb2JhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0LW9uZS1nbG9iYWwuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBUcmVlQ29uZmlnIH0gZnJvbSAnLi4vdHJlZS9tb2RlbC90cmVlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFRyZWVGbGF0Tm9kZSB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1mbGF0LW5vZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1ub2RlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZU1vZGVsIH0gZnJvbSAnLi4vdHJlZS9tb2RlbC90cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3RyZWUvdHJlZS5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1zZWxlY3Qtb25lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9uZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW9uZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdE9uZURpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgTEFORzogYW55O1xyXG4gIG1vZHVsZUlkID0gMDtcclxuICBtb2R1bGVOYW1lID0gJyc7XHJcbiAgdHJlZURhdGE6IEFycmF5PFRyZWVNb2RlbD4gPSBbXTtcclxuICB0cmVlQ29uZmlnOiBUcmVlQ29uZmlnO1xyXG5cclxuICBjaGVja2VkTm9kZUxpc3Q6IEFycmF5PFNlbGVjdGVkTm9kZT4gPSBbXTtcclxuICBzZWxlY3RlZE5vZGU6IEFycmF5PFNlbGVjdGVkTm9kZT4gPSBbXTtcclxuICBzZWxlY3RlZERhdGE6IEFycmF5PFRyZWVGbGF0Tm9kZT4gPSBbXTtcclxuXHJcbiAgbW9kdWxlID0gTW9kdWxlVHlwZTtcclxuICBkYXRhVHlwZSA9IERhdGFUeXBlO1xyXG4gIGl0ZW1UeXBlID0gMDtcclxuICBzZWxlY3RlZFJpc2tEYXRhOiBhbnkgPSBbXTtcclxuICBkaXNhYmxlZExpc3Q6IGFueSA9IFtdO1xyXG4gIGV4cGFuZFRvQ2hpbGROb2RlOiBhbnkgPSBbXTtcclxuXHJcbiAgaXNDb21tb25FeHBhbmRlZCA9IHRydWU7XHJcblxyXG4gIG15Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGZpbHRlcmVkT3B0aW9uczogSVNlbGVjdE9uZUl0ZW1bXSA9IFtdO1xyXG4gIGlzSW5wdXRWYWx1ZSA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZEZvbGRlcjogVHJlZUZsYXROb2RlID0gbnVsbDtcclxuICBsaXN0Q2hpbGRyZW5TZWxlY3RPbmU6IGFueSA9IFtdO1xyXG5cclxuICBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvbkV4cGFuZEZvbGRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9uZUl0ZW0+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oVHJlZUNvbXBvbmVudCwge30pIGRhdGFUcmVlczogUXVlcnlMaXN0PFRyZWVDb21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKCdhdXRvQ29tcGxldGVJbnB1dFNlYXJjaCcsIHsgcmVhZDogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciwgc3RhdGljOiB0cnVlIH0pXHJcbiAgYXV0b0NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTZWxlY3RPbmVEaWFsb2c+LFxyXG4gICAgcHVibGljIGdsb2JhbFNlcnZpY2U6IFFNU1NlbGVjdE9uZUdsb2JhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgYXBwSWNvblNlcnZpY2U6IFFNU0ljb25SZWdpc3RyeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFNlbGVjdE9uZVBvcHVwRGF0YVxyXG4gICkge1xyXG4gICAgdGhpcy5tb2R1bGVJZCA9IGRhdGEubW9kdWxlSWQ7XHJcbiAgICB0aGlzLm1vZHVsZU5hbWUgPSBkYXRhLm1vZHVsZU5hbWU7XHJcbiAgICB0aGlzLnRyZWVEYXRhID0gZGF0YS50cmVlRGF0YTtcclxuICAgIHRoaXMudHJlZUNvbmZpZyA9IGRhdGEudHJlZUNvbmZpZztcclxuICAgIHRoaXMuc2VsZWN0ZWRSaXNrRGF0YSA9IGRhdGE/LnNlbGVjdGVkTm9kZSB8fCBbXTtcclxuICAgIHRoaXMuZGlzYWJsZWRMaXN0ID0gZGF0YS5kaXNhYmxlZExpc3QgfHwgW107XHJcbiAgICB0aGlzLmV4cGFuZFRvQ2hpbGROb2RlID0gZGF0YS5leHBhbmRUb0NoaWxkTm9kZTtcclxuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUHJvY2Vzc0ljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJQcm9jZXNzQXJlYUljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJEb2N1bWVudEljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJGb2xkZXJJY29uKGljb25SZWdpc3RyeSwgc2FuaXRpemVyKTtcclxuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyRGV2aWF0aW9uSWNvbihpY29uUmVnaXN0cnksIHNhbml0aXplcik7XHJcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckNoZWNrbGlzdEljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJSaXNrSWNvbihpY29uUmVnaXN0cnksIHNhbml0aXplcik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5zZXRTZWFyY2hSZWxhdGVkKFtdKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGb2xkZXIgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1lc3NhZ2UnLCBbJyRldmVudCddKVxyXG4gIG9uTWVzc2FnZShldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmRhdGEgPT09IFNob3dIaWRlU2VhcmNoUmVzdWx0Q29uc3QuSElERV9TRUFSQ0hfUkVTVUxUKSB7XHJcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlLmNsb3NlUGFuZWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnNsYXRlLmdldE9iamVjdExhbmcocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nbG9iYWxTZXJ2aWNlLnNlYXJjaFJlbGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSByZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5nZXRJdGVtc0NoaWxkcmVuLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzOiBUcmVlTW9kZWxbXSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCByZXNOb3RFeGlzdHMgPSByZXMuZmlsdGVyKHIgPT4gIXRoaXMudHJlZURhdGEuc29tZSh0ID0+IHIucm9vdElkID09IHQucm9vdElkKSk7XHJcbiAgICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCAuLi5yZXNOb3RFeGlzdHNdO1xyXG5cclxuICAgICAgICBpZighdGhpcy5leHBhbmRUb0NoaWxkTm9kZS5sZW5ndGggfHwgdGhpcy5leHBhbmRUb0NoaWxkTm9kZS5zb21lKHg9PnggIT09IHJlc1swXS5wYXJlbnRJZCkpe1xyXG4gICAgICAgICAgbGV0IF8gPSBbLi4udGhpcy5leHBhbmRUb0NoaWxkTm9kZV07XHJcbiAgICAgICAgICBfLnB1c2gocmVzWzBdLnBhcmVudElkKTtcclxuICAgICAgICAgIHRoaXMuZXhwYW5kVG9DaGlsZE5vZGUgPSBfO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5teUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICB0aGlzLmlzSW5wdXRWYWx1ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMub25TZWFyY2hSZWxhdGVkKHZhbCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLml0ZW1UeXBlID0gdGhpcy5nZXREYXRhVHlwZUlkKHRoaXMubW9kdWxlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMgJiYgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlLm9wZW5QYW5lbCgpO1xyXG4gICAgICB0aGlzLnNldFJlc3VsdEhlaWdodCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLmF1dG9Db21wbGV0ZS5jbG9zZVBhbmVsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhVHlwZUlkKG1vZHVsZUlkOiBudW1iZXIpIHtcclxuICAgIGxldCBpdGVtVHlwZTtcclxuICAgIHN3aXRjaCAobW9kdWxlSWQpIHtcclxuICAgICAgY2FzZSBNb2R1bGVUeXBlLmRvY3VtZW50UHJvY2VzczpcclxuICAgICAgICBpdGVtVHlwZSA9IHRoaXMuZGF0YVR5cGUucHJvY2VzcztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNb2R1bGVUeXBlLmRldmlhdGlvbjpcclxuICAgICAgICBpdGVtVHlwZSA9IHRoaXMuZGF0YVR5cGUuZGV2aWF0aW9uO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1vZHVsZVR5cGUuY2hlY2tsaXN0OlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5jaGVja2xpc3Q7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTW9kdWxlVHlwZS5yaXNrOlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5yaXNrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5kb2N1bWVudDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtVHlwZTtcclxuICB9XHJcblxyXG4gIHNldFJlc3VsdEhlaWdodChhcnI/OiBJU2VsZWN0T25lSXRlbVtdKSB7XHJcbiAgICBsZXQgbWF4SGVpZ2h0ID0gNDg0O1xyXG4gICAgY29uc3QgcG9wdXBfY29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3Ftc2xpYl9yZWxhdGVkX3BvcHVwX2NvbnRlbnQnKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGxpbmVfX2RpdmlkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsaW5lX19kaXZpZGVyJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAocG9wdXBfY29udGVudCAmJiBsaW5lX19kaXZpZGVyKSB7XHJcbiAgICAgIG1heEhlaWdodCA9IHRoaXMuZ2V0T2Zmc2V0SGVpZ2h0KHBvcHVwX2NvbnRlbnQsIHRydWUpICsgdGhpcy5nZXRPZmZzZXRIZWlnaHQobGluZV9fZGl2aWRlciwgdHJ1ZSkgKiAyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRSZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2aWV3cmVwb3J0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JlbGF0ZWQtdmlld3BvcnQnKVswXSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBpZiAodmlld3JlcG9ydHMpIHtcclxuICAgICAgaWYgKGNvbnRlbnRSZXN1bHQub2Zmc2V0SGVpZ2h0IDw9IG1heEhlaWdodCkge1xyXG4gICAgICAgIHZpZXdyZXBvcnRzLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRSZXN1bHQub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2aWV3cmVwb3J0cy5zdHlsZS5oZWlnaHQgPSBgJHttYXhIZWlnaHR9cHhgO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaFJlbGF0ZWQoX3ZhbDogYW55KSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xyXG4gICAgaWYgKHR5cGVvZiAoX3ZhbCkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRoaXMubXlDb250cm9sLnNldFZhbHVlKCcnKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiAoX3ZhbCkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICghIV92YWwpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQoX3ZhbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldE1vZHVsZUZpbHRlcmVkT3B0aW9ucygpIHtcclxuICAgIGlmICh0aGlzLmxpc3RDaGlsZHJlblNlbGVjdE9uZS5sZW5ndGggJiYgdGhpcy5kaXNhYmxlZExpc3QubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmxpc3RDaGlsZHJlblNlbGVjdE9uZS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBjb25zdCBmaXJzdEVsID0gdGhpcy5saXN0Q2hpbGRyZW5TZWxlY3RPbmVbaW5kZXhdO1xyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgIGNvbnN0IHNlY29uZEVsID0gdGhpcy5maWx0ZXJlZE9wdGlvbnNbal07XHJcbiAgICAgICAgICBpZiAoZmlyc3RFbC5pZCA9PT0gc2Vjb25kRWwuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3BsaWNlKGosIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkT3B0aW9ucztcclxuICB9XHJcblxyXG4gIHNob3dTZWFyY2hSZXN1bHQoKSB7XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZS5vcGVuUGFuZWwoKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlSZWxhdGVkKHJlbGF0ZWQ/OiBJU2VsZWN0T25lSXRlbSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gcmVsYXRlZCA/IHJlbGF0ZWQuaXRlbU5hbWUgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtU2VhcmNoZWQoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIC8vIHJlc2V0IHRvIHJvb3RcclxuICAgIHRoaXMuZXhwYW5kVG9DaGlsZE5vZGUgPSBbJyddO1xyXG4gICAgdGhpcy5jaGVja2VkTm9kZUxpc3QgPSBbXTtcclxuXHJcbiAgICBsZXQgcG9zaXRpb24gPSAtMTtcclxuICAgIGxldCBub2RlOiBhbnk7XHJcbiAgICBsZXQgdHlwZUlkOiBudW1iZXI7XHJcbiAgICBsZXQgdHJlZU5vZGVEdXA6IGFueTtcclxuXHJcbiAgICBpZiAodGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCkge1xyXG4gICAgICBwb3NpdGlvbiA9IHRoaXMudHJlZURhdGEuZmluZEluZGV4KHggPT4ge1xyXG4gICAgICAgIHJldHVybiB4LnJvb3RJZCA9PT0gaXRlbS5wYXJlbnRJZCAmJiB4LmNoaWxkSWQgPT09IGl0ZW0uaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcG9zaXRpb24gPSB0aGlzLnRyZWVEYXRhLmZpbmRJbmRleCh4ID0+IHtcclxuICAgICAgICByZXR1cm4geC5yb290SWQgPT09IGl0ZW0uaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdHlwZUlkID0gaXRlbS5pdGVtVHlwZTtcclxuXHJcbiAgICBpZiAocG9zaXRpb24gPj0gMCkge1xyXG4gICAgICBub2RlID0gdGhpcy50cmVlRGF0YVtwb3NpdGlvbl07XHJcblxyXG4gICAgICB0aGlzLmNoZWNrZWROb2RlTGlzdC5wdXNoKHtcclxuICAgICAgICBtb2R1bGVJZDogdGhpcy5tb2R1bGVJZCxcclxuICAgICAgICBpZDogdGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCA/IG5vZGUuY2hpbGRJZCA6IG5vZGUucm9vdElkLFxyXG4gICAgICAgIGl0ZW1OYW1lOiB0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gbm9kZS5jaGlsZE5hbWUgOiBub2RlLnJvb3ROYW1lIHx8IG5vZGUuc3ViTmFtZSxcclxuICAgICAgICBpdGVtVHlwZTogdHlwZUlkLFxyXG4gICAgICAgIGl0ZW1OdW1iZXJJZDogaXRlbS5pdGVtTnVtYmVySWQsXHJcbiAgICAgICAgbGV2ZWxUeXBlOiBpdGVtLmxldmVsVHlwZSxcclxuICAgICAgICBwYXJlbnRJZDogbm9kZS5yb290SWQsXHJcbiAgICAgICAgcGFyZW50TmFtZTogbm9kZS5yb290TmFtZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2gobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHJlZUNvbmZpZy5jYW5IYXZlRHVwSWQpIHtcclxuICAgICAgdHJlZU5vZGVEdXAgPSB7XHJcbiAgICAgICAgaWQ6IG5vZGUuY2hpbGRJZCxcclxuICAgICAgICBuYW1lOiAhIW5vZGUucm9vdElkID8gbm9kZS5zdWJOYW1lIDogbm9kZS5yb290TmFtZSxcclxuICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgcGFyZW50SWQ6IG5vZGUucm9vdElkXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJlZU5vZGUgPSB7XHJcbiAgICAgIGlkOiBub2RlLnJvb3RJZCxcclxuICAgICAgbmFtZTogISFub2RlLnJvb3RJZCA/IG5vZGUuc3ViTmFtZSA6IG5vZGUucm9vdE5hbWUsXHJcbiAgICAgIGNoaWxkcmVuOiBbXSxcclxuICAgICAgcGFyZW50SWQ6IG5vZGUucGFyZW50SWRcclxuICAgIH07XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YVRyZWVzLnRvQXJyYXkoKVswXS50b2RvRm9sZGVyU2VsZWN0aW9uKFt0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gdHJlZU5vZGVEdXAgOiB0cmVlTm9kZV0pO1xyXG4gICAgICB0aGlzLmV4cGFuZEFuZFNjcm9sbFRvTm9kZSh0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gdHJlZU5vZGVEdXAgOiB0cmVlTm9kZSwgbm9kZSk7XHJcbiAgICB9LCA1MDApO1xyXG5cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGV4cGFuZEFuZFNjcm9sbFRvTm9kZSh0cmVlTm9kZTogVHJlZU5vZGUsIG5vZGU6IFRyZWVNb2RlbCkge1xyXG4gICAgbGV0IHBhcmVudDtcclxuICAgIGxldCBwYXJlbnRMaXN0ID0gW107XHJcbiAgICBpZiAodGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCkge1xyXG4gICAgICBwYXJlbnQgPSB0aGlzLnRyZWVEYXRhLmZpbmQoeCA9PiB4LnJvb3RJZCA9PT0gbm9kZS5yb290SWQgJiYgeC5jaGlsZElkID09PSBub2RlLmNoaWxkSWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyZW50ID0gdGhpcy50cmVlRGF0YS5maW5kKHggPT4geC5yb290SWQgPT09IG5vZGUucGFyZW50SWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgcGFyZW50TGlzdC5wdXNoKHtcclxuICAgICAgICBpZDogcGFyZW50LnJvb3RJZCxcclxuICAgICAgICBpdGVtTmFtZTogcGFyZW50LnJvb3ROYW1lLFxyXG4gICAgICAgIHBhcmVudElkOiBwYXJlbnQucGFyZW50SWRcclxuICAgICAgfSk7XHJcbiAgICAgIHBhcmVudExpc3QgPSB0aGlzLmdldFBhcmVudExpbmVPZk5vZGUocGFyZW50TGlzdCwgcGFyZW50KTtcclxuICAgIH1cclxuICAgIHBhcmVudExpc3QudW5zaGlmdCh0cmVlTm9kZSk7XHJcblxyXG4gICAgcGFyZW50TGlzdC5yZXZlcnNlKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgdGhpcy5mb2N1c0VkaXRJdGVtKHgpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0UGFyZW50TGluZU9mTm9kZShsaXN0UGFyZW50LCBub2RlOiBUcmVlTW9kZWwpIHtcclxuICAgIGxldCBwYXJlbnQ7XHJcbiAgICBwYXJlbnQgPSB0aGlzLnRyZWVEYXRhLmZpbmQoeCA9PiB4LnJvb3RJZCA9PT0gbm9kZS5wYXJlbnRJZCk7XHJcblxyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBsaXN0UGFyZW50LnB1c2goe1xyXG4gICAgICAgIGlkOiBwYXJlbnQucm9vdElkLFxyXG4gICAgICAgIGl0ZW1OYW1lOiBwYXJlbnQucm9vdE5hbWUsXHJcbiAgICAgICAgcGFyZW50SWQ6IHBhcmVudC5wYXJlbnRJZFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5nZXRQYXJlbnRMaW5lT2ZOb2RlKGxpc3RQYXJlbnQsIHBhcmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxpc3RQYXJlbnQ7XHJcbiAgfVxyXG5cclxuICBmb2N1c0VkaXRJdGVtKHNlbGVjdGVkT3B0aW9uKSB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5kYXRhVHJlZXMudG9BcnJheSgpWzBdLmdldE5vZGVCeUlkQW5kUGFyZW50SWQoc2VsZWN0ZWRPcHRpb24uaWQsIHNlbGVjdGVkT3B0aW9uLnBhcmVudElkKTtcclxuXHJcbiAgICBpZiAobm9kZSkge1xyXG4gICAgICB0aGlzLmRhdGFUcmVlcy50b0FycmF5KClbMF0uZXhwYW5kTm9kZShub2RlKTtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBfJHtub2RlLnBhcmVudElkID8gbm9kZS5wYXJlbnRJZC50b0xvd2VyQ2FzZSgpIDogJyd9XyR7bm9kZS5pZC50b0xvd2VyQ2FzZSgpfV8ke25vZGUubGV2ZWx9YCk7XHJcblxyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRm9sZGVyID0gbnVsbDtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfTtcclxuXHJcbiAgb25BZGRDbGljaygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGb2xkZXIgPSBudWxsO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5jaGVja2VkTm9kZUxpc3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T2Zmc2V0SGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpbmNsdWRlTWFyZ2luOiBib29sZWFuKTogbnVtYmVyIHtcclxuICAgIGxldCBlbG1IZWlnaHQgPSAwLCBlbG1NYXJnaW4gPSAwO1xyXG5cclxuICAgIGVsbUhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgaWYgKGluY2x1ZGVNYXJnaW4pIHtcclxuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgICAgZWxtTWFyZ2luID0gcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5Ub3AucmVwbGFjZSgncHgnLCAnJykpICsgcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5Cb3R0b20ucmVwbGFjZSgncHgnLCAnJykpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoZWxtSGVpZ2h0ICsgZWxtTWFyZ2luKTtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1DaGlwTmFtZShpdGVtOiBTZWxlY3RlZE5vZGUpIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSBEYXRhVHlwZS5jaGVja2xpc3QgfHwgaXRlbS5pdGVtVHlwZSA9PT0gRGF0YVR5cGUuZGV2aWF0aW9uKSB7XHJcbiAgICAgIHJldHVybiAoaXRlbS5wYXJlbnROYW1lICYmIGl0ZW0uaXRlbU5hbWUgIT09IGl0ZW0ucGFyZW50TmFtZSkgPyBgJHtpdGVtLnBhcmVudE5hbWV9LyR7aXRlbS5pdGVtTmFtZX1gIDogaXRlbS5pdGVtTmFtZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtLml0ZW1OYW1lO1xyXG4gIH1cclxuXHJcbiAgaXNFbGxpcHNpc0FjdGl2ZShlOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGUgPyAoZS5jbGllbnRXaWR0aCA8IGUuc2Nyb2xsV2lkdGgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXROb2RlSWNvbihpdGVtOiBJU2VsZWN0T25lSXRlbSkge1xyXG4gICAgc3dpdGNoIChpdGVtLml0ZW1UeXBlKSB7XHJcbiAgICAgIGNhc2UgRGF0YVR5cGUuZm9sZGVyOiB7XHJcbiAgICAgICAgc3dpdGNoIChpdGVtLmxldmVsVHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLkRlcGFydG1lbnRGb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnZGVwYXJ0bWVudF9mb2xkZXJfb3V0bGluZWQnO1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ3JlZ2lvbmFsX2ZvbGRlcl9vdXRsaW5lZCc7XHJcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuVG9wRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2VudGVycHJpc2VfZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5Gb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnbG9jYWxfZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiAnZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSBEYXRhVHlwZS5kb2N1bWVudDoge1xyXG4gICAgICAgIHN3aXRjaCAoaXRlbS5sZXZlbFR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5EZXBhcnRtZW50Rm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X2RlcGFydG1lbnQnO1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X3JlZ2lvbmFsJztcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5Ub3BGb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnRfZW50ZXJwcmlzZSc7XHJcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X2xvY2FsJztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnQnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjYXNlIERhdGFUeXBlLmFyZWE6XHJcbiAgICAgICAgcmV0dXJuICdwcm9jZXNzX2FyZWFfb3V0bGluZWQnO1xyXG4gICAgICBjYXNlIERhdGFUeXBlLnByb2Nlc3M6XHJcbiAgICAgICAgcmV0dXJuICdwcm9jZXNzJztcclxuICAgICAgY2FzZSBEYXRhVHlwZS5kZXZpYXRpb246XHJcbiAgICAgICAgcmV0dXJuICdkZXZpYXRpb24nO1xyXG4gICAgICBjYXNlIERhdGFUeXBlLmNoZWNrbGlzdDpcclxuICAgICAgICByZXR1cm4gJ2NoZWNrbGlzdCc7XHJcbiAgICAgIGNhc2UgRGF0YVR5cGUucmlzazpcclxuICAgICAgICByZXR1cm4gJ3Jpc2snO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnZm9sZGVyX291dGxpbmVkJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBhcmVudE5hbWUoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmNoZWNrbGlzdCB8fCBpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmRldmlhdGlvbikge1xyXG4gICAgICByZXR1cm4gaXRlbS5wYXJlbnROYW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWQoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLnByb2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuTEFORy5QUk9DRVNTX0lEfTogJHtpdGVtLml0ZW1OdW1iZXJJZH07ICR7aXRlbS5zdGF0dXNOYW1lfWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmRvY3VtZW50KSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLkxBTkcuRE9DVU1FTlRfSUR9OiAke2l0ZW0uaXRlbU51bWJlcklkfTsgJHtpdGVtLnN0YXR1c05hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Tm9kZVRyZWVFdmVudChub2RlKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSAtMTtcclxuICAgIGxldCBwYXJlbnROYW1lID0gJyc7XHJcbiAgICBsZXQgaXRlbU51bWJlcklkID0gJyc7XHJcblxyXG4gICAgcG9zaXRpb24gPSAhbm9kZS5leHBhbmRhYmxlID8gdGhpcy50cmVlRGF0YS5maW5kSW5kZXgocCA9PiBwLmNoaWxkSWQgPT09IG5vZGUuaWQgJiYgcC5yb290SWQgPT09IG5vZGUucGFyZW50SWQpIDpcclxuICAgICAgdGhpcy50cmVlRGF0YS5maW5kSW5kZXgocCA9PiBwLnJvb3RJZCA9PT0gbm9kZS5pZCk7XHJcbiAgICBwYXJlbnROYW1lID0gdGhpcy50cmVlRGF0YVtwb3NpdGlvbl0ucGFyZW50SWQgPyB0aGlzLnRyZWVEYXRhW3Bvc2l0aW9uXS5zdWJOYW1lIDogdGhpcy50cmVlRGF0YVtwb3NpdGlvbl0ucm9vdE5hbWU7XHJcbiAgICBpdGVtTnVtYmVySWQgPSB0aGlzLnRyZWVEYXRhW3Bvc2l0aW9uXT8uZGlzcGxheUlkPy50b1N0cmluZygpO1xyXG5cclxuXHJcbiAgICB0aGlzLmNoZWNrZWROb2RlTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5jaGVja2VkTm9kZUxpc3QucHVzaCh7XHJcbiAgICAgIG1vZHVsZUlkOiB0aGlzLm1vZHVsZUlkLFxyXG4gICAgICBpZDogbm9kZS5pZCxcclxuICAgICAgaXRlbU5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaXRlbVR5cGU6IG5vZGUuaXRlbVR5cGUsXHJcbiAgICAgIHBhcmVudElkOiBub2RlLnBhcmVudElkLFxyXG4gICAgICBwYXJlbnROYW1lOiBwYXJlbnROYW1lLFxyXG4gICAgICBpdGVtTnVtYmVySWQ6IGl0ZW1OdW1iZXJJZCxcclxuICAgICAgbGV2ZWxUeXBlOiBub2RlLmxldmVsVHlwZVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBbXTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2gobm9kZSk7XHJcbiAgfVxyXG5cclxuICBub2RlRXhwYW5kRXZlbnQobm9kZSkge1xyXG4gICAgdGhpcy5vbkV4cGFuZEZvbGRlci5lbWl0KHtcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGl0ZW1OYW1lOiAnJyxcclxuICAgICAgaXRlbVR5cGU6IDAsXHJcbiAgICAgIHN0YXR1c05hbWU6ICcnLFxyXG4gICAgICBwYXJlbnRJZDogJycsXHJcbiAgICAgIHBhcmVudE5hbWU6ICcnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNoZWNrZWROb2RlTGlzdCgpIHtcclxuICAgIGNvbnN0IGl0ZW06IFRyZWVGbGF0Tm9kZSA9IG51bGw7XHJcbiAgICB0aGlzLmNoZWNrZWROb2RlTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBbLi4uW10sIGl0ZW1dO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxufVxyXG4iXX0=
434
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9uZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LW9uZS9zZWxlY3Qtb25lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFhLFNBQVMsRUFBRSxpQkFBaUIsRUFBK0IsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ2hLLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFB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LGFBQWEsRUFBRSxFQUFFOzJCQUU5QixTQUFTLFNBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt3QkFtQ25GLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3Q2hlY2tlZCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWljb24vaWNvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi9jb21tb24vZGF0YS10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBEb2N1bWVudE5vZGVUeXBlIH0gZnJvbSAnLi9jb21tb24vZG9jdW1lbnQtZm9sZGVyLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE1vZHVsZVR5cGUgfSBmcm9tICcuL2NvbW1vbi9tb2R1bGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU2hvd0hpZGVTZWFyY2hSZXN1bHRDb25zdCB9IGZyb20gJy4vY29tbW9uL3Nob3ctaGlkZS1zZWFyY2gtcmVzdWx0LmNvbnN0JztcclxuaW1wb3J0IHsgU2VsZWN0T25lUG9wdXBEYXRhIH0gZnJvbSAnLi9jb21tb24vc2VsZWN0b25lLXBvcHVwLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBJU2VsZWN0T25lSXRlbSB9IGZyb20gJy4vY29tbW9uL3NlbGVjdC1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWROb2RlIH0gZnJvbSAnLi9jb21tb24vc2VsZWN0ZWQtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdE9uZUdsb2JhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0LW9uZS1nbG9iYWwuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBUcmVlQ29uZmlnIH0gZnJvbSAnLi4vdHJlZS9tb2RlbC90cmVlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFRyZWVGbGF0Tm9kZSB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1mbGF0LW5vZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1ub2RlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZU1vZGVsIH0gZnJvbSAnLi4vdHJlZS9tb2RlbC90cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3RyZWUvdHJlZS5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1zZWxlY3Qtb25lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9uZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW9uZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdE9uZURpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgTEFORzogYW55O1xyXG4gIG1vZHVsZUlkID0gMDtcclxuICBtb2R1bGVOYW1lID0gJyc7XHJcbiAgdHJlZURhdGE6IEFycmF5PFRyZWVNb2RlbD4gPSBbXTtcclxuICB0cmVlQ29uZmlnOiBUcmVlQ29uZmlnO1xyXG5cclxuICBjaGVja2VkTm9kZUxpc3Q6IEFycmF5PFNlbGVjdGVkTm9kZT4gPSBbXTtcclxuICBzZWxlY3RlZE5vZGU6IEFycmF5PFNlbGVjdGVkTm9kZT4gPSBbXTtcclxuICBzZWxlY3RlZERhdGE6IEFycmF5PFRyZWVGbGF0Tm9kZT4gPSBbXTtcclxuXHJcbiAgbW9kdWxlID0gTW9kdWxlVHlwZTtcclxuICBkYXRhVHlwZSA9IERhdGFUeXBlO1xyXG4gIGl0ZW1UeXBlID0gMDtcclxuICBzZWxlY3RlZFJpc2tEYXRhOiBhbnkgPSBbXTtcclxuICBkaXNhYmxlZExpc3Q6IGFueSA9IFtdO1xyXG4gIGV4cGFuZFRvQ2hpbGROb2RlOiBhbnkgPSBbXTtcclxuXHJcbiAgaXNDb21tb25FeHBhbmRlZCA9IHRydWU7XHJcblxyXG4gIG15Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGZpbHRlcmVkT3B0aW9uczogSVNlbGVjdE9uZUl0ZW1bXSA9IFtdO1xyXG4gIGlzSW5wdXRWYWx1ZSA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZEZvbGRlcjogVHJlZUZsYXROb2RlID0gbnVsbDtcclxuICBsaXN0Q2hpbGRyZW5TZWxlY3RPbmU6IGFueSA9IFtdO1xyXG5cclxuICBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvbkV4cGFuZEZvbGRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9uZUl0ZW0+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oVHJlZUNvbXBvbmVudCwge30pIGRhdGFUcmVlczogUXVlcnlMaXN0PFRyZWVDb21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKCdhdXRvQ29tcGxldGVJbnB1dFNlYXJjaCcsIHsgcmVhZDogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciwgc3RhdGljOiB0cnVlIH0pXHJcbiAgYXV0b0NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTZWxlY3RPbmVEaWFsb2c+LFxyXG4gICAgcHVibGljIGdsb2JhbFNlcnZpY2U6IFFNU1NlbGVjdE9uZUdsb2JhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgYXBwSWNvblNlcnZpY2U6IFFNU0ljb25SZWdpc3RyeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFNlbGVjdE9uZVBvcHVwRGF0YVxyXG4gICkge1xyXG4gICAgdGhpcy5tb2R1bGVJZCA9IGRhdGEubW9kdWxlSWQ7XHJcbiAgICB0aGlzLm1vZHVsZU5hbWUgPSBkYXRhLm1vZHVsZU5hbWU7XHJcbiAgICB0aGlzLnRyZWVEYXRhID0gZGF0YS50cmVlRGF0YTtcclxuICAgIHRoaXMudHJlZUNvbmZpZyA9IGRhdGEudHJlZUNvbmZpZztcclxuICAgIHRoaXMuc2VsZWN0ZWRSaXNrRGF0YSA9IGRhdGE/LnNlbGVjdGVkTm9kZSB8fCBbXTtcclxuICAgIHRoaXMuZGlzYWJsZWRMaXN0ID0gZGF0YS5kaXNhYmxlZExpc3QgfHwgW107XHJcbiAgICB0aGlzLmV4cGFuZFRvQ2hpbGROb2RlID0gZGF0YS5leHBhbmRUb0NoaWxkTm9kZTtcclxuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUHJvY2Vzc0ljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJQcm9jZXNzQXJlYUljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJEb2N1bWVudEljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJGb2xkZXJJY29uKGljb25SZWdpc3RyeSwgc2FuaXRpemVyKTtcclxuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyRGV2aWF0aW9uSWNvbihpY29uUmVnaXN0cnksIHNhbml0aXplcik7XHJcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckNoZWNrbGlzdEljb24oaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJSaXNrSWNvbihpY29uUmVnaXN0cnksIHNhbml0aXplcik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5zZXRTZWFyY2hSZWxhdGVkKFtdKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGb2xkZXIgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1lc3NhZ2UnLCBbJyRldmVudCddKVxyXG4gIG9uTWVzc2FnZShldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmRhdGEgPT09IFNob3dIaWRlU2VhcmNoUmVzdWx0Q29uc3QuSElERV9TRUFSQ0hfUkVTVUxUKSB7XHJcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlLmNsb3NlUGFuZWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnNsYXRlLmdldE9iamVjdExhbmcocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nbG9iYWxTZXJ2aWNlLnNlYXJjaFJlbGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSByZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5nZXRJdGVtc0NoaWxkcmVuLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzOiBUcmVlTW9kZWxbXSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCByZXNOb3RFeGlzdHMgPSByZXMuZmlsdGVyKHIgPT4gIXRoaXMudHJlZURhdGEuc29tZSh0ID0+IHIucm9vdElkID09IHQucm9vdElkKSk7XHJcbiAgICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCAuLi5yZXNOb3RFeGlzdHNdO1xyXG5cclxuICAgICAgICBpZighdGhpcy5leHBhbmRUb0NoaWxkTm9kZS5sZW5ndGggfHwgdGhpcy5leHBhbmRUb0NoaWxkTm9kZS5zb21lKHg9PnggIT09IHJlc1swXS5wYXJlbnRJZCkpe1xyXG4gICAgICAgICAgbGV0IF8gPSBbLi4udGhpcy5leHBhbmRUb0NoaWxkTm9kZV07XHJcbiAgICAgICAgICBfLnB1c2gocmVzWzBdLnBhcmVudElkKTtcclxuICAgICAgICAgIHRoaXMuZXhwYW5kVG9DaGlsZE5vZGUgPSBfO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5teUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICB0aGlzLmlzSW5wdXRWYWx1ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMub25TZWFyY2hSZWxhdGVkKHZhbCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLml0ZW1UeXBlID0gdGhpcy5nZXREYXRhVHlwZUlkKHRoaXMubW9kdWxlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMgJiYgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlLm9wZW5QYW5lbCgpO1xyXG4gICAgICB0aGlzLnNldFJlc3VsdEhlaWdodCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLmF1dG9Db21wbGV0ZS5jbG9zZVBhbmVsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhVHlwZUlkKG1vZHVsZUlkOiBudW1iZXIpIHtcclxuICAgIGxldCBpdGVtVHlwZTtcclxuICAgIHN3aXRjaCAobW9kdWxlSWQpIHtcclxuICAgICAgY2FzZSBNb2R1bGVUeXBlLmRvY3VtZW50UHJvY2VzczpcclxuICAgICAgICBpdGVtVHlwZSA9IHRoaXMuZGF0YVR5cGUucHJvY2VzcztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNb2R1bGVUeXBlLmRldmlhdGlvbjpcclxuICAgICAgICBpdGVtVHlwZSA9IHRoaXMuZGF0YVR5cGUuZGV2aWF0aW9uO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1vZHVsZVR5cGUuY2hlY2tsaXN0OlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5jaGVja2xpc3Q7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTW9kdWxlVHlwZS5yaXNrOlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5yaXNrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGl0ZW1UeXBlID0gdGhpcy5kYXRhVHlwZS5kb2N1bWVudDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtVHlwZTtcclxuICB9XHJcblxyXG4gIHNldFJlc3VsdEhlaWdodChhcnI/OiBJU2VsZWN0T25lSXRlbVtdKSB7XHJcbiAgICBsZXQgbWF4SGVpZ2h0ID0gNDg0O1xyXG4gICAgY29uc3QgcG9wdXBfY29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3Ftc2xpYl9yZWxhdGVkX3BvcHVwX2NvbnRlbnQnKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGxpbmVfX2RpdmlkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsaW5lX19kaXZpZGVyJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAocG9wdXBfY29udGVudCAmJiBsaW5lX19kaXZpZGVyKSB7XHJcbiAgICAgIG1heEhlaWdodCA9IHRoaXMuZ2V0T2Zmc2V0SGVpZ2h0KHBvcHVwX2NvbnRlbnQsIHRydWUpICsgdGhpcy5nZXRPZmZzZXRIZWlnaHQobGluZV9fZGl2aWRlciwgdHJ1ZSkgKiAyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRSZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2aWV3cmVwb3J0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JlbGF0ZWQtdmlld3BvcnQnKVswXSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBpZiAodmlld3JlcG9ydHMpIHtcclxuICAgICAgaWYgKGNvbnRlbnRSZXN1bHQub2Zmc2V0SGVpZ2h0IDw9IG1heEhlaWdodCkge1xyXG4gICAgICAgIHZpZXdyZXBvcnRzLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRSZXN1bHQub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2aWV3cmVwb3J0cy5zdHlsZS5oZWlnaHQgPSBgJHttYXhIZWlnaHR9cHhgO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaFJlbGF0ZWQoX3ZhbDogYW55KSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xyXG4gICAgaWYgKHR5cGVvZiAoX3ZhbCkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRoaXMubXlDb250cm9sLnNldFZhbHVlKCcnKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiAoX3ZhbCkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICghIV92YWwpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQoX3ZhbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldE1vZHVsZUZpbHRlcmVkT3B0aW9ucygpIHtcclxuICAgIGlmICh0aGlzLmxpc3RDaGlsZHJlblNlbGVjdE9uZS5sZW5ndGggJiYgdGhpcy5kaXNhYmxlZExpc3QubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmxpc3RDaGlsZHJlblNlbGVjdE9uZS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBjb25zdCBmaXJzdEVsID0gdGhpcy5saXN0Q2hpbGRyZW5TZWxlY3RPbmVbaW5kZXhdO1xyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgIGNvbnN0IHNlY29uZEVsID0gdGhpcy5maWx0ZXJlZE9wdGlvbnNbal07XHJcbiAgICAgICAgICBpZiAoZmlyc3RFbC5pZCA9PT0gc2Vjb25kRWwuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3BsaWNlKGosIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkT3B0aW9ucztcclxuICB9XHJcblxyXG4gIHNob3dTZWFyY2hSZXN1bHQoKSB7XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZS5vcGVuUGFuZWwoKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlSZWxhdGVkKHJlbGF0ZWQ/OiBJU2VsZWN0T25lSXRlbSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gcmVsYXRlZCA/IHJlbGF0ZWQuaXRlbU5hbWUgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtU2VhcmNoZWQoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIC8vIHJlc2V0IHRvIHJvb3RcclxuICAgIHRoaXMuZXhwYW5kVG9DaGlsZE5vZGUgPSBbJyddO1xyXG4gICAgdGhpcy5jaGVja2VkTm9kZUxpc3QgPSBbXTtcclxuXHJcbiAgICBsZXQgcG9zaXRpb24gPSAtMTtcclxuICAgIGxldCBub2RlOiBhbnk7XHJcbiAgICBsZXQgdHlwZUlkOiBudW1iZXI7XHJcbiAgICBsZXQgdHJlZU5vZGVEdXA6IGFueTtcclxuXHJcbiAgICBpZiAodGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCkge1xyXG4gICAgICBwb3NpdGlvbiA9IHRoaXMudHJlZURhdGEuZmluZEluZGV4KHggPT4ge1xyXG4gICAgICAgIHJldHVybiB4LnJvb3RJZCA9PT0gaXRlbS5wYXJlbnRJZCAmJiB4LmNoaWxkSWQgPT09IGl0ZW0uaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcG9zaXRpb24gPSB0aGlzLnRyZWVEYXRhLmZpbmRJbmRleCh4ID0+IHtcclxuICAgICAgICByZXR1cm4geC5yb290SWQgPT09IGl0ZW0uaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdHlwZUlkID0gaXRlbS5pdGVtVHlwZTtcclxuXHJcbiAgICBpZiAocG9zaXRpb24gPj0gMCkge1xyXG4gICAgICBub2RlID0gdGhpcy50cmVlRGF0YVtwb3NpdGlvbl07XHJcblxyXG4gICAgICB0aGlzLmNoZWNrZWROb2RlTGlzdC5wdXNoKHtcclxuICAgICAgICBtb2R1bGVJZDogdGhpcy5tb2R1bGVJZCxcclxuICAgICAgICBpZDogdGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCA/IG5vZGUuY2hpbGRJZCA6IG5vZGUucm9vdElkLFxyXG4gICAgICAgIGl0ZW1OYW1lOiB0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gbm9kZS5jaGlsZE5hbWUgOiBub2RlLnJvb3ROYW1lIHx8IG5vZGUuc3ViTmFtZSxcclxuICAgICAgICBpdGVtVHlwZTogdHlwZUlkLFxyXG4gICAgICAgIGl0ZW1OdW1iZXJJZDogaXRlbS5pdGVtTnVtYmVySWQsXHJcbiAgICAgICAgbGV2ZWxUeXBlOiBpdGVtLmxldmVsVHlwZSxcclxuICAgICAgICBwYXJlbnRJZDogbm9kZS5yb290SWQsXHJcbiAgICAgICAgcGFyZW50TmFtZTogbm9kZS5yb290TmFtZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2gobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHJlZUNvbmZpZy5jYW5IYXZlRHVwSWQpIHtcclxuICAgICAgdHJlZU5vZGVEdXAgPSB7XHJcbiAgICAgICAgaWQ6IG5vZGUuY2hpbGRJZCxcclxuICAgICAgICBuYW1lOiAhIW5vZGUucm9vdElkID8gbm9kZS5zdWJOYW1lIDogbm9kZS5yb290TmFtZSxcclxuICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgcGFyZW50SWQ6IG5vZGUucm9vdElkXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJlZU5vZGUgPSB7XHJcbiAgICAgIGlkOiBub2RlLnJvb3RJZCxcclxuICAgICAgbmFtZTogISFub2RlLnJvb3RJZCA/IG5vZGUuc3ViTmFtZSA6IG5vZGUucm9vdE5hbWUsXHJcbiAgICAgIGNoaWxkcmVuOiBbXSxcclxuICAgICAgcGFyZW50SWQ6IG5vZGUucGFyZW50SWRcclxuICAgIH07XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YVRyZWVzLnRvQXJyYXkoKVswXS50b2RvRm9sZGVyU2VsZWN0aW9uKFt0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gdHJlZU5vZGVEdXAgOiB0cmVlTm9kZV0pO1xyXG4gICAgICB0aGlzLmV4cGFuZEFuZFNjcm9sbFRvTm9kZSh0aGlzLnRyZWVDb25maWcuY2FuSGF2ZUR1cElkID8gdHJlZU5vZGVEdXAgOiB0cmVlTm9kZSwgbm9kZSk7XHJcbiAgICB9LCA1MDApO1xyXG5cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGV4cGFuZEFuZFNjcm9sbFRvTm9kZSh0cmVlTm9kZTogVHJlZU5vZGUsIG5vZGU6IFRyZWVNb2RlbCkge1xyXG4gICAgbGV0IHBhcmVudDtcclxuICAgIGxldCBwYXJlbnRMaXN0ID0gW107XHJcbiAgICBpZiAodGhpcy50cmVlQ29uZmlnLmNhbkhhdmVEdXBJZCkge1xyXG4gICAgICBwYXJlbnQgPSB0aGlzLnRyZWVEYXRhLmZpbmQoeCA9PiB4LnJvb3RJZCA9PT0gbm9kZS5yb290SWQgJiYgeC5jaGlsZElkID09PSBub2RlLmNoaWxkSWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyZW50ID0gdGhpcy50cmVlRGF0YS5maW5kKHggPT4geC5yb290SWQgPT09IG5vZGUucGFyZW50SWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgcGFyZW50TGlzdC5wdXNoKHtcclxuICAgICAgICBpZDogcGFyZW50LnJvb3RJZCxcclxuICAgICAgICBpdGVtTmFtZTogcGFyZW50LnJvb3ROYW1lLFxyXG4gICAgICAgIHBhcmVudElkOiBwYXJlbnQucGFyZW50SWRcclxuICAgICAgfSk7XHJcbiAgICAgIHBhcmVudExpc3QgPSB0aGlzLmdldFBhcmVudExpbmVPZk5vZGUocGFyZW50TGlzdCwgcGFyZW50KTtcclxuICAgIH1cclxuICAgIHBhcmVudExpc3QudW5zaGlmdCh0cmVlTm9kZSk7XHJcblxyXG4gICAgcGFyZW50TGlzdC5yZXZlcnNlKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgdGhpcy5mb2N1c0VkaXRJdGVtKHgpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0UGFyZW50TGluZU9mTm9kZShsaXN0UGFyZW50LCBub2RlOiBUcmVlTW9kZWwpIHtcclxuICAgIGxldCBwYXJlbnQ7XHJcbiAgICBwYXJlbnQgPSB0aGlzLnRyZWVEYXRhLmZpbmQoeCA9PiB4LnJvb3RJZCA9PT0gbm9kZS5wYXJlbnRJZCk7XHJcblxyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBsaXN0UGFyZW50LnB1c2goe1xyXG4gICAgICAgIGlkOiBwYXJlbnQucm9vdElkLFxyXG4gICAgICAgIGl0ZW1OYW1lOiBwYXJlbnQucm9vdE5hbWUsXHJcbiAgICAgICAgcGFyZW50SWQ6IHBhcmVudC5wYXJlbnRJZFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5nZXRQYXJlbnRMaW5lT2ZOb2RlKGxpc3RQYXJlbnQsIHBhcmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxpc3RQYXJlbnQ7XHJcbiAgfVxyXG5cclxuICBmb2N1c0VkaXRJdGVtKHNlbGVjdGVkT3B0aW9uKSB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5kYXRhVHJlZXMudG9BcnJheSgpWzBdLmdldE5vZGVCeUlkQW5kUGFyZW50SWQoc2VsZWN0ZWRPcHRpb24uaWQsIHNlbGVjdGVkT3B0aW9uLnBhcmVudElkKTtcclxuXHJcbiAgICBpZiAobm9kZSkge1xyXG4gICAgICB0aGlzLmRhdGFUcmVlcy50b0FycmF5KClbMF0uZXhwYW5kTm9kZShub2RlKTtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBfJHtub2RlLnBhcmVudElkID8gbm9kZS5wYXJlbnRJZC50b0xvd2VyQ2FzZSgpIDogJyd9XyR7bm9kZS5pZC50b0xvd2VyQ2FzZSgpfV8ke25vZGUubGV2ZWx9YCk7XHJcblxyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRm9sZGVyID0gbnVsbDtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfTtcclxuXHJcbiAgb25BZGRDbGljaygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGb2xkZXIgPSBudWxsO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5jaGVja2VkTm9kZUxpc3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T2Zmc2V0SGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpbmNsdWRlTWFyZ2luOiBib29sZWFuKTogbnVtYmVyIHtcclxuICAgIGxldCBlbG1IZWlnaHQgPSAwLCBlbG1NYXJnaW4gPSAwO1xyXG5cclxuICAgIGVsbUhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgaWYgKGluY2x1ZGVNYXJnaW4pIHtcclxuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgICAgZWxtTWFyZ2luID0gcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5Ub3AucmVwbGFjZSgncHgnLCAnJykpICsgcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5Cb3R0b20ucmVwbGFjZSgncHgnLCAnJykpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoZWxtSGVpZ2h0ICsgZWxtTWFyZ2luKTtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1DaGlwTmFtZShpdGVtOiBTZWxlY3RlZE5vZGUpIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSBEYXRhVHlwZS5jaGVja2xpc3QgfHwgaXRlbS5pdGVtVHlwZSA9PT0gRGF0YVR5cGUuZGV2aWF0aW9uKSB7XHJcbiAgICAgIHJldHVybiAoaXRlbS5wYXJlbnROYW1lICYmIGl0ZW0uaXRlbU5hbWUgIT09IGl0ZW0ucGFyZW50TmFtZSkgPyBgJHtpdGVtLnBhcmVudE5hbWV9LyR7aXRlbS5pdGVtTmFtZX1gIDogaXRlbS5pdGVtTmFtZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtLml0ZW1OYW1lO1xyXG4gIH1cclxuXHJcbiAgaXNFbGxpcHNpc0FjdGl2ZShlOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGUgPyAoZS5jbGllbnRXaWR0aCA8IGUuc2Nyb2xsV2lkdGgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXROb2RlSWNvbihpdGVtOiBJU2VsZWN0T25lSXRlbSkge1xyXG4gICAgc3dpdGNoIChpdGVtLml0ZW1UeXBlKSB7XHJcbiAgICAgIGNhc2UgRGF0YVR5cGUuZm9sZGVyOiB7XHJcbiAgICAgICAgc3dpdGNoIChpdGVtLmxldmVsVHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLkRlcGFydG1lbnRGb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnZGVwYXJ0bWVudF9mb2xkZXJfb3V0bGluZWQnO1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ3JlZ2lvbmFsX2ZvbGRlcl9vdXRsaW5lZCc7XHJcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuVG9wRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2VudGVycHJpc2VfZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5Gb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnbG9jYWxfZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiAnZm9sZGVyX291dGxpbmVkJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSBEYXRhVHlwZS5kb2N1bWVudDoge1xyXG4gICAgICAgIHN3aXRjaCAoaXRlbS5sZXZlbFR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5EZXBhcnRtZW50Rm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X2RlcGFydG1lbnQnO1xyXG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X3JlZ2lvbmFsJztcclxuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5Ub3BGb2xkZXI6XHJcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnRfZW50ZXJwcmlzZSc7XHJcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRm9sZGVyOlxyXG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X2xvY2FsJztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnQnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjYXNlIERhdGFUeXBlLmFyZWE6XHJcbiAgICAgICAgcmV0dXJuICdwcm9jZXNzX2FyZWFfb3V0bGluZWQnO1xyXG4gICAgICBjYXNlIERhdGFUeXBlLnByb2Nlc3M6XHJcbiAgICAgICAgcmV0dXJuICdwcm9jZXNzJztcclxuICAgICAgY2FzZSBEYXRhVHlwZS5kZXZpYXRpb246XHJcbiAgICAgICAgcmV0dXJuICdkZXZpYXRpb24nO1xyXG4gICAgICBjYXNlIERhdGFUeXBlLmNoZWNrbGlzdDpcclxuICAgICAgICByZXR1cm4gJ2NoZWNrbGlzdCc7XHJcbiAgICAgIGNhc2UgRGF0YVR5cGUucmlzazpcclxuICAgICAgICByZXR1cm4gJ3Jpc2snO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnZm9sZGVyX291dGxpbmVkJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBhcmVudE5hbWUoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmNoZWNrbGlzdCB8fCBpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmRldmlhdGlvbikge1xyXG4gICAgICByZXR1cm4gaXRlbS5wYXJlbnROYW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWQoaXRlbTogSVNlbGVjdE9uZUl0ZW0pIHtcclxuICAgIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLnByb2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuTEFORy5QUk9DRVNTX0lEfTogJHtpdGVtLml0ZW1OdW1iZXJJZH07ICR7aXRlbS5zdGF0dXNOYW1lfWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmRvY3VtZW50KSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLkxBTkcuRE9DVU1FTlRfSUR9OiAke2l0ZW0uaXRlbU51bWJlcklkfTsgJHtpdGVtLnN0YXR1c05hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Tm9kZVRyZWVFdmVudChub2RlKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSAtMTtcclxuICAgIGxldCBwYXJlbnROYW1lID0gJyc7XHJcbiAgICBsZXQgaXRlbU51bWJlcklkID0gJyc7XHJcblxyXG4gICAgcG9zaXRpb24gPSAhbm9kZS5leHBhbmRhYmxlID8gdGhpcy50cmVlRGF0YS5maW5kSW5kZXgocCA9PiBwLmNoaWxkSWQgPT09IG5vZGUuaWQgJiYgcC5yb290SWQgPT09IG5vZGUucGFyZW50SWQpIDpcclxuICAgICAgdGhpcy50cmVlRGF0YS5maW5kSW5kZXgocCA9PiBwLnJvb3RJZCA9PT0gbm9kZS5pZCk7XHJcbiAgICBwYXJlbnROYW1lID0gdGhpcy50cmVlRGF0YVtwb3NpdGlvbl0ucGFyZW50SWQgPyB0aGlzLnRyZWVEYXRhW3Bvc2l0aW9uXS5zdWJOYW1lIDogdGhpcy50cmVlRGF0YVtwb3NpdGlvbl0ucm9vdE5hbWU7XHJcbiAgICBpdGVtTnVtYmVySWQgPSB0aGlzLnRyZWVEYXRhW3Bvc2l0aW9uXT8uZGlzcGxheUlkPy50b1N0cmluZygpO1xyXG5cclxuXHJcbiAgICB0aGlzLmNoZWNrZWROb2RlTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5jaGVja2VkTm9kZUxpc3QucHVzaCh7XHJcbiAgICAgIG1vZHVsZUlkOiB0aGlzLm1vZHVsZUlkLFxyXG4gICAgICBpZDogbm9kZS5pZCxcclxuICAgICAgaXRlbU5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaXRlbVR5cGU6IG5vZGUuaXRlbVR5cGUsXHJcbiAgICAgIHBhcmVudElkOiBub2RlLnBhcmVudElkLFxyXG4gICAgICBwYXJlbnROYW1lOiBwYXJlbnROYW1lLFxyXG4gICAgICBpdGVtTnVtYmVySWQ6IGl0ZW1OdW1iZXJJZCxcclxuICAgICAgbGV2ZWxUeXBlOiBub2RlLmxldmVsVHlwZVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBbXTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2gobm9kZSk7XHJcbiAgfVxyXG5cclxuICBub2RlRXhwYW5kRXZlbnQobm9kZSkge1xyXG4gICAgdGhpcy5vbkV4cGFuZEZvbGRlci5lbWl0KHtcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGl0ZW1OYW1lOiAnJyxcclxuICAgICAgaXRlbVR5cGU6IDAsXHJcbiAgICAgIHN0YXR1c05hbWU6ICcnLFxyXG4gICAgICBwYXJlbnRJZDogJycsXHJcbiAgICAgIHBhcmVudE5hbWU6ICcnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNoZWNrZWROb2RlTGlzdCgpIHtcclxuICAgIGNvbnN0IGl0ZW06IFRyZWVGbGF0Tm9kZSA9IG51bGw7XHJcbiAgICB0aGlzLmNoZWNrZWROb2RlTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBbLi4uW10sIGl0ZW1dO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -17,13 +17,15 @@ import { QMSAppIconModule } from "../app-icon/app-icon.module";
17
17
  import { QMSBreadcrumbModule } from "../breadcrumb/breadcrumb.module";
18
18
  import { QMSListModule } from "../list/list.module";
19
19
  import { QMSTreeModule } from "../tree/tree.module";
20
+ import { SelectOneNextDialog } from "./select-one-next.component";
20
21
  import { SelectOneDialog } from "./select-one.component";
21
22
  export class QMSSelectOneModule {
22
23
  }
23
24
  QMSSelectOneModule.decorators = [
24
25
  { type: NgModule, args: [{
25
26
  declarations: [
26
- SelectOneDialog
27
+ SelectOneDialog,
28
+ SelectOneNextDialog
27
29
  ],
28
30
  imports: [
29
31
  CommonModule,
@@ -46,8 +48,9 @@ QMSSelectOneModule.decorators = [
46
48
  QMSTreeModule
47
49
  ],
48
50
  exports: [
49
- SelectOneDialog
51
+ SelectOneDialog,
52
+ SelectOneNextDialog
50
53
  ]
51
54
  },] }
52
55
  ];
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9uZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LW9uZS9zZWxlY3Qtb25lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQThCekQsTUFBTSxPQUFPLGtCQUFrQjs7O1lBNUI5QixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFO29CQUNWLGVBQWU7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixxQkFBcUI7b0JBQ3JCLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixvQkFBb0I7b0JBQ3BCLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsYUFBYTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGVBQWU7aUJBQ2xCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jYXJkXCI7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb25cIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZVwiO1xyXG5pbXBvcnQgeyBTaGFyZWRNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLW1vZHVsZSc7XHJcbmltcG9ydCB7IFFtc0FuZ3VsYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9xbXMtYW5ndWxhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBRTVNBcHBJY29uTW9kdWxlIH0gZnJvbSBcIi4uL2FwcC1pY29uL2FwcC1pY29uLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSBcIi4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUU1TTGlzdE1vZHVsZSB9IGZyb20gXCIuLi9saXN0L2xpc3QubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU1RyZWVNb2R1bGUgfSBmcm9tIFwiLi4vdHJlZS90cmVlLm1vZHVsZVwiO1xyXG5cclxuaW1wb3J0IHsgU2VsZWN0T25lRGlhbG9nIH0gZnJvbSBcIi4vc2VsZWN0LW9uZS5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBTZWxlY3RPbmVEaWFsb2dcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdFRyZWVNb2R1bGUsXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgICAgIE1hdFNpZGVuYXZNb2R1bGUsXHJcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcclxuICAgICAgICBTaGFyZWRNYXRlcmlhbE1vZHVsZSxcclxuICAgICAgICBRTVNMaXN0TW9kdWxlLFxyXG4gICAgICAgIFFtc0FuZ3VsYXJNb2R1bGUsXHJcbiAgICAgICAgUU1TQnJlYWRjcnVtYk1vZHVsZSxcclxuICAgICAgICBRTVNBcHBJY29uTW9kdWxlLFxyXG4gICAgICAgIFFNU1RyZWVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgU2VsZWN0T25lRGlhbG9nXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNTZWxlY3RPbmVNb2R1bGUgeyB9XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9uZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LW9uZS9zZWxlY3Qtb25lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWdDekQsTUFBTSxPQUFPLGtCQUFrQjs7O1lBOUI5QixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFO29CQUNWLGVBQWU7b0JBQ2YsbUJBQW1CO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2Isb0JBQW9CO29CQUNwQixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxlQUFlO29CQUNmLG1CQUFtQjtpQkFDdEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvblwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90cmVlXCI7XHJcbmltcG9ydCB7IFNoYXJlZE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwtbW9kdWxlJztcclxuaW1wb3J0IHsgUW1zQW5ndWxhck1vZHVsZSB9IGZyb20gJy4uLy4uL3Ftcy1hbmd1bGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU0FwcEljb25Nb2R1bGUgfSBmcm9tIFwiLi4vYXBwLWljb24vYXBwLWljb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJNb2R1bGUgfSBmcm9tIFwiLi4vYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBRTVNMaXN0TW9kdWxlIH0gZnJvbSBcIi4uL2xpc3QvbGlzdC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUU1TVHJlZU1vZHVsZSB9IGZyb20gXCIuLi90cmVlL3RyZWUubW9kdWxlXCI7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3RPbmVOZXh0RGlhbG9nIH0gZnJvbSBcIi4vc2VsZWN0LW9uZS1uZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTZWxlY3RPbmVEaWFsb2cgfSBmcm9tIFwiLi9zZWxlY3Qtb25lLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFNlbGVjdE9uZURpYWxvZyxcclxuICAgICAgICBTZWxlY3RPbmVOZXh0RGlhbG9nXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRUcmVlTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICAgICAgU2hhcmVkTWF0ZXJpYWxNb2R1bGUsXHJcbiAgICAgICAgUU1TTGlzdE1vZHVsZSxcclxuICAgICAgICBRbXNBbmd1bGFyTW9kdWxlLFxyXG4gICAgICAgIFFNU0JyZWFkY3J1bWJNb2R1bGUsXHJcbiAgICAgICAgUU1TQXBwSWNvbk1vZHVsZSxcclxuICAgICAgICBRTVNUcmVlTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFNlbGVjdE9uZURpYWxvZyxcclxuICAgICAgICBTZWxlY3RPbmVOZXh0RGlhbG9nXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNTZWxlY3RPbmVNb2R1bGUgeyB9XHJcbiJdfQ==