dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
119 lines • 15.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, HostBinding } from '@angular/core';
import { FormControl } from '@angular/forms';
import ace from 'ace-builds';
import { ThemeService } from '../../../services/theme.service';
import { startWith } from 'rxjs/operators';
import { ElementService } from '../../service/element.service';
var ImportSetComponent = /** @class */ (function () {
function ImportSetComponent(elementSvr, theme) {
var _this = this;
this.elementSvr = elementSvr;
this.theme = theme;
this.hostClass = true;
this.svr = (/** @type {?} */ (this.elementSvr.data.import));
this.tableControl = new FormControl();
this.options = { maxLines: 12, printMargin: false };
this.subs = [];
this.subs.push(this.theme.theme.subscribe((/**
* @param {?} v
* @return {?}
*/
function (v) {
_this.themeModel = v.model;
})));
}
/**
* @return {?}
*/
ImportSetComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.subs.forEach((/**
* @param {?} v
* @return {?}
*/
function (v) { return v.unsubscribe(); }));
};
/**
* @return {?}
*/
ImportSetComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
ace.config.set('basePath', '/front/assets/ace-builds/src-min-noconflict');
this.subs.push(this.svr.init().subscribe((/**
* @return {?}
*/
function () {
_this.tableControl.patchValue(_this.svr.Params.Table);
_this.subs.push(
// 后一句用了startWith '' ,所以必须另外订阅。否则会每次都清空
_this.tableControl.valueChanges.subscribe((/**
* @param {?} v
* @return {?}
*/
function (v) {
_this.svr.Params.Table = v;
_this.svr.syncTableColumn();
})), _this.tableControl.valueChanges.pipe(startWith('')).subscribe((/**
* @param {?} v
* @return {?}
*/
function (v) {
_this.tables = _this.svr.Tables.filter((/**
* @param {?} sv
* @return {?}
*/
function (sv) { return sv.toUpperCase().includes(v.toUpperCase()); }));
})));
})));
};
ImportSetComponent.decorators = [
{ type: Component, args: [{
selector: 'common-import-set',
template: "<div class=\"set-import-main\">\r\n\t<!-- \u2193\u2193 1. \u5927\u6807\u9898 \u2193\u2193 -->\r\n\t<header class=\"set-title\">\u57FA\u672C\u4FE1\u606F</header>\r\n\t<!-- \u2193\u2193 2. \u6570\u636E\u5E93 \u2193\u2193 -->\r\n\t<section class=\"title-box\">\r\n\t\t<div class=\"first\">\r\n\t\t\t<div class=\"second-title\">\u6570\u636E\u5E93</div>\r\n\t\t\t<mat-form-field class=\"select-box\" appearance=\"outline\">\r\n\t\t\t\t<mat-select [(ngModel)]=\"svr.Params.DB\"\r\n\t\t\t\t\t(valueChange)=\"svr.refreshTables()\">\r\n\t\t\t\t\t<mat-option [value]=\"''\"> (\u5F53\u524D\u6570\u636E\u5E93) </mat-option>\r\n\t\t\t\t\t<mat-option *ngFor=\"let db of svr.DBList\" [value]=\"db\">\r\n\t\t\t\t\t\t{{ db }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t\t<div class=\"second\">\r\n\t\t\t<div class=\"second-title\">\u8868</div>\r\n\t\t\t<mat-form-field class=\"select-box\" appearance=\"outline\">\r\n\t\t\t\t<input type=\"text\" matInput [formControl]=\"tableControl\" [matAutocomplete]=\"auto\">\r\n\t\t\t\t\r\n\t\t\t\t<mat-autocomplete #auto=\"matAutocomplete\" >\r\n\t\t\t\t\t<mat-option *ngFor=\"let tab of tables\" [value]=\"tab|uppercase\">\r\n\t\t\t\t\t\t{{tab|uppercase}}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-autocomplete>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t\t<div class=\"third\">\r\n\t\t\t<div class=\"second-title\">Null\u503C\u8BC6\u522B\u7801</div>\r\n\t\t\t<mat-form-field class=\"select-box\" appearance=\"outline\">\r\n\t\t\t\t<input type=\"text\" matInput [(ngModel)]=\"svr.Params.NullIden\">\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t</section>\r\n\t<section class=\"sql-statement\">\r\n\t\t<div class=\"second-title\">where</div>\r\n\t\t<div class=\"sql-box\">\r\n\t\t\t<div class=\"sql-wrapper\" ace-editor [(text)]=\"svr.Params.Where\"\r\n\t\t\t\tmode=\"sql\" [theme]=\"themeModel === 'dark'?'tomorrow_night':'eclipse'\" [options]=\"options\"\r\n\t\t\t\t[autoUpdateContent]=\"true\" [durationBeforeCallback]=\"1000\"></div>\r\n\t\t</div>\r\n\t</section>\r\n\t<section class=\"sql-statement\">\r\n\t\t<div class=\"second-title\">before\uFF08\u7528ImportTempTable\u5F15\u7528\u4E34\u65F6\u8868\uFF09</div>\r\n\t\t<div class=\"sql-wrapper\" ace-editor [(text)]=\"svr.Params.Before\" mode=\"sql\"\r\n\t\t\t[theme]=\"themeModel === 'dark'?'tomorrow_night':'eclipse'\" [options]=\"options\" [autoUpdateContent]=\"true\"\r\n\t\t\t[durationBeforeCallback]=\"1000\"></div>\r\n\t</section>\r\n\t<section class=\"sql-statement\">\r\n\t\t<div class=\"second-title\">after</div>\r\n\t\t<div class=\"sql-wrapper\" ace-editor [(text)]=\"svr.Params.After\" mode=\"sql\"\r\n\t\t[theme]=\"themeModel === 'dark'?'tomorrow_night':'eclipse'\" [options]=\"options\" [autoUpdateContent]=\"true\"\r\n\t\t\t[durationBeforeCallback]=\"1000\"></div>\r\n\t</section>\r\n</div>\r\n\r\n<!-- \r\n<div class=\"\u5BFC\u5165-\u4E00\u7EA7\u6807\u9898 \u5B57\u4F53\u989C\u8272\">\u57FA\u7840\u5C5E\u6027</div>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">\u6570\u636E\u5E93</div>\r\n<mat-form-field class=\"\u9009\u62E9\u6846\" appearance=\"outline\">\r\n\t<mat-select [(ngModel)]=\"svr.Params.DB\" (valueChange)=\"svr.refreshTables()\">\r\n\t\t<mat-option [value]=\"''\"> (\u5F53\u524D\u6570\u636E\u5E93) </mat-option>\r\n\t\t<mat-option *ngFor=\"let db of svr.DBList\" [value]=\"db\">\r\n\t\t\t{{ db }}\r\n\t\t</mat-option>\r\n\t</mat-select>\r\n</mat-form-field>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">\u8868</div>\r\n<mat-form-field class=\"\u9009\u62E9\u6846\" appearance=\"outline\">\r\n\t<input type=\"text\" matInput [(ngModel)]=\"svr.Params.Table\" [matAutocomplete]=\"auto\">\r\n\t\r\n\t<mat-autocomplete #auto=\"matAutocomplete\" >\r\n\t\t<mat-option *ngFor=\"let tab of svr.Tables\" [value]=\"tab|uppercase\">\r\n\t\t\t{{tab|uppercase}}\r\n\t\t</mat-option>\r\n\t</mat-autocomplete>\r\n</mat-form-field>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">Null\u503C\u8BC6\u522B\u7801</div>\r\n<mat-form-field class=\"\u9009\u62E9\u6846\" appearance=\"outline\">\r\n\t<input type=\"text\" matInput [(ngModel)]=\"svr.Params.NullIden\" >\r\n</mat-form-field>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">where</div>\r\n<div class=\"SQL\u8BED\u53E5 \u8FB9\u6846\"\r\n\tace-editor\r\n\t[(text)]=\"svr.Params.Where\"\r\n\tmode=\"sql\"\r\n\t[theme]=\"'eclipse'\"\r\n\t[options]=\"options\" \r\n\t[autoUpdateContent]=\"true\"\r\n\t[durationBeforeCallback]=\"1000\"\r\n\tstyle=\"min-height: 124px; width:100%; overflow: auto;\"\r\n></div>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">before\uFF08\u7528ImportTempTable\u5F15\u7528\u4E34\u65F6\u8868\uFF09</div>\r\n<div class=\"SQL\u8BED\u53E5 \u8FB9\u6846\"\r\n\tace-editor\r\n\t[(text)]=\"svr.Params.Before\"\r\n\tmode=\"sql\"\r\n\t[theme]=\"'eclipse'\"\r\n\t[options]=\"options\" \r\n\t[autoUpdateContent]=\"true\"\r\n\t[durationBeforeCallback]=\"1000\"\r\n\tstyle=\"min-height: 124px; width:100%; overflow: auto;\"\r\n></div>\r\n<div class=\"\u5BFC\u5165-\u4E8C\u7EA7\u6807\u9898 \u4E8C\u7EA7\u5B57\u4F53\u989C\u8272\">after</div>\r\n<div class=\"SQL\u8BED\u53E5 \u8FB9\u6846\"\r\n\tace-editor\r\n\t[(text)]=\"svr.Params.After\"\r\n\tmode=\"sql\"\r\n\t[theme]=\"'eclipse'\"\r\n\t[options]=\"options\" \r\n\t[autoUpdateContent]=\"true\"\r\n\t[durationBeforeCallback]=\"1000\"\r\n\tstyle=\"min-height: 124px; width:100%; overflow: auto;\"\r\n></div> -->",
styles: [".set-import-main{width:100%;box-sizing:border-box}.set-title{width:100%;font:16px bold;margin-bottom:16px}.title-box{display:flex;justify-content:space-between;width:100%;box-sizing:border-box;margin-bottom:8px}.title-box .second-title{font-size:12px;margin-bottom:8px}.title-box .select-box{font-size:14px}.first,.second,.third{flex:1}.second{margin-left:24px;margin-right:24px}.second .select-box{max-width:220px}.second-title{white-space:nowrap;box-sizing:border-box;margin-bottom:4px}.sql-statement{width:100%;box-sizing:border-box;margin-top:16px}.sql-statement .second-title{font-size:14px}.sql-wrapper{width:100%;min-height:124px;border-radius:4px;overflow:auto}"]
}] }
];
/** @nocollapse */
ImportSetComponent.ctorParameters = function () { return [
{ type: ElementService },
{ type: ThemeService }
]; };
ImportSetComponent.propDecorators = {
hostClass: [{ type: HostBinding, args: ['class.c-import-set',] }]
};
return ImportSetComponent;
}());
export { ImportSetComponent };
if (false) {
/** @type {?} */
ImportSetComponent.prototype.hostClass;
/** @type {?} */
ImportSetComponent.prototype.themeModel;
/** @type {?} */
ImportSetComponent.prototype.svr;
/** @type {?} */
ImportSetComponent.prototype.tableControl;
/** @type {?} */
ImportSetComponent.prototype.options;
/** @type {?} */
ImportSetComponent.prototype.tables;
/** @type {?} */
ImportSetComponent.prototype.subs;
/** @type {?} */
ImportSetComponent.prototype.elementSvr;
/**
* @type {?}
* @private
*/
ImportSetComponent.prototype.theme;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvZWxlbWVudC9zZXQtcHJvcGVydHktaW1wb3J0L2ltcG9ydC1zZXQvaW1wb3J0LXNldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFxQixjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdsRjtJQWFDLDRCQUFtQixVQUEwQixFQUFVLEtBQW1CO1FBQTFFLGlCQU1DO1FBTmtCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQVB2QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRTdDLFFBQUcsR0FBRyxtQkFBQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQXFCLENBQUM7UUFDOUQsaUJBQVksR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLFlBQU8sR0FBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRXBELFNBQUksR0FBbUIsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLENBQUM7WUFDM0IsS0FBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUNGLENBQUM7SUFDSCxDQUFDOzs7O0lBQ0Qsd0NBQVc7OztJQUFYO1FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQWYsQ0FBZSxFQUFDLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjtRQUFBLGlCQWlCQztRQWhCQSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELEtBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNiLHVDQUF1QztZQUN2QyxLQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxDQUFDO2dCQUN6QyxLQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixLQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLENBQUMsRUFBQyxFQUNGLEtBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxDQUFDO2dCQUM3RCxLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7Z0JBQUMsVUFBQSxFQUFFLElBQUksT0FBQSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUExQyxDQUEwQyxFQUFDLENBQUM7WUFDeEYsQ0FBQyxFQUFDLENBQ0YsQ0FBQztRQUNILENBQUMsRUFBQyxDQUNGLENBQUM7SUFDSCxDQUFDOztnQkF6Q0QsU0FBUyxTQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLHMvS0FBMEM7O2lCQUUxQzs7OztnQkFQMkIsY0FBYztnQkFGakMsWUFBWTs7OzRCQVduQixXQUFXLFNBQUMsb0JBQW9COztJQW9DbEMseUJBQUM7Q0FBQSxBQTFDRCxJQTBDQztTQXJDWSxrQkFBa0I7OztJQUM5Qix1Q0FBb0Q7O0lBQ3BELHdDQUF1Qjs7SUFDdkIsaUNBQThEOztJQUM5RCwwQ0FBaUM7O0lBQ2pDLHFDQUFvRDs7SUFDcEQsb0NBQWlCOztJQUNqQixrQ0FBMEI7O0lBQ2Qsd0NBQWlDOzs7OztJQUFFLG1DQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgYWNlIGZyb20gJ2FjZS1idWlsZHMnO1xyXG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UsIFRoZW1lTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFbGVtZW50RGF0YUltcG9ydCwgRWxlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2VsZW1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjb21tb24taW1wb3J0LXNldCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2ltcG9ydC1zZXQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2ltcG9ydC1zZXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1wb3J0U2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBIb3N0QmluZGluZygnY2xhc3MuYy1pbXBvcnQtc2V0JykgaG9zdENsYXNzID0gdHJ1ZTtcclxuXHR0aGVtZU1vZGVsOiBUaGVtZU1vZGVsO1xyXG5cdHB1YmxpYyBzdnIgPSB0aGlzLmVsZW1lbnRTdnIuZGF0YS5pbXBvcnQgYXMgRWxlbWVudERhdGFJbXBvcnQ7XHJcblx0dGFibGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblx0b3B0aW9uczogYW55ID0geyBtYXhMaW5lczogMTIsIHByaW50TWFyZ2luOiBmYWxzZSB9O1xyXG5cdHRhYmxlczogc3RyaW5nW107XHJcblx0c3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFN2cjogRWxlbWVudFNlcnZpY2UsIHByaXZhdGUgdGhlbWU6IFRoZW1lU2VydmljZSkge1xyXG5cdFx0dGhpcy5zdWJzLnB1c2goXHJcblx0XHRcdHRoaXMudGhlbWUudGhlbWUuc3Vic2NyaWJlKHYgPT4ge1xyXG5cdFx0XHRcdHRoaXMudGhlbWVNb2RlbCA9IHYubW9kZWw7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuc3Vicy5mb3JFYWNoKHYgPT4gdi51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0YWNlLmNvbmZpZy5zZXQoJ2Jhc2VQYXRoJywgJy9mcm9udC9hc3NldHMvYWNlLWJ1aWxkcy9zcmMtbWluLW5vY29uZmxpY3QnKTtcclxuXHRcdHRoaXMuc3Vicy5wdXNoKFxyXG5cdFx0XHR0aGlzLnN2ci5pbml0KCkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLnRhYmxlQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMuc3ZyLlBhcmFtcy5UYWJsZSk7XHJcblx0XHRcdFx0dGhpcy5zdWJzLnB1c2goXHJcblx0XHRcdFx0XHQvLyDlkI7kuIDlj6XnlKjkuoZzdGFydFdpdGggJycg77yM5omA5Lul5b+F6aG75Y+m5aSW6K6i6ZiF44CC5ZCm5YiZ5Lya5q+P5qyh6YO95riF56m6XHJcblx0XHRcdFx0XHR0aGlzLnRhYmxlQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnN2ci5QYXJhbXMuVGFibGUgPSB2O1xyXG5cdFx0XHRcdFx0XHR0aGlzLnN2ci5zeW5jVGFibGVDb2x1bW4oKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0dGhpcy50YWJsZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRhYmxlcyA9IHRoaXMuc3ZyLlRhYmxlcy5maWx0ZXIoc3YgPT4gc3YudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh2LnRvVXBwZXJDYXNlKCkpKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==