fantasy-ngzorro 1.1.13 → 1.1.15
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.
- package/bundles/fantasy-ngzorro.umd.js +13 -4
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/hd-table/hd-table.component.js +11 -5
- package/esm2015/hd-table/hd-table.service.js +4 -1
- package/esm5/hd-table/hd-table.component.js +11 -5
- package/esm5/hd-table/hd-table.service.js +4 -1
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +13 -4
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +13 -4
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-table/hd-table.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -596,7 +596,9 @@ var HdTableComponent = /** @class */ (function () {
|
|
|
596
596
|
* @return {?}
|
|
597
597
|
*/
|
|
598
598
|
function (btn) {
|
|
599
|
-
|
|
599
|
+
if (!btn.isRepeat) {
|
|
600
|
+
textStr_1 += btn.name;
|
|
601
|
+
}
|
|
600
602
|
}));
|
|
601
603
|
/** @type {?} */
|
|
602
604
|
var span = document.createElement('a');
|
|
@@ -607,7 +609,11 @@ var HdTableComponent = /** @class */ (function () {
|
|
|
607
609
|
span.style.display = 'inline-block'; // 将样式修改为 inline-block
|
|
608
610
|
span.innerText = textStr_1;
|
|
609
611
|
document.body.appendChild(span);
|
|
610
|
-
operateCol.width = span.offsetWidth + (operateCol.btnList.
|
|
612
|
+
operateCol.width = span.offsetWidth + (operateCol.btnList.filter((/**
|
|
613
|
+
* @param {?} item
|
|
614
|
+
* @return {?}
|
|
615
|
+
*/
|
|
616
|
+
function (item) { return !item.isRepeat; })).length - 1) * 4 + 16;
|
|
611
617
|
span.style.display = 'none';
|
|
612
618
|
document.body.removeChild(span);
|
|
613
619
|
}
|
|
@@ -851,8 +857,8 @@ var HdTableComponent = /** @class */ (function () {
|
|
|
851
857
|
HdTableComponent.decorators = [
|
|
852
858
|
{ type: Component, args: [{
|
|
853
859
|
selector: 'hd-table',
|
|
854
|
-
template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"showDetail = !showDetail\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n
|
|
855
|
-
styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;
|
|
860
|
+
template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"showDetail = !showDetail\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n <span\n class=\"ng-tns-c31-110 draggable ng-star-inserted ant-tree-node-content-wrapper ant-tree-node-content-wrapper-close\"\n ng-reflect-ng-class=\"[object Object]\" title=\"\u603B\u4EF7\" draggable=\"true\" aria-grabbed=\"true\">\n <span class=\"ant-tree-title\">\n <div class=\"hd-table-tree-node\">\n <span>{{node.key}}</span>\n <div *ngIf=\"!node.origin.disabled\" class=\"hd-table-tree-node-img\">\n <i nz-icon nzType=\"caret-up\" nzTheme=\"outline\"></i>\n <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\n </div>\n </div>\n </span>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"showListNodes && hideListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"hideListNodes\" nzCheckable nzShowExpand=\"false\"\n (nzCheckBoxChange)=\"checkAction($event)\">\n </nz-tree>\n </div>\n </div>\n <div style=\"text-align: right;background: #fff;padding: 4px;\">\n <hd-button style=\"margin-right: 4px;\" type=\"default\" size=\"small\" (clickAction)=\"cancelDropdown()\">\u53D6\u6D88\n </hd-button>\n <hd-button type=\"primary\" size=\"small\" (clickAction)=\"submitGrids()\">\u5B8C\u6210</hd-button>\n </div>\n </nz-dropdown-menu>\n </ng-template>\n </hd-button-group>\n <hd-space type=\"row\" size=\"12\"></hd-space>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table *ngIf=\"showTable\" #hdTable class=\"hd-table-container\" [nzScroll]=\"scroll\" nzShowSizeChanger\n nzShowSizeChanger nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\" [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\"\n (nzPageIndexChange)=\"search(false)\" (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\">\n <thead>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col.title)\">\n {{ col.title }}\n <nz-resize-handle nzDirection=\"right\">\n <div class=\"resize-trigger\"></div>\n </nz-resize-handle>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\"\n (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngFor=\"let col of tableCols\">\n <td *ngIf=\"col.isShow\" [ngStyle]=\"{'max-width': col.width + 'px'}\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\"\n [ngClass]=\"(col.canWarp && showDetail) ? 'common-td-wrap' : ''\">\n <ng-container *ngIf=\"col.title === '\u64CD\u4F5C';else notOperateTemplate\">\n <div class=\"common-btn-group\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!btn.showConfirm;else showConfirmTemplate\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ btn.name }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + btn.name + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n btn.name }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"col.name === 'state';else otherTemplate\">\n <hd-status [status]=\"data['state']\">{{ judgeColEmpty(col.render ? col.render(data) : data['state'])}}\n </hd-status>\n </ng-container>\n <ng-template #otherTemplate>\n <ng-container *ngIf=\"col.click;else noClickTemplate\">\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <a [ngStyle]=\"{'color': col?.color ? col.color : null}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-container>\n <ng-template #overflowTemplate>\n <a [ngStyle]=\"{'color': col?.color ? col.color : null}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-template>\n </ng-container>\n <ng-template #noClickTemplate>\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ judgeColEmpty(col.render ?\n col.render(data) :\n data[col.name])}}</span>\n </ng-container>\n <ng-template #overflowTemplate>\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\">\n {{ judgeColEmpty(col.render ? col.render(data) : data[col.name])}}</span>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <!-- \u5408\u8BA1\u6240\u6709\u6570\u636E\u533A\u57DF \u9700\u8981\u540E\u7AEF\u63A5\u53E3\u914D\u5408 -->\n <tr *ngIf=\"showTableTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>",
|
|
861
|
+
styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}::ng-deep .ant-dropdown-menu{border-radius:0}::ng-deep .ant-dropdown{margin-top:8px!important}.common-td-wrap{white-space:normal!important}.nz-resizable-preview{border-width:0 1px 0 0}.resize-trigger{width:10px;height:15px;position:relative;top:calc((100% - 15px)/ 2)}.resize-trigger::after{position:absolute;top:calc((100% - 15px)/ 2);left:0;background:#d5d5d5;content:'';width:1px;height:15px;z-index:1}.nz-resizable-handle-right{position:absolute;width:10px;top:0;right:-5px;z-index:inherit}.hd-table-tree-node{display:inline-flex;align-items:center;padding-right:10px}.hd-table-tree-node .hd-table-tree-node-img{display:flex;flex-direction:column;position:absolute;right:0;margin-top:-2.5px}.hd-table-tree-node .hd-table-tree-node-img i{opacity:.3}.hd-table-tree-node .hd-table-tree-node-img i:last-child{margin-top:-5px}img{width:20px;height:20px}.ant-table-th-left-sticky{z-index:2}"]
|
|
856
862
|
}] }
|
|
857
863
|
];
|
|
858
864
|
/** @nocollapse */
|
|
@@ -990,4 +996,4 @@ if (false) {
|
|
|
990
996
|
*/
|
|
991
997
|
HdTableComponent.prototype.commonSessionService;
|
|
992
998
|
}
|
|
993
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWdCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE4QyxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFxQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRztJQTZERSwwQkFDVSxvQkFBMEM7UUFEcEQsaUJBU0M7UUFSUyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdkQzQyxjQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUVyQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qiw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFDMUQsZ0JBQVcsR0FBVyxZQUFZLENBQUM7O1FBRW5CLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRS9DLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQVksS0FBSyxD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QUM1RSwyQ0FBc0Y7O0lBQ3RGLDRDQUF3Rjs7SUFDeEYsa0NBQWM7O0lBR2QsbURBQWdDOztJQUNoQywyQ0FBd0I7O0lBQ3hCLDZDQUF1Qjs7SUFDdkIseUNBQW1COztJQUNuQiwyQ0FBZ0Q7O0lBQ2hELDBDQUFnRDs7SUFDaEQsMENBQTRDOztJQUU1QyxnREFBMEI7Ozs7O0lBQzFCLDBDQUF1RDs7SUFFdkQsNENBQTREOztJQUM1RCx1Q0FBaUI7O0lBRWpCLDBDQUEwQzs7SUFDMUMscUNBQTJCOztJQUMzQiw4Q0FBeUM7O0lBQ3pDLG1EQUE4Qzs7SUFDOUMseUNBQStCOztJQUUvQiw2Q0FBbUM7O0lBRW5DLHdDQUFtQzs7SUFFbkMseUNBQW9DOztJQUdwQyw4Q0FBeUM7O0lBQ3pDLCtDQUEwQzs7SUFDMUMsc0NBQTRCOztJQUM1Qix1Q0FBd0I7O0lBK0p4QixzQ0FvQkM7Ozs7O0lBaExDLGdEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbG9jYWxmb3JhZ2UgZnJvbSAnbG9jYWxmb3JhZ2UnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBOekZvcm1hdEJlZm9yZURyb3BFdmVudCwgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUnO1xuaW1wb3J0IHsgTnpSZXNpemVFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbFdpZHRoIH0gZnJvbSAnLi4vbW9kZWwvY29sV2lkdGgnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uL21vZGVsL2NvbW1vbi10eXBlJztcbmltcG9ydCB7IENvbW1vblNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb21tb24tc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEhkVGFibGVDb2x1bW4sIEhkVGFibGVUb3RhbE9wdGlvbiwgVGFibGVDYWNoZU9wdGlvbiwgVHJlZUdyaWQgfSBmcm9tICcuL2hkLXRhYmxlLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZC10YWJsZS5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhkVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1dWlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhYmxlQ29sczogQXJyYXk8SGRUYWJsZUNvbHVtbj4gPSBbXTtcbiAgQElucHV0KCkgdGFibGVEYXRhOiBQYWdlPGFueT47XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzaG93U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dPcGVyYXRlQ29sV2FycEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RGaWVsZDogc3RyaW5nID0gJ2JpbGxOdW1iZXInO1xuICAvLyDlkIjorqHljLrln59cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dUYWJsZVRvdGFsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRhYmxlVG90YWxPcHRpb246IEFycmF5PEhkVGFibGVUb3RhbE9wdGlvbj47XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHRhYmxlU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHRhYmxlTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyDooajmoLzliIbpobXlj4LmlbBcbiAgQElucHV0KCkgdGFibGVQYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHRhYmxlUGFnZVNpemU6IG51bWJlcjtcbiAgQE91dHB1dCgpIHRhYmxlUGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB0YWJsZVBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBDb250ZW50Q2hpbGQoXCJ0YWJsZVRvdGFsXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZVRvdGFsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGFibGVMZWZ0QnV0dG9uXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZUxlZnRCdXR0b246IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJ0YWJsZVJpZ2h0QnV0dG9uXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZVJpZ2h0QnV0dG9uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBzY3JvbGwgPSBudWxsO1xuXG4gIC8vIOihqOagvOWLvumAieWPguaVsFxuICBpc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgbGlzdE9mRGlzcGxheURhdGEgPSBbXTtcbiAgbGlzdE9mQWxsRGF0YSA9IFtdO1xuICBsaXN0T2ZTZWxlY3Rpb246IEFycmF5PGFueT4gfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgbWFwT2ZDaGVja2VkSWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIG1hcE9mQ2hlY2tMaXN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gIC8vIOWQiOiuoeWPguaVsFxuICB0YWJsZVRvdGFsT3B0aW9uTGlzdCA9IFtdO1xuICBwcml2YXRlIHRleHRXaWR0aENhY2hlOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIC8vIOe8k+WtmOS/oeaBr1xuICB0YWJsZUNhY2hlT3B0aW9uOiBUYWJsZUNhY2hlT3B0aW9uID0gbmV3IFRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgdXNlclNlc3Npb246IGFueTtcblxuICB0YWJsZUNvbHNDYWNoZTogQXJyYXk8SGRUYWJsZUNvbHVtbj4gPSBbXTtcbiAgc2hvd1RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdENvbExpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gIHNlbGVjdENvbExpc3ROb2Rlc0NhY2hlOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgc2hvd0xpc3ROb2RlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzRHJvcGRvd25WaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIOiuvue9ruWIl+eahOWPr+ingeaTjeS9nOaVsOe7hFxuICBub3dMaXN0Tm9kZXM6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICAvLyDorr7nva7liJfnmoTkuI3lj6/op4Hmk43kvZzmlbDnu4RcbiAgaGlkZUxpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG5cbiAgLy8g54K55Ye75pe26ZyA6KaB5pyJ5Li05pe25pWw57uE5a2Y5pS+5Lik5LiqdHJlZSznlKjkuo7lj5bmtojml7blgJnmgaLlpI3osIPmlbTliY3nmoTnirbmgIFcbiAgY2FuY2VsTm93TGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgY2FuY2VsSGlkZUxpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gIHNob3dEZXRhaWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbG9jYWxmb3JhZ2U6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb21tb25TZXNzaW9uU2VydmljZTogQ29tbW9uU2Vzc2lvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5sb2NhbGZvcmFnZSA9IGxvY2FsZm9yYWdlLmNyZWF0ZUluc3RhbmNlKHtcbiAgICAgIGRyaXZlcjogbG9jYWxmb3JhZ2UuSU5ERVhFRERCLFxuICAgICAgbmFtZTogJ2hkLWZzY20nLCAvLyDorr7nva7lrZjlgqjlupPnmoTlkI3np7BcbiAgICAgIHZlcnNpb246IDEuMCwgLy8g6K6+572u5a2Y5YKo5bqT55qE54mI5pysXG4gICAgICBzdG9yZU5hbWU6ICdoZC1mc2NtLXN0b3JlJywgLy8g6K6+572u5a2Y5YKo5bqT55qE5a2Y5YKo56m66Ze05ZCN56ewXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJTZXNzaW9uID0gdGhpcy5jb21tb25TZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uKCdfX2p5X2F1dGhvcml6YXRpb25fc2Vzc2lvbl9fJyk7XG4gICAgLy8g55So5LqO5byA5Y+R546v5aKD6LCD6K+VXG4gICAgaWYgKCF0aGlzLnVzZXJTZXNzaW9uKSB7XG4gICAgICB0aGlzLnVzZXJTZXNzaW9uID0ge1xuICAgICAgICB1c2VyQ29kZTogJ2RldidcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxvY2FsZm9yYWdlLnJlYWR5KCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmdldEluaXRMb2NhbGZvcmFnZSgpO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7XG4gICAgICB0aHJvdyAnbG9jYWxmb3JhZ2XliqDovb3lvILluLgnO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SW5pdExvY2FsZm9yYWdlKCkge1xuICAgIC8vIOmmluWFiOiOt+WPluW9k+WJjWhkLXRhYmxl5a2Y5YKo55qE5pWw5o2uIOWmguaenOayoeacie+8jOWImeWIneWni+WMluS4i+W9k+WJjeeahOaVsOaNrlxuICAgIHRoaXMubG9jYWxmb3JhZ2UuZ2V0SXRlbSgnaGQtdGFibGVfJyArIHRoaXMudXNlclNlc3Npb24udXNlckNvZGUgKyAnXycgKyB0aGlzLnV1aWQpLnRoZW4oKHZhbHVlOiBUYWJsZUNhY2hlT3B0aW9uKSA9PiB7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24gPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplID4gMTApIHtcbiAgICAgICAgdGhpcy50YWJsZVBhZ2VTaXplID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplO1xuICAgICAgICB0aGlzLnRhYmxlUGFnZVNpemVDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlUGFnZVNpemUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50YWJsZVBhZ2VTaXplID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplIHx8IDEwO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzKSB7XG4gICAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbml0VGFibGUoKTtcbiAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24gPSBuZXcgVGFibGVDYWNoZU9wdGlvbigpO1xuICAgICAgdGhpcy50YWJsZVBhZ2VTaXplID0gMTA7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgPSAxMDtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuICAgICAgdGhpcy5pbml0VGFibGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRUYWJsZSgpIHtcbiAgICB0aGlzLnNob3dUYWJsZSA9IGZhbHNlO1xuICAgIGlmICghdGhpcy51dWlkKSB7XG4gICAgICB0aHJvdyAnaGQtdGFibGXnvLrlpLF1dWlk5Y+C5pWw77yM6K+35L2/55So57yW6L6R5Zmo5o+S5Lu255Sf5oiQ5bm257uZaGQtdGFibGXotYvkuoh1dWlk5bGe5oCnJztcbiAgICB9XG4gICAgaWYgKHRoaXMuanVkZ2VSZXBlYXRDb2xzKCkpIHtcbiAgICAgIHRoaXMuZGVhbENvbHMoKTtcbiAgICAgIHRoaXMuc2V0Q29scygpO1xuICAgICAgdGhpcy5kZWFsU2Nyb2xsKCk7XG4gICAgICB0aGlzLmRlYWxPcGVyYXRlQnRuKCk7XG4gICAgICB0aGlzLnNob3dUYWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8g6K6+572u5YiX54K55Ye75Y+W5raIXG4gIGNhbmNlbERyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuaXNEcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2FuY2VsSGlkZUxpc3ROb2RlcykpO1xuICAgIHRoaXMubm93TGlzdE5vZGVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNhbmNlbE5vd0xpc3ROb2RlcykpO1xuICB9XG5cbiAgLy8g54K55Ye76Kem5Y+R6K6+572u5YiXXG4gIGNvbmZpcm1Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAvLyDkuLTml7blrZjmlL7kuIvvvIzlj5bmtojnmoTml7blgJnmgaLlpI3ljp/mnaXnmoTnirbmgIEgICDmt7Hmi7fotJ3kuIvlr7nosaHmlbDnu4RcbiAgICB0aGlzLmNhbmNlbEhpZGVMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaGlkZUxpc3ROb2RlcykpO1xuICAgIHRoaXMuY2FuY2VsTm93TGlzdE5vZGVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm5vd0xpc3ROb2RlcykpO1xuICAgIHRoaXMuaXNEcm9wZG93blZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgc3VibWl0R3JpZHMoKSB7XG4gICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMgPSBbXTtcbiAgICB0aGlzLm5vd0xpc3ROb2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMucHVzaChpdGVtLnRpdGxlKTtcbiAgICB9KVxuICAgIHRoaXMuc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICB0aGlzLmluaXRUYWJsZSgpO1xuICAgIHRoaXMuaXNEcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIC8vIOS7jue8k+WtmOiuvue9ruWIl1xuICBzZXRDb2xzKCkge1xuICAgIHRoaXMuc2hvd0xpc3ROb2RlcyA9IGZhbHNlO1xuICAgIHRoaXMubm93TGlzdE5vZGVzID0gW107XG4gICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gW107XG4gICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzKSB7XG4gICAgICBsZXQgeyBub3RJbmNvbHMsIGluY29scyB9ID0gdGhpcy50YWJsZUNvbHNDYWNoZS5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoaXRlbS50aXRsZSkpIHtcbiAgICAgICAgICBhY2MuaW5jb2xzLnB1c2goaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjLm5vdEluY29scy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7IG5vdEluY29sczogW10sIGluY29sczogW10gfSk7XG4gICAgICBpbmNvbHMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5kZXhPZihhLnRpdGxlKSAtIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluZGV4T2YoYi50aXRsZSk7XG4gICAgICB9KVxuICAgICAgdGhpcy50YWJsZUNvbHMgPSBpbmNvbHMuY29uY2F0KG5vdEluY29scyk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scykge1xuICAgICAgICBlbGVtZW50LmlzU2hvdyA9IHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGVsZW1lbnQudGl0bGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICBpZiAoZWxlbWVudC5pc1Nob3cpIHtcbiAgICAgICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAga2V5OiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGVsZW1lbnQuZml4ZWQgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGVsZW1lbnQudGl0bGUpID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmhpZGVMaXN0Tm9kZXMucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICAgIGtleTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBlbGVtZW50LmZpeGVkID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgc2VsZWN0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjaGVja2VkOiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhlbGVtZW50LnRpdGxlKSA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuaXNTaG93ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAga2V5OiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogZmFsc2UsXG4gICAgICAgICAgZGlzYWJsZWQ6IGVsZW1lbnQuZml4ZWQgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIOiwg+aVtOWIl+WuveS4uue8k+WtmOWuveW6plxuICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24gJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocyAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLnNpemUgIT09IDApIHtcbiAgICAgIHRoaXMudGFibGVDb2xzLmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocy5oYXMoY29sLnRpdGxlKSkge1xuICAgICAgICAgIGNvbC53aWR0aCA9IHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuZ2V0KGNvbC50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5kZWFsQ29scygpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93TGlzdE5vZGVzID0gdHJ1ZTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIC8vIOaLluaLveaTjeS9nFxuICBiZWZvcmVEcm9wID0gKGFyZzogTnpGb3JtYXRCZWZvcmVEcm9wRXZlbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0+IHtcbiAgICBpZiAoYXJnLm5vZGUub3JpZ2luLmRpc2FibGVkIHx8ICFhcmcuZHJhZ05vZGUub3JpZ2luLmNoZWNrZWQpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBub2RlOiBUcmVlR3JpZCA9IG5ldyBUcmVlR3JpZCgpO1xuICAgICAgbm9kZS5jaGVja2VkID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5jaGVja2VkO1xuICAgICAgbm9kZS5kaXNhYmxlZCA9IGFyZy5kcmFnTm9kZS5vcmlnaW4uZGlzYWJsZWQ7XG4gICAgICBub2RlLmV4cGFuZGVkID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5leHBhbmRlZDtcbiAgICAgIG5vZGUuaXNMZWFmID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5pc0xlYWY7XG4gICAgICBub2RlLmtleSA9IGFyZy5kcmFnTm9kZS5vcmlnaW4ua2V5O1xuICAgICAgbm9kZS5zZWxlY3RhYmxlID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5zZWxlY3RhYmxlO1xuICAgICAgbm9kZS50aXRsZSA9IGFyZy5kcmFnTm9kZS5vcmlnaW4udGl0bGU7XG4gICAgICAvLyDmi5bmi73lhYPntKDkuIvmoIdcbiAgICAgIGxldCBkcmFnTm9kZUluZGV4ID0gdGhpcy5ub3dMaXN0Tm9kZXMuZmluZEluZGV4KGl0ZW0gPT4geyByZXR1cm4gaXRlbS50aXRsZSA9PSBhcmcuZHJhZ05vZGUub3JpZ2luLnRpdGxlIH0pO1xuICAgICAgLy8g55uu5qCH5L2N572u55qE5LiL5qCHXG4gICAgICBsZXQgbm9kZUluZGV4ID0gdGhpcy5ub3dMaXN0Tm9kZXMuZmluZEluZGV4KGl0ZW0gPT4geyByZXR1cm4gaXRlbS50aXRsZSA9PSBhcmcubm9kZS5vcmlnaW4udGl0bGUgfSkgKyAoYXJnLnBvcyA9PT0gLTEgPyAwIDogYXJnLnBvcyk7XG4gICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5zcGxpY2Uobm9kZUluZGV4LCAwLCBub2RlKTtcbiAgICAgIHRoaXMubm93TGlzdE5vZGVzLnNwbGljZShub2RlSW5kZXggPj0gZHJhZ05vZGVJbmRleCA/IGRyYWdOb2RlSW5kZXggOiBkcmFnTm9kZUluZGV4ICsgMSwgMSk7XG4gICAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShkZWxheSgxMDApKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlRWxlbWVudE5lYXJieShhcnIsIGVsZW1lbnRUb01vdmVUaXRsZSwgdGFyZ2V0RWxlbWVudFRpdGxlLCBwb3MpIHtcbiAgICBjb25zdCB0bXBBcnJheSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYXJyKSk7XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSB0bXBBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnRpdGxlID09PSB0YXJnZXRFbGVtZW50VGl0bGUpO1xuICAgIGNvbnN0IGVsZW1lbnRJbmRleCA9IHRtcEFycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0udGl0bGUgPT09IGVsZW1lbnRUb01vdmVUaXRsZSk7XG4gICAgY29uc3QgbmV3SW5kZXggPSBwb3MgPCAwID8gKHRhcmdldEluZGV4ICsgcG9zKSA6IHRhcmdldEluZGV4O1xuICAgIC8vIOenu+mZpOebruagh+WFg+e0oO+8jOW5tuaPkuWFpeWIsOaWsOeahOS9jee9rlxuICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50ID0gdG1wQXJyYXkuc3BsaWNlKGVsZW1lbnRJbmRleCwgMSk7XG4gICAgdG1wQXJyYXkuc3BsaWNlKG5ld0luZGV4ICsgMSwgMCwgcmVtb3ZlZEVsZW1lbnRbMF0pO1xuICAgIHJldHVybiB0bXBBcnJheTtcbiAgfVxuXG4gIC8vIOWLvumAieaTjeS9nFxuICBjaGVja0FjdGlvbihldmVudDogTnpGb3JtYXRFbWl0RXZlbnQpOiB2b2lkIHtcbiAgICAvLyDli77pgInlj6rmnInlnKhoaWRlTGlzdE5vZGVzLOWPlua2iOWLvumAieWPquacieWcqG5vd0xpc3ROb2Rlc1xuICAgIGlmIChldmVudC5ub2RlLm9yaWdpbi5jaGVja2VkKSB7XG4gICAgICBsZXQgbm9kZTogVHJlZUdyaWQgPSBuZXcgVHJlZUdyaWQoKTtcbiAgICAgIG5vZGUgPSB0aGlzLmhpZGVMaXN0Tm9kZXMuZmluZCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS50aXRsZSA9PT0gZXZlbnQubm9kZS5vcmlnaW4udGl0bGU7XG4gICAgICB9KVxuICAgICAgbm9kZS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIC8vIOaJvuWIsOesrOS4gOS4qmZpeGVk5bGe5oCn5Li6cmlnaHTnmoR0aXRsZe+8jOaJvuWIsOaPkuWFpeWFg+e0oOeahOS9jee9rlxuICAgICAgbGV0IHRpdGxlID0gbnVsbDtcbiAgICAgIGZvciAobGV0IGkgPSB0aGlzLnRhYmxlQ29sc0NhY2hlLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ29sc0NhY2hlW2ldLmZpeGVkID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgdGl0bGUgPSB0aGlzLnRhYmxlQ29sc0NhY2hlW2ldLnRpdGxlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsZXQgdGVtcG9yYXJ5Tm9kZUxpc3QgPSB0aGlzLm5vd0xpc3ROb2Rlcy5zbGljZSgwKTtcbiAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgdGVtcG9yYXJ5Tm9kZUxpc3QucHVzaChub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ub3dMaXN0Tm9kZXMuZmluZEluZGV4KG5vZGUgPT4gbm9kZS50aXRsZSA9PT0gdGl0bGUpO1xuICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5zcGxpY2UoaW5kZXgsIDAsIG5vZGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSB0ZW1wb3JhcnlOb2RlTGlzdDtcbiAgICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IHRoaXMuaGlkZUxpc3ROb2Rlcy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGUgIT09IGV2ZW50Lm5vZGUub3JpZ2luLnRpdGxlO1xuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaGlkZUxpc3ROb2Rlcy5sZW5ndGggPT09IDAgJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzKSB7XG4gICAgICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IHRoaXMuZ2V0SGlkZUxpc3ROb2RlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHRlbXBvcmFyeU5vZGVMaXN0ID0gdGhpcy5oaWRlTGlzdE5vZGVzLnNsaWNlKDApO1xuICAgICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGlmIChpdGVtLnRpdGxlID09PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZSkge1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XG4gICAgICAgICAgICBpbm5lckl0ZW0uY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gdGVtcG9yYXJ5Tm9kZUxpc3Q7XG4gICAgICB9XG4gICAgICAvLyDkuLrkuobpmLLmraLmnKrpgInmi6nnmoTmlbDnu4Tpobrluo/lm6DkuLpwdXNo5pa55rOV6ICM5pS55Y+Y77yM6YCa6L+H5Yid5aeL5pWw5o2u6I635Y+W5pi+56S655qE5a2X5q615YiX6KGoXG4gICAgICB0aGlzLm5vd0xpc3ROb2RlcyA9IHRoaXMubm93TGlzdE5vZGVzLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS50aXRsZSAhPT0gZXZlbnQubm9kZS5vcmlnaW4udGl0bGU7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIC8vIOmYsuatouacqumAieaLqeeahOaVsOe7hOmhuuW6j+WboOS4unB1c2jmlrnms5XogIzmlLnlj5jvvIzku47liJ3lp4vmlbDmja7ojrflj5bpmpDol4/mnKrmmL7npLrnmoTlrZfmrrXliJfooahcbiAgZ2V0SGlkZUxpc3ROb2RlcygpOiBBcnJheTxUcmVlR3JpZD4ge1xuICAgIGxldCB0ZW1wb3JhcnlOb2RlTGlzdDogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gICAgLy8g5LuOdGFibGVDb2xzQ2FjaGXph4zpnaLmib7msqHmnInlnKhzdG9yYWdl6YeM6Z2i5Ye6546w55qE5a2X5q61LOe7hOaIkGhpZGVMaXN0XG4gICAgdGhpcy50YWJsZUNvbHNDYWNoZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGl0ZW0udGl0bGUpKSB7XG4gICAgICAgIGxldCBub2RlSXRlbTogVHJlZUdyaWQgPSBuZXcgVHJlZUdyaWQoKTtcbiAgICAgICAgbm9kZUl0ZW0udGl0bGUgPSBpdGVtLnRpdGxlO1xuICAgICAgICBub2RlSXRlbS5rZXkgPSBpdGVtLnRpdGxlO1xuICAgICAgICBub2RlSXRlbS5kaXNhYmxlZCA9IGl0ZW0uZml4ZWQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIG5vZGVJdGVtLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgdGVtcG9yYXJ5Tm9kZUxpc3QucHVzaChub2RlSXRlbSk7XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gdGVtcG9yYXJ5Tm9kZUxpc3Q7XG4gIH1cblxuICBkZWFsQ29scygpIHtcbiAgICAvLyDlpITnkIblt6blj7PlkLjpmYTnmoTmlbDmja7lnKjmlbDnu4TkuK3nmoTkvY3nva5cbiAgICBjb25zdCBsZWZ0Rml4ZWRDb2xzID0gdGhpcy50YWJsZUNvbHMuZmlsdGVyKGNvbCA9PiBjb2wuZml4ZWQgPT09ICdsZWZ0Jyk7XG4gICAgY29uc3QgcmlnaHRGaXhlZENvbHMgPSB0aGlzLnRhYmxlQ29scy5maWx0ZXIoY29sID0+IGNvbC5maXhlZCA9PT0gJ3JpZ2h0Jyk7XG4gICAgY29uc3Qgbm9ybWFsQ29scyA9IHRoaXMudGFibGVDb2xzLmZpbHRlcihjb2wgPT4gIWNvbC5maXhlZCk7XG4gICAgY29uc3QgcmVzdWx0Q29scyA9IGxlZnRGaXhlZENvbHMuY29uY2F0KG5vcm1hbENvbHMpLmNvbmNhdChyaWdodEZpeGVkQ29scyk7XG4gICAgdGhpcy50YWJsZUNvbHMgPSByZXN1bHRDb2xzO1xuICAgIGlmICghdGhpcy50YWJsZUNvbHNDYWNoZSB8fCB0aGlzLnRhYmxlQ29sc0NhY2hlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8g57yT5a2Y5LiA5LiL6KGo5qC855qE5pWw5o2uXG4gICAgICB0aGlzLnRhYmxlQ29sc0NhY2hlID0gWy4uLnRoaXMudGFibGVDb2xzXTtcbiAgICB9XG4gIH1cblxuICBzYXZlVGFibGVDYWNoZU9wdGlvbigpIHtcbiAgICB0aGlzLmxvY2FsZm9yYWdlLnNldEl0ZW0oJ2hkLXRhYmxlXycgKyB0aGlzLnVzZXJTZXNzaW9uLnVzZXJDb2RlICsgJ18nICsgdGhpcy51dWlkLCB0aGlzLnRhYmxlQ2FjaGVPcHRpb24pO1xuICB9XG5cbiAganVkZ2VSZXBlYXRDb2xzKCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJsZUNvbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IHRoaXMudGFibGVDb2xzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ29sc1tpXS50aXRsZSA9PT0gdGhpcy50YWJsZUNvbHNbal0udGl0bGUpIHtcbiAgICAgICAgICB0aHJvdyBgaGQtdGFibGXnu4Tku7bkuK3liJflkI0gJHt0aGlzLnRhYmxlQ29sc1tpXS50aXRsZX0g6YeN5aSNYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uUmVzaXplKHsgd2lkdGggfTogTnpSZXNpemVFdmVudCwgY29sOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLnNldChjb2wsIHdpZHRoKTtcbiAgICB0aGlzLnNhdmVUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgdGhpcy50YWJsZUNvbHMgPSB0aGlzLnRhYmxlQ29scy5tYXAoZSA9PiAoZS50aXRsZSA9PT0gY29sID8geyAuLi5lLCB3aWR0aDogd2lkdGggfSA6IGUpKTtcbiAgICB0aGlzLmRlYWxTY3JvbGwoKTtcbiAgfVxuXG4gIGRlYWxPcGVyYXRlQnRuKCkge1xuICAgIGxldCBvcGVyYXRlQ29sID0gdGhpcy50YWJsZUNvbHMuZmluZChjb2wgPT4gY29sLnRpdGxlID09PSAn5pON5L2cJykgfHwgbnVsbDtcbiAgICBpZiAob3BlcmF0ZUNvbCkge1xuICAgICAgbGV0IHRleHRTdHIgPSAnJztcbiAgICAgIG9wZXJhdGVDb2wuYnRuTGlzdC5mb3JFYWNoKGJ0biA9PiB7XG4gICAgICAgIHRleHRTdHIgKz0gYnRuLm5hbWU7XG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgc3Bhbi5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBzcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHNwYW4uc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgICAgc3Bhbi5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcbiAgICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snOyAvLyDlsIbmoLflvI/kv67mlLnkuLogaW5saW5lLWJsb2NrXG4gICAgICBzcGFuLmlubmVyVGV4dCA9IHRleHRTdHI7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgICAgb3BlcmF0ZUNvbC53aWR0aCA9IHNwYW4ub2Zmc2V0V2lkdGggKyAob3BlcmF0ZUNvbC5idG5MaXN0Lmxlbmd0aCAtIDEpICogNCArIDE2O1xuICAgICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzcGFuKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgdHJpZ2dlckV2ZW50KGZuOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZm4pIHtcbiAgICAgIGZuKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBkZWFsU2Nyb2xsKCkge1xuICAgIGxldCBjb2xXaWR0aCA9IDA7XG4gICAgaWYgKHRoaXMuc2hvd1NlbGVjdGVkKSB7XG4gICAgICBjb2xXaWR0aCArPSA0MDtcbiAgICB9XG4gICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICghaXRlbS53aWR0aCkge1xuICAgICAgICBpdGVtLndpZHRoID0gQ29sV2lkdGguZml4Q29sV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5pc1Nob3cpIHtcbiAgICAgICAgaXRlbS5maXhlZFdpZHRoID0gY29sV2lkdGg7XG4gICAgICAgIGNvbFdpZHRoICs9IGl0ZW0ud2lkdGg7XG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0aGlzLnRhYmxlVG90YWwpIHtcbiAgICAgIHRoaXMuc2Nyb2xsID0ge1xuICAgICAgICB4OiAnMXB4JyxcbiAgICAgICAgeTogJ2NhbGMoMTAwdmggLSAxODBweCknXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2Nyb2xsID0ge1xuICAgICAgICB4OiAnMXB4JyxcbiAgICAgICAgeTogJ2NhbGMoMTAwdmggLSAxNDBweCknXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNUZXh0T3ZlcmZsb3codGV4dDogc3RyaW5nLCBtYXhXaWR0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2FjaGVkV2lkdGggPSB0aGlzLnRleHRXaWR0aENhY2hlW3RleHRdO1xuICAgIGlmIChjYWNoZWRXaWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkV2lkdGggKyAxNSA+PSBtYXhXaWR0aDtcbiAgICB9XG5cbiAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIHNwYW4uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIHNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIHNwYW4uc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgIHNwYW4uc3R5bGUuZm9udFNpemUgPSAnMTJweCc7XG4gICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7IC8vIOWwhuagt+W8j+S/ruaUueS4uiBpbmxpbmUtYmxvY2tcbiAgICBzcGFuLmlubmVyVGV4dCA9IHRleHQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICBjb25zdCBpc092ZXJmbG93ID0gc3Bhbi5vZmZzZXRXaWR0aCArIDE1ID49IG1heFdpZHRoO1xuICAgIHRoaXMudGV4dFdpZHRoQ2FjaGVbdGV4dF0gPSBzcGFuLm9mZnNldFdpZHRoO1xuICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNwYW4pO1xuICAgIHJldHVybiBpc092ZXJmbG93O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlKSB7XG4gICAgLy8g5pWw5o2u5pS55Y+Y5pe277yM6YeN572u5Yu+6YCJ54q25oCBXG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1sndGFibGVEYXRhJ10gJiYgY2hhbmdlc1sndGFibGVEYXRhJ11bJ2N1cnJlbnRWYWx1ZSddICYmIGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ10pIHtcbiAgICAgIGlmIChjaGFuZ2VzWyd0YWJsZURhdGEnXVsnY3VycmVudFZhbHVlJ11bJ3BhZ2VTaXplJ10gIT09IGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ11bJ3BhZ2VTaXplJ11cbiAgICAgICAgfHwgY2hhbmdlc1sndGFibGVEYXRhJ11bJ2N1cnJlbnRWYWx1ZSddWydwYWdlTnVtYmVyJ10gIT09IGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ11bJ3BhZ2VOdW1iZXInXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJlc2V0U3RhdHVzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8g6KGo5qC85Yu+6YCJ6YC76L6RXG4gIGN1cnJlbnRQYWdlRGF0YUNoYW5nZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEgPSAkZXZlbnQ7XG4gICAgdGhpcy5yZWZyZXNoU3RhdHVzKCk7XG4gICAgdGhpcy5yZXNldFN0YXR1cygpO1xuICB9XG5cbiAgc2VhcmNoKHJlc2V0OiBib29sZWFuKSB7XG4gICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplID0gdGhpcy50YWJsZVBhZ2VTaXplO1xuICAgIHRoaXMuc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMudGFibGVQYWdlU2l6ZUNoYW5nZS5lbWl0KHRoaXMudGFibGVQYWdlU2l6ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGVQYWdlSW5kZXhDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlUGFnZUluZGV4KTtcbiAgICB9XG4gICAgLy8g6Kem5Y+R54i257uE5Lu25p+l6K+i5LqL5Lu2XG4gICAgdGhpcy50YWJsZVNlYXJjaEV2ZW50LmVtaXQocmVzZXQpO1xuICB9XG5cbiAgcmVzZXRTdGF0dXMoKSB7XG4gICAgdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgdGhpcy5tYXBPZkNoZWNrZWRJZCA9IHt9O1xuICAgIHRoaXMubWFwT2ZDaGVja0xpc3QgPSB7fTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoW10pO1xuICB9XG5cbiAgcmVmcmVzaFN0YXR1cyhldmVudDogYm9vbGVhbiA9IGZhbHNlLCBkYXRhOiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICYmIGRhdGEpIHtcbiAgICAgICF0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dICYmICh0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dID0gZGF0YSk7XG4gICAgfSBlbHNlIGlmICghZXZlbnQgJiYgZGF0YSkge1xuICAgICAgdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSAmJiBkZWxldGUgdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXTtcbiAgICB9XG4gICAgdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IHRoaXMubGlzdE9mRGlzcGxheURhdGEuZXZlcnkoaXRlbSA9PiB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dKTtcbiAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLnNvbWUoaXRlbSA9PiB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dKSAmJiAhdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZDtcbiAgICAvLyDop6blj5FzZWxlY3Tkuovku7ZcbiAgICBpZiAodGhpcy5zZWxlY3RFdmVudCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRMaXN0OiBBcnJheTxhbnk+ID0gT2JqZWN0LnZhbHVlcyh0aGlzLm1hcE9mQ2hlY2tMaXN0KTtcbiAgICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChzZWxlY3RlZExpc3QpO1xuICAgIH1cbiAgICAvLyDlpoLmnpzmlbDmja7kuLrnqbrvvIzliJnmuIXnqbrli77pgInmoIfor4ZcbiAgICBpZiAodGhpcy50YWJsZURhdGEuY29udGVudC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAhdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiAodGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSA9IGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiBkZWxldGUgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSA9IHZhbHVlXG4gICAgfSk7XG4gICAgdGhpcy5yZWZyZXNoU3RhdHVzKCk7XG4gIH1cblxuICBqdWRnZUNvbEVtcHR5KHN0cjogYW55KSB7XG4gICAgaWYgKHN0ciB8fCBzdHIgPT09IDApIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnPOepuj4nO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
999
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWdCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE4QyxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFxQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRztJQTZERSwwQkFDVSxvQkFBMEM7UUFEcEQsaUJBU0M7UUFSUyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdkQzQyxjQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUVyQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qiw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFDMUQsZ0JBQVcsR0FBVyxZQUFZLENBQUM7O1FBRW5CLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRS9DLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQVksS0FBSyxD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RDs7SUFDckQsdUNBQTJDOztJQUMzQyw0Q0FBZ0Q7O0lBQ2hELHdDQUF1Qzs7SUFFdkMsMENBQW9DOztJQUNwQyx5Q0FBK0I7O0lBQy9CLGdEQUF5RDs7SUFDekQsK0NBQXdEOztJQUN4RCxzQ0FBNEU7O0lBQzVFLDJDQUFzRjs7SUFDdEYsNENBQXdGOztJQUN4RixrQ0FBYzs7SUFHZCxtREFBZ0M7O0lBQ2hDLDJDQUF3Qjs7SUFDeEIsNkNBQXVCOztJQUN2Qix5Q0FBbUI7O0lBQ25CLDJDQUFnRDs7SUFDaEQsMENBQWdEOztJQUNoRCwwQ0FBNEM7O0lBRTVDLGdEQUEwQjs7Ozs7SUFDMUIsMENBQXVEOztJQUV2RCw0Q0FBNEQ7O0lBQzVELHVDQUFpQjs7SUFFakIsMENBQTBDOztJQUMxQyxxQ0FBMkI7O0lBQzNCLDhDQUF5Qzs7SUFDekMsbURBQThDOztJQUM5Qyx5Q0FBK0I7O0lBRS9CLDZDQUFtQzs7SUFFbkMsd0NBQW1DOztJQUVuQyx5Q0FBb0M7O0lBR3BDLDhDQUF5Qzs7SUFDekMsK0NBQTBDOztJQUMxQyxzQ0FBNEI7O0lBQzVCLHVDQUF3Qjs7SUErSnhCLHNDQW9CQzs7Ozs7SUFoTEMsZ0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBsb2NhbGZvcmFnZSBmcm9tICdsb2NhbGZvcmFnZSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIE56Rm9ybWF0QmVmb3JlRHJvcEV2ZW50LCBOekZvcm1hdEVtaXRFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZSc7XG5pbXBvcnQgeyBOelJlc2l6ZUV2ZW50IH0gZnJvbSAnbmctem9ycm8tYW50ZC9yZXNpemFibGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sV2lkdGggfSBmcm9tICcuLi9tb2RlbC9jb2xXaWR0aCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnLi4vbW9kZWwvY29tbW9uLXR5cGUnO1xuaW1wb3J0IHsgQ29tbW9uU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvbW1vbi1zZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGRUYWJsZUNvbHVtbiwgSGRUYWJsZVRvdGFsT3B0aW9uLCBUYWJsZUNhY2hlT3B0aW9uLCBUcmVlR3JpZCB9IGZyb20gJy4vaGQtdGFibGUuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hkLXRhYmxlLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHV1aWQ6IHN0cmluZztcbiAgQElucHV0KCkgdGFibGVDb2xzOiBBcnJheTxIZFRhYmxlQ29sdW1uPiA9IFtdO1xuICBASW5wdXQoKSB0YWJsZURhdGE6IFBhZ2U8YW55PjtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd09wZXJhdGVDb2xXYXJwQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdEZpZWxkOiBzdHJpbmcgPSAnYmlsbE51bWJlcic7XG4gIC8vIOWQiOiuoeWMuuWfn1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd1RhYmxlVG90YWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdGFibGVUb3RhbE9wdGlvbjogQXJyYXk8SGRUYWJsZVRvdGFsT3B0aW9uPjtcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdGFibGVTZWFyY2hFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgdGFibGVMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIOihqOagvOWIhumhteWPguaVsFxuICBASW5wdXQoKSB0YWJsZVBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgdGFibGVQYWdlU2l6ZTogbnVtYmVyO1xuICBAT3V0cHV0KCkgdGFibGVQYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHRhYmxlUGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQENvbnRlbnRDaGlsZChcInRhYmxlVG90YWxcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlVG90YWw6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJ0YWJsZUxlZnRCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlTGVmdEJ1dHRvbjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInRhYmxlUmlnaHRCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlUmlnaHRCdXR0b246IFRlbXBsYXRlUmVmPGFueT47XG4gIHNjcm9sbCA9IG51bGw7XG5cbiAgLy8g6KGo5qC85Yu+6YCJ5Y+C5pWwXG4gIGlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gZmFsc2U7XG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBsaXN0T2ZEaXNwbGF5RGF0YSA9IFtdO1xuICBsaXN0T2ZBbGxEYXRhID0gW107XG4gIGxpc3RPZlNlbGVjdGlvbjogQXJyYXk8YW55PiB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBtYXBPZkNoZWNrZWRJZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgbWFwT2ZDaGVja0xpc3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgLy8g5ZCI6K6h5Y+C5pWwXG4gIHRhYmxlVG90YWxPcHRpb25MaXN0ID0gW107XG4gIHByaXZhdGUgdGV4dFdpZHRoQ2FjaGU6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgLy8g57yT5a2Y5L+h5oGvXG4gIHRhYmxlQ2FjaGVPcHRpb246IFRhYmxlQ2FjaGVPcHRpb24gPSBuZXcgVGFibGVDYWNoZU9wdGlvbigpO1xuICB1c2VyU2Vzc2lvbjogYW55O1xuXG4gIHRhYmxlQ29sc0NhY2hlOiBBcnJheTxIZFRhYmxlQ29sdW1uPiA9IFtdO1xuICBzaG93VGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0Q29sTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgc2VsZWN0Q29sTGlzdE5vZGVzQ2FjaGU6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICBzaG93TGlzdE5vZGVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNEcm9wZG93blZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8g6K6+572u5YiX55qE5Y+v6KeB5pON5L2c5pWw57uEXG4gIG5vd0xpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gIC8vIOiuvue9ruWIl+eahOS4jeWPr+ingeaTjeS9nOaVsOe7hFxuICBoaWRlTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcblxuICAvLyDngrnlh7vml7bpnIDopoHmnInkuLTml7bmlbDnu4TlrZjmlL7kuKTkuKp0cmVlLOeUqOS6juWPlua2iOaXtuWAmeaBouWkjeiwg+aVtOWJjeeahOeKtuaAgVxuICBjYW5jZWxOb3dMaXN0Tm9kZXM6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICBjYW5jZWxIaWRlTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgc2hvd0RldGFpbDogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2NhbGZvcmFnZTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbW1vblNlc3Npb25TZXJ2aWNlOiBDb21tb25TZXNzaW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxvY2FsZm9yYWdlID0gbG9jYWxmb3JhZ2UuY3JlYXRlSW5zdGFuY2Uoe1xuICAgICAgZHJpdmVyOiBsb2NhbGZvcmFnZS5JTkRFWEVEREIsXG4gICAgICBuYW1lOiAnaGQtZnNjbScsIC8vIOiuvue9ruWtmOWCqOW6k+eahOWQjeensFxuICAgICAgdmVyc2lvbjogMS4wLCAvLyDorr7nva7lrZjlgqjlupPnmoTniYjmnKxcbiAgICAgIHN0b3JlTmFtZTogJ2hkLWZzY20tc3RvcmUnLCAvLyDorr7nva7lrZjlgqjlupPnmoTlrZjlgqjnqbrpl7TlkI3np7BcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlclNlc3Npb24gPSB0aGlzLmNvbW1vblNlc3Npb25TZXJ2aWNlLmdldFNlc3Npb24oJ19fanlfYXV0aG9yaXphdGlvbl9zZXNzaW9uX18nKTtcbiAgICAvLyDnlKjkuo7lvIDlj5Hnjq/looPosIPor5VcbiAgICBpZiAoIXRoaXMudXNlclNlc3Npb24pIHtcbiAgICAgIHRoaXMudXNlclNlc3Npb24gPSB7XG4gICAgICAgIHVzZXJDb2RlOiAnZGV2J1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubG9jYWxmb3JhZ2UucmVhZHkoKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0SW5pdExvY2FsZm9yYWdlKCk7XG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHtcbiAgICAgIHRocm93ICdsb2NhbGZvcmFnZeWKoOi9veW8guW4uCc7XG4gICAgfSk7XG4gIH1cblxuICBnZXRJbml0TG9jYWxmb3JhZ2UoKSB7XG4gICAgLy8g6aaW5YWI6I635Y+W5b2T5YmNaGQtdGFibGXlrZjlgqjnmoTmlbDmja4g5aaC5p6c5rKh5pyJ77yM5YiZ5Yid5aeL5YyW5LiL5b2T5YmN55qE5pWw5o2uXG4gICAgdGhpcy5sb2NhbGZvcmFnZS5nZXRJdGVtKCdoZC10YWJsZV8nICsgdGhpcy51c2VyU2Vzc2lvbi51c2VyQ29kZSArICdfJyArIHRoaXMudXVpZCkudGhlbigodmFsdWU6IFRhYmxlQ2FjaGVPcHRpb24pID0+IHtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbiA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgPiAxMCkge1xuICAgICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemU7XG4gICAgICAgIHRoaXMudGFibGVQYWdlU2l6ZUNoYW5nZS5lbWl0KHRoaXMudGFibGVQYWdlU2l6ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgfHwgMTA7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMpIHtcbiAgICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmluaXRUYWJsZSgpO1xuICAgIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbiA9IG5ldyBUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSAxMDtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSA9IDEwO1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gICAgICB0aGlzLmluaXRUYWJsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdFRhYmxlKCkge1xuICAgIHRoaXMuc2hvd1RhYmxlID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnV1aWQpIHtcbiAgICAgIHRocm93ICdoZC10YWJsZee8uuWksXV1aWTlj4LmlbDvvIzor7fkvb/nlKjnvJbovpHlmajmj5Lku7bnlJ/miJDlubbnu5loZC10YWJsZei1i+S6iHV1aWTlsZ7mgKcnO1xuICAgIH1cbiAgICBpZiAodGhpcy5qdWRnZVJlcGVhdENvbHMoKSkge1xuICAgICAgdGhpcy5kZWFsQ29scygpO1xuICAgICAgdGhpcy5zZXRDb2xzKCk7XG4gICAgICB0aGlzLmRlYWxTY3JvbGwoKTtcbiAgICAgIHRoaXMuZGVhbE9wZXJhdGVCdG4oKTtcbiAgICAgIHRoaXMuc2hvd1RhYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyDorr7nva7liJfngrnlh7vlj5bmtohcbiAgY2FuY2VsRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jYW5jZWxIaWRlTGlzdE5vZGVzKSk7XG4gICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2FuY2VsTm93TGlzdE5vZGVzKSk7XG4gIH1cblxuICAvLyDngrnlh7vop6blj5Horr7nva7liJdcbiAgY29uZmlybURyb3Bkb3duKCk6IHZvaWQge1xuICAgIC8vIOS4tOaXtuWtmOaUvuS4i++8jOWPlua2iOeahOaXtuWAmeaBouWkjeWOn+adpeeahOeKtuaAgSAgIOa3seaLt+i0neS4i+WvueixoeaVsOe7hFxuICAgIHRoaXMuY2FuY2VsSGlkZUxpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5oaWRlTGlzdE5vZGVzKSk7XG4gICAgdGhpcy5jYW5jZWxOb3dMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubm93TGlzdE5vZGVzKSk7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBzdWJtaXRHcmlkcygpIHtcbiAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scyA9IFtdO1xuICAgIHRoaXMubm93TGlzdE5vZGVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5wdXNoKGl0ZW0udGl0bGUpO1xuICAgIH0pXG4gICAgdGhpcy5zYXZlVGFibGVDYWNoZU9wdGlvbigpO1xuICAgIHRoaXMuaW5pdFRhYmxlKCk7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgLy8g5LuO57yT5a2Y6K6+572u5YiXXG4gIHNldENvbHMoKSB7XG4gICAgdGhpcy5zaG93TGlzdE5vZGVzID0gZmFsc2U7XG4gICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSBbXTtcbiAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSBbXTtcbiAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMpIHtcbiAgICAgIGxldCB7IG5vdEluY29scywgaW5jb2xzIH0gPSB0aGlzLnRhYmxlQ29sc0NhY2hlLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhpdGVtLnRpdGxlKSkge1xuICAgICAgICAgIGFjYy5pbmNvbHMucHVzaChpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2Mubm90SW5jb2xzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHsgbm90SW5jb2xzOiBbXSwgaW5jb2xzOiBbXSB9KTtcbiAgICAgIGluY29scy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmRleE9mKGEudGl0bGUpIC0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5kZXhPZihiLnRpdGxlKTtcbiAgICAgIH0pXG4gICAgICB0aGlzLnRhYmxlQ29scyA9IGluY29scy5jb25jYXQobm90SW5jb2xzKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYmxlQ29scy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzKSB7XG4gICAgICAgIGVsZW1lbnQuaXNTaG93ID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoZWxlbWVudC50aXRsZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmIChlbGVtZW50LmlzU2hvdykge1xuICAgICAgICAgIHRoaXMubm93TGlzdE5vZGVzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBrZXk6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5maXhlZCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY2hlY2tlZDogdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoZWxlbWVudC50aXRsZSkgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGlkZUxpc3ROb2Rlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAga2V5OiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGVsZW1lbnQuZml4ZWQgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGVsZW1lbnQudGl0bGUpID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pc1Nob3cgPSB0cnVlO1xuICAgICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICBrZXk6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5maXhlZCA/IHRydWUgOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8g6LCD5pW05YiX5a695Li657yT5a2Y5a695bqmXG4gICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbiAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuc2l6ZSAhPT0gMCkge1xuICAgICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaCgoY29sKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLmhhcyhjb2wudGl0bGUpKSB7XG4gICAgICAgICAgY29sLndpZHRoID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocy5nZXQoY29sLnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICB0aGlzLmRlYWxDb2xzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dMaXN0Tm9kZXMgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG5cbiAgLy8g5ouW5ou95pON5L2cXG4gIGJlZm9yZURyb3AgPSAoYXJnOiBOekZvcm1hdEJlZm9yZURyb3BFdmVudCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4ge1xuICAgIGlmIChhcmcubm9kZS5vcmlnaW4uZGlzYWJsZWQgfHwgIWFyZy5kcmFnTm9kZS5vcmlnaW4uY2hlY2tlZCkge1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IG5vZGU6IFRyZWVHcmlkID0gbmV3IFRyZWVHcmlkKCk7XG4gICAgICBub2RlLmNoZWNrZWQgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmNoZWNrZWQ7XG4gICAgICBub2RlLmRpc2FibGVkID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5kaXNhYmxlZDtcbiAgICAgIG5vZGUuZXhwYW5kZWQgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmV4cGFuZGVkO1xuICAgICAgbm9kZS5pc0xlYWYgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmlzTGVhZjtcbiAgICAgIG5vZGUua2V5ID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5rZXk7XG4gICAgICBub2RlLnNlbGVjdGFibGUgPSBhcmcuZHJhZ05vZGUub3JpZ2luLnNlbGVjdGFibGU7XG4gICAgICBub2RlLnRpdGxlID0gYXJnLmRyYWdOb2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIC8vIOaLluaLveWFg+e0oOS4i+agh1xuICAgICAgbGV0IGRyYWdOb2RlSW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgoaXRlbSA9PiB7IHJldHVybiBpdGVtLnRpdGxlID09IGFyZy5kcmFnTm9kZS5vcmlnaW4udGl0bGUgfSk7XG4gICAgICAvLyDnm67moIfkvY3nva7nmoTkuIvmoIdcbiAgICAgIGxldCBub2RlSW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgoaXRlbSA9PiB7IHJldHVybiBpdGVtLnRpdGxlID09IGFyZy5ub2RlLm9yaWdpbi50aXRsZSB9KSArIChhcmcucG9zID09PSAtMSA/IDAgOiBhcmcucG9zKTtcbiAgICAgIHRoaXMubm93TGlzdE5vZGVzLnNwbGljZShub2RlSW5kZXgsIDAsIG5vZGUpO1xuICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMuc3BsaWNlKG5vZGVJbmRleCA+PSBkcmFnTm9kZUluZGV4ID8gZHJhZ05vZGVJbmRleCA6IGRyYWdOb2RlSW5kZXggKyAxLCAxKTtcbiAgICAgIHJldHVybiBvZih0cnVlKS5waXBlKGRlbGF5KDEwMCkpO1xuICAgIH1cbiAgfVxuXG4gIG1vdmVFbGVtZW50TmVhcmJ5KGFyciwgZWxlbWVudFRvTW92ZVRpdGxlLCB0YXJnZXRFbGVtZW50VGl0bGUsIHBvcykge1xuICAgIGNvbnN0IHRtcEFycmF5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhcnIpKTtcbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRtcEFycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0udGl0bGUgPT09IHRhcmdldEVsZW1lbnRUaXRsZSk7XG4gICAgY29uc3QgZWxlbWVudEluZGV4ID0gdG1wQXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS50aXRsZSA9PT0gZWxlbWVudFRvTW92ZVRpdGxlKTtcbiAgICBjb25zdCBuZXdJbmRleCA9IHBvcyA8IDAgPyAodGFyZ2V0SW5kZXggKyBwb3MpIDogdGFyZ2V0SW5kZXg7XG4gICAgLy8g56e76Zmk55uu5qCH5YWD57Sg77yM5bm25o+S5YWl5Yiw5paw55qE5L2N572uXG4gICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQgPSB0bXBBcnJheS5zcGxpY2UoZWxlbWVudEluZGV4LCAxKTtcbiAgICB0bXBBcnJheS5zcGxpY2UobmV3SW5kZXggKyAxLCAwLCByZW1vdmVkRWxlbWVudFswXSk7XG4gICAgcmV0dXJuIHRtcEFycmF5O1xuICB9XG5cbiAgLy8g5Yu+6YCJ5pON5L2cXG4gIGNoZWNrQWN0aW9uKGV2ZW50OiBOekZvcm1hdEVtaXRFdmVudCk6IHZvaWQge1xuICAgIC8vIOWLvumAieWPquacieWcqGhpZGVMaXN0Tm9kZXMs5Y+W5raI5Yu+6YCJ5Y+q5pyJ5Zyobm93TGlzdE5vZGVzXG4gICAgaWYgKGV2ZW50Lm5vZGUub3JpZ2luLmNoZWNrZWQpIHtcbiAgICAgIGxldCBub2RlOiBUcmVlR3JpZCA9IG5ldyBUcmVlR3JpZCgpO1xuICAgICAgbm9kZSA9IHRoaXMuaGlkZUxpc3ROb2Rlcy5maW5kKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlID09PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIH0pXG4gICAgICBub2RlLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgLy8g5om+5Yiw56ys5LiA5LiqZml4ZWTlsZ7mgKfkuLpyaWdodOeahHRpdGxl77yM5om+5Yiw5o+S5YWl5YWD57Sg55qE5L2N572uXG4gICAgICBsZXQgdGl0bGUgPSBudWxsO1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMudGFibGVDb2xzQ2FjaGUubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDb2xzQ2FjaGVbaV0uZml4ZWQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgICB0aXRsZSA9IHRoaXMudGFibGVDb2xzQ2FjaGVbaV0udGl0bGU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxldCB0ZW1wb3JhcnlOb2RlTGlzdCA9IHRoaXMubm93TGlzdE5vZGVzLnNsaWNlKDApO1xuICAgICAgaWYgKCF0aXRsZSkge1xuICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5wdXNoKG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgobm9kZSA9PiBub2RlLnRpdGxlID09PSB0aXRsZSk7XG4gICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnNwbGljZShpbmRleCwgMCwgbm9kZSk7XG4gICAgICB9XG4gICAgICB0aGlzLm5vd0xpc3ROb2RlcyA9IHRlbXBvcmFyeU5vZGVMaXN0O1xuICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gdGhpcy5oaWRlTGlzdE5vZGVzLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS50aXRsZSAhPT0gZXZlbnQubm9kZS5vcmlnaW4udGl0bGU7XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oaWRlTGlzdE5vZGVzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24gJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMpIHtcbiAgICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gdGhpcy5nZXRIaWRlTGlzdE5vZGVzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgdGVtcG9yYXJ5Tm9kZUxpc3QgPSB0aGlzLmhpZGVMaXN0Tm9kZXMuc2xpY2UoMCk7XG4gICAgICAgIHRoaXMubm93TGlzdE5vZGVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udGl0bGUgPT09IGV2ZW50Lm5vZGUub3JpZ2luLnRpdGxlKSB7XG4gICAgICAgICAgICBjb25zdCBpbm5lckl0ZW0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcbiAgICAgICAgICAgIGlubmVySXRlbS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnB1c2goaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSB0ZW1wb3JhcnlOb2RlTGlzdDtcbiAgICAgIH1cbiAgICAgIC8vIOS4uuS6humYsuatouacqumAieaLqeeahOaVsOe7hOmhuuW6j+WboOS4unB1c2jmlrnms5XogIzmlLnlj5jvvIzpgJrov4fliJ3lp4vmlbDmja7ojrflj5bmmL7npLrnmoTlrZfmrrXliJfooahcbiAgICAgIHRoaXMubm93TGlzdE5vZGVzID0gdGhpcy5ub3dMaXN0Tm9kZXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlICE9PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8g6Ziy5q2i5pyq6YCJ5oup55qE5pWw57uE6aG65bqP5Zug5Li6cHVzaOaWueazleiAjOaUueWPmO+8jOS7juWIneWni+aVsOaNruiOt+WPlumakOiXj+acquaYvuekuueahOWtl+auteWIl+ihqFxuICBnZXRIaWRlTGlzdE5vZGVzKCk6IEFycmF5PFRyZWVHcmlkPiB7XG4gICAgbGV0IHRlbXBvcmFyeU5vZGVMaXN0OiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgICAvLyDku450YWJsZUNvbHNDYWNoZemHjOmdouaJvuayoeacieWcqHN0b3JhZ2Xph4zpnaLlh7rnjrDnmoTlrZfmrrUs57uE5oiQaGlkZUxpc3RcbiAgICB0aGlzLnRhYmxlQ29sc0NhY2hlLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmICghdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoaXRlbS50aXRsZSkpIHtcbiAgICAgICAgbGV0IG5vZGVJdGVtOiBUcmVlR3JpZCA9IG5ldyBUcmVlR3JpZCgpO1xuICAgICAgICBub2RlSXRlbS50aXRsZSA9IGl0ZW0udGl0bGU7XG4gICAgICAgIG5vZGVJdGVtLmtleSA9IGl0ZW0udGl0bGU7XG4gICAgICAgIG5vZGVJdGVtLmRpc2FibGVkID0gaXRlbS5maXhlZCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgbm9kZUl0ZW0uY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5wdXNoKG5vZGVJdGVtKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiB0ZW1wb3JhcnlOb2RlTGlzdDtcbiAgfVxuXG4gIGRlYWxDb2xzKCkge1xuICAgIC8vIOWkhOeQhuW3puWPs+WQuOmZhOeahOaVsOaNruWcqOaVsOe7hOS4reeahOS9jee9rlxuICAgIGNvbnN0IGxlZnRGaXhlZENvbHMgPSB0aGlzLnRhYmxlQ29scy5maWx0ZXIoY29sID0+IGNvbC5maXhlZCA9PT0gJ2xlZnQnKTtcbiAgICBjb25zdCByaWdodEZpeGVkQ29scyA9IHRoaXMudGFibGVDb2xzLmZpbHRlcihjb2wgPT4gY29sLmZpeGVkID09PSAncmlnaHQnKTtcbiAgICBjb25zdCBub3JtYWxDb2xzID0gdGhpcy50YWJsZUNvbHMuZmlsdGVyKGNvbCA9PiAhY29sLmZpeGVkKTtcbiAgICBjb25zdCByZXN1bHRDb2xzID0gbGVmdEZpeGVkQ29scy5jb25jYXQobm9ybWFsQ29scykuY29uY2F0KHJpZ2h0Rml4ZWRDb2xzKTtcbiAgICB0aGlzLnRhYmxlQ29scyA9IHJlc3VsdENvbHM7XG4gICAgaWYgKCF0aGlzLnRhYmxlQ29sc0NhY2hlIHx8IHRoaXMudGFibGVDb2xzQ2FjaGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyDnvJPlrZjkuIDkuIvooajmoLznmoTmlbDmja5cbiAgICAgIHRoaXMudGFibGVDb2xzQ2FjaGUgPSBbLi4udGhpcy50YWJsZUNvbHNdO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUYWJsZUNhY2hlT3B0aW9uKCkge1xuICAgIHRoaXMubG9jYWxmb3JhZ2Uuc2V0SXRlbSgnaGQtdGFibGVfJyArIHRoaXMudXNlclNlc3Npb24udXNlckNvZGUgKyAnXycgKyB0aGlzLnV1aWQsIHRoaXMudGFibGVDYWNoZU9wdGlvbik7XG4gIH1cblxuICBqdWRnZVJlcGVhdENvbHMoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYmxlQ29scy5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgdGhpcy50YWJsZUNvbHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDb2xzW2ldLnRpdGxlID09PSB0aGlzLnRhYmxlQ29sc1tqXS50aXRsZSkge1xuICAgICAgICAgIHRocm93IGBoZC10YWJsZee7hOS7tuS4reWIl+WQjSAke3RoaXMudGFibGVDb2xzW2ldLnRpdGxlfSDph43lpI1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgb25SZXNpemUoeyB3aWR0aCB9OiBOelJlc2l6ZUV2ZW50LCBjb2w6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuc2V0KGNvbCwgd2lkdGgpO1xuICAgIHRoaXMuc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICB0aGlzLnRhYmxlQ29scyA9IHRoaXMudGFibGVDb2xzLm1hcChlID0+IChlLnRpdGxlID09PSBjb2wgPyB7IC4uLmUsIHdpZHRoOiB3aWR0aCB9IDogZSkpO1xuICAgIHRoaXMuZGVhbFNjcm9sbCgpO1xuICB9XG5cbiAgZGVhbE9wZXJhdGVCdG4oKSB7XG4gICAgbGV0IG9wZXJhdGVDb2wgPSB0aGlzLnRhYmxlQ29scy5maW5kKGNvbCA9PiBjb2wudGl0bGUgPT09ICfmk43kvZwnKSB8fCBudWxsO1xuICAgIGlmIChvcGVyYXRlQ29sKSB7XG4gICAgICBsZXQgdGV4dFN0ciA9ICcnO1xuICAgICAgb3BlcmF0ZUNvbC5idG5MaXN0LmZvckVhY2goYnRuID0+IHtcbiAgICAgICAgaWYgKCFidG4uaXNSZXBlYXQpIHtcbiAgICAgICAgICB0ZXh0U3RyICs9IGJ0bi5uYW1lO1xuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgc3Bhbi5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBzcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHNwYW4uc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgICAgc3Bhbi5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcbiAgICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snOyAvLyDlsIbmoLflvI/kv67mlLnkuLogaW5saW5lLWJsb2NrXG4gICAgICBzcGFuLmlubmVyVGV4dCA9IHRleHRTdHI7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgICAgb3BlcmF0ZUNvbC53aWR0aCA9IHNwYW4ub2Zmc2V0V2lkdGggKyAob3BlcmF0ZUNvbC5idG5MaXN0LmZpbHRlcihpdGVtID0+ICFpdGVtLmlzUmVwZWF0KS5sZW5ndGggLSAxKSAqIDQgKyAxNjtcbiAgICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3Bhbik7XG4gICAgfVxuICB9XG5cbiAgdHJpZ2dlckV2ZW50KGZuOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZm4pIHtcbiAgICAgIGZuKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBkZWFsU2Nyb2xsKCkge1xuICAgIGxldCBjb2xXaWR0aCA9IDA7XG4gICAgaWYgKHRoaXMuc2hvd1NlbGVjdGVkKSB7XG4gICAgICBjb2xXaWR0aCArPSA0MDtcbiAgICB9XG4gICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICghaXRlbS53aWR0aCkge1xuICAgICAgICBpdGVtLndpZHRoID0gQ29sV2lkdGguZml4Q29sV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5pc1Nob3cpIHtcbiAgICAgICAgaXRlbS5maXhlZFdpZHRoID0gY29sV2lkdGg7XG4gICAgICAgIGNvbFdpZHRoICs9IGl0ZW0ud2lkdGg7XG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0aGlzLnRhYmxlVG90YWwpIHtcbiAgICAgIHRoaXMuc2Nyb2xsID0ge1xuICAgICAgICB4OiAnMXB4JyxcbiAgICAgICAgeTogJ2NhbGMoMTAwdmggLSAxODBweCknXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2Nyb2xsID0ge1xuICAgICAgICB4OiAnMXB4JyxcbiAgICAgICAgeTogJ2NhbGMoMTAwdmggLSAxNDBweCknXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNUZXh0T3ZlcmZsb3codGV4dDogc3RyaW5nLCBtYXhXaWR0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2FjaGVkV2lkdGggPSB0aGlzLnRleHRXaWR0aENhY2hlW3RleHRdO1xuICAgIGlmIChjYWNoZWRXaWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkV2lkdGggKyAxNSA+PSBtYXhXaWR0aDtcbiAgICB9XG5cbiAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIHNwYW4uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIHNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIHNwYW4uc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgIHNwYW4uc3R5bGUuZm9udFNpemUgPSAnMTJweCc7XG4gICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7IC8vIOWwhuagt+W8j+S/ruaUueS4uiBpbmxpbmUtYmxvY2tcbiAgICBzcGFuLmlubmVyVGV4dCA9IHRleHQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICBjb25zdCBpc092ZXJmbG93ID0gc3Bhbi5vZmZzZXRXaWR0aCArIDE1ID49IG1heFdpZHRoO1xuICAgIHRoaXMudGV4dFdpZHRoQ2FjaGVbdGV4dF0gPSBzcGFuLm9mZnNldFdpZHRoO1xuICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNwYW4pO1xuICAgIHJldHVybiBpc092ZXJmbG93O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlKSB7XG4gICAgLy8g5pWw5o2u5pS55Y+Y5pe277yM6YeN572u5Yu+6YCJ54q25oCBXG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1sndGFibGVEYXRhJ10gJiYgY2hhbmdlc1sndGFibGVEYXRhJ11bJ2N1cnJlbnRWYWx1ZSddICYmIGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ10pIHtcbiAgICAgIGlmIChjaGFuZ2VzWyd0YWJsZURhdGEnXVsnY3VycmVudFZhbHVlJ11bJ3BhZ2VTaXplJ10gIT09IGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ11bJ3BhZ2VTaXplJ11cbiAgICAgICAgfHwgY2hhbmdlc1sndGFibGVEYXRhJ11bJ2N1cnJlbnRWYWx1ZSddWydwYWdlTnVtYmVyJ10gIT09IGNoYW5nZXNbJ3RhYmxlRGF0YSddWydwcmV2aW91c1ZhbHVlJ11bJ3BhZ2VOdW1iZXInXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJlc2V0U3RhdHVzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8g6KGo5qC85Yu+6YCJ6YC76L6RXG4gIGN1cnJlbnRQYWdlRGF0YUNoYW5nZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEgPSAkZXZlbnQ7XG4gICAgdGhpcy5yZWZyZXNoU3RhdHVzKCk7XG4gICAgdGhpcy5yZXNldFN0YXR1cygpO1xuICB9XG5cbiAgc2VhcmNoKHJlc2V0OiBib29sZWFuKSB7XG4gICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplID0gdGhpcy50YWJsZVBhZ2VTaXplO1xuICAgIHRoaXMuc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMudGFibGVQYWdlU2l6ZUNoYW5nZS5lbWl0KHRoaXMudGFibGVQYWdlU2l6ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGVQYWdlSW5kZXhDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlUGFnZUluZGV4KTtcbiAgICB9XG4gICAgLy8g6Kem5Y+R54i257uE5Lu25p+l6K+i5LqL5Lu2XG4gICAgdGhpcy50YWJsZVNlYXJjaEV2ZW50LmVtaXQocmVzZXQpO1xuICB9XG5cbiAgcmVzZXRTdGF0dXMoKSB7XG4gICAgdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgdGhpcy5tYXBPZkNoZWNrZWRJZCA9IHt9O1xuICAgIHRoaXMubWFwT2ZDaGVja0xpc3QgPSB7fTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoW10pO1xuICB9XG5cbiAgcmVmcmVzaFN0YXR1cyhldmVudDogYm9vbGVhbiA9IGZhbHNlLCBkYXRhOiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICYmIGRhdGEpIHtcbiAgICAgICF0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dICYmICh0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dID0gZGF0YSk7XG4gICAgfSBlbHNlIGlmICghZXZlbnQgJiYgZGF0YSkge1xuICAgICAgdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSAmJiBkZWxldGUgdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXTtcbiAgICB9XG4gICAgdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IHRoaXMubGlzdE9mRGlzcGxheURhdGEuZXZlcnkoaXRlbSA9PiB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dKTtcbiAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLnNvbWUoaXRlbSA9PiB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dKSAmJiAhdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZDtcbiAgICAvLyDop6blj5FzZWxlY3Tkuovku7ZcbiAgICBpZiAodGhpcy5zZWxlY3RFdmVudCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRMaXN0OiBBcnJheTxhbnk+ID0gT2JqZWN0LnZhbHVlcyh0aGlzLm1hcE9mQ2hlY2tMaXN0KTtcbiAgICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChzZWxlY3RlZExpc3QpO1xuICAgIH1cbiAgICAvLyDlpoLmnpzmlbDmja7kuLrnqbrvvIzliJnmuIXnqbrli77pgInmoIfor4ZcbiAgICBpZiAodGhpcy50YWJsZURhdGEuY29udGVudC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAhdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiAodGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSA9IGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiBkZWxldGUgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSA9IHZhbHVlXG4gICAgfSk7XG4gICAgdGhpcy5yZWZyZXNoU3RhdHVzKCk7XG4gIH1cblxuICBqdWRnZUNvbEVtcHR5KHN0cjogYW55KSB7XG4gICAgaWYgKHN0ciB8fCBzdHIgPT09IDApIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnPOepuj4nO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -50,6 +50,7 @@ if (false) {
|
|
|
50
50
|
var OperateBtn = /** @class */ (function () {
|
|
51
51
|
function OperateBtn() {
|
|
52
52
|
this.showConfirm = false;
|
|
53
|
+
this.isRepeat = false; // 是否和别的按钮有显示冲突,譬如:开启,关闭需要再关闭按钮加一个这个属性
|
|
53
54
|
}
|
|
54
55
|
return OperateBtn;
|
|
55
56
|
}());
|
|
@@ -60,6 +61,8 @@ if (false) {
|
|
|
60
61
|
/** @type {?} */
|
|
61
62
|
OperateBtn.prototype.showConfirm;
|
|
62
63
|
/** @type {?} */
|
|
64
|
+
OperateBtn.prototype.isRepeat;
|
|
65
|
+
/** @type {?} */
|
|
63
66
|
OperateBtn.prototype.click;
|
|
64
67
|
/** @type {?} */
|
|
65
68
|
OperateBtn.prototype.permission;
|
|
@@ -125,4 +128,4 @@ if (false) {
|
|
|
125
128
|
/** @type {?} */
|
|
126
129
|
TreeGrid.prototype.expanded;
|
|
127
130
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLXRhYmxlL2hkLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7O0lBQUE7O1FBRUUsU0FBSSxHQUFzQixJQUFJLENBQUMsQ0FBRSxNQUFNOztRQUl2QyxVQUFLLEdBQWlDLE1BQU0sQ0FBQztRQUU3QyxVQUFLLEdBQXNCLElBQUksQ0FBQzs7UUFFaEMsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFhLElBQUksQ0FBQztRQUN4QixZQUFPLEdBQWEsS0FBSyxDQUFDLENBQUMsMkVBQTJFO0lBQ3hHLENBQUM7SUFBRCxvQkFBQztBQUFELENBQUMsQUFiRCxJQWFDOzs7OztJQVpDLDhCQUFjOztJQUNkLDZCQUErQjs7SUFDL0IsK0JBQWdDOztJQUNoQyw4QkFBZTs7SUFDZiw4QkFBZTs7SUFDZiw4QkFBNkM7O0lBQzdDLDhCQUE2Qjs7SUFDN0IsOEJBQWdDOztJQUNoQyxtQ0FBb0I7O0lBQ3BCLGdDQUFpQzs7SUFDakMsK0JBQXdCOztJQUN4QixnQ0FBMEI7O0FBRzVCO0lBQUE7UUFFRSxnQkFBVyxHQUFhLEtBQUssQ0FBQztRQUM5QixhQUFRLEdBQWEsS0FBSyxDQUFDLENBQUMsc0NBQXNDO0lBR3BFLENBQUM7SUFBRCxpQkFBQztBQUFELENBQUMsQUFORCxJQU1DOzs7O0lBTEMsMEJBQWE7O0lBQ2IsaUNBQThCOztJQUM5Qiw4QkFBMkI7O0lBQzNCLDJCQUE2Qjs7SUFDN0IsZ0NBQXFDOztBQUd2QztJQUFBO0lBSUEsQ0FBQztJQUFELHlCQUFDO0FBQUQsQ0FBQyxBQUpELElBSUM7Ozs7SUFIQywwQ0FBcUI7O0lBQ3JCLHlDQUFvQjs7SUFDcEIsd0NBQW1COztBQUdyQjtJQUFBO0lBSUEsQ0FBQztJQUFELHVCQUFDO0FBQUQsQ0FBQyxBQUpELElBSUM7Ozs7SUFIQyxvQ0FBaUI7O0lBQ2pCLHFDQUErQjs7SUFDL0IsZ0NBQW9COzs7QUFJdEI7OztJQUFBO1FBQ0UsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQWEsS0FBSyxDQUFDO1FBQzdCLFdBQU0sR0FBYSxJQUFJLENBQUM7UUFDeEIsYUFBUSxHQUFhLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBQUQsZUFBQztBQUFELENBQUMsQUFSRCxJQVFDOzs7OztJQVBDLHlCQUFtQjs7SUFDbkIsdUJBQWlCOztJQUNqQiw0QkFBMkI7O0lBQzNCLDJCQUEwQjs7SUFDMUIsOEJBQTZCOztJQUM3QiwwQkFBd0I7O0lBQ3hCLDRCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8g6KGo5qC86KGMXG5leHBvcnQgY2xhc3MgSGRUYWJsZUNvbHVtbiB7XG4gIHRpdGxlOiBzdHJpbmc7ICAvLyDliJflkI1cbiAgbmFtZTogc3RyaW5nIHwgRnVuY3Rpb24gPSBudWxsOyAgLy8g5a2X5q615ZCNXG4gIHJlbmRlcj86ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7ICAvLyDmuLLmn5Plh73mlbBcbiAgd2lkdGg/OiBudW1iZXI7IC8vIOWIl+WuvVxuICBjb2xvcj86IHN0cmluZzsgLy8g6aKc6ImyXG4gIGFsaWduPzogJ3JpZ2h0JyB8ICdsZWZ0JyB8ICdjZW50ZXInID0gJ2xlZnQnO1xuICBjbGljaz86ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xuICBmaXhlZD86ICdsZWZ0JyB8ICdyaWdodCcgPSBudWxsO1xuICBmaXhlZFdpZHRoPzogbnVtYmVyOyAgLy8g5Zu65a6a5YiX5a695bqmXG4gIGJ0bkxpc3Q/OiBBcnJheTxPcGVyYXRlQnRuPiA9IFtdO1xuICBpc1Nob3c/OiBib29sZWFuID0gdHJ1ZTtcbiAgY2FuV2FycD86IGJvb2xlYW4gPSBmYWxzZTsgLy8g55So5LqO5p+Q5LiA5YiX6ZyA6KaB5Liq5oCn5YyW55qE5Zy65pmv77yM5b2T5Li6dHJ1ZeaXtu+8jOS4lOihqOagvOmAiemhuXNob3dPcGVyYXRlQ29sV2FycEJ1dHRvbuS4unRydWXml7bvvIzpgJrov4fmjInpkq7mjqfliLblr7nlupTnmoTliJfmmK/lkKbmjaLooYxcbn1cblxuZXhwb3J0IGNsYXNzIE9wZXJhdGVCdG4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNob3dDb25maXJtPzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlcGVhdD86IGJvb2xlYW4gPSBmYWxzZTsgLy8g5piv5ZCm5ZKM5Yir55qE5oyJ6ZKu5pyJ5pi+56S65Yay56qB77yM6K2s5aaC77ya5byA5ZCv77yM5YWz6Zet6ZyA6KaB5YaN5YWz6Zet5oyJ6ZKu5Yqg5LiA5Liq6L+Z5Liq5bGe5oCnXG4gIGNsaWNrPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIHBlcm1pc3Npb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEhkVGFibGVUb3RhbE9wdGlvbiB7XG4gIGNvbHVtbk51bWJlcjogbnVtYmVyOyAvLyDmgLvliJfmlbBcbiAgaW5zZXJ0SW5kZXg6IG51bWJlcjsgLy8g5o+S5YWl5LiL5qCHXG4gIGluc2VydE5hbWU6IHN0cmluZzsgLy8g5o+S5YWl5a2X5q61XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNhY2hlT3B0aW9uIHtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgY29sV2lkdGhzOiBNYXA8c3RyaW5nLCBudW1iZXI+OyAvLyBuYW1lIC0+IHdpZHRoXG4gIGNvbHM6IEFycmF5PHN0cmluZz47IC8vIFsndGl0bGUnXVxufVxuXG4vLyDorr7nva7liJcg5qCR57uE5Lu25a+56LGhXG5leHBvcnQgY2xhc3MgVHJlZUdyaWQge1xuICB0aXRsZTogc3RyaW5nID0gJyc7XG4gIGtleTogc3RyaW5nID0gJyc7XG4gIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBjaGVja2VkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RhYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0xlYWY/OiBib29sZWFuID0gdHJ1ZTtcbiAgZXhwYW5kZWQ/OiBib29sZWFuID0gZmFsc2U7XG59Il19
|