@esfaenza/es-charts 11.2.8 → 12.2.9
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/esfaenza-es-charts.umd.js +35 -37
- package/bundles/esfaenza-es-charts.umd.js.map +1 -1
- package/esfaenza-es-charts.metadata.json +1 -1
- package/esm2015/lib/components/base/base-chart.component.js +1 -1
- package/esm2015/lib/components/chart-pager/chart-pager.component.js +1 -1
- package/esm2015/lib/components/specializations/es-area-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-line-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-pie-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-vertical-2d-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-vertical-chart.component.js +2 -2
- package/esm2015/lib/components/specializations/es-vertical-stacked-chart.component.js +2 -2
- package/esm2015/lib/es-charts.module.js +2 -1
- package/esm2015/lib/models/core/classes/ChartLoader.js +1 -2
- package/esm2015/lib/services/classes/AreaChartService.js +1 -1
- package/esm2015/lib/services/classes/LineChartService.js +1 -1
- package/esm2015/lib/services/classes/PieChartService.js +1 -1
- package/esm2015/lib/services/classes/Vertical2DChartService.js +1 -1
- package/esm2015/lib/services/classes/VerticalChartService.js +1 -1
- package/esm2015/lib/services/classes/VerticalStackedChartService.js +1 -1
- package/fesm2015/esfaenza-es-charts.js +9 -9
- package/fesm2015/esfaenza-es-charts.js.map +1 -1
- package/package.json +5 -5
- package/bundles/esfaenza-es-charts.umd.min.js +0 -2
- package/bundles/esfaenza-es-charts.umd.min.js.map +0 -1
|
@@ -58,7 +58,7 @@ EsVerticalChartComponent.decorators = [
|
|
|
58
58
|
selector: 'es-vertical-chart',
|
|
59
59
|
template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>",
|
|
60
60
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
61
|
-
styles: [".esc-loading-overlay{background
|
|
61
|
+
styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:bold;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"]
|
|
62
62
|
},] }
|
|
63
63
|
];
|
|
64
64
|
EsVerticalChartComponent.ctorParameters = () => [
|
|
@@ -82,4 +82,4 @@ EsVerticalChartComponent.propDecorators = {
|
|
|
82
82
|
LabelRightWhenCompressed: [{ type: Input }],
|
|
83
83
|
LabelTopWhenCompressed: [{ type: Input }]
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3REOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXNDOUQ7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ3JCLFFBQWlCLEVBQ1gsY0FBdUIsRUFDM0IsVUFBa0IsRUFDbkIsU0FBaUI7UUFDcEMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFOYixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBT3BILENBQUM7SUFFRDs7T0FFRztJQUNILDRCQUE0QjtRQUMxQixPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCOztRQUNmLE9BQThCLE9BQUMsSUFBSSxDQUFDLFFBQVEsbUNBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUFxQztRQUN4RCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1RyxjQUFjLENBQUMsbUNBQW1DLEdBQUcsY0FBYyxDQUFDLG1DQUFtQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUM7UUFDaE4sY0FBYyxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BLLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM5SixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsY0FBcUM7UUFDOUMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQW9CLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekcsQ0FBQzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qixra0NBQWdEO2dCQUVoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQXBCZ0YsVUFBVTtZQU1sRixXQUFXO1lBQUUsZUFBZTtZQUo1QixXQUFXO1lBRjRCLE1BQU07WUErRGpCLE1BQU0sdUJBQXRDLE1BQU0sU0FBQyxXQUFXOzBDQUNsQixNQUFNLFNBQUMsUUFBUTswQ0FDZixNQUFNLFNBQUMsY0FBYzt5Q0FDckIsTUFBTSxTQUFDLFVBQVU7eUNBQ2pCLE1BQU0sU0FBQyxTQUFTOzs7bUJBekNsQixLQUFLO3dCQUtMLEtBQUs7b0NBTUwsS0FBSzt5QkFLTCxLQUFLO2tEQUtMLEtBQUs7dUNBS0wsS0FBSztxQ0FLTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBQTEFURk9STV9JRCwgTmdab25lLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycyc7XHJcbmltcG9ydCB7IEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUsIEVTQ19MT0dTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVmVydGljYWxDaGFydERhdGEsIFBhZ2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgc3BlY2lmaWNvIHBlciBsYSBncmFmaWNhemlvbmUgZGkgdW4gZ3JhZmljbyBhIEJhcnJlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VzLXZlcnRpY2FsLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1ZlcnRpY2FsQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2hhcnRDb21wb25lbnQge1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIERhdGkgc3BlY2lmaWNpIHBlciBpbCBncmFmaWNvIG8gZGkgdW4gdGlwbyB0cmFtdXRhYmlsZSBhbCB0aXBvICoqVmVydGljYWxDaGFydERhdGEqKiBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGE6IFZlcnRpY2FsQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YUFycmF5OiBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbENoYXJ0RGF0YT5bXSB8IFBhZ2VkQ2hhcnREYXRhPGFueT5bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxhIHBlcmNlbnR1YWxlIGRpIGNlbGxhIGNoZSBsYSBjb2xvbm5hIGFuZHLDoCBhIHJpZW1waXJlLiBVbiB2YWxvcmUgcGFyaSBhIDEwMCByaWVtcGlyw6AgbGEgY2VsbGEgY29tcGxldGFtZW50ZSBcclxuICAgKiBlIHR1dHRlIGxlIGJhcnJlIHJpc3VsdGVyYW5ubyBhcHBpY2NpY2F0ZSBsJ3VuIGwnYWx0cmFcclxuICAgKi9cclxuICBASW5wdXQoKSBDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxlIGRpbWVuc2lvbmkgbWFzc2ltZSBkZWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmVcclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFdpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IG9yaXp6b250YWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IHZlcnRpY2FsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfTE9HUykgRVNDX0xPR1M6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0xPQ0FMRSkgRVNDX0xPQ0FMRTogc3RyaW5nLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0xPR1MsIEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBsZSBwcm9wcmlldMOgIHNwZWNpZmljaGUgcGVyIHF1ZXN0YSB0aXBvbG9naWEgZGkgZ3JhZmljbyBwZXIgY3VpIHNlcnZlIHJpZ3JhZmljYXJlXHJcbiAgICovXHJcbiAgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1wiRGF0YVwiLCBcIkRhdGFBcnJheVwiXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgaSBTZXR0aW5ncyAoRXJlZGl0YXRpIGRhbGxhIGNsYXNzZSBiYXNlLCBxdWluZGkgZGVsIHRpcG8gZ2VuZXJpY28gKipCYXNlU2V0dGluZ3MqKikgY2FzdGF0aSBhbCB0aXBvIHNwZWNpZmljbyBwZXIgcXVlc3RvIGdyYWZpY29cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7VmVydGljYWxDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKTogVmVydGljYWxDaGFydFNldHRpbmdzIHtcclxuICAgIHJldHVybiA8VmVydGljYWxDaGFydFNldHRpbmdzPih0aGlzLlNldHRpbmdzID8/IG5ldyBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIFNldHRpbmdzIGNhc3RhdGkgYWwgdGlwbyBnaXVzdG9cclxuICAgKi9cclxuICBmaWxsU3BlY2lmaWNTZXR0aW5ncyhzZXR0aW5nc0Nhc3RlZDogVmVydGljYWxDaGFydFNldHRpbmdzKTogdm9pZCB7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgPSBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA6IHRoaXMuQ29sdW1uV2lkdGhQZXJjZW50YWdlO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggOiB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA6IHRoaXMuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZmZldHR1YSBpbCByZW5kZXJpbmcgZGkgcXVlc3RvIGdyYWZpY28gaW4gYmFzZSBhaSBTZXR0aW5nc1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBJbXBvc3RhemlvbmkgZGkgZ3JhZmljYXppb25lXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsQ2hhcnRTZXJ2aWNlfSBMYSBzZXJ2aWNlIHV0aWxpenphdGEgcGVyIGlsIHJlbmRlcmluZyBuZWxsbyBzdGF0byBzdWJpdG8gc3VjY2Vzc2l2byBhbCByZW5kZXJpbmcgZWZmZXR0dWF0b1xyXG4gICAqL1xyXG4gIGdyYXBoaWNhdGUoc2V0dGluZ3NDYXN0ZWQ6IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyk6IGFueSB7XHJcbiAgICByZXR1cm4gbmV3IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8VmVydGljYWxDaGFydERhdGE+dGhpcy5EYXRhLCBzZXR0aW5nc0Nhc3RlZCk7XHJcbiAgfVxyXG59Il19
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3REOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXNDOUQ7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ3JCLFFBQWlCLEVBQ1gsY0FBdUIsRUFDM0IsVUFBa0IsRUFDbkIsU0FBaUI7UUFDcEMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFOYixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBT3BILENBQUM7SUFFRDs7T0FFRztJQUNILDRCQUE0QjtRQUMxQixPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCOztRQUNmLE9BQThCLENBQUMsTUFBQSxJQUFJLENBQUMsUUFBUSxtQ0FBSSxJQUFJLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLGNBQXFDO1FBQ3hELGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxjQUFjLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN4SixjQUFjLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVHLGNBQWMsQ0FBQyxtQ0FBbUMsR0FBRyxjQUFjLENBQUMsbUNBQW1DLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQztRQUNoTixjQUFjLENBQUMsd0JBQXdCLEdBQUcsY0FBYyxDQUFDLHdCQUF3QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDcEssY0FBYyxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQzlKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxjQUFxQztRQUM5QyxPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBb0IsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6RyxDQUFDOzs7WUE3RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGtrQ0FBZ0Q7Z0JBRWhELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBcEJnRixVQUFVO1lBTWxGLFdBQVc7WUFBRSxlQUFlO1lBSjVCLFdBQVc7WUFGNEIsTUFBTTtZQStEakIsTUFBTSx1QkFBdEMsTUFBTSxTQUFDLFdBQVc7MENBQ2xCLE1BQU0sU0FBQyxRQUFROzBDQUNmLE1BQU0sU0FBQyxjQUFjO3lDQUNyQixNQUFNLFNBQUMsVUFBVTt5Q0FDakIsTUFBTSxTQUFDLFNBQVM7OzttQkF6Q2xCLEtBQUs7d0JBS0wsS0FBSztvQ0FNTCxLQUFLO3lCQUtMLEtBQUs7a0RBS0wsS0FBSzt1Q0FLTCxLQUFLO3FDQUtMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBJbmplY3QsIFBMQVRGT1JNX0lELCBOZ1pvbmUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uLy4uL2FkYXB0ZXJzJztcclxuaW1wb3J0IHsgRVNDX0FOSU1BVElPTlMsIEVTQ19MT0NBTEUsIEVTQ19USEVNRSwgRVNDX0xPR1MgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSwgUGFnZWRDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBzcGVjaWZpY28gcGVyIGxhIGdyYWZpY2F6aW9uZSBkaSB1biBncmFmaWNvIGEgQmFycmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWxDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogRGF0aSBzcGVjaWZpY2kgcGVyIGlsIGdyYWZpY28gbyBkaSB1biB0aXBvIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YTogVmVydGljYWxDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsQ2hhcnREYXRhPltdIHwgUGFnZWRDaGFydERhdGE8YW55PltdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAqIGUgdHV0dGUgbGUgYmFycmUgcmlzdWx0ZXJhbm5vIGFwcGljY2ljYXRlIGwndW4gbCdhbHRyYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxhIGRpbWVuc2lvbmUgbWFzc2ltYSBzb3R0byBsYSBxdWFsZSBsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgc2kgaW5jbGluYSBjZXJjYW5kbyBkaSBvY2N1cGFyZSBtZW5vIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICovXHJcbiAgQElucHV0KCkgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVG9wV2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19MT0dTKSBFU0NfTE9HUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfTE9DQUxFKSBFU0NfTE9DQUxFOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KEVTQ19USEVNRSkgRVNDX1RIRU1FOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfTE9HUywgRVNDX0FOSU1BVElPTlMsIEVTQ19MT0NBTEUsIEVTQ19USEVNRSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNoZSBwZXIgcXVlc3RhIHRpcG9sb2dpYSBkaSBncmFmaWNvIHBlciBjdWkgc2VydmUgcmlncmFmaWNhcmVcclxuICAgKi9cclxuICBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXCJEYXRhXCIsIFwiRGF0YUFycmF5XCJdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBpIFNldHRpbmdzIChFcmVkaXRhdGkgZGFsbGEgY2xhc3NlIGJhc2UsIHF1aW5kaSBkZWwgdGlwbyBnZW5lcmljbyAqKkJhc2VTZXR0aW5ncyoqKSBjYXN0YXRpIGFsIHRpcG8gc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbENoYXJ0U2V0dGluZ3N9IFNldHRpbmdzIGNhc3RhdGkgYWwgdGlwbyBnaXVzdG9cclxuICAgKi9cclxuICBnZXRDYXN0ZWRTZXR0aW5ncygpOiBWZXJ0aWNhbENoYXJ0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIDxWZXJ0aWNhbENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncygpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVncmEgaSBTZXR0aW5ncyBiYXNlIGNvbiB0dXR0aSBnbGkgSW5wdXQgc3BlY2lmaWNpIGRpIHF1ZXN0byBncmFmaWNvLCBkYW5kbyBwcmlvcml0w6AgYWkgU2V0dGluZ3Mgc2UgZGVmaW5pdGlcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1ZlcnRpY2FsQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA9IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlIDogdGhpcy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2U7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA6IHRoaXMuTGFiZWxXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoIDogdGhpcy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVmZmV0dHVhIGlsIHJlbmRlcmluZyBkaSBxdWVzdG8gZ3JhZmljbyBpbiBiYXNlIGFpIFNldHRpbmdzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIEltcG9zdGF6aW9uaSBkaSBncmFmaWNhemlvbmVcclxuICAgKiBAcmV0dXJucyB7VmVydGljYWxDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nc0Nhc3RlZDogVmVydGljYWxDaGFydFNldHRpbmdzKTogYW55IHtcclxuICAgIHJldHVybiBuZXcgVmVydGljYWxDaGFydFNlcnZpY2UodGhpcy5hZGFwdGVyKS5ncmFwaGljYXRlKDxWZXJ0aWNhbENoYXJ0RGF0YT50aGlzLkRhdGEsIHNldHRpbmdzQ2FzdGVkKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -58,7 +58,7 @@ EsVerticalStackedChartComponent.decorators = [
|
|
|
58
58
|
selector: 'es-vertical-stacked-chart',
|
|
59
59
|
template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>",
|
|
60
60
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
61
|
-
styles: [".esc-loading-overlay{background
|
|
61
|
+
styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:bold;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"]
|
|
62
62
|
},] }
|
|
63
63
|
];
|
|
64
64
|
EsVerticalStackedChartComponent.ctorParameters = () => [
|
|
@@ -82,4 +82,4 @@ EsVerticalStackedChartComponent.propDecorators = {
|
|
|
82
82
|
LabelRightWhenCompressed: [{ type: Input }],
|
|
83
83
|
LabelTopWhenCompressed: [{ type: Input }]
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1zdGFja2VkLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RDs7R0FFRztBQU9ILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFzQ3JFOztPQUVHO0lBQ0gsWUFBWSxFQUFjLEVBQUUsV0FBd0IsRUFBRSxlQUFnQyxFQUFVLE9BQW9CLEVBQUUsSUFBWSxFQUMzRyxVQUFrQixFQUNyQixRQUFpQixFQUNYLGNBQXVCLEVBQzNCLFVBQWtCLEVBQ25CLFNBQWlCO1FBQ3BDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQU9wSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0QkFBNEI7UUFDMUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQjs7UUFDZixPQUFxQyxPQUFDLElBQUksQ0FBQyxRQUFRLG1DQUFJLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CLENBQUMsY0FBNEM7UUFDL0QsY0FBYyxDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hKLGNBQWMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUcsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLGNBQWMsQ0FBQyxtQ0FBbUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBQ2hOLGNBQWMsQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNwSyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDOUosQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLGNBQTRDO1FBQ3JELE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUEyQixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7OztZQTdGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsa2tDQUFnRDtnQkFFaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFwQmdGLFVBQVU7WUFNbEYsV0FBVztZQUFFLGVBQWU7WUFKNUIsV0FBVztZQUY0QixNQUFNO1lBK0RqQixNQUFNLHVCQUF0QyxNQUFNLFNBQUMsV0FBVzswQ0FDbEIsTUFBTSxTQUFDLFFBQVE7MENBQ2YsTUFBTSxTQUFDLGNBQWM7eUNBQ3JCLE1BQU0sU0FBQyxVQUFVO3lDQUNqQixNQUFNLFNBQUMsU0FBUzs7O21CQXpDbEIsS0FBSzt3QkFLTCxLQUFLO29DQU1KLEtBQUs7eUJBS0wsS0FBSztrREFLTCxLQUFLO3VDQUtMLEtBQUs7cUNBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMnO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX0xPQ0FMRSwgRVNDX1RIRU1FLCBFU0NfTE9HUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhLCBQYWdlZENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHNwZWNpZmljbyBwZXIgbGEgZ3JhZmljYXppb25lIGRpIHVuIGdyYWZpY28gYSBCYXJyZSBpbiBtb2RhbGl0w6AgU3RhY2tlZCAodW5hIHNlcmllIHNvcHJhIGwnYWx0cmEpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VzLXZlcnRpY2FsLXN0YWNrZWQtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWxTdGFja2VkQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2hhcnRDb21wb25lbnQge1xyXG5cclxuICAvKipcclxuICAgKiBEYXRpIHNwZWNpZmljaSBwZXIgaWwgZ3JhZmljbyBvIGRpIHVuIHRpcG8gdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YTogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEqKiBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFBcnJheTogUGFnZWRDaGFydERhdGE8VmVydGljYWxTdGFja2VkQ2hhcnREYXRhPltdIHwgUGFnZWRDaGFydERhdGE8YW55PltdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAqIGUgdHV0dGUgbGUgYmFycmUgcmlzdWx0ZXJhbm5vIGFwcGljY2ljYXRlIGwndW4gbCdhbHRyYVxyXG4gICAqL1xyXG4gICBASW5wdXQoKSBDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxXaWR0aDogbnVtYmVyO1xyXG4gXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgbGEgZGltZW5zaW9uZSBtYXNzaW1hIHNvdHRvIGxhIHF1YWxlIGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBzaSBpbmNsaW5hIGNlcmNhbmRvIGRpIG9jY3VwYXJlIG1lbm8gc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG4gXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgdW4gb2Zmc2V0IG9yaXp6b250YWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfTE9HUykgRVNDX0xPR1M6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0xPQ0FMRSkgRVNDX0xPQ0FMRTogc3RyaW5nLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0xPR1MsIEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBsZSBwcm9wcmlldMOgIHNwZWNpZmljaGUgcGVyIHF1ZXN0YSB0aXBvbG9naWEgZGkgZ3JhZmljbyBwZXIgY3VpIHNlcnZlIHJpZ3JhZmljYXJlXHJcbiAgICovXHJcbiAgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1wiRGF0YVwiLCBcIkRhdGFBcnJheVwiXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgaSBTZXR0aW5ncyAoRXJlZGl0YXRpIGRhbGxhIGNsYXNzZSBiYXNlLCBxdWluZGkgZGVsIHRpcG8gZ2VuZXJpY28gKipCYXNlU2V0dGluZ3MqKikgY2FzdGF0aSBhbCB0aXBvIHNwZWNpZmljbyBwZXIgcXVlc3RvIGdyYWZpY29cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIDxWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzPih0aGlzLlNldHRpbmdzID8/IG5ldyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKTogdm9pZCB7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgPSBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA6IHRoaXMuQ29sdW1uV2lkdGhQZXJjZW50YWdlO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggOiB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA6IHRoaXMuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZmZldHR1YSBpbCByZW5kZXJpbmcgZGkgcXVlc3RvIGdyYWZpY28gaW4gYmFzZSBhaSBTZXR0aW5nc1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgSW1wb3N0YXppb25pIGRpIGdyYWZpY2F6aW9uZVxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nc0Nhc3RlZDogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyk6IGFueSB7XHJcbiAgICByZXR1cm4gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YT50aGlzLkRhdGEsIHNldHRpbmdzQ2FzdGVkKTtcclxuICB9XHJcbn0iXX0=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1zdGFja2VkLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RDs7R0FFRztBQU9ILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFzQ3JFOztPQUVHO0lBQ0gsWUFBWSxFQUFjLEVBQUUsV0FBd0IsRUFBRSxlQUFnQyxFQUFVLE9BQW9CLEVBQUUsSUFBWSxFQUMzRyxVQUFrQixFQUNyQixRQUFpQixFQUNYLGNBQXVCLEVBQzNCLFVBQWtCLEVBQ25CLFNBQWlCO1FBQ3BDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQU9wSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0QkFBNEI7UUFDMUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQjs7UUFDZixPQUFxQyxDQUFDLE1BQUEsSUFBSSxDQUFDLFFBQVEsbUNBQUksSUFBSSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUE0QztRQUMvRCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1RyxjQUFjLENBQUMsbUNBQW1DLEdBQUcsY0FBYyxDQUFDLG1DQUFtQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUM7UUFDaE4sY0FBYyxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BLLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM5SixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsY0FBNEM7UUFDckQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQTJCLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkgsQ0FBQzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxra0NBQWdEO2dCQUVoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQXBCZ0YsVUFBVTtZQU1sRixXQUFXO1lBQUUsZUFBZTtZQUo1QixXQUFXO1lBRjRCLE1BQU07WUErRGpCLE1BQU0sdUJBQXRDLE1BQU0sU0FBQyxXQUFXOzBDQUNsQixNQUFNLFNBQUMsUUFBUTswQ0FDZixNQUFNLFNBQUMsY0FBYzt5Q0FDckIsTUFBTSxTQUFDLFVBQVU7eUNBQ2pCLE1BQU0sU0FBQyxTQUFTOzs7bUJBekNsQixLQUFLO3dCQUtMLEtBQUs7b0NBTUosS0FBSzt5QkFLTCxLQUFLO2tEQUtMLEtBQUs7dUNBS0wsS0FBSztxQ0FLTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBQTEFURk9STV9JRCwgTmdab25lLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycyc7XHJcbmltcG9ydCB7IEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUsIEVTQ19MT0dTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NldHRpbmdzJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEsIFBhZ2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgc3BlY2lmaWNvIHBlciBsYSBncmFmaWNhemlvbmUgZGkgdW4gZ3JhZmljbyBhIEJhcnJlIGluIG1vZGFsaXTDoCBTdGFja2VkICh1bmEgc2VyaWUgc29wcmEgbCdhbHRyYSlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNWZXJ0aWNhbFN0YWNrZWRDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGkgc3BlY2lmaWNpIHBlciBpbCBncmFmaWNvIG8gZGkgdW4gdGlwbyB0cmFtdXRhYmlsZSBhbCB0aXBvICoqVmVydGljYWxTdGFja2VkQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhOiBWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YUFycmF5OiBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGE+W10gfCBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBwZXJjZW50dWFsZSBkaSBjZWxsYSBjaGUgbGEgY29sb25uYSBhbmRyw6AgYSByaWVtcGlyZS4gVW4gdmFsb3JlIHBhcmkgYSAxMDAgcmllbXBpcsOgIGxhIGNlbGxhIGNvbXBsZXRhbWVudGUgXHJcbiAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICovXHJcbiAgIEBJbnB1dCgpIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAgLyoqXHJcbiAgICAqIEluZGljYSBsZSBkaW1lbnNpb25pIG1hc3NpbWUgZGVsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFdpZHRoOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgICovXHJcbiAgIEBJbnB1dCgpIExhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuIFxyXG4gICAvKipcclxuICAgICogSW5kaWNhIHVuIG9mZnNldCB2ZXJ0aWNhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19MT0dTKSBFU0NfTE9HUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfTE9DQUxFKSBFU0NfTE9DQUxFOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KEVTQ19USEVNRSkgRVNDX1RIRU1FOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfTE9HUywgRVNDX0FOSU1BVElPTlMsIEVTQ19MT0NBTEUsIEVTQ19USEVNRSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNoZSBwZXIgcXVlc3RhIHRpcG9sb2dpYSBkaSBncmFmaWNvIHBlciBjdWkgc2VydmUgcmlncmFmaWNhcmVcclxuICAgKi9cclxuICBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXCJEYXRhXCIsIFwiRGF0YUFycmF5XCJdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBpIFNldHRpbmdzIChFcmVkaXRhdGkgZGFsbGEgY2xhc3NlIGJhc2UsIHF1aW5kaSBkZWwgdGlwbyBnZW5lcmljbyAqKkJhc2VTZXR0aW5ncyoqKSBjYXN0YXRpIGFsIHRpcG8gc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKTogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gPFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZmlsbFNwZWNpZmljU2V0dGluZ3Moc2V0dGluZ3NDYXN0ZWQ6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA9IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlIDogdGhpcy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2U7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA6IHRoaXMuTGFiZWxXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoIDogdGhpcy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVmZmV0dHVhIGlsIHJlbmRlcmluZyBkaSBxdWVzdG8gZ3JhZmljbyBpbiBiYXNlIGFpIFNldHRpbmdzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBJbXBvc3RhemlvbmkgZGkgZ3JhZmljYXppb25lXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZX0gTGEgc2VydmljZSB1dGlsaXp6YXRhIHBlciBpbCByZW5kZXJpbmcgbmVsbG8gc3RhdG8gc3ViaXRvIHN1Y2Nlc3Npdm8gYWwgcmVuZGVyaW5nIGVmZmV0dHVhdG9cclxuICAgKi9cclxuICBncmFwaGljYXRlKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKTogYW55IHtcclxuICAgIHJldHVybiBuZXcgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8VmVydGljYWxTdGFja2VkQ2hhcnREYXRhPnRoaXMuRGF0YSwgc2V0dGluZ3NDYXN0ZWQpO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -25,6 +25,7 @@ export class EsChartsModule {
|
|
|
25
25
|
{ provide: ESC_THEME, useValue: (config === null || config === void 0 ? void 0 : config.theme) || 'spiritedaway' },
|
|
26
26
|
{ provide: ESC_LOGS, useValue: (config === null || config === void 0 ? void 0 : config.debugMode) == null ? false : config === null || config === void 0 ? void 0 : config.debugMode },
|
|
27
27
|
{ provide: BaseAdapter, useClass: (config === null || config === void 0 ? void 0 : config.adapter) || BaseAdapter },
|
|
28
|
+
// Singleton cattiva by Ema. Verificare strade migliori
|
|
28
29
|
{ provide: ChartLoader, useValue: new ChartLoader((config === null || config === void 0 ? void 0 : config.debugMode) == null ? false : config === null || config === void 0 ? void 0 : config.debugMode) }
|
|
29
30
|
]
|
|
30
31
|
};
|
|
@@ -38,4 +39,4 @@ EsChartsModule.decorators = [
|
|
|
38
39
|
exports: [...COMPONENTS]
|
|
39
40
|
},] }
|
|
40
41
|
];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY2hhcnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2VzLWNoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaE8sT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLEdBQUc7SUFDakIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsaUJBQWlCO0lBQ2pCLG9CQUFvQjtDQUNyQixDQUFBO0FBUUQsTUFBTSxPQUFPLGNBQWM7SUFFekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QjtRQUMxQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxLQUFJLE9BQU8sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLEtBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLEVBQUU7Z0JBQzdGLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxLQUFJLGNBQWMsRUFBRTtnQkFDakUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLEtBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLEVBQUU7Z0JBQ3RGLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUFJLFdBQVcsRUFBRTtnQkFDbEUsdURBQXVEO2dCQUN2RCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsS0FBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsQ0FBQyxFQUFFO2FBQzNHO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXJCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDN0IsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVzQ2hhcnRDb21wb25lbnQsIEVzTGluZUNoYXJ0Q29tcG9uZW50LCBFc0FyZWFDaGFydENvbXBvbmVudCwgRXNQaWVDaGFydENvbXBvbmVudCwgRXNWZXJ0aWNhbDJEQ2hhcnRDb21wb25lbnQsIEVzVmVydGljYWxDaGFydENvbXBvbmVudCwgRXNWZXJ0aWNhbFN0YWNrZWRDaGFydENvbXBvbmVudCwgUGFnZUNoYXJ0U2VsZWN0b3IgfSBmcm9tICcuLi9saWIvY29tcG9uZW50cyc7XHJcblxyXG5pbXBvcnQgeyBFc0NoYXJ0c01vZHVsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL0VzQ2hhYXJ0c01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXIgfSBmcm9tICcuL21vZGVscy9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzJztcclxuXHJcbmltcG9ydCB7IEVTQ19MT0NBTEUsIEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUUsIEVTQ19MT0dTIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqIENvbXBvbmVudGkgZXNwb3J0YXRpIGRhbCBtb2R1bG8gKi9cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBFc0NoYXJ0Q29tcG9uZW50LFxyXG4gIEVzTGluZUNoYXJ0Q29tcG9uZW50LFxyXG4gIEVzUGllQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNWZXJ0aWNhbDJEQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNWZXJ0aWNhbENoYXJ0Q29tcG9uZW50LFxyXG4gIEVzVmVydGljYWxTdGFja2VkQ2hhcnRDb21wb25lbnQsXHJcbiAgUGFnZUNoYXJ0U2VsZWN0b3IsXHJcbiAgRXNBcmVhQ2hhcnRDb21wb25lbnRcclxuXVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBwcm92aWRlcnM6IFtDaGFydERpc3BhdGNoZXJdLFxyXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNDaGFydHNNb2R1bGUge1xyXG5cclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFc0NoYXJ0c01vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RXNDaGFydHNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBFc0NoYXJ0c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBFU0NfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVNDX0FOSU1BVElPTlMsIHVzZVZhbHVlOiBjb25maWc/LmFuaW1hdGlvbnMgPT0gbnVsbCA/IHRydWUgOiBjb25maWc/LmFuaW1hdGlvbnMgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVTQ19USEVNRSwgdXNlVmFsdWU6IGNvbmZpZz8udGhlbWUgfHwgJ3NwaXJpdGVkYXdheScgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVTQ19MT0dTLCB1c2VWYWx1ZTogY29uZmlnPy5kZWJ1Z01vZGUgPT0gbnVsbCA/IGZhbHNlIDogY29uZmlnPy5kZWJ1Z01vZGUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEJhc2VBZGFwdGVyLCB1c2VDbGFzczogY29uZmlnPy5hZGFwdGVyIHx8IEJhc2VBZGFwdGVyIH0sXHJcbiAgICAgICAgLy8gU2luZ2xldG9uIGNhdHRpdmEgYnkgRW1hLiBWZXJpZmljYXJlIHN0cmFkZSBtaWdsaW9yaVxyXG4gICAgICAgIHsgcHJvdmlkZTogQ2hhcnRMb2FkZXIsIHVzZVZhbHVlOiBuZXcgQ2hhcnRMb2FkZXIoY29uZmlnPy5kZWJ1Z01vZGUgPT0gbnVsbCA/IGZhbHNlIDogY29uZmlnPy5kZWJ1Z01vZGUpIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -16,7 +16,6 @@ import { ChartThemes } from './ChartThemes';
|
|
|
16
16
|
* 4) Creazione grafico 2
|
|
17
17
|
*
|
|
18
18
|
*/
|
|
19
|
-
//@Injectable()
|
|
20
19
|
export class ChartLoader {
|
|
21
20
|
/**
|
|
22
21
|
* @ignore
|
|
@@ -199,4 +198,4 @@ export class ChartLoader {
|
|
|
199
198
|
console.log("@esfaenza/es-charts: " + text);
|
|
200
199
|
}
|
|
201
200
|
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhcnRMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvY29yZS9jbGFzc2VzL0NoYXJ0TG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHM0M7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxlQUFlO0FBQ2YsTUFBTSxPQUFPLFdBQVc7SUFzQnRCOztPQUVHO0lBQ0gsWUFBb0IsSUFBYTtRQUFiLFNBQUksR0FBSixJQUFJLENBQVM7UUF2QmpDOztXQUVHO1FBQ0ssd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRTdDOztXQUVHO1FBQ0ssb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFFckM7O1dBRUc7UUFDSyxlQUFVLEdBQU8sRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ0ssc0JBQWlCLEdBQU8sRUFBRSxDQUFDO0lBS0UsQ0FBQztJQUV0Qzs7Ozs7T0FLRztJQUNJLGVBQWUsQ0FBQyxVQUFlO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pELFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQ0k7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLDhCQUE4QixHQUFHLFdBQVcs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QUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDaEgsS0FBSyxXQUFXLENBQUMsZUFBZTt3QkFDOUIsT0FBTyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkgsS0FBSyxXQUFXLENBQUMsTUFBTTt3QkFDckIsT0FBTyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDMUcsS0FBSyxXQUFXLENBQUMsSUFBSTt3QkFDbkIsT0FBTyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDeEcsS0FBSyxXQUFXLENBQUMsS0FBSzt3QkFDcEIsT0FBTyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDekcsS0FBSyxXQUFXLENBQUMsUUFBUTt3QkFDdkIsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDNUcsS0FBSyxXQUFXLENBQUMsT0FBTzt3QkFDdEIsT0FBTyxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0csS0FBSyxXQUFXLENBQUMsUUFBUTt3QkFDdkIsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDN0c7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxRQUFRLElBQUksRUFBRTtvQkFDWixLQUFLLE9BQU87d0JBQ1YsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM1RyxLQUFLLE9BQU87d0JBQ1YsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3RztTQUNKO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDM0csT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENoYXJ0VGhlbWVzIH0gZnJvbSAnLi9DaGFydFRoZW1lcydcclxuaW1wb3J0IHsgRVNDX0xPR1MgfSBmcm9tICcuLi8uLi8uLi90b2tlbnMnO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBkaSBzdXBwb3J0byBhbCBjYXJpY2FtZW50byBkaW5hbWljbyBkZWkgdmFyaSBwZXp6aSBkaSBhbWNoYXJ0cyBjaGUgbWkgc2Vydm9ubyBwZXIgaWwgZ3JhZmljbyAodGVtaSwgbG9jYWxpLCBlY2MuLi4pXHJcbiAqIFxyXG4gKiBFc3NlbnppYWxtZW50ZSBvZ25pIHZvbHRhIGNoZSB2aWVuZSBjcmVhdG8gdW4gZ3JhZmljbywgcXVlc3RvIGFjcXVpc2lzY2UgaWwgdGVtYSBlIGlsIGxvY2FsZSBhcHBsaWNhdG8gSU4gUVVFTCBNT01FTlRPLFxyXG4gKiBxdWVzdG8gc2lnbmlmaWNhIGNoZSBwZXIgY3JlYXJlIGR1ZSBncmFmaWNpIGNvbiB0ZW1pIGRpdmVyc2kgYmlzb2duYSBmYXJlOlxyXG4gKiBcclxuICogMSkgQ2FyaWNhbWVudG8gdGVtYSAxXHJcbiAqIFxyXG4gKiAyKSBDcmVhemlvbmUgZ3JhZmljbyAxXHJcbiAqIFxyXG4gKiAzKSBTY2FyaWNhbWVudG8gdGVtYSAxXHJcbiAqIFxyXG4gKiAzKSBDYXJpY2FtZW50byB0ZW1hIDJcclxuICogXHJcbiAqIDQpIENyZWF6aW9uZSBncmFmaWNvIDJcclxuICogXHJcbiAqL1xyXG4vL0BJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENoYXJ0TG9hZGVyIHtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIHNlIGF0dHVhbG1lbnRlIGhvIGxlIGFuaW1hemlvbmkgY2FyaWNhdGUgaW4gbW9kbyBkYSBub24gcmljYXJpY2FybGUgaW51dGlsbWVudGVcclxuICAgKi9cclxuICBwcml2YXRlIEFuaW1hdGlvbnNBcmVMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGwndWx0aW1vIHRlbWEgY2FyaWNhdG8gaW4gbW9kbyBkYSBub24gcmljYXJpY2FybG8gaW51dGlsbWVudGUgcXVhbG9yYSBpbCBwcm9zc2ltbyBncmFmaWNvIGRhIGNyZWFyZSByaWNoaWVkYSBsbyBzdGVzc28gdGVtYVxyXG4gICAqL1xyXG4gIHByaXZhdGUgTGFzdExvYWRlZFRoZW1lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAvKipcclxuICAgKiBDYWNoZSBkZWkgdGVtaSAobW9kdWxpIGNhcmljYXRpIGRpbmFtaWNhbWVudGUpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0aGVtZUNhY2hlOiB7fSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBDYWNoZSBkZWxsZSBsb2NhbGl6emF6aW9uaSAobW9kdWxpIGNhcmljYXRpIGRpbmFtaWNhbWVudGUpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsb2NhbGl6YXRpb25DYWNoZToge30gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nczogYm9vbGVhbikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGxpY2EgaWwgdGVtYSBjb24gbGUgYW5pbWF6aW9uaSBhbGwnaXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGNoYXJ0c0NvcmUgSXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWwgY2FyaWNhbWVudG9cclxuICAgKi9cclxuICBwdWJsaWMgYXBwbHlBbmltYXRpb25zKGNoYXJ0c0NvcmU6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAoIXRoaXMuQW5pbWF0aW9uc0FyZUxvYWRlZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbXBvcnRJZk5lZWRlZCgndGhlbWVzJywgQ2hhcnRUaGVtZXMuYW5pbWF0ZWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nKFwiQ09SRTogQXBwbHlpbmcgdGhlbWUgXCIgKyBDaGFydFRoZW1lcy5hbmltYXRlZCk7XHJcbiAgICAgICAgY2hhcnRzQ29yZS51c2VUaGVtZSh0aGlzLnRoZW1lQ2FjaGVbQ2hhcnRUaGVtZXMuYW5pbWF0ZWRdKTtcclxuICAgICAgICB0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IHRoZW1lIGFscmVhZHkgYXBwbHllZCBcIiArIENoYXJ0VGhlbWVzLmFuaW1hdGVkKTtcclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IHJlc29sdmUodHJ1ZSkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZS1hcHBsaWNhIGlsIHRlbWEgY29uIGxlIGFuaW1hemlvbmkgZGFsbCdpc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge09iamVjdH0gY2hhcnRzQ29yZSBJc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSBjaGUgaWRlbnRpZmljYSBsYSBmaW5lIGRlbGxvIHNjYXJpY29cclxuICAgKi9cclxuICB1bmFwcGx5QW5pbWF0aW9ucyhjaGFydHNDb3JlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKHRoaXMuQW5pbWF0aW9uc0FyZUxvYWRlZCkge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IEFuaW1hdGlvbnMgaW4gdXNlLCB1bmFwcGx5aW5nIHRoZW1lIFwiICsgQ2hhcnRUaGVtZXMuYW5pbWF0ZWQpO1xyXG4gICAgICBjaGFydHNDb3JlLnVudXNlVGhlbWUodGhpcy50aGVtZUNhY2hlW0NoYXJ0VGhlbWVzLmFuaW1hdGVkXSk7XHJcbiAgICAgIHRoaXMuQW5pbWF0aW9uc0FyZUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IEFuaW1hdGlvbnMgYWxyZWFkeSB1bnVzZWQsIG5vIG5lZWQgdG8gdW5hcHBseSB0aGVtXCIpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IHJlc29sdmUodHJ1ZSkgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWNhIGlsIHRlbWEgc3BlY2lmaWNhdG8gYWxsJ2lzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjaGFydHNDb3JlIElzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIEBwYXJhbSB7J3NwaXJpdGVkYXdheScgfCAnbW9vbnJpc2VraW5nZG9tJyB8ICdmcm96ZW4nIHwgJ2RhcmsnIHwgJ2tlbGx5JyB8ICdtYXRlcmlhbCcgfCAnZGF0YXZpeicgfCAnbm9uZSd9IHRoZW1lIFRlbWEgZGEgYXBwbGljYXJlXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWwgY2FyaWNhbWVudG9cclxuICAgKi9cclxuICBhcHBseVRoZW1lKGNoYXJ0c0NvcmU6IGFueSwgdGhlbWU6ICdzcGlyaXRlZGF3YXknIHwgJ21vb25yaXNla2luZ2RvbScgfCAnZnJvemVuJyB8ICdkYXJrJyB8ICdrZWxseScgfCAnbWF0ZXJpYWwnIHwgJ2RhdGF2aXonIHwgJ25vbmUnKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIC8vIFVsdGltbyB0ZW1hIGFwcGxpY2F0byDDqCBsbyBzdGVzc28gY2hlIG1pIMOoIHN0YXRvIHJpY2hpZXN0byBkaSBhcHBsaWNhcmUgLS0+IE5PLU9QXHJcbiAgICBpZiAodGhpcy5MYXN0TG9hZGVkVGhlbWUgPT0gdGhlbWUpIHtcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiB0aGVtZSBhbHJlYWR5IGFwcGxpZWQgXCIgKyB0aGVtZSk7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNjYXJpY28gaWwgdGVtYSBwcmVjZWRlbnRlIGEgcHJlc2NpbmRlcmUsIG9ybWFpIG5vbiBtaSBzZXJ2ZSBwacO5XHJcbiAgICB0aGlzLnVuYXBwbHlQcmV2aW91c1RoZW1lKGNoYXJ0c0NvcmUpXHJcblxyXG4gICAgLy8gSWwgdGVtYSDDqCBpbCBub25lIC0tPiByZWdpc3RybyBsYSBjb3NhIGUgYmFzdGEsIGlsIHRlbWEgcHJlY2VkZW50ZSDDqCBzdGF0byByaW1vc3NvIHN1Yml0byBxdWkgc29wcmEgXlxyXG4gICAgaWYgKHRoZW1lID09IENoYXJ0VGhlbWVzLm5vbmUpIHtcclxuICAgICAgdGhpcy5MYXN0TG9hZGVkVGhlbWUgPSBDaGFydFRoZW1lcy5ub25lO1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbCB0ZW1hIMOoIGRpdmVyc28gZGFsIHByZWNlZGVudGUgZSBub24gw6ggaWwgdGVtYSB2dW90byAtLT4gSW1wb3J0byBpbCB0ZW1hIHNwZWNpZmljYXRvIHNlIG5vbiBwcmVzZW50ZSBpbiBtZW1vcmlhIGUgbG8gYXBwbGljbyBhbCBncmFmaWNvIGF0dHVhbGVcclxuICAgIHJldHVybiB0aGlzLmltcG9ydElmTmVlZGVkKCd0aGVtZXMnLCB0aGVtZSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ09SRTogQXBwbHlpbmcgdGhlbWUgXCIgKyB0aGVtZSk7XHJcbiAgICAgIGNoYXJ0c0NvcmUudXNlVGhlbWUodGhpcy50aGVtZUNhY2hlW3RoZW1lXSk7XHJcbiAgICAgIHRoaXMuTGFzdExvYWRlZFRoZW1lID0gdGhlbWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlLWFwcGxpY2EgaWwgdGVtYSBwcmVjZWRlbnRlIGRhbGwnaXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGNoYXJ0c0NvcmUgSXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICovXHJcbiAgdW5hcHBseVByZXZpb3VzVGhlbWUoY2hhcnRzQ29yZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuTGFzdExvYWRlZFRoZW1lIHx8IHRoaXMuTGFzdExvYWRlZFRoZW1lID09IENoYXJ0VGhlbWVzLm5vbmUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmxvZyhcIkNPUkU6IFVuYXBwbHlpbmcgcHJldmlvdXNseSB1c2VkIHRoZW1lIFwiICsgdGhpcy5MYXN0TG9hZGVkVGhlbWUpO1xyXG4gICAgY2hhcnRzQ29yZS51bnVzZVRoZW1lKHRoaXMudGhlbWVDYWNoZVt0aGlzLkxhc3RMb2FkZWRUaGVtZV0pXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWNhIGlsIGxvY2FsZSBzcGVjaWZpY2F0byBhbGwnaXN0YW56YSBzcGVjaWZpY2EgZGVsIGdyYWZpY29cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FtQ2hhcnRzLkNoYXJ0fSBjaGFydCBJc3RhbnphIHNwZWNpZmljYSBkZWwgZ3JhZmljbyBhIGN1aSBhcHBsaWNhcmUgaWwgbG9jYWxlXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGxvY2FsZSBMb2NhbGUgZGEgYXBwbGljYXJlXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWwgY2FyaWNhbWVudG9cclxuICAgKi9cclxuICBhcHBseUxvY2FsZShjaGFydDogYW55LCBsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRJZk5lZWRlZCgnbGFuZycsIGxvY2FsZSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyBjaGFydC5odG1sQ29udGFpbmVyLmlkICsgXCI6IGFwcGx5aW5nIGxvY2FsZSBcIiArIGxvY2FsZSk7XHJcbiAgICAgIGNoYXJ0Lmxhbmd1YWdlLmxvY2FsZSA9IHRoaXMubG9jYWxpemF0aW9uQ2FjaGVbbG9jYWxlXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgaW1wb3J0YXJlLCBzZSBzZXJ2ZSB1biBkYXRvIHRlbWEgbyBsb2NhbGl6emF6aW9uZVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7J2xhbmcnIHwgJ3RoZW1lcyd9IHdoYXQgT2dnZXR0byBkYSBpbXBvcnRhcmUsIHNlIGxvY2FsaXp6YXppb25lIG8gdGVtYVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpdGVtIENoaWF2ZSBkZWxsJ29nZ2V0dG8gZGEgaW1wb3J0YXJlXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWwgY2FyaWNhbWVudG9cclxuICAgKi9cclxuICBpbXBvcnRJZk5lZWRlZCh3aGF0OiAnbGFuZycgfCAndGhlbWVzJywgaXRlbTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuXHJcbiAgICAvLyBTZSBzdG8gY2VyY2FuZG8gZGkgY2FyaWNhcmUgcXVhbGNvc2EgZGkgZ2nDoCBjYXJpY2F0byBub24gZmFjY2lvIG51bGxhXHJcbiAgICBpZiAoISh3aGF0ID09ICd0aGVtZXMnICYmICF0aGlzLnRoZW1lQ2FjaGVbaXRlbV0pICYmICEod2hhdCA9PSAnbGFuZycgJiYgIXRoaXMubG9jYWxpemF0aW9uQ2FjaGVbaXRlbV0pKSB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ09SRTogXCIgKyAod2hhdCA9PSAnbGFuZycgPyBcIkxhbmd1YWdlIFwiIDogXCJUaGVtZSBcIikgKyBpdGVtICsgXCIgYWxyZWFkeSBsb2FkZWRcIik7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9nKFwiQ09SRTogTG9hZGluZyBcIiArICh3aGF0ID09ICdsYW5nJyA/IFwibGFuZ3VhZ2UgXCIgOiBcInRoZW1lIFwiKSArIGl0ZW0pO1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKioqKioqKiBBVFRFTlpJT05FICoqKioqKioqXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgKiBcclxuICAgICAqICBTZSBzdGFpIHZlZGVuZG8gcXVlc3RvIGNvZGljZSBkaSBpbXBvcnQgZSBzdGFpIHZhbHV0YW5kbyBkaSByaXNjcml2ZXJsbyBjb21lOlxyXG4gICAgICogXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWICAgICAgIFYgICBcclxuICAgICAqICAgICAgaW1wb3J0KGBAYW1jaGFydHMvYW1jaGFydHM0LyR7d2hhdH0vJHtpdGVtfWApLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAqICAgICAgICBpZiAod2hhdCA9PSAndGhlbWVzJykgdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gbW9kdWxlLmRlZmF1bHQ7XHJcbiAgICAgKiAgICAgICAgZWxzZSBpZiAod2hhdCA9PSAnbGFuZycpIHRoaXMubG9jYWxpemF0aW9uQ2FjaGVbaXRlbV0gPSBtb2R1bGUuZGVmYXVsdDtcclxuICAgICAqICAgICAgfSk7XHJcbiAgICAgKiBcclxuICAgICAqICBTYXBwaSBjaGUgw6ggdW5hIHBlc3NpbWEgaWRlYS4gR2xpIGltcG9ydCBzb25vIHZhbHV0YXRpIGRhIHdlYnBhY2sgaW4gY29tcGlsZXRpbWUgcGVyIGdlbmVyYXJlIGkgY2h1bmssXHJcbiAgICAgKiAgbWV0dGVyZSBsYSBuYXZpZ2F6aW9uZSBhZ2xpIGltcG9ydCBjb24gbGEgY29uY2F0ZW5hemlvbmUgdmllbmUgcHJlc28gbWFsaXNzaW1vIGVkIGVzc2VuemlhbG1lbnRlIGRpY2UgYSB3ZWJwYWNrXHJcbiAgICAgKiAgZGkgdGlyYXJlIHN1IGUgYnVuZGxhcmUgbCdpbnRlcmEgbm9kZV9tb2R1bGVzLiBEaXZlcnRlbnRlLCBubz9cclxuICAgICAqXHJcbiAgICAgKi9cclxuXHJcbiAgICBzd2l0Y2ggKHdoYXQpIHtcclxuICAgICAgY2FzZSAndGhlbWVzJzpcclxuICAgICAgICBzd2l0Y2ggKGl0ZW0pIHtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMuc3Bpcml0ZWRhd2F5OlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvc3Bpcml0ZWRhd2F5XCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLm1vb25yaXNla2luZ2RvbTpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL21vb25yaXNla2luZ2RvbVwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5mcm96ZW46XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9mcm96ZW5cIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMuZGFyazpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL2RhcmtcIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMua2VsbHk6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9rZWxseVwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5tYXRlcmlhbDpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL21hdGVyaWFsXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmRhdGF2aXo6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9kYXRhdml6XCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmFuaW1hdGVkOlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvYW5pbWF0ZWRcIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xhbmcnOlxyXG4gICAgICAgIHN3aXRjaCAoaXRlbSkge1xyXG4gICAgICAgICAgY2FzZSAnaXQtSVQnOlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9sYW5nL2l0X0lUXCIpLnRoZW4obGFuZyA9PiB0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2l0ZW1dID0gbGFuZy5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgJ2VuLVVTJzpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvbGFuZy9lbl9VU1wiKS50aGVuKGxhbmcgPT4gdGhpcy5sb2NhbGl6YXRpb25DYWNoZVtpdGVtXSA9IGxhbmcuZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9nKFwiQ09SRTogTG9hZGluZyBGYWlsZWQuIFwiICsgKHdoYXQgPT0gJ2xhbmcnID8gXCJMYW5ndWFnZSBcIiA6IFwiVGhlbWVcIikgKyBcIiBub3QgcmVjb2duaXplZDogXCIgKyBpdGVtKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGxvZyh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmxvZ3MpXHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQGVzZmFlbnphL2VzLWNoYXJ0czogXCIgKyB0ZXh0KTtcclxuICB9XHJcbn0iXX0=
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhcnRMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvY29yZS9jbGFzc2VzL0NoYXJ0TG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHM0M7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQXNCdEI7O09BRUc7SUFDSCxZQUFvQixJQUFhO1FBQWIsU0FBSSxHQUFKLElBQUksQ0FBUztRQXZCakM7O1dBRUc7UUFDSyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFN0M7O1dBRUc7UUFDSyxvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUVyQzs7V0FFRztRQUNLLGVBQVUsR0FBTyxFQUFFLENBQUM7UUFFNUI7O1dBRUc7UUFDSyxzQkFBaUIsR0FBTyxFQUFFLENBQUM7SUFLRSxDQUFDO0lBRXRDOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLFVBQWU7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSTtZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsOEJBQThCLEdBQUcsV0FBVyxDQUFDLFFBQVEs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QUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2hhcnRUaGVtZXMgfSBmcm9tICcuL0NoYXJ0VGhlbWVzJ1xyXG5pbXBvcnQgeyBFU0NfTE9HUyB9IGZyb20gJy4uLy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGRpIHN1cHBvcnRvIGFsIGNhcmljYW1lbnRvIGRpbmFtaWNvIGRlaSB2YXJpIHBlenppIGRpIGFtY2hhcnRzIGNoZSBtaSBzZXJ2b25vIHBlciBpbCBncmFmaWNvICh0ZW1pLCBsb2NhbGksIGVjYy4uLilcclxuICogXHJcbiAqIEVzc2VuemlhbG1lbnRlIG9nbmkgdm9sdGEgY2hlIHZpZW5lIGNyZWF0byB1biBncmFmaWNvLCBxdWVzdG8gYWNxdWlzaXNjZSBpbCB0ZW1hIGUgaWwgbG9jYWxlIGFwcGxpY2F0byBJTiBRVUVMIE1PTUVOVE8sXHJcbiAqIHF1ZXN0byBzaWduaWZpY2EgY2hlIHBlciBjcmVhcmUgZHVlIGdyYWZpY2kgY29uIHRlbWkgZGl2ZXJzaSBiaXNvZ25hIGZhcmU6XHJcbiAqIFxyXG4gKiAxKSBDYXJpY2FtZW50byB0ZW1hIDFcclxuICogXHJcbiAqIDIpIENyZWF6aW9uZSBncmFmaWNvIDFcclxuICogXHJcbiAqIDMpIFNjYXJpY2FtZW50byB0ZW1hIDFcclxuICogXHJcbiAqIDMpIENhcmljYW1lbnRvIHRlbWEgMlxyXG4gKiBcclxuICogNCkgQ3JlYXppb25lIGdyYWZpY28gMlxyXG4gKiBcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDaGFydExvYWRlciB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBzZSBhdHR1YWxtZW50ZSBobyBsZSBhbmltYXppb25pIGNhcmljYXRlIGluIG1vZG8gZGEgbm9uIHJpY2FyaWNhcmxlIGludXRpbG1lbnRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBBbmltYXRpb25zQXJlTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsJ3VsdGltbyB0ZW1hIGNhcmljYXRvIGluIG1vZG8gZGEgbm9uIHJpY2FyaWNhcmxvIGludXRpbG1lbnRlIHF1YWxvcmEgaWwgcHJvc3NpbW8gZ3JhZmljbyBkYSBjcmVhcmUgcmljaGllZGEgbG8gc3Rlc3NvIHRlbWFcclxuICAgKi9cclxuICBwcml2YXRlIExhc3RMb2FkZWRUaGVtZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUgZGVpIHRlbWkgKG1vZHVsaSBjYXJpY2F0aSBkaW5hbWljYW1lbnRlKVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGhlbWVDYWNoZToge30gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUgZGVsbGUgbG9jYWxpenphemlvbmkgKG1vZHVsaSBjYXJpY2F0aSBkaW5hbWljYW1lbnRlKVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9jYWxpemF0aW9uQ2FjaGU6IHt9ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ3M6IGJvb2xlYW4pIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWNhIGlsIHRlbWEgY29uIGxlIGFuaW1hemlvbmkgYWxsJ2lzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjaGFydHNDb3JlIElzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgcHVibGljIGFwcGx5QW5pbWF0aW9ucyhjaGFydHNDb3JlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0SWZOZWVkZWQoJ3RoZW1lcycsIENoYXJ0VGhlbWVzLmFuaW1hdGVkKS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZyhcIkNPUkU6IEFwcGx5aW5nIHRoZW1lIFwiICsgQ2hhcnRUaGVtZXMuYW5pbWF0ZWQpO1xyXG4gICAgICAgIGNoYXJ0c0NvcmUudXNlVGhlbWUodGhpcy50aGVtZUNhY2hlW0NoYXJ0VGhlbWVzLmFuaW1hdGVkXSk7XHJcbiAgICAgICAgdGhpcy5BbmltYXRpb25zQXJlTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiB0aGVtZSBhbHJlYWR5IGFwcGx5ZWQgXCIgKyBDaGFydFRoZW1lcy5hbmltYXRlZCk7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGUtYXBwbGljYSBpbCB0ZW1hIGNvbiBsZSBhbmltYXppb25pIGRhbGwnaXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGNoYXJ0c0NvcmUgSXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWxsbyBzY2FyaWNvXHJcbiAgICovXHJcbiAgdW5hcHBseUFuaW1hdGlvbnMoY2hhcnRzQ29yZTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmICh0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQpIHtcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiBBbmltYXRpb25zIGluIHVzZSwgdW5hcHBseWluZyB0aGVtZSBcIiArIENoYXJ0VGhlbWVzLmFuaW1hdGVkKTtcclxuICAgICAgY2hhcnRzQ29yZS51bnVzZVRoZW1lKHRoaXMudGhlbWVDYWNoZVtDaGFydFRoZW1lcy5hbmltYXRlZF0pO1xyXG4gICAgICB0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiBBbmltYXRpb25zIGFscmVhZHkgdW51c2VkLCBubyBuZWVkIHRvIHVuYXBwbHkgdGhlbVwiKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGljYSBpbCB0ZW1hIHNwZWNpZmljYXRvIGFsbCdpc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge09iamVjdH0gY2hhcnRzQ29yZSBJc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBAcGFyYW0geydzcGlyaXRlZGF3YXknIHwgJ21vb25yaXNla2luZ2RvbScgfCAnZnJvemVuJyB8ICdkYXJrJyB8ICdrZWxseScgfCAnbWF0ZXJpYWwnIHwgJ2RhdGF2aXonIHwgJ25vbmUnfSB0aGVtZSBUZW1hIGRhIGFwcGxpY2FyZVxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgYXBwbHlUaGVtZShjaGFydHNDb3JlOiBhbnksIHRoZW1lOiAnc3Bpcml0ZWRhd2F5JyB8ICdtb29ucmlzZWtpbmdkb20nIHwgJ2Zyb3plbicgfCAnZGFyaycgfCAna2VsbHknIHwgJ21hdGVyaWFsJyB8ICdkYXRhdml6JyB8ICdub25lJyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAvLyBVbHRpbW8gdGVtYSBhcHBsaWNhdG8gw6ggbG8gc3Rlc3NvIGNoZSBtaSDDqCBzdGF0byByaWNoaWVzdG8gZGkgYXBwbGljYXJlIC0tPiBOTy1PUFxyXG4gICAgaWYgKHRoaXMuTGFzdExvYWRlZFRoZW1lID09IHRoZW1lKSB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ09SRTogdGhlbWUgYWxyZWFkeSBhcHBsaWVkIFwiICsgdGhlbWUpO1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTY2FyaWNvIGlsIHRlbWEgcHJlY2VkZW50ZSBhIHByZXNjaW5kZXJlLCBvcm1haSBub24gbWkgc2VydmUgcGnDuVxyXG4gICAgdGhpcy51bmFwcGx5UHJldmlvdXNUaGVtZShjaGFydHNDb3JlKVxyXG5cclxuICAgIC8vIElsIHRlbWEgw6ggaWwgbm9uZSAtLT4gcmVnaXN0cm8gbGEgY29zYSBlIGJhc3RhLCBpbCB0ZW1hIHByZWNlZGVudGUgw6ggc3RhdG8gcmltb3NzbyBzdWJpdG8gcXVpIHNvcHJhIF5cclxuICAgIGlmICh0aGVtZSA9PSBDaGFydFRoZW1lcy5ub25lKSB7XHJcbiAgICAgIHRoaXMuTGFzdExvYWRlZFRoZW1lID0gQ2hhcnRUaGVtZXMubm9uZTtcclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IHJlc29sdmUodHJ1ZSkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWwgdGVtYSDDqCBkaXZlcnNvIGRhbCBwcmVjZWRlbnRlIGUgbm9uIMOoIGlsIHRlbWEgdnVvdG8gLS0+IEltcG9ydG8gaWwgdGVtYSBzcGVjaWZpY2F0byBzZSBub24gcHJlc2VudGUgaW4gbWVtb3JpYSBlIGxvIGFwcGxpY28gYWwgZ3JhZmljbyBhdHR1YWxlXHJcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRJZk5lZWRlZCgndGhlbWVzJywgdGhlbWUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IEFwcGx5aW5nIHRoZW1lIFwiICsgdGhlbWUpO1xyXG4gICAgICBjaGFydHNDb3JlLnVzZVRoZW1lKHRoaXMudGhlbWVDYWNoZVt0aGVtZV0pO1xyXG4gICAgICB0aGlzLkxhc3RMb2FkZWRUaGVtZSA9IHRoZW1lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZS1hcHBsaWNhIGlsIHRlbWEgcHJlY2VkZW50ZSBkYWxsJ2lzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjaGFydHNDb3JlIElzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqL1xyXG4gIHVuYXBwbHlQcmV2aW91c1RoZW1lKGNoYXJ0c0NvcmU6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLkxhc3RMb2FkZWRUaGVtZSB8fCB0aGlzLkxhc3RMb2FkZWRUaGVtZSA9PSBDaGFydFRoZW1lcy5ub25lKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5sb2coXCJDT1JFOiBVbmFwcGx5aW5nIHByZXZpb3VzbHkgdXNlZCB0aGVtZSBcIiArIHRoaXMuTGFzdExvYWRlZFRoZW1lKTtcclxuICAgIGNoYXJ0c0NvcmUudW51c2VUaGVtZSh0aGlzLnRoZW1lQ2FjaGVbdGhpcy5MYXN0TG9hZGVkVGhlbWVdKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGljYSBpbCBsb2NhbGUgc3BlY2lmaWNhdG8gYWxsJ2lzdGFuemEgc3BlY2lmaWNhIGRlbCBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHthbUNoYXJ0cy5DaGFydH0gY2hhcnQgSXN0YW56YSBzcGVjaWZpY2EgZGVsIGdyYWZpY28gYSBjdWkgYXBwbGljYXJlIGlsIGxvY2FsZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgTG9jYWxlIGRhIGFwcGxpY2FyZVxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgYXBwbHlMb2NhbGUoY2hhcnQ6IGFueSwgbG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0SWZOZWVkZWQoJ2xhbmcnLCBsb2NhbGUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgY2hhcnQuaHRtbENvbnRhaW5lci5pZCArIFwiOiBhcHBseWluZyBsb2NhbGUgXCIgKyBsb2NhbGUpO1xyXG4gICAgICBjaGFydC5sYW5ndWFnZS5sb2NhbGUgPSB0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2xvY2FsZV07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1ldHRlIGRpIGltcG9ydGFyZSwgc2Ugc2VydmUgdW4gZGF0byB0ZW1hIG8gbG9jYWxpenphemlvbmVcclxuICAgKiBcclxuICAgKiBAcGFyYW0geydsYW5nJyB8ICd0aGVtZXMnfSB3aGF0IE9nZ2V0dG8gZGEgaW1wb3J0YXJlLCBzZSBsb2NhbGl6emF6aW9uZSBvIHRlbWFcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaXRlbSBDaGlhdmUgZGVsbCdvZ2dldHRvIGRhIGltcG9ydGFyZVxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgaW1wb3J0SWZOZWVkZWQod2hhdDogJ2xhbmcnIHwgJ3RoZW1lcycsIGl0ZW06IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgLy8gU2Ugc3RvIGNlcmNhbmRvIGRpIGNhcmljYXJlIHF1YWxjb3NhIGRpIGdpw6AgY2FyaWNhdG8gbm9uIGZhY2NpbyBudWxsYVxyXG4gICAgaWYgKCEod2hhdCA9PSAndGhlbWVzJyAmJiAhdGhpcy50aGVtZUNhY2hlW2l0ZW1dKSAmJiAhKHdoYXQgPT0gJ2xhbmcnICYmICF0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2l0ZW1dKSkge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IFwiICsgKHdoYXQgPT0gJ2xhbmcnID8gXCJMYW5ndWFnZSBcIiA6IFwiVGhlbWUgXCIpICsgaXRlbSArIFwiIGFscmVhZHkgbG9hZGVkXCIpO1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZyhcIkNPUkU6IExvYWRpbmcgXCIgKyAod2hhdCA9PSAnbGFuZycgPyBcImxhbmd1YWdlIFwiIDogXCJ0aGVtZSBcIikgKyBpdGVtKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKiogQVRURU5aSU9ORSAqKioqKioqKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICogXHJcbiAgICAgKiAgU2Ugc3RhaSB2ZWRlbmRvIHF1ZXN0byBjb2RpY2UgZGkgaW1wb3J0IGUgc3RhaSB2YWx1dGFuZG8gZGkgcmlzY3JpdmVybG8gY29tZTpcclxuICAgICAqIFxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgViAgICAgICBWICAgXHJcbiAgICAgKiAgICAgIGltcG9ydChgQGFtY2hhcnRzL2FtY2hhcnRzNC8ke3doYXR9LyR7aXRlbX1gKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgKiAgICAgICAgaWYgKHdoYXQgPT0gJ3RoZW1lcycpIHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IG1vZHVsZS5kZWZhdWx0O1xyXG4gICAgICogICAgICAgIGVsc2UgaWYgKHdoYXQgPT0gJ2xhbmcnKSB0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2l0ZW1dID0gbW9kdWxlLmRlZmF1bHQ7XHJcbiAgICAgKiAgICAgIH0pO1xyXG4gICAgICogXHJcbiAgICAgKiAgU2FwcGkgY2hlIMOoIHVuYSBwZXNzaW1hIGlkZWEuIEdsaSBpbXBvcnQgc29ubyB2YWx1dGF0aSBkYSB3ZWJwYWNrIGluIGNvbXBpbGV0aW1lIHBlciBnZW5lcmFyZSBpIGNodW5rLFxyXG4gICAgICogIG1ldHRlcmUgbGEgbmF2aWdhemlvbmUgYWdsaSBpbXBvcnQgY29uIGxhIGNvbmNhdGVuYXppb25lIHZpZW5lIHByZXNvIG1hbGlzc2ltbyBlZCBlc3NlbnppYWxtZW50ZSBkaWNlIGEgd2VicGFja1xyXG4gICAgICogIGRpIHRpcmFyZSBzdSBlIGJ1bmRsYXJlIGwnaW50ZXJhIG5vZGVfbW9kdWxlcy4gRGl2ZXJ0ZW50ZSwgbm8/XHJcbiAgICAgKlxyXG4gICAgICovXHJcblxyXG4gICAgc3dpdGNoICh3aGF0KSB7XHJcbiAgICAgIGNhc2UgJ3RoZW1lcyc6XHJcbiAgICAgICAgc3dpdGNoIChpdGVtKSB7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLnNwaXJpdGVkYXdheTpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL3NwaXJpdGVkYXdheVwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5tb29ucmlzZWtpbmdkb206XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9tb29ucmlzZWtpbmdkb21cIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMuZnJvemVuOlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvZnJvemVuXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmRhcms6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9kYXJrXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmtlbGx5OlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMva2VsbHlcIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMubWF0ZXJpYWw6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9tYXRlcmlhbFwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5kYXRhdml6OlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvZGF0YXZpelwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5hbmltYXRlZDpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL2FuaW1hdGVkXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsYW5nJzpcclxuICAgICAgICBzd2l0Y2ggKGl0ZW0pIHtcclxuICAgICAgICAgIGNhc2UgJ2l0LUlUJzpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvbGFuZy9pdF9JVFwiKS50aGVuKGxhbmcgPT4gdGhpcy5sb2NhbGl6YXRpb25DYWNoZVtpdGVtXSA9IGxhbmcuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlICdlbi1VUyc6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L2xhbmcvZW5fVVNcIikudGhlbihsYW5nID0+IHRoaXMubG9jYWxpemF0aW9uQ2FjaGVbaXRlbV0gPSBsYW5nLmRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZyhcIkNPUkU6IExvYWRpbmcgRmFpbGVkLiBcIiArICh3aGF0ID09ICdsYW5nJyA/IFwiTGFuZ3VhZ2UgXCIgOiBcIlRoZW1lXCIpICsgXCIgbm90IHJlY29nbml6ZWQ6IFwiICsgaXRlbSk7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBsb2codGV4dDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5sb2dzKVxyXG4gICAgICBjb25zb2xlLmxvZyhcIkBlc2ZhZW56YS9lcy1jaGFydHM6IFwiICsgdGV4dCk7XHJcbiAgfVxyXG59Il19
|
|
@@ -132,4 +132,4 @@ export class AreaChartService {
|
|
|
132
132
|
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJlYUNoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL2NsYXNzZXMvQXJlYUNoYXJ0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sNEJBQTRCLENBQUM7QUFJeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLGNBQWM7SUFDZCxZQUFtQixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBaUl2Qyx1R0FBdUc7UUFDdkcsK0RBQStEO1FBQy9ELGNBQWM7UUFDTixvQkFBZSxHQUE2QixFQUFFLENBQUM7SUFwSVosQ0FBQztJQUU1Qzs7T0FFRztJQUNJLFVBQVUsQ0FBQyxJQUF5QixFQUFFLFFBQTJCOztRQUN0RSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLGFBQWEsR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xHLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLENBQUM7UUFDeEUsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUV0Qyx1RUFBdUU7UUFDdkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFD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QixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBTUQsY0FBYztJQUNOLFFBQVEsQ0FBQyxFQUFVLEVBQUUsSUFBYyxFQUFFLFlBQW9CO1FBQy9ELDZEQUE2RDtRQUM3RCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekMsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUcsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlL0lCYXNlU2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMnO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5cclxuaW1wb3J0ICogYXMgYW00Y29yZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuaW1wb3J0IHsgQXJlYUNoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9BcmVhQ2hhcnRTZXR0aW5ncyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBpbCBjdWkgdW5pY28gc2NvcG8gw6ggZ2VzdGlyZSBpbCBzZXR1cCBlIHJlbmRlcmluZyBkaSB1biBBcmVhQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBcmVhQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PiB7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHVibGljIENoYXJ0SW5zdGFuY2U6IGFtNGNoYXJ0cy5YWUNoYXJ0O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBBcmVhQ2hhcnRcclxuICAgKi9cclxuICBwdWJsaWMgZ3JhcGhpY2F0ZShkYXRhOiBBcmVhQ2hhcnREYXRhIHwgYW55LCBzZXR0aW5nczogQXJlYUNoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgIGlmIChzZXR0aW5ncy5UaW1lbGluZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiVGltZWxpbmUgbm90IHN1cHBvcnRlZCBmb3IgYXJlYSBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBsZXQgZGF0YUNvbnZlcnRlZDogQXJlYUNoYXJ0RGF0YSA9IHRoaXMuQWRhcHRlciA/IHRoaXMuQWRhcHRlci5hZGFwdERhdGFGb3JBcmVhQ2hhcnQoZGF0YSkgOiBkYXRhO1xyXG4gICAgbGV0IHNob3dUaWNrcyA9IHNldHRpbmdzLlNob3dUaWNrcyA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5TaG93VGlja3M7XHJcbiAgICBsZXQgaW50ZXJ2YWwgPSBkYXRhQ29udmVydGVkLmludGVydmFsO1xyXG5cclxuICAgIC8vUGVyIGV2aXRhcmUgZGkgZGltZW50aWNhcm1lbGkgZSBnZXN0aXJlIGNvbXVucXVlIGJlbmUgZ2xpIG5naWYgZWNjLi4uXHJcbiAgICBhbTRjb3JlLm9wdGlvbnMuYXV0b0Rpc3Bvc2UgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuQ2hhcnRJbnN0YW5jZSA9IGFtNGNvcmUuY3JlYXRlKHNldHRpbmdzLk5hbWUsIGFtNGNoYXJ0cy5YWUNoYXJ0KTtcclxuICAgIGxldCBDaGFydEluc3RhbmNlQ2FzdGVkID0gPGFtNGNoYXJ0cy5YWUNoYXJ0PnRoaXMuQ2hhcnRJbnN0YW5jZTtcclxuXHJcbiAgICBpZiAoc2V0dGluZ3MuTGVnZW5kKSB7XHJcbiAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQubGVnZW5kID0gbmV3IGFtNGNoYXJ0cy5MZWdlbmQoKTtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQucG9zaXRpb24gPSBzZXR0aW5ncz8uTGVnZW5kUG9zaXRpb24gPz8gJ3JpZ2h0JztcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGUudG9vbHRpcFRleHQgPSBcIntjYXRlZ29yeX1cIjtcclxuXHJcbiAgICAgIGlmIChzZXR0aW5ncy5MZWdlbmRQYWRkaW5nKSB7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZTtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nVG9wID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy50b3AgPz8gMDtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nQm90dG9tID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5ib3R0b20gPz8gMDtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nTGVmdCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcubGVmdCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdSaWdodCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcucmlnaHQgPz8gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCB5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueUF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLlZhbHVlQXhpcygpKTtcclxuICAgIHlBeGlzLnRvb2x0aXAuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgeUF4aXMubWluID0gMDtcclxuXHJcbiAgICBsZXQgZGF0ZUF4aXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnhBeGVzLnB1c2gobmV3IGFtNGNoYXJ0cy5EYXRlQXhpcygpKTtcclxuICAgIGRhdGVBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gNTA7XHJcbiAgICBkYXRlQXhpcy5zdGFydExvY2F0aW9uID0gMC41O1xyXG4gICAgZGF0ZUF4aXMuZW5kTG9jYXRpb24gPSAwLjU7XHJcblxyXG4gICAgaWYgKHNldHRpbmdzLlhBeGlzVGl0bGUpIHtcclxuICAgICAgZGF0ZUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLlhBeGlzVGl0bGVcclxuICAgICAgZGF0ZUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG93VGlja3MpIHtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuc3Ryb2tlT3BhY2l0eSA9IDE7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLnN0cm9rZSA9IGFtNGNvcmUuY29sb3IoXCIjNDk1QzQzXCIpO1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5zdHJva2VXaWR0aCA9IDI7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLmxlbmd0aCA9IDEwO1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5sb2NhdGlvbiA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCEhaW50ZXJ2YWwpXHJcbiAgICAgIGRhdGVBeGlzLmJhc2VJbnRlcnZhbCA9IHsgY291bnQ6IGludGVydmFsLmNvdW50LCB0aW1lVW5pdDogaW50ZXJ2YWwudGltZXVuaXQgfTtcclxuXHJcbiAgICAvLyBVbmlzY28gaWwgZGF0YXNldCBlIHRpcm8gZnVvcmkgaSBkYXRpXHJcbiAgICBsZXQgY2hhcnREYXRhID0gW107XHJcbiAgICBsZXQgc2VyaWVzVG9NYWtlQ2FjaGU6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcclxuICAgIGxldCBzZXJpZXNUb01ha2U6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFDb252ZXJ0ZWQuZ3JvdXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBncm91cCA9IGRhdGFDb252ZXJ0ZWQuZ3JvdXBzW2ldO1xyXG4gICAgICBsZXQgZGF0YUl0ZW0gPSB7IGRhdGU6IGdyb3VwLm5hbWUgfTtcclxuICAgICAgZm9yIChsZXQgaWkgPSAwOyBpaSA8IGdyb3VwLnZhbHVlcy5sZW5ndGg7IGlpKyspIHtcclxuICAgICAgICBsZXQgdmFsID0gZ3JvdXAudmFsdWVzW2lpXTtcclxuICAgICAgICBkYXRhSXRlbVt2YWwua10gPSB2YWwudjtcclxuICAgICAgICBpZiAoIXNlcmllc1RvTWFrZUNhY2hlW3ZhbC5rXSkge1xyXG4gICAgICAgICAgc2VyaWVzVG9NYWtlQ2FjaGVbdmFsLmtdID0gdHJ1ZTtcclxuICAgICAgICAgIHNlcmllc1RvTWFrZS5wdXNoKHZhbC5rKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY2hhcnREYXRhLnB1c2goZGF0YUl0ZW0pO1xyXG4gICAgfVxyXG4gICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICBzZXJpZXNUb01ha2UuZm9yRWFjaChzID0+IHsgdGhpcy5jcmVhdGVTZXJpZXMoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgcyk7IH0pO1xyXG5cclxuICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuY3Vyc29yID0gbmV3IGFtNGNoYXJ0cy5YWUN1cnNvcigpO1xyXG4gICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5jdXJzb3IueEF4aXMgPSBkYXRlQXhpcztcclxuXHJcbiAgICBkYXRlQXhpcy5ldmVudHMub24oXCJzdGFydGNoYW5nZWRcIiwgdCA9PiB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VkKHQsIHNldHRpbmdzKSk7XHJcbiAgICBkYXRlQXhpcy5ldmVudHMub24oXCJlbmRjaGFuZ2VkXCIsIHQgPT4gdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlZCh0LCBzZXR0aW5ncykpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyByZWZyZXNoRGF0YShkYXRhOiBBcmVhQ2hhcnREYXRhIHwgYW55KSB7XHJcbiAgICAvL1RPRE86SU1QTFxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VkKGV2LCBzZXR0aW5ncykge1xyXG4gICAgaWYgKCg8YW55PnNldHRpbmdzKS5PblNlbGVjdGlvbkNoYW5nZWRDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLnRocm90dGxhKFwic2VsY2hhbmdlXCIsICgpID0+IHtcclxuICAgICAgICB2YXIgYXhpcyA9IDxhbTRjaGFydHMuRGF0ZUF4aXM+ZXYudGFyZ2V0XHJcbiAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoYXhpcy5taW5ab29tZWQpO1xyXG4gICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZShheGlzLm1heFpvb21lZCk7XHJcbiAgICAgICAgdmFyIGluaXRpYWwgPSBheGlzLm1pbiA9PSBheGlzLm1pblpvb21lZCAmJiBheGlzLm1heCA9PSBheGlzLm1heFpvb21lZDtcclxuICAgICAgICAoPGFueT5zZXR0aW5ncykuT25TZWxlY3Rpb25DaGFuZ2VkQ2FsbGJhY2soeyBmcm9tOiBzdGFydCwgdG86IGVuZCwgaW5pdGlhbDogaW5pdGlhbCB9KTtcclxuICAgICAgfSwgMTUwKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGNyZWF0ZVNlcmllcyhjaGFydDogYW55LCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGxldCBzZXJpZXM6IGFtNGNoYXJ0cy5MaW5lU2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2gobmV3IGFtNGNoYXJ0cy5MaW5lU2VyaWVzKCkpXHJcbiAgICBzZXJpZXMuZGF0YUZpZWxkcy5kYXRlWCA9IFwiZGF0ZVwiO1xyXG4gICAgc2VyaWVzLm5hbWUgPSBuYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpO1xyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMudmFsdWVZID0gbmFtZTtcclxuICAgIHNlcmllcy50b29sdGlwVGV4dCA9IFwiWyMwMDBde3ZhbHVlWS52YWx1ZX1bL11cIjtcclxuICAgIC8vc2VyaWVzLnRvb2x0aXAuYmFja2dyb3VuZC5maWxsID0gYW00Y29yZS5jb2xvcihcIiNGRkZcIik7XHJcbiAgICBzZXJpZXMudG9vbHRpcC5nZXRTdHJva2VGcm9tT2JqZWN0ID0gdHJ1ZTtcclxuICAgIHNlcmllcy50b29sdGlwLmJhY2tncm91bmQuc3Ryb2tlV2lkdGggPSAzO1xyXG4gICAgc2VyaWVzLnRvb2x0aXAuZ2V0RmlsbEZyb21PYmplY3QgPSBmYWxzZTtcclxuICAgIHNlcmllcy5maWxsT3BhY2l0eSA9IDAuNjtcclxuICAgIHNlcmllcy5zdHJva2VXaWR0aCA9IDI7XHJcbiAgICBzZXJpZXMuc3RhY2tlZCA9IHRydWU7XHJcbiAgICByZXR1cm4gc2VyaWVzO1xyXG4gIH1cclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKiBGdW56aW9uZSBkaSB0aHJvdHRsaW5nIHBlciBub24gc3BhbW1hcmUgcmljaGllc3RlIGluIGNhc28gZGkgYW5pbWF6aW9uaSBhdHRpdmF0ZVxyXG4gIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgZXhlY3V0aW9uVGltZXJzOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgdGhyb3R0bGEoaWQ6IHN0cmluZywgZnVuYzogRnVuY3Rpb24sIHRocm90dGxlVGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICBpZiAodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKVxyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKTtcclxuXHJcbiAgICAvL1JpY3JlbyBpbCB0aW1lb3V0IHBlciBlc2VndWlyZSBxdWVsbGEgZnVuemlvbmUgZG9wbyB0aHJvdHRsZVRpbWUgbWlsbGlzZWNvbmRpXHJcbiAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gIH1cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKipcclxufSJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJlYUNoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL2NsYXNzZXMvQXJlYUNoYXJ0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sNEJBQTRCLENBQUM7QUFJeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLGNBQWM7SUFDZCxZQUFtQixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBaUl2Qyx1R0FBdUc7UUFDdkcsK0RBQStEO1FBQy9ELGNBQWM7UUFDTixvQkFBZSxHQUE2QixFQUFFLENBQUM7SUFwSVosQ0FBQztJQUU1Qzs7T0FFRztJQUNJLFVBQVUsQ0FBQyxJQUF5QixFQUFFLFFBQTJCOztRQUN0RSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLGFBQWEsR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xHLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLENBQUM7UUFDeEUsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUV0Qyx1RUFBdUU7UUFDdkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxJQUFJLG1CQUFtQixHQUFzQixJQUFJLENBQUMsYUFBYSxDQUFDO1FBRWhFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNuQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEQsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxjQUFjLG1DQUFJLE9BQU8sQ0FBQztZQUMxRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1lBRTlFLElBQUksUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDMUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDakUsUUFBUSxDQUFDLFVBQVUsR0FBRyxNQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxtQ0FBSSxDQUFDLENBQUM7Z0JBQ3RELFFBQVEsQ0FBQyxhQUFhLEdBQUcsTUFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sbUNBQUksQ0FBQyxDQUFDO2dCQUM1RCxRQUFRLENBQUMsV0FBVyxHQUFHLE1BQUEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLG1DQUFJLENBQUMsQ0FBQztnQkFDeEQsUUFBUSxDQUFDLFlBQVksR0FBRyxNQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUM7YUFDM0Q7U0FDRjtRQUVELElBQUksS0FBSyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0RSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUE7WUFDdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1NBQ2pDO1FBQ0QsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFZCxJQUFJLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsZUFBZSxtQ0FBSSxFQUFFLENBQUM7UUFDcEUsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDN0IsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFFM0IsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUE7WUFDekMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUNsRCxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUNuRCxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDN0MsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMsQ0FBQyxRQUFRO1lBQ1osUUFBUSxDQUFDLFlBQVksR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakYsd0NBQXdDO1FBQ3hDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLGlCQUFpQixHQUFpQyxFQUFFLENBQUM7UUFDekQsSUFBSSxZQUFZLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwRCxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQy9DLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzFCO2FBQ0Y7WUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsbUJBQW1CLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNyQywyREFBMkQ7UUFFM0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxRSxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEQsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFFNUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjO0lBQ1AsV0FBVyxDQUFDLElBQXlCO1FBQzFDLFdBQVc7SUFDYixDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxRQUFRO1FBQ3ZDLElBQVUsUUFBUyxDQUFDLDBCQUEwQixFQUFFO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDOUIsSUFBSSxJQUFJLEdBQXVCLEVBQUUsQ0FBQyxNQUFNLENBQUE7Z0JBQ3hDLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNqRSxRQUFTLENBQUMsMEJBQTBCLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDekYsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1NBQ1I7SUFDSCxDQUFDO0lBRUQsY0FBYztJQUNOLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMzQyxJQUFJLE1BQU0sR0FBeUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUNoRixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDaEMsTUFBTSxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztRQUMvQyx5REFBeUQ7UUFDekQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUN6QyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN6QixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBTUQsY0FBYztJQUNOLFFBQVEsQ0FBQyxFQUFVLEVBQUUsSUFBYyxFQUFFLFlBQW9CO1FBQy9ELDZEQUE2RDtRQUM3RCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekMsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUcsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlL0lCYXNlU2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMnO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5cclxuaW1wb3J0ICogYXMgYW00Y29yZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuaW1wb3J0IHsgQXJlYUNoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9BcmVhQ2hhcnRTZXR0aW5ncyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBpbCBjdWkgdW5pY28gc2NvcG8gw6ggZ2VzdGlyZSBpbCBzZXR1cCBlIHJlbmRlcmluZyBkaSB1biBBcmVhQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBcmVhQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PiB7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHVibGljIENoYXJ0SW5zdGFuY2U6IGFtNGNoYXJ0cy5YWUNoYXJ0O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBBcmVhQ2hhcnRcclxuICAgKi9cclxuICBwdWJsaWMgZ3JhcGhpY2F0ZShkYXRhOiBBcmVhQ2hhcnREYXRhIHwgYW55LCBzZXR0aW5nczogQXJlYUNoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgIGlmIChzZXR0aW5ncy5UaW1lbGluZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiVGltZWxpbmUgbm90IHN1cHBvcnRlZCBmb3IgYXJlYSBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBsZXQgZGF0YUNvbnZlcnRlZDogQXJlYUNoYXJ0RGF0YSA9IHRoaXMuQWRhcHRlciA/IHRoaXMuQWRhcHRlci5hZGFwdERhdGFGb3JBcmVhQ2hhcnQoZGF0YSkgOiBkYXRhO1xyXG4gICAgbGV0IHNob3dUaWNrcyA9IHNldHRpbmdzLlNob3dUaWNrcyA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5TaG93VGlja3M7XHJcbiAgICBsZXQgaW50ZXJ2YWwgPSBkYXRhQ29udmVydGVkLmludGVydmFsO1xyXG5cclxuICAgIC8vUGVyIGV2aXRhcmUgZGkgZGltZW50aWNhcm1lbGkgZSBnZXN0aXJlIGNvbXVucXVlIGJlbmUgZ2xpIG5naWYgZWNjLi4uXHJcbiAgICBhbTRjb3JlLm9wdGlvbnMuYXV0b0Rpc3Bvc2UgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuQ2hhcnRJbnN0YW5jZSA9IGFtNGNvcmUuY3JlYXRlKHNldHRpbmdzLk5hbWUsIGFtNGNoYXJ0cy5YWUNoYXJ0KTtcclxuICAgIGxldCBDaGFydEluc3RhbmNlQ2FzdGVkID0gPGFtNGNoYXJ0cy5YWUNoYXJ0PnRoaXMuQ2hhcnRJbnN0YW5jZTtcclxuXHJcbiAgICBpZiAoc2V0dGluZ3MuTGVnZW5kKSB7XHJcbiAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQubGVnZW5kID0gbmV3IGFtNGNoYXJ0cy5MZWdlbmQoKTtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQucG9zaXRpb24gPSBzZXR0aW5ncz8uTGVnZW5kUG9zaXRpb24gPz8gJ3JpZ2h0JztcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGUudG9vbHRpcFRleHQgPSBcIntjYXRlZ29yeX1cIjtcclxuXHJcbiAgICAgIGlmIChzZXR0aW5ncy5MZWdlbmRQYWRkaW5nKSB7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZTtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nVG9wID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy50b3AgPz8gMDtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nQm90dG9tID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5ib3R0b20gPz8gMDtcclxuICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nTGVmdCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcubGVmdCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdSaWdodCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcucmlnaHQgPz8gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCB5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueUF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLlZhbHVlQXhpcygpKTtcclxuICAgIHlBeGlzLnRvb2x0aXAuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgeUF4aXMubWluID0gMDtcclxuXHJcbiAgICBsZXQgZGF0ZUF4aXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnhBeGVzLnB1c2gobmV3IGFtNGNoYXJ0cy5EYXRlQXhpcygpKTtcclxuICAgIGRhdGVBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gNTA7XHJcbiAgICBkYXRlQXhpcy5zdGFydExvY2F0aW9uID0gMC41O1xyXG4gICAgZGF0ZUF4aXMuZW5kTG9jYXRpb24gPSAwLjU7XHJcblxyXG4gICAgaWYgKHNldHRpbmdzLlhBeGlzVGl0bGUpIHtcclxuICAgICAgZGF0ZUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLlhBeGlzVGl0bGVcclxuICAgICAgZGF0ZUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG93VGlja3MpIHtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuc3Ryb2tlT3BhY2l0eSA9IDE7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLnN0cm9rZSA9IGFtNGNvcmUuY29sb3IoXCIjNDk1QzQzXCIpO1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5zdHJva2VXaWR0aCA9IDI7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLmxlbmd0aCA9IDEwO1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5sb2NhdGlvbiA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCEhaW50ZXJ2YWwpXHJcbiAgICAgIGRhdGVBeGlzLmJhc2VJbnRlcnZhbCA9IHsgY291bnQ6IGludGVydmFsLmNvdW50LCB0aW1lVW5pdDogaW50ZXJ2YWwudGltZXVuaXQgfTtcclxuXHJcbiAgICAvLyBVbmlzY28gaWwgZGF0YXNldCBlIHRpcm8gZnVvcmkgaSBkYXRpXHJcbiAgICBsZXQgY2hhcnREYXRhID0gW107XHJcbiAgICBsZXQgc2VyaWVzVG9NYWtlQ2FjaGU6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcclxuICAgIGxldCBzZXJpZXNUb01ha2U6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFDb252ZXJ0ZWQuZ3JvdXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBncm91cCA9IGRhdGFDb252ZXJ0ZWQuZ3JvdXBzW2ldO1xyXG4gICAgICBsZXQgZGF0YUl0ZW0gPSB7IGRhdGU6IGdyb3VwLm5hbWUgfTtcclxuICAgICAgZm9yIChsZXQgaWkgPSAwOyBpaSA8IGdyb3VwLnZhbHVlcy5sZW5ndGg7IGlpKyspIHtcclxuICAgICAgICBsZXQgdmFsID0gZ3JvdXAudmFsdWVzW2lpXTtcclxuICAgICAgICBkYXRhSXRlbVt2YWwua10gPSB2YWwudjtcclxuICAgICAgICBpZiAoIXNlcmllc1RvTWFrZUNhY2hlW3ZhbC5rXSkge1xyXG4gICAgICAgICAgc2VyaWVzVG9NYWtlQ2FjaGVbdmFsLmtdID0gdHJ1ZTtcclxuICAgICAgICAgIHNlcmllc1RvTWFrZS5wdXNoKHZhbC5rKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY2hhcnREYXRhLnB1c2goZGF0YUl0ZW0pO1xyXG4gICAgfVxyXG4gICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICBzZXJpZXNUb01ha2UuZm9yRWFjaChzID0+IHsgdGhpcy5jcmVhdGVTZXJpZXMoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgcyk7IH0pO1xyXG5cclxuICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuY3Vyc29yID0gbmV3IGFtNGNoYXJ0cy5YWUN1cnNvcigpO1xyXG4gICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5jdXJzb3IueEF4aXMgPSBkYXRlQXhpcztcclxuXHJcbiAgICBkYXRlQXhpcy5ldmVudHMub24oXCJzdGFydGNoYW5nZWRcIiwgdCA9PiB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VkKHQsIHNldHRpbmdzKSk7XHJcbiAgICBkYXRlQXhpcy5ldmVudHMub24oXCJlbmRjaGFuZ2VkXCIsIHQgPT4gdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlZCh0LCBzZXR0aW5ncykpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyByZWZyZXNoRGF0YShkYXRhOiBBcmVhQ2hhcnREYXRhIHwgYW55KSB7XHJcbiAgICAvL1RPRE86SU1QTFxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VkKGV2LCBzZXR0aW5ncykge1xyXG4gICAgaWYgKCg8YW55PnNldHRpbmdzKS5PblNlbGVjdGlvbkNoYW5nZWRDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLnRocm90dGxhKFwic2VsY2hhbmdlXCIsICgpID0+IHtcclxuICAgICAgICB2YXIgYXhpcyA9IDxhbTRjaGFydHMuRGF0ZUF4aXM+ZXYudGFyZ2V0XHJcbiAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoYXhpcy5taW5ab29tZWQpO1xyXG4gICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZShheGlzLm1heFpvb21lZCk7XHJcbiAgICAgICAgdmFyIGluaXRpYWwgPSBheGlzLm1pbiA9PSBheGlzLm1pblpvb21lZCAmJiBheGlzLm1heCA9PSBheGlzLm1heFpvb21lZDtcclxuICAgICAgICAoPGFueT5zZXR0aW5ncykuT25TZWxlY3Rpb25DaGFuZ2VkQ2FsbGJhY2soeyBmcm9tOiBzdGFydCwgdG86IGVuZCwgaW5pdGlhbDogaW5pdGlhbCB9KTtcclxuICAgICAgfSwgMTUwKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGNyZWF0ZVNlcmllcyhjaGFydDogYW55LCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGxldCBzZXJpZXM6IGFtNGNoYXJ0cy5MaW5lU2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2gobmV3IGFtNGNoYXJ0cy5MaW5lU2VyaWVzKCkpXHJcbiAgICBzZXJpZXMuZGF0YUZpZWxkcy5kYXRlWCA9IFwiZGF0ZVwiO1xyXG4gICAgc2VyaWVzLm5hbWUgPSBuYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpO1xyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMudmFsdWVZID0gbmFtZTtcclxuICAgIHNlcmllcy50b29sdGlwVGV4dCA9IFwiWyMwMDBde3ZhbHVlWS52YWx1ZX1bL11cIjtcclxuICAgIC8vc2VyaWVzLnRvb2x0aXAuYmFja2dyb3VuZC5maWxsID0gYW00Y29yZS5jb2xvcihcIiNGRkZcIik7XHJcbiAgICBzZXJpZXMudG9vbHRpcC5nZXRTdHJva2VGcm9tT2JqZWN0ID0gdHJ1ZTtcclxuICAgIHNlcmllcy50b29sdGlwLmJhY2tncm91bmQuc3Ryb2tlV2lkdGggPSAzO1xyXG4gICAgc2VyaWVzLnRvb2x0aXAuZ2V0RmlsbEZyb21PYmplY3QgPSBmYWxzZTtcclxuICAgIHNlcmllcy5maWxsT3BhY2l0eSA9IDAuNjtcclxuICAgIHNlcmllcy5zdHJva2VXaWR0aCA9IDI7XHJcbiAgICBzZXJpZXMuc3RhY2tlZCA9IHRydWU7XHJcbiAgICByZXR1cm4gc2VyaWVzO1xyXG4gIH1cclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKiBGdW56aW9uZSBkaSB0aHJvdHRsaW5nIHBlciBub24gc3BhbW1hcmUgcmljaGllc3RlIGluIGNhc28gZGkgYW5pbWF6aW9uaSBhdHRpdmF0ZVxyXG4gIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgZXhlY3V0aW9uVGltZXJzOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgdGhyb3R0bGEoaWQ6IHN0cmluZywgZnVuYzogRnVuY3Rpb24sIHRocm90dGxlVGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICBpZiAodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKVxyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKTtcclxuXHJcbiAgICAvL1JpY3JlbyBpbCB0aW1lb3V0IHBlciBlc2VndWlyZSBxdWVsbGEgZnVuemlvbmUgZG9wbyB0aHJvdHRsZVRpbWUgbWlsbGlzZWNvbmRpXHJcbiAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gIH1cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKipcclxufSJdfQ==
|
|
@@ -293,4 +293,4 @@ export class LineChartService {
|
|
|
293
293
|
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUNoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL2NsYXNzZXMvTGluZUNoYXJ0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sNEJBQTRCLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLGNBQWM7SUFDZCxZQUFtQixPQUFvQixFQUFVLFFBQXFCO1FBQW5ELFlBQU8sR0FBUCxPQUFPLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTnRFLGNBQWM7UUFDTix3QkFBbUIsR0FBVyxJQUFJLENBQUM7UUFDM0MsY0FBYztRQUNOLHNCQUFpQixHQUFXLEdBQUcsQ0FBQztRQXNUeEMsdUdBQXVHO1FBQ3ZHLCtEQUErRDtRQUMvRCxjQUFjO1FBQ04sb0JBQWUsR0FBNkIsRUFBRSxDQUFDO0lBdFRtQixDQUFDO0lBRTNFOztPQUVHO0lBQ0ksVUFBVSxDQUFDLElBQXlCLEVBQUUsUUFBMkI7O1FBQ3BFLElBQUksYUFBYSxHQUFrQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEcsSUFBSSxTQUFTLFNBQUcsUUFBUSxDQUFDLHFCQUFxQixtQ0FBSSxJQUFJLENBQUM7UUFDdkQsSUFBSSxhQUFhLFNBQUcsUUFBUSxDQUFDLGFBQWEsbUNBQUksS0FBSyxDQUFDO1FBQ3BELElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFS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QUNILElBQUksQ0FBQyxJQUFJO2dCQUNMLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFNRCxjQUFjO0lBQ04sUUFBUSxDQUFDLEVBQVUsRUFBRSxJQUFjLEVBQUUsWUFBb0I7UUFDN0QsNkRBQTZEO1FBQzdELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzQywrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM1RyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBJQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UvSUJhc2VTZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycyc7XHJcbmltcG9ydCB7IExpbmVDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YSc7XHJcbmltcG9ydCB7IExpbmVDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NldHRpbmdzJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGlsIGN1aSB1bmljbyBzY29wbyDDqCBnZXN0aXJlIGlsIHNldHVwIGUgcmVuZGVyaW5nIGRpIHVuIExpbmVDaGFydFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIExpbmVDaGFydFNlcnZpY2UgaW1wbGVtZW50cyBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+e1xyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHB1YmxpYyBDaGFydEluc3RhbmNlOiBhbTRjaGFydHMuWFlDaGFydDtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIERhdGFHcm91cEJ1Y2tldFNpemU6IG51bWJlciA9IDE1MDA7XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSBPcGFjaXR5T25TZWxlY3RlZDogbnVtYmVyID0gMC4zO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgQWRhcHRlcjogQmFzZUFkYXB0ZXIsIHByaXZhdGUgZGF0ZUV4dHM6IERhdGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBMaW5lQ2hhcnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdyYXBoaWNhdGUoZGF0YTogTGluZUNoYXJ0RGF0YSB8IGFueSwgc2V0dGluZ3M6IExpbmVDaGFydFNldHRpbmdzKTogSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PiB7XHJcbiAgICAgICAgbGV0IGRhdGFDb252ZXJ0ZWQ6IExpbmVDaGFydERhdGEgPSB0aGlzLkFkYXB0ZXIgPyB0aGlzLkFkYXB0ZXIuYWRhcHREYXRhRm9yTGluZUNoYXJ0KGRhdGEpIDogZGF0YTtcclxuICAgICAgICBsZXQgdGhyZXNob2xkID0gc2V0dGluZ3MuRGF0YUdyb3VwaW5nVGhyZXNob2xkID8/IDMwMDA7XHJcbiAgICAgICAgbGV0IHNpbmdsZURhdGFTZXQgPSBzZXR0aW5ncy5NZXJnZURhdGFzZXRzID8/IGZhbHNlO1xyXG4gICAgICAgIGxldCBzaG93VGlja3MgPSBzZXR0aW5ncy5TaG93VGlja3MgPT0gbnVsbCA/IHRydWUgOiBzZXR0aW5ncz8uU2hvd1RpY2tzO1xyXG4gICAgICAgIGxldCBkYXRhU2hvdWxkQmVHcm91cGVkID0gTWF0aC5tYXgoLi4uZGF0YUNvbnZlcnRlZC5zZXJpZXMubWFwKHQgPT4gdC52YWx1ZXMubGVuZ3RoKSkgPiB0aHJlc2hvbGQ7XHJcbiAgICAgICAgbGV0IHNob3dUaW1lbGluZSA9IHNldHRpbmdzLlRpbWVsaW5lIHx8IGRhdGFTaG91bGRCZUdyb3VwZWQ7XHJcbiAgICAgICAgbGV0IHNlcmllc1dpdGhJbnRlcnZhbCA9IGRhdGFDb252ZXJ0ZWQuc2VyaWVzLnNvbWUodCA9PiB0LmludGVydmFsKTtcclxuICAgICAgICBsZXQgaW50ZXJ2YWwgPSBzZXJpZXNXaXRoSW50ZXJ2YWwgPyBkYXRhQ29udmVydGVkLnNlcmllcy5maW5kKHQgPT4gdC5pbnRlcnZhbCkuaW50ZXJ2YWwgOiBudWxsO1xyXG4gICAgICAgIGxldCBnYXBzQWxsb3dlZCA9IHNldHRpbmdzPy5BbGxvd0dhcHMgPT0gbnVsbCA/IHNlcmllc1dpdGhJbnRlcnZhbCA6IHNldHRpbmdzPy5BbGxvd0dhcHM7XHJcbiAgICAgICAgbGV0IGZpbmFsSW5zdGFudCA9IHNldHRpbmdzPy5GaW5hbEluc3RhbnRzID8/IHRydWU7XHJcbiAgICAgICAgbGV0IGZpbGwgPSBzZXR0aW5ncz8uRmlsbCA/PyBmYWxzZTtcclxuXHJcbiAgICAgICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgICAgICBhbTRjb3JlLm9wdGlvbnMuYXV0b0Rpc3Bvc2UgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UgPSBhbTRjb3JlLmNyZWF0ZShzZXR0aW5ncy5OYW1lLCBhbTRjaGFydHMuWFlDaGFydCk7XHJcbiAgICAgICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgICAgICBsZXQgeUF4aXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnlBeGVzLnB1c2gobmV3IGFtNGNoYXJ0cy5WYWx1ZUF4aXMoKSk7XHJcbiAgICAgICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmdzLk1pbilcclxuICAgICAgICAgICAgeUF4aXMubWluID0gc2V0dGluZ3MuTWluO1xyXG4gICAgICAgIGlmIChzZXR0aW5ncy5NYXgpXHJcbiAgICAgICAgICAgIHlBeGlzLm1heCA9IHNldHRpbmdzLk1heDtcclxuXHJcbiAgICAgICAgbGV0IGRhdGVBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC54QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuRGF0ZUF4aXMoKSk7XHJcblxyXG4gICAgICAgIGlmIChzZXR0aW5ncy5YQXhpc1RpdGxlKSB7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnRpdGxlLnRleHQgPSBzZXR0aW5ncy5YQXhpc1RpdGxlXHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnRpdGxlLmZvbnRXZWlnaHQgPSBcImJvbGRcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzaG93VGlja3MpIHtcclxuICAgICAgICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuc3Ryb2tlT3BhY2l0eSA9IDE7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLnN0cm9rZSA9IGFtNGNvcmUuY29sb3IoXCIjNDk1QzQzXCIpO1xyXG4gICAgICAgICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5zdHJva2VXaWR0aCA9IDI7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLmxlbmd0aCA9IDEwO1xyXG4gICAgICAgICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5sb2NhdGlvbiA9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkYXRlQXhpcy5yZW5kZXJlci5taW5HcmlkRGlzdGFuY2UgPSBzZXR0aW5ncz8uTWluR3JpZERpc3RhbmNlID8/IDUwO1xyXG4gICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgICAgIGRhdGVBeGlzLm1pblpvb21Db3VudCA9IDU7XHJcbiAgICAgICAgZGF0ZUF4aXMuZ3JvdXBEYXRhID0gZGF0YVNob3VsZEJlR3JvdXBlZDtcclxuICAgICAgICBkYXRlQXhpcy5ncm91cENvdW50ID0gc2V0dGluZ3MuRGF0YUdyb3VwQnVja2V0U2l6ZSA/PyB0aGlzLkRhdGFHcm91cEJ1Y2tldFNpemU7XHJcblxyXG4gICAgICAgIC8vU2UgaG8gYWxtZW5vIHVuYSBzZXJpZSBhZCBpbnRlcnZhbGxvIGUgaSBzZXR0aW5ncyBub24gbWkgaW1wZWRpc2Nvbm8gZXNwbGljaXRhbWVudGUgZGkgdXNhcmUgaSBnYXBzLCB2aXN1YWxpenpvIGkgZGF0aSBjb2wgZ2FwXHJcblxyXG4gICAgICAgIGlmIChnYXBzQWxsb3dlZCkge1xyXG4gICAgICAgICAgICBpZiAoIXNlcmllc1dpdGhJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlBlciB1dGlsaXp6YXJlIGxhIGZ1bnppb25hbGl0w6AgZGVpIGdhcCDDqCBvYmJsaWdhdG9yaW8gZGVmaW5pcmUgdW4gaW50ZXJ2YWxsbyBuZWxsZSBzZXJpZSBkZWwgZ3JhZmljb1wiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkYXRlQXhpcy5iYXNlSW50ZXJ2YWwgPSB7IGNvdW50OiBpbnRlcnZhbC5jb3VudCwgdGltZVVuaXQ6IGludGVydmFsLnRpbWV1bml0IH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzaG93VGltZWxpbmUpXHJcbiAgICAgICAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuc2Nyb2xsYmFyWCA9IG5ldyBhbTRjaGFydHMuWFlDaGFydFNjcm9sbGJhcigpO1xyXG5cclxuICAgICAgICBsZXQgc2VyaWVzVG9QdXNoID0gW107XHJcbiAgICAgICAgbGV0IHNlcmllc0NvbG9yczogYW00Y29yZS5Db2xvcltdID0gW107XHJcbiAgICAgICAgbGV0IGRlZmF1bHRJbmRleCA9IDA7XHJcblxyXG4gICAgICAgIC8vLS0gR2VuZXJhemlvbmUgZGkgdW4gdW5pY28gZGF0YXNldCBpbnZlY2UgY2hlIE4sIHBlciBwb3RlciBnZXN0aXJlIHVuIHVuaWNvIHRvb2x0aXBcclxuICAgICAgICBpZiAoc2luZ2xlRGF0YVNldCkge1xyXG4gICAgICAgICAgICBsZXQgZHRvOiB7IFtpbmRleDogbnVtYmVyXTogeyBbc2luZGV4OiBzdHJpbmddOiBudW1iZXIgfSB9ID0ge307XHJcbiAgICAgICAgICAgIGRhdGFDb252ZXJ0ZWQuc2VyaWVzLmZvckVhY2goKHZzLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2cy52YWx1ZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YWl0ZW0gPSB2cy52YWx1ZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ZXIgPSBuZXcgRGF0ZShkYXRhaXRlbS5kKS52YWx1ZU9mKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZHRvW2luZGV4ZXJdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkdG9baW5kZXhlcl0gPSB7fTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZHRvW2luZGV4ZXJdWyd2JyArIGluZGV4XSA9IGRhdGFpdGVtLnY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdmFyIGRhdGVzID0gT2JqZWN0LmtleXMoZHRvKTtcclxuICAgICAgICAgICAgbGV0IHNpbmdsZURTID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0ZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGxldCB2YWx1ZXM6IHsgW3NpbmRleDogc3RyaW5nXTogbnVtYmVyIH0gPSBkdG9bZGF0ZXNbaV1dO1xyXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB7IGQ6IG5ldyBEYXRlKHBhcnNlSW50KGRhdGVzW2ldKSkgfVxyXG5cclxuICAgICAgICAgICAgICAgIHZhciB2YWxzID0gT2JqZWN0LmtleXModmFsdWVzKTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGlpID0gMDsgaWkgPCB2YWxzLmxlbmd0aDsgaWkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzZXJpZXMgPSB2YWxzW2lpXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc2luZ2xlVmFsID0gdmFsdWVzW3Nlcmllc107XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVtzZXJpZXNdID0gc2luZ2xlVmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2luZ2xlRFMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuZGF0YSA9IHNpbmdsZURTO1xyXG4gICAgICAgICAgICBkYXRlQXhpcy5jdXJzb3JUb29sdGlwRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLy0tIEZpbmUgZ2VuZXJhemlvbmVcclxuXHJcbiAgICAgICAgZGF0YUNvbnZlcnRlZC5zZXJpZXMuZm9yRWFjaCgocywgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHMudmFsdWVzWzBdICYmICEocy52YWx1ZXNbMF0uZCBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB2ID0gMDsgdiA8IHMudmFsdWVzLmxlbmd0aDsgdisrKVxyXG4gICAgICAgICAgICAgICAgICAgIHMudmFsdWVzW3ZdLmQgPSBuZXcgRGF0ZShzLnZhbHVlc1t2XS5kKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdmFyIGNvcnJlY3RPcmRlciA9IHRydWU7XHJcbiAgICAgICAgICAgIHZhciBwcmV2RGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHYgPSAwOyB2IDwgcy52YWx1ZXMubGVuZ3RoOyB2KyspIHtcclxuICAgICAgICAgICAgICAgIGlmICghcHJldkRhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldkRhdGUgPSBzLnZhbHVlc1t2XS5kO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzLnZhbHVlc1t2XS5kIDwgcHJldkRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdE9yZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFjb3JyZWN0T3JkZXIpXHJcbiAgICAgICAgICAgICAgICBzLnZhbHVlcy5zb3J0KChkMSwgZDIpID0+IGQxLmQuZ2V0VGltZSgpIC0gZDIuZC5nZXRUaW1lKCkpO1xyXG5cclxuICAgICAgICAgICAgbGV0IHNlcmllczogYW00Y2hhcnRzLlN0ZXBMaW5lU2VyaWVzIHwgYW00Y2hhcnRzLkxpbmVTZXJpZXMgPSBzZXR0aW5ncz8uU3RlcCA/IG5ldyBhbTRjaGFydHMuU3RlcExpbmVTZXJpZXMoKSA6IG5ldyBhbTRjaGFydHMuTGluZVNlcmllcygpO1xyXG4gICAgICAgICAgICBzZXJpZXMuZGF0YUZpZWxkcy52YWx1ZVkgPSBcInZcIiArIChzaW5nbGVEYXRhU2V0ID8gaW5kZXggOiBcIlwiKTtcclxuICAgICAgICAgICAgc2VyaWVzLmRhdGFGaWVsZHMuZGF0ZVggPSBcImRcIjtcclxuICAgICAgICAgICAgKDxhbnk+c2VyaWVzLmRhdGFGaWVsZHMpLm1lYXN1cmVVbml0ID0gcy51b207XHJcbiAgICAgICAgICAgIHNlcmllcy5uYW1lID0gcy5uYW1lO1xyXG4gICAgICAgICAgICBzZXJpZXMuc3Ryb2tlV2lkdGggPSBzZXR0aW5ncz8uU3Ryb2tlU2l6ZSA/PyAxO1xyXG4gICAgICAgICAgICBzZXJpZXMuY29ubmVjdCA9ICFnYXBzQWxsb3dlZDtcclxuICAgICAgICAgICAgc2VyaWVzLm1pbkJ1bGxldERpc3RhbmNlID0gMTA7XHJcbiAgICAgICAgICAgIHNlcmllcy50b29sdGlwVGV4dCA9IHNpbmdsZURhdGFTZXQgPyBcIlwiIDogXCJ7bmFtZX06IFtib2xkXXt2YWx1ZVl9Wy9dXCI7XHJcbiAgICAgICAgICAgIHNlcmllcy50b29sdGlwLnBvaW50ZXJPcmllbnRhdGlvbiA9IFwidmVydGljYWxcIjtcclxuICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAuYmFja2dyb3VuZC5maWxsT3BhY2l0eSA9IDAuNTtcclxuICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAubGFiZWwucGFkZGluZygxMiwgMTIsIDEyLCAxMik7XHJcbiAgICAgICAgICAgIHNlcmllcy5maWxsT3BhY2l0eSA9IGZpbGwgPyAxIDogMC4wMDAxO1xyXG4gICAgICAgICAgICBzZXJpZXMuc3RhY2tlZCA9IGZpbGw7XHJcblxyXG4gICAgICAgICAgICAvL0RhdGFzZXQgc2luZ29sbywgaSBkYXRpIHNvbm8gcmVnaXN0cmF0aSBhIGxpdmVsbG8gZGkgY2hhcnQsIGNyZW8gaWwgdG9vbHRpcCBjaGUgcGVybWV0dGUgZGkgdmVkZXJsaSB0dXR0aSBpbnNpZW1lXHJcbiAgICAgICAgICAgIC8vYWx0cmltZW50aSBhc3NlZ25vIGkgZGF0aSBkZWxsYSBzZXJpZSBkaXJldHRhbWVudGUgYWxsYSBzZXJpZVxyXG4gICAgICAgICAgICBpZiAoc2luZ2xlRGF0YVNldCkge1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAuZ2V0RmlsbEZyb21PYmplY3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlcmllcy50b29sdGlwLmJhY2tncm91bmQuZmlsbCA9IGFtNGNvcmUuY29sb3IoXCIjZWVlXCIpO1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAubGFiZWwuZmlsbCA9IGFtNGNvcmUuY29sb3IoXCIjMDBcIik7XHJcbiAgICAgICAgICAgICAgICBzZXJpZXMudG9vbHRpcC5kZWZhdWx0U3RhdGUudHJhbnNpdGlvbkR1cmF0aW9uID0gMDtcclxuICAgICAgICAgICAgICAgIHNlcmllcy50b29sdGlwLmhpZGRlblN0YXRlLnRyYW5zaXRpb25EdXJhdGlvbiA9IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLy9VdGlsaXp6byBpbCBtaW8gZGF0ZVNlcnZpY2UgcGVyIGxhIGZvcm1hdHRhemlvbmUgZGVsbGEgZGF0YSBpbiBtb2RvIGNoZSBub24gZGViYmEgbWFpIGdlc3RpcmUgbiBmb3JtYXRpIGZyYSBuIGxpYnJlcmllLi4uIGJlbGxpc3NpbW9cclxuICAgICAgICAgICAgICAgIHNlcmllcy5kYXRlRm9ybWF0dGVyLmZvcm1hdCA9IChzb3VyY2U6IERhdGUpOiBzdHJpbmcgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnZhbCAmJiBmaW5hbEluc3RhbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRpbWVwYXJ0OiBcIm1pbnV0ZVwiIHwgXCJob3VyXCIgfCBcImRheVwiID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcnZhbC50aW1ldW5pdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcImhvdXJcIjogdGltZXBhcnQgPSAnZGF5JzsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwibWludXRlXCI6IHRpbWVwYXJ0ID0gJ2hvdXInOyBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJzZWNvbmRcIjogdGltZXBhcnQgPSAnbWludXRlJzsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVwYXJ0KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUV4dHMuYWRqdXN0RGF0ZVRvRmluYWxJbnN0YW50KHNvdXJjZSwgdGltZXBhcnQsIGludGVydmFsID8gaW50ZXJ2YWwudGltZXVuaXQgPT0gXCJzZWNvbmRcIiA6IGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlRXh0cy5nZXRGb3JtYXR0ZWQoc291cmNlLCBmYWxzZSwgaW50ZXJ2YWwgPyBpbnRlcnZhbC50aW1ldW5pdCA9PSBcInNlY29uZFwiIDogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICg8YW55PnNlcmllcy5hZGFwdGVyKS5hZGQoXCJ0b29sdGlwVGV4dFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRleHQgPSBcIltib2xkXXtkYXRlWC5mb3JtYXREYXRlKCl9Wy9dXFxuXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLnNlcmllcy5lYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1b20gPSBcIiBbZm9udC1zdHlsZTogaXRhbGljXVwiICsgKDxhbnk+c2VyaWVzLmRhdGFGaWVsZHMpLm1lYXN1cmVVbml0IHx8IFwiXCIgKyBcIlsvXVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ICs9IFwiW1wiICsgKDxhbnk+aXRlbS5zdHJva2UpLmhleCArIFwiXeKXj1svXSBcIiArIGl0ZW0ubmFtZSArIFwiOiBbYm9sZF17XCIgKyBpdGVtLmRhdGFGaWVsZHMudmFsdWVZICsgXCJ9Wy9dXCIgKyB1b20gKyBcIlxcblwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgc2VyaWVzLmRhdGEgPSBzLnZhbHVlcztcclxuXHJcbiAgICAgICAgICAgIGxldCBzZWdtZW50ID0gc2VyaWVzLnNlZ21lbnRzLnRlbXBsYXRlO1xyXG5cclxuICAgICAgICAgICAgbGV0IGhvdmVyU3RhdGUgPSBzZWdtZW50LnN0YXRlcy5jcmVhdGUoXCJob3ZlclwiKTtcclxuICAgICAgICAgICAgaG92ZXJTdGF0ZS5wcm9wZXJ0aWVzLnN0cm9rZVdpZHRoID0gKHNldHRpbmdzPy5TdHJva2VTaXplID8/IDEpICsgMTtcclxuXHJcbiAgICAgICAgICAgIGxldCBkaW1tZWQgPSBzZWdtZW50LnN0YXRlcy5jcmVhdGUoXCJkaW1tZWRcIik7XHJcbiAgICAgICAgICAgIGRpbW1lZC5wcm9wZXJ0aWVzLnN0cm9rZSA9IGFtNGNvcmUuY29sb3IoXCIjZGFkYWRhXCIpO1xyXG5cclxuICAgICAgICAgICAgLy9TZSBsYSBzZXJpZSBoYSB1biBjb2xvcmUsIHVzbyBxdWVsbG8sIGFsdHJpbWVudGkgcGVzY28gZGFpIGNvbG9yaSBkaSBkZWZhdWx0IGFuZGFuZG8gaW4gb3JkaW5lXHJcbiAgICAgICAgICAgIGlmIChzLmNvbG9yKVxyXG4gICAgICAgICAgICAgICAgc2VyaWVzQ29sb3JzLnB1c2goYW00Y29yZS5jb2xvcihzLmNvbG9yKSk7XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzQ29sb3JzLnB1c2goQ2hhcnRJbnN0YW5jZUNhc3RlZC5jb2xvcnMubGlzdFtkZWZhdWx0SW5kZXggJSBDaGFydEluc3RhbmNlQ2FzdGVkLmNvbG9ycy5saXN0Lmxlbmd0aF0pXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0SW5kZXgrKztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc2VyaWVzVG9QdXNoLnB1c2goc2VyaWVzKTtcclxuICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuY29sb3JzLmxpc3QgPSBzZXJpZXNDb2xvcnM7XHJcbiAgICAgICAgLy9TY3Jpdm8gbGUgc2VyaWUgbmVsIGdyYWZpY29cclxuICAgICAgICBzZXJpZXNUb1B1c2guZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5zZXJpZXMucHVzaChzKTtcclxuICAgICAgICAgICAgaWYgKHNob3dUaW1lbGluZSlcclxuICAgICAgICAgICAgICAgICg8YW00Y2hhcnRzLlhZQ2hhcnRTY3JvbGxiYXI+Q2hhcnRJbnN0YW5jZUNhc3RlZC5zY3JvbGxiYXJYKS5zZXJpZXMucHVzaChzKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZCkge1xyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kID0gbmV3IGFtNGNoYXJ0cy5MZWdlbmQoKTtcclxuICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLnNjcm9sbGFibGUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie25hbWV9XCI7XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGUuZXZlbnRzLm9uKFwib3ZlclwiLCAoZXZlbnQpID0+IHsgdGhpcy5wcm9jZXNzT3Zlcig8YW00Y2hhcnRzLkxpbmVTZXJpZXM+ZXZlbnQudGFyZ2V0LmRhdGFJdGVtLmRhdGFDb250ZXh0LCBmaWxsKTsgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGUuZXZlbnRzLm9uKFwib3V0XCIsIChldmVudCkgPT4geyB0aGlzLnByb2Nlc3NPdXQoZmlsbCk7IH0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldCB0ZW1wbGF0ZSA9IHRoaXMuQ2hhcnRJbnN0YW5jZS5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nVG9wID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy50b3AgPz8gMDtcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUucGFkZGluZ0xlZnQgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmxlZnQgPz8gMDtcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlLnBhZGRpbmdSaWdodCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcucmlnaHQgPz8gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmN1cnNvciA9IG5ldyBhbTRjaGFydHMuWFlDdXJzb3IoKTtcclxuXHJcbiAgICAgICAgLy9Qcm92ZSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgIC8vIHRoaXMuQ2hhcnRJbnN0YW5jZS5jdXJzb3IuZXZlbnRzLm9uKFwiY3Vyc29ycG9zaXRpb25jaGFuZ2VkXCIsIChldikgPT4ge1xyXG4gICAgICAgIC8vICAgICAvL3ZhciB2YWx1ZSA9IGRhdGVBeGlzLnBvc2l0aW9uVG9EYXRlKGRhdGVBeGlzLnRvQXhpc1Bvc2l0aW9uKGV2LnRhcmdldC54UG9zaXRpb24pKTtcclxuICAgICAgICAvLyAgICAgdmFyIGR0ID0gZGF0ZUF4aXMuc2VyaWVzLnZhbHVlcy5maW5kKHQgPT4gdC5kYXRhSXRlbS52YWx1ZXMuZGF0ZVgpO1xyXG4gICAgICAgIC8vICAgICBpZiAoZHQgJiYgZHQuZGF0YUl0ZW0pIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbnNvbGUubG9nKGR0LmRhdGFJdGVtLnZhbHVlcyk7XHJcbiAgICAgICAgLy8gICAgICAgICAvLyB0aGlzLkNoYXJ0SW5zdGFuY2UudG9vbHRpcFRleHQgPSBkdDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBlbHNlIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS50b29sdGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9KTtcclxuICAgICAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuY3Vyc29yLnhBeGlzID0gZGF0ZUF4aXM7XHJcbiAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmN1cnNvci55QXhpcyA9IHlBeGlzO1xyXG4gICAgICAgIGlmIChzaW5nbGVEYXRhU2V0KVxyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuY3Vyc29yLm1heFRvb2x0aXBEaXN0YW5jZSA9IC0xO1xyXG5cclxuICAgICAgICAvL1RPRE86IENlcmNhcmUgZGkgY2FwaXJlIHBlcmNow6kgw6ggZmlnbGlvIGRpIHB1dHRhbmEuLi4uLi5cclxuICAgICAgICBkYXRlQXhpcy5ldmVudHMub24oXCJzdGFydGNoYW5nZWRcIiwgdCA9PiB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VkKHQsIHNldHRpbmdzKSk7XHJcbiAgICAgICAgZGF0ZUF4aXMuZXZlbnRzLm9uKFwiZW5kY2hhbmdlZFwiLCB0ID0+IHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZWQodCwgc2V0dGluZ3MpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHVibGljIHJlZnJlc2hEYXRhKGRhdGE6IExpbmVDaGFydERhdGEgfCBhbnkpIHtcclxuICAgICAgICAvL1RPRE86SU1QTFxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VkKGV2LCBzZXR0aW5ncykge1xyXG4gICAgICAgIGlmICgoPGFueT5zZXR0aW5ncykuT25TZWxlY3Rpb25DaGFuZ2VkQ2FsbGJhY2spIHtcclxuICAgICAgICAgICAgdGhpcy50aHJvdHRsYShcInNlbGNoYW5nZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgYXhpcyA9IDxhbTRjaGFydHMuRGF0ZUF4aXM+ZXYudGFyZ2V0XHJcbiAgICAgICAgICAgICAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZShheGlzLm1pblpvb21lZCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoYXhpcy5tYXhab29tZWQpO1xyXG4gICAgICAgICAgICAgICAgdmFyIGluaXRpYWwgPSBheGlzLm1pbiA9PSBheGlzLm1pblpvb21lZCAmJiBheGlzLm1heCA9PSBheGlzLm1heFpvb21lZDtcclxuICAgICAgICAgICAgICAgICg8YW55PnNldHRpbmdzKS5PblNlbGVjdGlvbkNoYW5nZWRDYWxsYmFjayh7IGZyb206IHN0YXJ0LCB0bzogZW5kLCBpbml0aWFsOiBpbml0aWFsIH0pO1xyXG4gICAgICAgICAgICB9LCAxNTApXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NPdmVyKGhvdmVyZWRTZXJpZXM6IGFtNGNoYXJ0cy5MaW5lU2VyaWVzLCBmaWxsOiBib29sZWFuKSB7XHJcbiAgICAgICAgaG92ZXJlZFNlcmllcy50b0Zyb250KCk7XHJcblxyXG4gICAgICAgIGhvdmVyZWRTZXJpZXMuc2VnbWVudHMuZWFjaCgoc2VnbWVudCkgPT4ge1xyXG4gICAgICAgICAgICBzZWdtZW50LnNldFN0YXRlKFwiaG92ZXJcIik7XHJcbiAgICAgICAgICAgIGlmICghZmlsbClcclxuICAgICAgICAgICAgICAgIHNlZ21lbnQuZmlsbFNwcml0ZS5maWxsT3BhY2l0eSA9IHRoaXMuT3BhY2l0eU9uU2VsZWN0ZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFmaWxsKVxyXG4gICAgICAgICAgICBob3ZlcmVkU2VyaWVzLmxlZ2VuZERhdGFJdGVtLm1hcmtlci5jaGlsZHJlbi5nZXRJbmRleCgxKS5maWxsT3BhY2l0eSA9IHRoaXMuT3BhY2l0eU9uU2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5zZXJpZXMuZWFjaCgoc2VyaWVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZXJpZXMgIT0gaG92ZXJlZFNlcmllcylcclxuICAgICAgICAgICAgICAgICg8YW00Y2hhcnRzLkxpbmVTZXJpZXM+c2VyaWVzKS5zZWdtZW50cy5lYWNoKChzZWdtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudC5zZXRTdGF0ZShcImRpbW1lZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnQuZmlsbFNwcml0ZS5maWxsT3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzT3V0KGZpbGw6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2Uuc2VyaWVzLmVhY2goKHNlcmllcykgPT4ge1xyXG4gICAgICAgICAgICAoPGFtNGNoYXJ0cy5MaW5lU2VyaWVzPnNlcmllcykuc2VnbWVudHMuZWFjaCgoc2VnbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc2VnbWVudC5zZXRTdGF0ZShcImRlZmF1bHRcIik7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWZpbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudC5maWxsU3ByaXRlLmZpbGxPcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICghZmlsbClcclxuICAgICAgICAgICAgICAgIHNlcmllcy5sZWdlbmREYXRhSXRlbS5tYXJrZXIuY2hpbGRyZW4uZ2V0SW5kZXgoMSkuZmlsbE9wYWNpdHkgPSAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKiogRnVuemlvbmUgZGkgdGhyb3R0bGluZyBwZXIgbm9uIHNwYW1tYXJlIHJpY2hpZXN0ZSBpbiBjYXNvIGRpIGFuaW1hemlvbmkgYXR0aXZhdGVcclxuICAgIC8vVE9ETzogc3Bvc3RhcmxhIGluIHVuIG1ldG9kbyBkaSB1dGlsaXTDoCAoZXNmYWVuemEvZXh0ZW5zaW9ucylcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIGV4ZWN1dGlvblRpbWVyczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSB0aHJvdHRsYShpZDogc3RyaW5nLCBmdW5jOiBGdW5jdGlvbiwgdGhyb3R0bGVUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICAvL1NlIGhvIGxhIGZ1bnppb25lIGNoZSB2dW9sZSBlc2VndWlyZSByaXB1bGlzY28gcXVlbCB0aW1lb3V0XHJcbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSlcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSk7XHJcblxyXG4gICAgICAgIC8vUmljcmVvIGlsIHRpbWVvdXQgcGVyIGVzZWd1aXJlIHF1ZWxsYSBmdW56aW9uZSBkb3BvIHRocm90dGxlVGltZSBtaWxsaXNlY29uZGlcclxuICAgICAgICB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBzZXRUaW1lb3V0KCgpID0+IHsgZnVuYygpOyB0aGlzLmV4ZWN1dGlvblRpbWVyc1tpZF0gPSBudWxsOyB9LCB0aHJvdHRsZVRpbWUpO1xyXG4gICAgfVxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqXHJcbn0iXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUNoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL2NsYXNzZXMvTGluZUNoYXJ0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sNEJBQTRCLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLGNBQWM7SUFDZCxZQUFtQixPQUFvQixFQUFVLFFBQXFCO1FBQW5ELFlBQU8sR0FBUCxPQUFPLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTnRFLGNBQWM7UUFDTix3QkFBbUIsR0FBVyxJQUFJLENBQUM7UUFDM0MsY0FBYztRQUNOLHNCQUFpQixHQUFXLEdBQUcsQ0FBQztRQXNUeEMsdUdBQXVHO1FBQ3ZHLCtEQUErRDtRQUMvRCxjQUFjO1FBQ04sb0JBQWUsR0FBNkIsRUFBRSxDQUFDO0lBdFRtQixDQUFDO0lBRTNFOztPQUVHO0lBQ0ksVUFBVSxDQUFDLElBQXlCLEVBQUUsUUFBMkI7O1FBQ3BFLElBQUksYUFBYSxHQUFrQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEcsSUFBSSxTQUFTLEdBQUcsTUFBQSxRQUFRLENBQUMscUJBQXFCLG1DQUFJLElBQUksQ0FBQztRQUN2RCxJQUFJLGFBQWEsR0FBRyxNQUFBLFFBQVEsQ0FBQyxhQUFhLG1DQUFJLEtBQUssQ0FBQztRQUNwRCxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLGFBQVIs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Q0wsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUk7Z0JBQ0wsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQU1ELGNBQWM7SUFDTixRQUFRLENBQUMsRUFBVSxFQUFFLElBQWMsRUFBRSxZQUFvQjtRQUM3RCw2REFBNkQ7UUFDN0QsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTNDLCtFQUErRTtRQUMvRSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzVHLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IElCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS9JQmFzZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uLy4uL2FkYXB0ZXJzJztcclxuaW1wb3J0IHsgTGluZUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhJztcclxuaW1wb3J0IHsgTGluZUNoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MnO1xyXG5cclxuaW1wb3J0ICogYXMgYW00Y29yZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgaWwgY3VpIHVuaWNvIHNjb3BvIMOoIGdlc3RpcmUgaWwgc2V0dXAgZSByZW5kZXJpbmcgZGkgdW4gTGluZUNoYXJ0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGluZUNoYXJ0U2VydmljZSBpbXBsZW1lbnRzIElCYXNlU2VydmljZTxhbTRjaGFydHMuWFlDaGFydD57XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHVibGljIENoYXJ0SW5zdGFuY2U6IGFtNGNoYXJ0cy5YWUNoYXJ0O1xyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgRGF0YUdyb3VwQnVja2V0U2l6ZTogbnVtYmVyID0gMTUwMDtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIE9wYWNpdHlPblNlbGVjdGVkOiBudW1iZXIgPSAwLjM7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlciwgcHJpdmF0ZSBkYXRlRXh0czogRGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBkYXRhIHVuYSBjb3BwaWEgRGF0aSAtIEltcG9zdGF6aW9uaSBsaSB1dGlsaXp6YSBwZXIgY3JlYXJlIGUgdmlzdWFsaXp6YXJlIHVuIExpbmVDaGFydFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ3JhcGhpY2F0ZShkYXRhOiBMaW5lQ2hhcnREYXRhIHwgYW55LCBzZXR0aW5nczogTGluZUNoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgICAgICBsZXQgZGF0YUNvbnZlcnRlZDogTGluZUNoYXJ0RGF0YSA9IHRoaXMuQWRhcHRlciA/IHRoaXMuQWRhcHRlci5hZGFwdERhdGFGb3JMaW5lQ2hhcnQoZGF0YSkgOiBkYXRhO1xyXG4gICAgICAgIGxldCB0aHJlc2hvbGQgPSBzZXR0aW5ncy5EYXRhR3JvdXBpbmdUaHJlc2hvbGQgPz8gMzAwMDtcclxuICAgICAgICBsZXQgc2luZ2xlRGF0YVNldCA9IHNldHRpbmdzLk1lcmdlRGF0YXNldHMgPz8gZmFsc2U7XHJcbiAgICAgICAgbGV0IHNob3dUaWNrcyA9IHNldHRpbmdzLlNob3dUaWNrcyA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5TaG93VGlja3M7XHJcbiAgICAgICAgbGV0IGRhdGFTaG91bGRCZUdyb3VwZWQgPSBNYXRoLm1heCguLi5kYXRhQ29udmVydGVkLnNlcmllcy5tYXAodCA9PiB0LnZhbHVlcy5sZW5ndGgpKSA+IHRocmVzaG9sZDtcclxuICAgICAgICBsZXQgc2hvd1RpbWVsaW5lID0gc2V0dGluZ3MuVGltZWxpbmUgfHwgZGF0YVNob3VsZEJlR3JvdXBlZDtcclxuICAgICAgICBsZXQgc2VyaWVzV2l0aEludGVydmFsID0gZGF0YUNvbnZlcnRlZC5zZXJpZXMuc29tZSh0ID0+IHQuaW50ZXJ2YWwpO1xyXG4gICAgICAgIGxldCBpbnRlcnZhbCA9IHNlcmllc1dpdGhJbnRlcnZhbCA/IGRhdGFDb252ZXJ0ZWQuc2VyaWVzLmZpbmQodCA9PiB0LmludGVydmFsKS5pbnRlcnZhbCA6IG51bGw7XHJcbiAgICAgICAgbGV0IGdhcHNBbGxvd2VkID0gc2V0dGluZ3M/LkFsbG93R2FwcyA9PSBudWxsID8gc2VyaWVzV2l0aEludGVydmFsIDogc2V0dGluZ3M/LkFsbG93R2FwcztcclxuICAgICAgICBsZXQgZmluYWxJbnN0YW50ID0gc2V0dGluZ3M/LkZpbmFsSW5zdGFudHMgPz8gdHJ1ZTtcclxuICAgICAgICBsZXQgZmlsbCA9IHNldHRpbmdzPy5GaWxsID8/IGZhbHNlO1xyXG5cclxuICAgICAgICAvL1BlciBldml0YXJlIGRpIGRpbWVudGljYXJtZWxpIGUgZ2VzdGlyZSBjb211bnF1ZSBiZW5lIGdsaSBuZ2lmIGVjYy4uLlxyXG4gICAgICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZSA9IGFtNGNvcmUuY3JlYXRlKHNldHRpbmdzLk5hbWUsIGFtNGNoYXJ0cy5YWUNoYXJ0KTtcclxuICAgICAgICBsZXQgQ2hhcnRJbnN0YW5jZUNhc3RlZCA9IDxhbTRjaGFydHMuWFlDaGFydD50aGlzLkNoYXJ0SW5zdGFuY2U7XHJcblxyXG4gICAgICAgIGxldCB5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueUF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLlZhbHVlQXhpcygpKTtcclxuICAgICAgICBpZiAoc2V0dGluZ3MuWUF4aXNUaXRsZSkge1xyXG4gICAgICAgICAgICB5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWUF4aXNUaXRsZVxyXG4gICAgICAgICAgICB5QXhpcy50aXRsZS5mb250V2VpZ2h0ID0gXCJib2xkXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2V0dGluZ3MuTWluKVxyXG4gICAgICAgICAgICB5QXhpcy5taW4gPSBzZXR0aW5ncy5NaW47XHJcbiAgICAgICAgaWYgKHNldHRpbmdzLk1heClcclxuICAgICAgICAgICAgeUF4aXMubWF4ID0gc2V0dGluZ3MuTWF4O1xyXG5cclxuICAgICAgICBsZXQgZGF0ZUF4aXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnhBeGVzLnB1c2gobmV3IGFtNGNoYXJ0cy5EYXRlQXhpcygpKTtcclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmdzLlhBeGlzVGl0bGUpIHtcclxuICAgICAgICAgICAgZGF0ZUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLlhBeGlzVGl0bGVcclxuICAgICAgICAgICAgZGF0ZUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNob3dUaWNrcykge1xyXG4gICAgICAgICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5zdHJva2VPcGFjaXR5ID0gMTtcclxuICAgICAgICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuc3Ryb2tlID0gYW00Y29yZS5jb2xvcihcIiM0OTVDNDNcIik7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLnN0cm9rZVdpZHRoID0gMjtcclxuICAgICAgICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUubGVuZ3RoID0gMTA7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLmxvY2F0aW9uID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gNTA7XHJcbiAgICAgICAgZGF0ZUF4aXMucmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5sb2NhdGlvbiA9IDA7XHJcbiAgICAgICAgZGF0ZUF4aXMubWluWm9vbUNvdW50ID0gNTtcclxuICAgICAgICBkYXRlQXhpcy5ncm91cERhdGEgPSBkYXRhU2hvdWxkQmVHcm91cGVkO1xyXG4gICAgICAgIGRhdGVBeGlzLmdyb3VwQ291bnQgPSBzZXR0aW5ncy5EYXRhR3JvdXBCdWNrZXRTaXplID8/IHRoaXMuRGF0YUdyb3VwQnVja2V0U2l6ZTtcclxuXHJcbiAgICAgICAgLy9TZSBobyBhbG1lbm8gdW5hIHNlcmllIGFkIGludGVydmFsbG8gZSBpIHNldHRpbmdzIG5vbiBtaSBpbXBlZGlzY29ubyBlc3BsaWNpdGFtZW50ZSBkaSB1c2FyZSBpIGdhcHMsIHZpc3VhbGl6em8gaSBkYXRpIGNvbCBnYXBcclxuXHJcbiAgICAgICAgaWYgKGdhcHNBbGxvd2VkKSB7XHJcbiAgICAgICAgICAgIGlmICghc2VyaWVzV2l0aEludGVydmFsKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUGVyIHV0aWxpenphcmUgbGEgZnVuemlvbmFsaXTDoCBkZWkgZ2FwIMOoIG9iYmxpZ2F0b3JpbyBkZWZpbmlyZSB1biBpbnRlcnZhbGxvIG5lbGxlIHNlcmllIGRlbCBncmFmaWNvXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGVBeGlzLmJhc2VJbnRlcnZhbCA9IHsgY291bnQ6IGludGVydmFsLmNvdW50LCB0aW1lVW5pdDogaW50ZXJ2YWwudGltZXVuaXQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNob3dUaW1lbGluZSlcclxuICAgICAgICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5zY3JvbGxiYXJYID0gbmV3IGFtNGNoYXJ0cy5YWUNoYXJ0U2Nyb2xsYmFyKCk7XHJcblxyXG4gICAgICAgIGxldCBzZXJpZXNUb1B1c2ggPSBbXTtcclxuICAgICAgICBsZXQgc2VyaWVzQ29sb3JzOiBhbTRjb3JlLkNvbG9yW10gPSBbXTtcclxuICAgICAgICBsZXQgZGVmYXVsdEluZGV4ID0gMDtcclxuXHJcbiAgICAgICAgLy8tLSBHZW5lcmF6aW9uZSBkaSB1biB1bmljbyBkYXRhc2V0IGludmVjZSBjaGUgTiwgcGVyIHBvdGVyIGdlc3RpcmUgdW4gdW5pY28gdG9vbHRpcFxyXG4gICAgICAgIGlmIChzaW5nbGVEYXRhU2V0KSB7XHJcbiAgICAgICAgICAgIGxldCBkdG86IHsgW2luZGV4OiBudW1iZXJdOiB7IFtzaW5kZXg6IHN0cmluZ106IG51bWJlciB9IH0gPSB7fTtcclxuICAgICAgICAgICAgZGF0YUNvbnZlcnRlZC5zZXJpZXMuZm9yRWFjaCgodnMsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZzLnZhbHVlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRhaXRlbSA9IHZzLnZhbHVlc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXhlciA9IG5ldyBEYXRlKGRhdGFpdGVtLmQpLnZhbHVlT2YoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkdG9baW5kZXhlcl0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR0b1tpbmRleGVyXSA9IHt9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBkdG9baW5kZXhlcl1bJ3YnICsgaW5kZXhdID0gZGF0YWl0ZW0udjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB2YXIgZGF0ZXMgPSBPYmplY3Qua2V5cyhkdG8pO1xyXG4gICAgICAgICAgICBsZXQgc2luZ2xlRFMgPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlczogeyBbc2luZGV4OiBzdHJpbmddOiBudW1iZXIgfSA9IGR0b1tkYXRlc1tpXV07XHJcbiAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IHsgZDogbmV3IERhdGUocGFyc2VJbnQoZGF0ZXNbaV0pKSB9XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHZhbHMgPSBPYmplY3Qua2V5cyh2YWx1ZXMpO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaWkgPSAwOyBpaSA8IHZhbHMubGVuZ3RoOyBpaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlcmllcyA9IHZhbHNbaWldO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaW5nbGVWYWwgPSB2YWx1ZXNbc2VyaWVzXTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtW3Nlcmllc10gPSBzaW5nbGVWYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzaW5nbGVEUy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5kYXRhID0gc2luZ2xlRFM7XHJcbiAgICAgICAgICAgIGRhdGVBeGlzLmN1cnNvclRvb2x0aXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vLS0gRmluZSBnZW5lcmF6aW9uZVxyXG5cclxuICAgICAgICBkYXRhQ29udmVydGVkLnNlcmllcy5mb3JFYWNoKChzLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocy52YWx1ZXNbMF0gJiYgIShzLnZhbHVlc1swXS5kIGluc3RhbmNlb2YgRGF0ZSkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHYgPSAwOyB2IDwgcy52YWx1ZXMubGVuZ3RoOyB2KyspXHJcbiAgICAgICAgICAgICAgICAgICAgcy52YWx1ZXNbdl0uZCA9IG5ldyBEYXRlKHMudmFsdWVzW3ZdLmQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB2YXIgY29ycmVjdE9yZGVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgdmFyIHByZXZEYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgZm9yIChsZXQgdiA9IDA7IHYgPCBzLnZhbHVlcy5sZW5ndGg7IHYrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFwcmV2RGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBwcmV2RGF0ZSA9IHMudmFsdWVzW3ZdLmQ7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHMudmFsdWVzW3ZdLmQgPCBwcmV2RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0T3JkZXIgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWNvcnJlY3RPcmRlcilcclxuICAgICAgICAgICAgICAgIHMudmFsdWVzLnNvcnQoKGQxLCBkMikgPT4gZDEuZC5nZXRUaW1lKCkgLSBkMi5kLmdldFRpbWUoKSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgc2VyaWVzOiBhbTRjaGFydHMuU3RlcExpbmVTZXJpZXMgfCBhbTRjaGFydHMuTGluZVNlcmllcyA9IHNldHRpbmdzPy5TdGVwID8gbmV3IGFtNGNoYXJ0cy5TdGVwTGluZVNlcmllcygpIDogbmV3IGFtNGNoYXJ0cy5MaW5lU2VyaWVzKCk7XHJcbiAgICAgICAgICAgIHNlcmllcy5kYXRhRmllbGRzLnZhbHVlWSA9IFwidlwiICsgKHNpbmdsZURhdGFTZXQgPyBpbmRleCA6IFwiXCIpO1xyXG4gICAgICAgICAgICBzZXJpZXMuZGF0YUZpZWxkcy5kYXRlWCA9IFwiZFwiO1xyXG4gICAgICAgICAgICAoPGFueT5zZXJpZXMuZGF0YUZpZWxkcykubWVhc3VyZVVuaXQgPSBzLnVvbTtcclxuICAgICAgICAgICAgc2VyaWVzLm5hbWUgPSBzLm5hbWU7XHJcbiAgICAgICAgICAgIHNlcmllcy5zdHJva2VXaWR0aCA9IHNldHRpbmdzPy5TdHJva2VTaXplID8/IDE7XHJcbiAgICAgICAgICAgIHNlcmllcy5jb25uZWN0ID0gIWdhcHNBbGxvd2VkO1xyXG4gICAgICAgICAgICBzZXJpZXMubWluQnVsbGV0RGlzdGFuY2UgPSAxMDtcclxuICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXBUZXh0ID0gc2luZ2xlRGF0YVNldCA/IFwiXCIgOiBcIntuYW1lfTogW2JvbGRde3ZhbHVlWX1bL11cIjtcclxuICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAucG9pbnRlck9yaWVudGF0aW9uID0gXCJ2ZXJ0aWNhbFwiO1xyXG4gICAgICAgICAgICBzZXJpZXMudG9vbHRpcC5iYWNrZ3JvdW5kLmZpbGxPcGFjaXR5ID0gMC41O1xyXG4gICAgICAgICAgICBzZXJpZXMudG9vbHRpcC5sYWJlbC5wYWRkaW5nKDEyLCAxMiwgMTIsIDEyKTtcclxuICAgICAgICAgICAgc2VyaWVzLmZpbGxPcGFjaXR5ID0gZmlsbCA/IDEgOiAwLjAwMDE7XHJcbiAgICAgICAgICAgIHNlcmllcy5zdGFja2VkID0gZmlsbDtcclxuXHJcbiAgICAgICAgICAgIC8vRGF0YXNldCBzaW5nb2xvLCBpIGRhdGkgc29ubyByZWdpc3RyYXRpIGEgbGl2ZWxsbyBkaSBjaGFydCwgY3JlbyBpbCB0b29sdGlwIGNoZSBwZXJtZXR0ZSBkaSB2ZWRlcmxpIHR1dHRpIGluc2llbWVcclxuICAgICAgICAgICAgLy9hbHRyaW1lbnRpIGFzc2Vnbm8gaSBkYXRpIGRlbGxhIHNlcmllIGRpcmV0dGFtZW50ZSBhbGxhIHNlcmllXHJcbiAgICAgICAgICAgIGlmIChzaW5nbGVEYXRhU2V0KSB7XHJcbiAgICAgICAgICAgICAgICBzZXJpZXMudG9vbHRpcC5nZXRGaWxsRnJvbU9iamVjdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAuYmFja2dyb3VuZC5maWxsID0gYW00Y29yZS5jb2xvcihcIiNlZWVcIik7XHJcbiAgICAgICAgICAgICAgICBzZXJpZXMudG9vbHRpcC5sYWJlbC5maWxsID0gYW00Y29yZS5jb2xvcihcIiMwMFwiKTtcclxuICAgICAgICAgICAgICAgIHNlcmllcy50b29sdGlwLmRlZmF1bHRTdGF0ZS50cmFuc2l0aW9uRHVyYXRpb24gPSAwO1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnRvb2x0aXAuaGlkZGVuU3RhdGUudHJhbnNpdGlvbkR1cmF0aW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgICAgICAvL1V0aWxpenpvIGlsIG1pbyBkYXRlU2VydmljZSBwZXIgbGEgZm9ybWF0dGF6aW9uZSBkZWxsYSBkYXRhIGluIG1vZG8gY2hlIG5vbiBkZWJiYSBtYWkgZ2VzdGlyZSBuIGZvcm1hdGkgZnJhIG4gbGlicmVyaWUuLi4gYmVsbGlzc2ltb1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLmRhdGVGb3JtYXR0ZXIuZm9ybWF0ID0gKHNvdXJjZTogRGF0ZSk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGludGVydmFsICYmIGZpbmFsSW5zdGFudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGltZXBhcnQ6IFwibWludXRlXCIgfCBcImhvdXJcIiB8IFwiZGF5XCIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVydmFsLnRpbWV1bml0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiaG91clwiOiB0aW1lcGFydCA9ICdkYXknOyBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJtaW51dGVcIjogdGltZXBhcnQgPSAnaG91cic7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcInNlY29uZFwiOiB0aW1lcGFydCA9ICdtaW51dGUnOyBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGltZXBhcnQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlRXh0cy5hZGp1c3REYXRlVG9GaW5hbEluc3RhbnQoc291cmNlLCB0aW1lcGFydCwgaW50ZXJ2YWwgPyBpbnRlcnZhbC50aW1ldW5pdCA9PSBcInNlY29uZFwiIDogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGVFeHRzLmdldEZvcm1hdHRlZChzb3VyY2UsIGZhbHNlLCBpbnRlcnZhbCA/IGludGVydmFsLnRpbWV1bml0ID09IFwic2Vjb25kXCIgOiBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgKDxhbnk+c2VyaWVzLmFkYXB0ZXIpLmFkZChcInRvb2x0aXBUZXh0XCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IFwiW2JvbGRde2RhdGVYLmZvcm1hdERhdGUoKX1bL11cXG5cIjtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2Uuc2VyaWVzLmVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVvbSA9IFwiIFtmb250LXN0eWxlOiBpdGFsaWNdXCIgKyAoPGFueT5zZXJpZXMuZGF0YUZpZWxkcykubWVhc3VyZVVuaXQgfHwgXCJcIiArIFwiWy9dXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgKz0gXCJbXCIgKyAoPGFueT5pdGVtLnN0cm9rZSkuaGV4ICsgXCJd4pePWy9dIFwiICsgaXRlbS5uYW1lICsgXCI6IFtib2xkXXtcIiArIGl0ZW0uZGF0YUZpZWxkcy52YWx1ZVkgKyBcIn1bL11cIiArIHVvbSArIFwiXFxuXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBzZXJpZXMuZGF0YSA9IHMudmFsdWVzO1xyXG5cclxuICAgICAgICAgICAgbGV0IHNlZ21lbnQgPSBzZXJpZXMuc2VnbWVudHMudGVtcGxhdGU7XHJcblxyXG4gICAgICAgICAgICBsZXQgaG92ZXJTdGF0ZSA9IHNlZ21lbnQuc3RhdGVzLmNyZWF0ZShcImhvdmVyXCIpO1xyXG4gICAgICAgICAgICBob3ZlclN0YXRlLnByb3BlcnRpZXMuc3Ryb2tlV2lkdGggPSAoc2V0dGluZ3M/LlN0cm9rZVNpemUgPz8gMSkgKyAxO1xyXG5cclxuICAgICAgICAgICAgbGV0IGRpbW1lZCA9IHNlZ21lbnQuc3RhdGVzLmNyZWF0ZShcImRpbW1lZFwiKTtcclxuICAgICAgICAgICAgZGltbWVkLnByb3BlcnRpZXMuc3Ryb2tlID0gYW00Y29yZS5jb2xvcihcIiNkYWRhZGFcIik7XHJcblxyXG4gICAgICAgICAgICAvL1NlIGxhIHNlcmllIGhhIHVuIGNvbG9yZSwgdXNvIHF1ZWxsbywgYWx0cmltZW50aSBwZXNjbyBkYWkgY29sb3JpIGRpIGRlZmF1bHQgYW5kYW5kbyBpbiBvcmRpbmVcclxuICAgICAgICAgICAgaWYgKHMuY29sb3IpXHJcbiAgICAgICAgICAgICAgICBzZXJpZXNDb2xvcnMucHVzaChhbTRjb3JlLmNvbG9yKHMuY29sb3IpKTtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzZXJpZXNDb2xvcnMucHVzaChDaGFydEluc3RhbmNlQ2FzdGVkLmNvbG9ycy5saXN0W2RlZmF1bHRJbmRleCAlIENoYXJ0SW5zdGFuY2VDYXN0ZWQuY29sb3JzLmxpc3QubGVuZ3RoXSlcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRJbmRleCsrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZXJpZXNUb1B1c2gucHVzaChzZXJpZXMpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuXHJcbiAgICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5jb2xvcnMubGlzdCA9IHNlcmllc0NvbG9ycztcclxuICAgICAgICAvL1Njcml2byBsZSBzZXJpZSBuZWwgZ3JhZmljb1xyXG4gICAgICAgIHNlcmllc1RvUHVzaC5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLnNlcmllcy5wdXNoKHMpO1xyXG4gICAgICAgICAgICBpZiAoc2hvd1RpbWVsaW5lKVxyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydFNjcm9sbGJhcj5DaGFydEluc3RhbmNlQ2FzdGVkLnNjcm9sbGJhclgpLnNlcmllcy5wdXNoKHMpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoc2V0dGluZ3MuTGVnZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLnBvc2l0aW9uID0gc2V0dGluZ3M/LkxlZ2VuZFBvc2l0aW9uID8/ICdyaWdodCc7XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5sZWdlbmQuc2Nyb2xsYWJsZSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlLnRvb2x0aXBUZXh0ID0gXCJ7bmFtZX1cIjtcclxuICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS5ldmVudHMub24oXCJvdmVyXCIsIChldmVudCkgPT4geyB0aGlzLnByb2Nlc3NPdmVyKDxhbTRjaGFydHMuTGluZVNlcmllcz5ldmVudC50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQsIGZpbGwpOyB9KTtcclxuICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS5ldmVudHMub24oXCJvdXRcIiwgKGV2ZW50KSA9PiB7IHRoaXMucHJvY2Vzc091dChmaWxsKTsgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuTGVnZW5kUGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy5DaGFydEluc3RhbmNlLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUucGFkZGluZ0JvdHRvbSA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcuYm90dG9tID8/IDA7XHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nTGVmdCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcubGVmdCA/PyAwO1xyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuY3Vyc29yID0gbmV3IGFtNGNoYXJ0cy5YWUN1cnNvcigpO1xyXG5cclxuICAgICAgICAvL1Byb3ZlKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgLy8gdGhpcy5DaGFydEluc3RhbmNlLmN1cnNvci5ldmVudHMub24oXCJjdXJzb3Jwb3NpdGlvbmNoYW5nZWRcIiwgKGV2KSA9PiB7XHJcbiAgICAgICAgLy8gICAgIC8vdmFyIHZhbHVlID0gZGF0ZUF4aXMucG9zaXRpb25Ub0RhdGUoZGF0ZUF4aXMudG9BeGlzUG9zaXRpb24oZXYudGFyZ2V0LnhQb3NpdGlvbikpO1xyXG4gICAgICAgIC8vICAgICB2YXIgZHQgPSBkYXRlQXhpcy5zZXJpZXMudmFsdWVzLmZpbmQodCA9PiB0LmRhdGFJdGVtLnZhbHVlcy5kYXRlWCk7XHJcbiAgICAgICAgLy8gICAgIGlmIChkdCAmJiBkdC5kYXRhSXRlbSkge1xyXG4gICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2coZHQuZGF0YUl0ZW0udmFsdWVzKTtcclxuICAgICAgICAvLyAgICAgICAgIC8vIHRoaXMuQ2hhcnRJbnN0YW5jZS50b29sdGlwVGV4dCA9IGR0O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIGVsc2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLnRvb2x0aXBUZXh0ID0gXCJcIjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5jdXJzb3IueEF4aXMgPSBkYXRlQXhpcztcclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuY3Vyc29yLnlBeGlzID0geUF4aXM7XHJcbiAgICAgICAgaWYgKHNpbmdsZURhdGFTZXQpXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5jdXJzb3IubWF4VG9vbHRpcERpc3RhbmNlID0gLTE7XHJcblxyXG4gICAgICAgIC8vVE9ETzogQ2VyY2FyZSBkaSBjYXBpcmUgcGVyY2jDqSDDqCBmaWdsaW8gZGkgcHV0dGFuYS4uLi4uLlxyXG4gICAgICAgIGRhdGVBeGlzLmV2ZW50cy5vbihcInN0YXJ0Y2hhbmdlZFwiLCB0ID0+IHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZWQodCwgc2V0dGluZ3MpKTtcclxuICAgICAgICBkYXRlQXhpcy5ldmVudHMub24oXCJlbmRjaGFuZ2VkXCIsIHQgPT4gdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlZCh0LCBzZXR0aW5ncykpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwdWJsaWMgcmVmcmVzaERhdGEoZGF0YTogTGluZUNoYXJ0RGF0YSB8IGFueSkge1xyXG4gICAgICAgIC8vVE9ETzpJTVBMXHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgZW1pdFNlbGVjdGlvbkNoYW5nZWQoZXYsIHNldHRpbmdzKSB7XHJcbiAgICAgICAgaWYgKCg8YW55PnNldHRpbmdzKS5PblNlbGVjdGlvbkNoYW5nZWRDYWxsYmFjaykge1xyXG4gICAgICAgICAgICB0aGlzLnRocm90dGxhKFwic2VsY2hhbmdlXCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBheGlzID0gPGFtNGNoYXJ0cy5EYXRlQXhpcz5ldi50YXJnZXRcclxuICAgICAgICAgICAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKGF4aXMubWluWm9vbWVkKTtcclxuICAgICAgICAgICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZShheGlzLm1heFpvb21lZCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgaW5pdGlhbCA9IGF4aXMubWluID09IGF4aXMubWluWm9vbWVkICYmIGF4aXMubWF4ID09IGF4aXMubWF4Wm9vbWVkO1xyXG4gICAgICAgICAgICAgICAgKDxhbnk+c2V0dGluZ3MpLk9uU2VsZWN0aW9uQ2hhbmdlZENhbGxiYWNrKHsgZnJvbTogc3RhcnQsIHRvOiBlbmQsIGluaXRpYWw6IGluaXRpYWwgfSk7XHJcbiAgICAgICAgICAgIH0sIDE1MClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc092ZXIoaG92ZXJlZFNlcmllczogYW00Y2hhcnRzLkxpbmVTZXJpZXMsIGZpbGw6IGJvb2xlYW4pIHtcclxuICAgICAgICBob3ZlcmVkU2VyaWVzLnRvRnJvbnQoKTtcclxuXHJcbiAgICAgICAgaG92ZXJlZFNlcmllcy5zZWdtZW50cy5lYWNoKChzZWdtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHNlZ21lbnQuc2V0U3RhdGUoXCJob3ZlclwiKTtcclxuICAgICAgICAgICAgaWYgKCFmaWxsKVxyXG4gICAgICAgICAgICAgICAgc2VnbWVudC5maWxsU3ByaXRlLmZpbGxPcGFjaXR5ID0gdGhpcy5PcGFjaXR5T25TZWxlY3RlZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIWZpbGwpXHJcbiAgICAgICAgICAgIGhvdmVyZWRTZXJpZXMubGVnZW5kRGF0YUl0ZW0ubWFya2VyLmNoaWxkcmVuLmdldEluZGV4KDEpLmZpbGxPcGFjaXR5ID0gdGhpcy5PcGFjaXR5T25TZWxlY3RlZDtcclxuXHJcbiAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLnNlcmllcy5lYWNoKChzZXJpZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNlcmllcyAhPSBob3ZlcmVkU2VyaWVzKVxyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuTGluZVNlcmllcz5zZXJpZXMpLnNlZ21lbnRzLmVhY2goKHNlZ21lbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50LnNldFN0YXRlKFwiZGltbWVkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZmlsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudC5maWxsU3ByaXRlLmZpbGxPcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NPdXQoZmlsbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5zZXJpZXMuZWFjaCgoc2VyaWVzKSA9PiB7XHJcbiAgICAgICAgICAgICg8YW00Y2hhcnRzLkxpbmVTZXJpZXM+c2VyaWVzKS5zZWdtZW50cy5lYWNoKChzZWdtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50LnNldFN0YXRlKFwiZGVmYXVsdFwiKTtcclxuICAgICAgICAgICAgICAgIGlmICghZmlsbClcclxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50LmZpbGxTcHJpdGUuZmlsbE9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKCFmaWxsKVxyXG4gICAgICAgICAgICAgICAgc2VyaWVzLmxlZ2VuZERhdGFJdGVtLm1hcmtlci5jaGlsZHJlbi5nZXRJbmRleCgxKS5maWxsT3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKiBGdW56aW9uZSBkaSB0aHJvdHRsaW5nIHBlciBub24gc3BhbW1hcmUgcmljaGllc3RlIGluIGNhc28gZGkgYW5pbWF6aW9uaSBhdHRpdmF0ZVxyXG4gICAgLy9UT0RPOiBzcG9zdGFybGEgaW4gdW4gbWV0b2RvIGRpIHV0aWxpdMOgIChlc2ZhZW56YS9leHRlbnNpb25zKVxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgZXhlY3V0aW9uVGltZXJzOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIHRocm90dGxhKGlkOiBzdHJpbmcsIGZ1bmM6IEZ1bmN0aW9uLCB0aHJvdHRsZVRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIC8vU2UgaG8gbGEgZnVuemlvbmUgY2hlIHZ1b2xlIGVzZWd1aXJlIHJpcHVsaXNjbyBxdWVsIHRpbWVvdXRcclxuICAgICAgICBpZiAodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKVxyXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5leGVjdXRpb25UaW1lcnNbaWRdKTtcclxuXHJcbiAgICAgICAgLy9SaWNyZW8gaWwgdGltZW91dCBwZXIgZXNlZ3VpcmUgcXVlbGxhIGZ1bnppb25lIGRvcG8gdGhyb3R0bGVUaW1lIG1pbGxpc2Vjb25kaVxyXG4gICAgICAgIHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSA9IHNldFRpbWVvdXQoKCkgPT4geyBmdW5jKCk7IHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSA9IG51bGw7IH0sIHRocm90dGxlVGltZSk7XHJcbiAgICB9XHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKipcclxufSJdfQ==
|