angular-monaco-editor
Advanced tools
Comparing version 1.9.0 to 1.10.0
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("lodash"),require("@angular/forms"),require("rxjs/observable/fromEvent"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular-monaco-editor",["exports","@angular/core","lodash","@angular/forms","rxjs/observable/fromEvent","@angular/common"],t):t(e["angular-monaco-editor"]={},e.ng.core,null,e.ng.forms,e.rxjs["observable/fromEvent"],e.ng.common)}(this,function(e,i,r,t,o,n){"use strict";var s=new i.InjectionToken("ANGULAR_MONACO_EDITOR_CONFIG"),a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};var u,d={onInit:"onInit",onBlurEditorText:"onBlurEditorText"},c=function(){function e(){this.eventNames=Object.keys(d),this._events={}}return e.prototype.addEvent=function(e){r.assign(this._events,e)},e.prototype.fireEvent=function(e){this._events[e.eventName].emit(e)},e.decorators=[{type:i.Injectable}],e}(),l=!1,p=function(){function e(o,e){this.codeEditorEventService=o,this.config=e,this.unifiedTheme="vs-dark";var n=this;o.eventNames.forEach(function(e){n[e]=new i.EventEmitter;var t=r.pick(n,e);o.addEvent(t)})}return Object.defineProperty(e.prototype,"options",{get:function(){return this._options},set:function(e){this._options=Object.assign({},this.config.defaultOptions,e),this._options=this._updateOptions(this._options),this._editor&&(this._editor.dispose(),this.initMonaco(e))},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var i=this;l?u.then(function(){i.initMonaco(i.options)}):(l=!0,u=new Promise(function(e){var t=i.config.baseUrl||"assets",o=function(){window.require.config({paths:{vs:t+"/monaco/vs"}}),window.require(["vs/editor/editor.main"],function(){"function"==typeof i.config.onMonacoLoad&&i.config.onMonacoLoad(),i.initMonaco(i.options),e()})};if(window.require)o();else{var n=document.createElement("script");n.type="text/javascript",n.src=t+"/monaco/vs/loader.js",n.addEventListener("load",o),document.body.appendChild(n)}}))},e.prototype._updateOptions=function(e){return e.theme=this.unifiedTheme,e},e.prototype.ngOnDestroy=function(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=undefined)},e.propDecorators={_editorComponent:[{type:i.ViewChild,args:["codeEditor"]}],onInit:[{type:i.Output}],options:[{type:i.Input,args:["options"]}]},e}(),f=function(){function e(){}return e.decorators=[{type:i.Injectable}],e}(),h={provide:t.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return v}),multi:!0},v=function(r){function e(e,t,o,n){var i=r.call(this,o,n)||this;return i.angularMonacoEditorService=e,i.zone=t,i.editorEventService=o,i.angularEditorconfig=n,i._value="",i._verifyResut=!0,i.onControlValueChange=function(e){},i.onControlTouched=function(){},i}return function n(e,t){function o(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}(e,r),Object.defineProperty(e.prototype,"model",{set:function(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options))},enumerable:!0,configurable:!0}),e.prototype.initMonaco=function(e){var t=this,o=!!e.model;if(o){var n=monaco.editor.getModel(e.model.uri);null!==n&&n.dispose(),e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}this._editor=monaco.editor.create(this._editorComponent.nativeElement,e),o||this._editor.setValue(this._value),o&&this.handleModelMarkers(),this._editor.onDidChangeModelContent(function(e){return t.onChangeModelContentHandler(e)}),this._editor.onDidBlurEditorText(function(){return t.onBlurEditorTextHandler()}),this._editor.onDidLayoutChange(function(e){return t.onLayoutChangeHandler(e)}),this.refreshLayoutWhenWindowResize(),this.editorEventService.fireEvent({eventName:d.onInit,target:this,editor:this._editor})},e.prototype.handleModelMarkers=function(){var n=this,i=monaco.editor.setModelMarkers;monaco.editor.setModelMarkers=function(e,t,o){i.call(monaco.editor,e,t,o),0===o.length?n._verifyResut=!0:n._verifyResut=!1}},e.prototype.refreshLayoutWhenWindowResize=function(){var e=this;this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=o.fromEvent(window,"resize").subscribe(function(){return e.resizeEventHandler()})},e.prototype.resizeEventHandler=function(){this._editor.layout()},e.prototype.onChangeModelContentHandler=function(e){var t=this,o=this._editor.getValue();this.zone.run(function(){return t.value=o})},e.prototype.onBlurEditorTextHandler=function(){this.onControlTouched(),this.editorEventService.fireEvent({eventName:d.onBlurEditorText,target:this,editor:this._editor,editorState:{verifyResut:this._verifyResut}})},e.prototype.onLayoutChangeHandler=function(e){console.log("Layout changed:\n"+e)},Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){e!==this.value&&(this._value=e),this.onControlValueChange(this.value)},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){var t=this;t.value=e||"",setTimeout(function(){t._editor&&t._editor.setValue(t._value)})},e.prototype.registerOnChange=function(e){this.onControlValueChange=e},e.prototype.registerOnTouched=function(e){this.onControlTouched=e},e.decorators=[{type:i.Component,args:[{selector:"angular-monaco-editor",template:'<div class="editor" #codeEditor></div>',styles:[":host{display:block;min-height:200px}.editor{width:100%;height:100%}"],providers:[h,c,f]}]}],e.ctorParameters=function(){return[{type:f},{type:i.NgZone},{type:c},{type:undefined,decorators:[{type:i.Inject,args:[s]}]}]},e.propDecorators={model:[{type:i.Input,args:["model"]}],onBlurEditorText:[{type:i.Output}]},e}(p),m=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:s,useValue:e}]}},t.decorators=[{type:i.NgModule,args:[{imports:[n.CommonModule],declarations:[v],exports:[v],providers:[f]}]}],t}();e.AngularMonacoEditorModule=m,e.ANGULAR_MONACO_EDITOR_CONFIG=s,e.CODE_EDITOR_EVENTS=d,e.CODE_EDITOR_INPUT_VALUE_ACCESSOR=h,e.AngularMonacoEditorComponent=v,e.ɵa=p,e.ɵc=f,e.ɵb=c,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("lodash"),require("@angular/forms"),require("rxjs/observable/fromEvent"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular-monaco-editor",["exports","@angular/core","lodash","@angular/forms","rxjs/observable/fromEvent","@angular/common"],t):t(e["angular-monaco-editor"]={},e.ng.core,null,e.ng.forms,e.rxjs["observable/fromEvent"],e.ng.common)}(this,function(e,i,r,t,o,n){"use strict";var s=new i.InjectionToken("ANGULAR_MONACO_EDITOR_CONFIG"),a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};var u,d={onInit:"onInit",onBlurEditorText:"onBlurEditorText"},c=function(){function e(){this.eventNames=Object.keys(d),this._events={}}return e.prototype.addEvent=function(e){r.assign(this._events,e)},e.prototype.fireEvent=function(e){this._events[e.eventName].emit(e)},e.decorators=[{type:i.Injectable}],e}(),l=!1,p=function(){function e(o,e){this.codeEditorEventService=o,this.config=e,this.unifiedTheme="vs-dark";var n=this;o.eventNames.forEach(function(e){n[e]=new i.EventEmitter;var t=r.pick(n,e);o.addEvent(t)})}return Object.defineProperty(e.prototype,"options",{get:function(){return this._options},set:function(e){this._options=Object.assign({},this.config.defaultOptions,e),this._options=this._updateOptions(this._options),this._editor&&(this._editor.dispose(),this.initMonaco(e))},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var i=this;l?u.then(function(){i.initMonaco(i.options)}):(l=!0,u=new Promise(function(e){var t=i.config.baseUrl||"assets",o=function(){window.require.config({paths:{vs:t+"/monaco/vs"}}),window.require(["vs/editor/editor.main"],function(){"function"==typeof i.config.onMonacoLoad&&i.config.onMonacoLoad(),i.initMonaco(i.options),e()})};if(window.require)o();else{var n=document.createElement("script");n.type="text/javascript",n.src=t+"/monaco/vs/loader.js",n.addEventListener("load",o),document.body.appendChild(n)}}))},e.prototype._updateOptions=function(e){return e},e.prototype.ngOnDestroy=function(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=undefined)},e.propDecorators={_editorComponent:[{type:i.ViewChild,args:["codeEditor"]}],onInit:[{type:i.Output}],options:[{type:i.Input,args:["options"]}]},e}(),f=function(){function e(){}return e.decorators=[{type:i.Injectable}],e}(),h={provide:t.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return v}),multi:!0},v=function(r){function e(e,t,o,n){var i=r.call(this,o,n)||this;return i.angularMonacoEditorService=e,i.zone=t,i.editorEventService=o,i.angularEditorconfig=n,i._value="",i._verifyResut=!0,i.onControlValueChange=function(e){},i.onControlTouched=function(){},i}return function n(e,t){function o(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}(e,r),Object.defineProperty(e.prototype,"model",{set:function(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options))},enumerable:!0,configurable:!0}),e.prototype.initMonaco=function(e){var t=this,o=!!e.model;if(o){var n=monaco.editor.getModel(e.model.uri);null!==n&&n.dispose(),e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}this._editor=monaco.editor.create(this._editorComponent.nativeElement,e),o||this._editor.setValue(this._value),o&&this.handleModelMarkers(),this._editor.onDidChangeModelContent(function(e){return t.onChangeModelContentHandler(e)}),this._editor.onDidBlurEditorText(function(){return t.onBlurEditorTextHandler()}),this._editor.onDidLayoutChange(function(e){return t.onLayoutChangeHandler(e)}),this.refreshLayoutWhenWindowResize(),this.editorEventService.fireEvent({eventName:d.onInit,target:this,editor:this._editor})},e.prototype.handleModelMarkers=function(){var n=this,i=monaco.editor.setModelMarkers;monaco.editor.setModelMarkers=function(e,t,o){i.call(monaco.editor,e,t,o),0===o.length?n._verifyResut=!0:n._verifyResut=!1}},e.prototype.refreshLayoutWhenWindowResize=function(){var e=this;this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=o.fromEvent(window,"resize").subscribe(function(){return e.resizeEventHandler()})},e.prototype.resizeEventHandler=function(){this._editor.layout()},e.prototype.onChangeModelContentHandler=function(e){var t=this,o=this._editor.getValue();this.zone.run(function(){return t.value=o})},e.prototype.onBlurEditorTextHandler=function(){this.onControlTouched(),this.editorEventService.fireEvent({eventName:d.onBlurEditorText,target:this,editor:this._editor,editorState:{verifyResut:this._verifyResut}})},e.prototype.onLayoutChangeHandler=function(e){console.log("Layout changed:\n"+e)},Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){e!==this.value&&(this._value=e),this.onControlValueChange(this.value)},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){var t=this;t.value=e||"",setTimeout(function(){t._editor&&t._editor.setValue(t._value)})},e.prototype.registerOnChange=function(e){this.onControlValueChange=e},e.prototype.registerOnTouched=function(e){this.onControlTouched=e},e.decorators=[{type:i.Component,args:[{selector:"angular-monaco-editor",template:'<div class="editor" #codeEditor></div>',styles:[":host{display:block;min-height:200px}.editor{width:100%;height:100%}"],providers:[h,c,f]}]}],e.ctorParameters=function(){return[{type:f},{type:i.NgZone},{type:c},{type:undefined,decorators:[{type:i.Inject,args:[s]}]}]},e.propDecorators={model:[{type:i.Input,args:["model"]}],onBlurEditorText:[{type:i.Output}]},e}(p),_=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:s,useValue:e}]}},t.decorators=[{type:i.NgModule,args:[{imports:[n.CommonModule],declarations:[v],exports:[v],providers:[f]}]}],t}();e.AngularMonacoEditorModule=_,e.ANGULAR_MONACO_EDITOR_CONFIG=s,e.CODE_EDITOR_EVENTS=d,e.CODE_EDITOR_INPUT_VALUE_ACCESSOR=h,e.AngularMonacoEditorComponent=v,e.ɵa=p,e.ɵc=f,e.ɵb=c,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-monaco-editor.umd.min.js.map |
@@ -97,3 +97,3 @@ /** | ||
_updateOptions(options) { | ||
options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
// options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
return options; | ||
@@ -146,2 +146,2 @@ } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb25hY28tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUs5QixxQkFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLHFCQUFJLFdBQTBCLENBQUM7Ozs7QUFFL0IsTUFBTTs7Ozs7SUFrQ0osWUFBb0Isc0JBQThDLEVBQVUsTUFBaUM7UUFBekYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQTJCOzRCQXpCdEYsU0FBUzs7UUEyQjlCLHVCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFOztZQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUNyQyx1QkFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUMsQ0FBQyxDQUFDO0tBQ0o7Ozs7O1FBekJHLE9BQU8sQ0FBQyxPQUFZOztRQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFCOzs7OztJQUdILElBQUksT0FBTztRQUNULE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0tBQ3RCOzs7O0lBYUQsZUFBZTtRQUNiLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7O1lBRWpCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMvQixDQUFDLENBQUM7U0FDSjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixXQUFXLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFZLEVBQUUsRUFBRTtnQkFDL0MsdUJBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQzs7Ozs7Z0JBS2hELHVCQUFNLGNBQWMsR0FBUSxHQUFHLEVBQUU7O29CQUUvQixtQkFBTSxNQUFNLEVBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFFLG1CQUFNLE1BQU0sRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxFQUFFO3dCQUNwRCxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7NEJBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7eUJBQzVCO3dCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUM5QixPQUFPLEVBQUUsQ0FBQztxQkFDWCxDQUFDLENBQUM7aUJBQ0osQ0FBQzs7Z0JBR0YsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBTSxNQUFNLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUMzQix1QkFBTSxZQUFZLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3pFLFlBQVksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7b0JBQ3RDLFlBQVksQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLHNCQUFzQixDQUFDO29CQUNwRCxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sY0FBYyxFQUFFLENBQUM7aUJBQ2xCO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7S0FDRjs7Ozs7SUFLTyxjQUFjLENBQUMsT0FBWTtRQUNqQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQzs7Ozs7SUFHakIsV0FBVztRQUNULEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDO1FBRUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztTQUMxQjtLQUNGOzs7aUNBNUZBLFNBQVMsU0FBQyxZQUFZO3VCQUd0QixNQUFNO3dCQUdOLEtBQUssU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcGljayB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlJztcblxubGV0IGxvYWRlZE1vbmFjbyA9IGZhbHNlO1xubGV0IGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1vbmFjb0VkaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJvdGVjdGVkIF9lZGl0b3I6IGFueTtcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55O1xuICBwcm90ZWN0ZWQgX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIC8vIHRvZG86IGV4dHJhY3QgdW5pZmllZCB0aGVtZSB0byBEaXJlY3RpdmVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMzhcbiAgLy8gbW9uYWNvIGVkaXRvciBpcyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIHRvIGhhdmUgdHdvIGVkaXRvcnMgaGF2ZSBkaWZmZXJlbnQgdGhlbWVzLlxuICBwcml2YXRlIHVuaWZpZWRUaGVtZSA9IFwidnMtZGFya1wiO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvZGVFZGl0b3InKSBfZWRpdG9yQ29tcG9uZW50OiBFbGVtZW50UmVmO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkluaXQ7XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2Jsb2IvbWFzdGVyL21vbmFjby5kLnRzXG4gIEBJbnB1dCgnb3B0aW9ucycpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIC8vIGRlZmF1bHQgb3B0aW9ucyh0aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucykgKyBjdXN0b20gb3B0aW9ucyhvcHRpb25zKVxuICAgIHRoaXMuX29wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XG5cbiAgICB0aGlzLl9vcHRpb25zID0gdGhpcy5fdXBkYXRlT3B0aW9ucyh0aGlzLl9vcHRpb25zKTtcblxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28ob3B0aW9ucyk7XG4gICAgfVxuICAgIFxuICB9XG4gIGdldCBvcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvZGVFZGl0b3JFdmVudFNlcnZpY2U6IENvZGVFZGl0b3JFdmVudFNlcnZpY2UsIHByaXZhdGUgY29uZmlnOiBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnKSB7XG4gICAgLy8g5Yid5aeL5YyW6Ieq5a6a5LmJ5LqL5Lu2XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29kZUVkaXRvckV2ZW50U2VydmljZS5ldmVudE5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIC8vIOWIm+W7uuiHquWumuS5ieS6i+S7tu+8jOatpOWkhOS9nOeUqOetieaViOS6jjogQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gICAgICBzZWxmW25hbWVdID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgICBjb25zdCBldmVudFBhaXIgPSBwaWNrKHNlbGYsIG5hbWUpO1xuICAgICAgY29kZUVkaXRvckV2ZW50U2VydmljZS5hZGRFdmVudChldmVudFBhaXIpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIC8vIFdhaXQgdW50aWwgbW9uYWNvIGVkaXRvciBpcyBhdmFpbGFibGVcbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5vcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkZWRNb25hY28gPSB0cnVlO1xuICAgICAgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZy5iYXNlVXJsIHx8ICdhc3NldHMnO1xuICAgICAgICAvLyBpZiAodHlwZW9mKCg8YW55PndpbmRvdykubW9uYWNvKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gICByZXNvbHZlKCk7XG4gICAgICAgIC8vICAgcmV0dXJuO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnN0IG9uR290QW1kTG9hZGVyOiBhbnkgPSAoKSA9PiB7XG4gICAgICAgICAgLy8gTG9hZCBtb25hY29cbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUuY29uZmlnKHsgcGF0aHM6IHsgJ3ZzJzogYCR7YmFzZVVybH0vbW9uYWNvL3ZzYCB9IH0pO1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5vbk1vbmFjb0xvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIExvYWQgQU1EIGxvYWRlciBpZiBuZWNlc3NhcnlcbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcbiAgICAgICAgICBjb25zdCBsb2FkZXJTY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gYCR7YmFzZVVybH0vbW9uYWNvL3ZzL2xvYWRlci5qc2A7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkZXJTY3JpcHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9uR290QW1kTG9hZGVyKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vbmFjbyBFZGl0b3IgSW5pdGlhbGl6ZXJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZDtcblxuICBwcml2YXRlIF91cGRhdGVPcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIG9wdGlvbnMudGhlbWUgPSB0aGlzLnVuaWZpZWRUaGVtZTsgLy8g55Sx5LqO5aSa5LiqbW9uYWNvIGVkaXRvcuWunuS+i+S8muWFseS6q+S4gOS4quS4u+mimO+8jOaJgOS7pei/memHjOWwhue7n+S4gOiuvue9ruS4u+mimFxuICAgIFxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX2VkaXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb25hY28tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUs5QixxQkFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLHFCQUFJLFdBQTBCLENBQUM7Ozs7QUFFL0IsTUFBTTs7Ozs7SUFrQ0osWUFBb0Isc0JBQThDLEVBQVUsTUFBaUM7UUFBekYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQTJCOzRCQXpCdEYsU0FBUzs7UUEyQjlCLHVCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFOztZQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUNyQyx1QkFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUMsQ0FBQyxDQUFDO0tBQ0o7Ozs7O1FBekJHLE9BQU8sQ0FBQyxPQUFZOztRQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FB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dCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcGljayB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlJztcblxubGV0IGxvYWRlZE1vbmFjbyA9IGZhbHNlO1xubGV0IGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1vbmFjb0VkaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJvdGVjdGVkIF9lZGl0b3I6IGFueTtcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55O1xuICBwcm90ZWN0ZWQgX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIC8vIHRvZG86IGV4dHJhY3QgdW5pZmllZCB0aGVtZSB0byBEaXJlY3RpdmVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMzhcbiAgLy8gbW9uYWNvIGVkaXRvciBpcyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIHRvIGhhdmUgdHdvIGVkaXRvcnMgaGF2ZSBkaWZmZXJlbnQgdGhlbWVzLlxuICBwcml2YXRlIHVuaWZpZWRUaGVtZSA9IFwidnMtZGFya1wiO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvZGVFZGl0b3InKSBfZWRpdG9yQ29tcG9uZW50OiBFbGVtZW50UmVmO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkluaXQ7XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2Jsb2IvbWFzdGVyL21vbmFjby5kLnRzXG4gIEBJbnB1dCgnb3B0aW9ucycpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIC8vIGRlZmF1bHQgb3B0aW9ucyh0aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucykgKyBjdXN0b20gb3B0aW9ucyhvcHRpb25zKVxuICAgIHRoaXMuX29wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XG5cbiAgICB0aGlzLl9vcHRpb25zID0gdGhpcy5fdXBkYXRlT3B0aW9ucyh0aGlzLl9vcHRpb25zKTtcblxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28ob3B0aW9ucyk7XG4gICAgfVxuICAgIFxuICB9XG4gIGdldCBvcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvZGVFZGl0b3JFdmVudFNlcnZpY2U6IENvZGVFZGl0b3JFdmVudFNlcnZpY2UsIHByaXZhdGUgY29uZmlnOiBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnKSB7XG4gICAgLy8g5Yid5aeL5YyW6Ieq5a6a5LmJ5LqL5Lu2XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29kZUVkaXRvckV2ZW50U2VydmljZS5ldmVudE5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIC8vIOWIm+W7uuiHquWumuS5ieS6i+S7tu+8jOatpOWkhOS9nOeUqOetieaViOS6jjogQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gICAgICBzZWxmW25hbWVdID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgICBjb25zdCBldmVudFBhaXIgPSBwaWNrKHNlbGYsIG5hbWUpO1xuICAgICAgY29kZUVkaXRvckV2ZW50U2VydmljZS5hZGRFdmVudChldmVudFBhaXIpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIC8vIFdhaXQgdW50aWwgbW9uYWNvIGVkaXRvciBpcyBhdmFpbGFibGVcbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5vcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkZWRNb25hY28gPSB0cnVlO1xuICAgICAgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZy5iYXNlVXJsIHx8ICdhc3NldHMnO1xuICAgICAgICAvLyBpZiAodHlwZW9mKCg8YW55PndpbmRvdykubW9uYWNvKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gICByZXNvbHZlKCk7XG4gICAgICAgIC8vICAgcmV0dXJuO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnN0IG9uR290QW1kTG9hZGVyOiBhbnkgPSAoKSA9PiB7XG4gICAgICAgICAgLy8gTG9hZCBtb25hY29cbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUuY29uZmlnKHsgcGF0aHM6IHsgJ3ZzJzogYCR7YmFzZVVybH0vbW9uYWNvL3ZzYCB9IH0pO1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5vbk1vbmFjb0xvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIExvYWQgQU1EIGxvYWRlciBpZiBuZWNlc3NhcnlcbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcbiAgICAgICAgICBjb25zdCBsb2FkZXJTY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gYCR7YmFzZVVybH0vbW9uYWNvL3ZzL2xvYWRlci5qc2A7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkZXJTY3JpcHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9uR290QW1kTG9hZGVyKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vbmFjbyBFZGl0b3IgSW5pdGlhbGl6ZXJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZDtcblxuICBwcml2YXRlIF91cGRhdGVPcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIC8vIG9wdGlvbnMudGhlbWUgPSB0aGlzLnVuaWZpZWRUaGVtZTsgLy8g55Sx5LqO5aSa5LiqbW9uYWNvIGVkaXRvcuWunuS+i+S8muWFseS6q+S4gOS4quS4u+mimO+8jOaJgOS7pei/memHjOWwhue7n+S4gOiuvue9ruS4u+mimFxuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fZWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19 |
@@ -21,2 +21,2 @@ /** | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsTUFBTTs7O1lBREwsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XHJcblxyXG4vLyBBbmd1bGFyIE1vbmFjbyBFZGl0b3IgQ29tcG9uZW50IFZhcmlhYmxlc1xyXG4vLyDmsYfmgLtBbmd1bGFyIG1vbmFjbyBlZGl0b3IgY29tcG9uZW50IOe7hOS7tuaatOmcsueahOWPmOmHj1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSB7XHJcbiAgICBcclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsTUFBTTs7O1lBREwsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuLy8gQW5ndWxhciBNb25hY28gRWRpdG9yIENvbXBvbmVudCBWYXJpYWJsZXNcbi8vIOaxh+aAu0FuZ3VsYXIgbW9uYWNvIGVkaXRvciBjb21wb25lbnQg57uE5Lu25pq06Zyy55qE5Y+Y6YePXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2Uge1xuICAgIFxufVxuIl19 |
@@ -105,3 +105,3 @@ /** | ||
function (options) { | ||
options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
// options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
return options; | ||
@@ -159,2 +159,2 @@ }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb25hY28tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUs5QixxQkFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLHFCQUFJLFdBQTBCLENBQUM7Ozs7O0lBb0M3QiwwQkFBb0Isc0JBQThDLEVBQVUsTUFBaUM7UUFBekYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQTJCOzRCQXpCdEYsU0FBUzs7UUEyQjlCLHFCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7O1lBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1lBQ3JDLHFCQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7S0FDSjswQkF6QkcscUNBQU87Ozs7UUFZWDtZQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCOzs7OztrQkFkVyxPQUFZOztZQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXZFLElBQUksQ0FB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dCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDliJ3lp4vljJboh6rlrprkuYnkuovku7ZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8g5Yib5bu66Ieq5a6a5LmJ5LqL5Lu277yM5q2k5aSE5L2c55So562J5pWI5LqOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDnlLHkuo7lpJrkuKptb25hY28gZWRpdG9y5a6e5L6L5Lya5YWx5Lqr5LiA5Liq5Li76aKY77yM5omA5Lul6L+Z6YeM5bCG57uf5LiA6K6+572u5Li76aKYXG4gICAgXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fZWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb25hY28tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUs5QixxQkFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLHFCQUFJLFdBQTBCLENBQUM7Ozs7O0lBb0M3QiwwQkFBb0Isc0JBQThDLEVBQVUsTUFBaUM7UUFBekYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQTJCOzRCQXpCdEYsU0FBUzs7UUEyQjlCLHFCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7O1lBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1lBQ3JDLHFCQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7S0FDSjswQkF6QkcscUNBQU87Ozs7UUFZWDtZQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCOzs7OztrQkFkVyxPQUFZOztZQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXZFLElBQUksQ0FB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dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDliJ3lp4vljJboh6rlrprkuYnkuovku7ZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8g5Yib5bu66Ieq5a6a5LmJ5LqL5Lu277yM5q2k5aSE5L2c55So562J5pWI5LqOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDnlLHkuo7lpJrkuKptb25hY28gZWRpdG9y5a6e5L6L5Lya5YWx5Lqr5LiA5Liq5Li76aKY77yM5omA5Lul6L+Z6YeM5bCG57uf5LiA6K6+572u5Li76aKYXG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0= |
@@ -25,2 +25,2 @@ /** | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O2dCQU0xQyxVQUFVOztxQ0FOWDs7U0FPYSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5kZWNsYXJlIGNvbnN0IG1vbmFjbzogYW55O1xyXG5cclxuLy8gQW5ndWxhciBNb25hY28gRWRpdG9yIENvbXBvbmVudCBWYXJpYWJsZXNcclxuLy8g5rGH5oC7QW5ndWxhciBtb25hY28gZWRpdG9yIGNvbXBvbmVudCDnu4Tku7bmmrTpnLLnmoTlj5jph49cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2Uge1xyXG4gICAgXHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O2dCQU0xQyxVQUFVOztxQ0FOWDs7U0FPYSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG5cbi8vIEFuZ3VsYXIgTW9uYWNvIEVkaXRvciBDb21wb25lbnQgVmFyaWFibGVzXG4vLyDmsYfmgLtBbmd1bGFyIG1vbmFjbyBlZGl0b3IgY29tcG9uZW50IOe7hOS7tuaatOmcsueahOWPmOmHj1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlIHtcbiAgICBcbn1cbiJdfQ== |
@@ -149,3 +149,3 @@ import { InjectionToken, Injectable, Input, Output, ViewChild, EventEmitter, Component, forwardRef, Inject, NgZone, NgModule } from '@angular/core'; | ||
_updateOptions(options) { | ||
options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
// options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
return options; | ||
@@ -452,2 +452,2 @@ } | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9jb25maWcudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2NvbnN0YW50L2V2ZW50cy50cyIsIm5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yL2xpYi9lZGl0b3Ivc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9hbmd1bGFyLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9lZGl0b3IubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGluamVjdGlvblRva2Vuw6TCvcKcw6fClMKow6/CvMKaw6jCp8Kjw6XChsKzw6XCkMKMw6XCkMKNw6jCpsKGw6fCm8KWw6nCl8Kuw6nCosKYXG4vLyBodHRwczovL3NlZ21lbnRmYXVsdC5jb20vYS8xMTkwMDAwMDA4NjI2MzQ4XG5leHBvcnQgY29uc3QgQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBkZWZhdWx0T3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xuICBvbk1vbmFjb0xvYWQ/OiBGdW5jdGlvbjtcbn1cbiIsImV4cG9ydCBjb25zdCBDT0RFX0VESVRPUl9FVkVOVFMgPSB7XG4gICAgb25Jbml0OiAnb25Jbml0JyxcbiAgICBvbkJsdXJFZGl0b3JUZXh0OiAnb25CbHVyRWRpdG9yVGV4dCcsXG59O1xuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDT0RFX0VESVRPUl9FVkVOVFMgfSBmcm9tICcuLi9jb25zdGFudC9ldmVudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckV2ZW50U2VydmljZSB7XG4gICAgcHVibGljIGV2ZW50TmFtZXMgPSBPYmplY3Qua2V5cyhDT0RFX0VESVRPUl9FVkVOVFMpO1xuICAgIHByaXZhdGUgX2V2ZW50czogYW55ID0ge307IC8vIMOkwr3Cv8OnwpTCqMOkwrrCi8OkwrvCtlxuXG4gICAgLyoqXG4gICAgICogw6jCrsK+w6fCvcKuw6XCkMKvw6fClMKow6TCusKLw6TCu8K2XG4gICAgICogQHBhcmFtICDDpMK6wovDpMK7wrZcbiAgICAgKi9cbiAgICBhZGRFdmVudChldmVudCkge1xuICAgICAgICBhc3NpZ24odGhpcy5fZXZlbnRzLCBldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZXZlbnRzKTtcbiAgICB9XG5cbiAgICBmaXJlRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzW2V2ZW50LmV2ZW50TmFtZV0uZW1pdChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiRW1pdCBFdmVudDpcIiArIGV2ZW50KTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDDpcKIwp3DpcKnwovDpcKMwpbDqMKHwqrDpcKuwprDpMK5wonDpMK6wovDpMK7wrZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8gw6XCiMKbw6XCu8K6w6jCh8Kqw6XCrsKaw6TCucKJw6TCusKLw6TCu8K2w6/CvMKMw6bCrcKkw6XCpMKEw6TCvcKcw6fClMKow6fCrcKJw6bClcKIw6TCusKOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDDp8KUwrHDpMK6wo7DpcKkwprDpMK4wqptb25hY28gZWRpdG9yw6XCrsKew6TCvsKLw6TCvMKaw6XChcKxw6TCusKrw6TCuMKAw6TCuMKqw6TCuMK7w6nCosKYw6/CvMKMw6bCicKAw6TCu8Klw6jCv8KZw6nCh8KMw6XCsMKGw6fCu8Kfw6TCuMKAw6jCrsK+w6fCvcKuw6TCuMK7w6nCosKYXG4gICAgXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fZWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcclxuXHJcbi8vIEFuZ3VsYXIgTW9uYWNvIEVkaXRvciBDb21wb25lbnQgVmFyaWFibGVzXHJcbi8vIMOmwrHCh8OmwoDCu0FuZ3VsYXIgbW9uYWNvIGVkaXRvciBjb21wb25lbnQgw6fCu8KEw6TCu8K2w6bCmsK0w6nCnMKyw6fCmsKEw6XCj8KYw6nCh8KPXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlIHtcclxuICAgIFxyXG59XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mcm9tRXZlbnQnO1xuXG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09ERV9FRElUT1JfRVZFTlRTIH0gZnJvbSAnLi4vY29uc3RhbnQvZXZlbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JNb2RlbCB9IGZyb20gJy4uL21vZGVsL3R5cGVzJztcbmltcG9ydCB7IEJhc2VNb25hY29FZGl0b3IgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjEuw6XCsMKBw6jCo8KFQ29udHJvbFZhbHVlQWNjZXNzb3Jcbi8vIGh0dHBzOi8vY29kZS1leGFtcGxlcy5uZXQvemgtQ04vcS8yMTU0NzYxXG5leHBvcnQgY29uc3QgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgLy8gaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdkYW5fMjAxMy9hcnRpY2xlL2RldGFpbHMvODEzMTQ5NTlcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJlZGl0b3JcIiAjY29kZUVkaXRvcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjIwMHB4fS5lZGl0b3J7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXSxcbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjIuw6XCvMKVw6XChcKlw6TCvsKdw6jCtcKWw6bCnMKNw6XCisKhQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgXVxufSlcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2IDwtPiBNb25hY28gRWR0b3JcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VNb25hY29FZGl0b3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBtb2RlbChtb2RlbDogQW5ndWxhckVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkJsdXJFZGl0b3JUZXh0O1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZlcmlmeVJlc3V0ID0gdHJ1ZTsgLy8gw6jCrsKww6XCvcKVw6fCvMKWw6jCvsKRw6XCmcKow6bCoMKhw6nCqsKMw6fCu8KTw6bCnsKcw6/CvMKMw6nCu8KYw6jCrsKkw6bCssKhw6bCnMKJw6nClMKZw6jCr8KvXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlOiBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBASW5qZWN0KEFOR1VMQVJfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgYW5ndWxhckVkaXRvcmNvbmZpZzogQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckV2ZW50U2VydmljZSwgYW5ndWxhckVkaXRvcmNvbmZpZyk7XG4gIH1cblxuICAvLyB0b2RvOiDDpsKPwpDDpcKPwpZvcHRpb25zw6XChcKsw6XChcKxw6fCscK7XG4gIHByb3RlY3RlZCBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZU1vZGVsID0gISFvcHRpb25zLm1vZGVsO1xuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgY29uc3Qgc2VhcmNoZWRNb2RlbCA9IG1vbmFjby5lZGl0b3IuZ2V0TW9kZWwob3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgaWYgKG51bGwgIT09IHNlYXJjaGVkTW9kZWwpIHtcbiAgICAgICAgc2VhcmNoZWRNb2RlbC5kaXNwb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbnMubW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKG9wdGlvbnMubW9kZWwudmFsdWUsIG9wdGlvbnMubW9kZWwubGFuZ3VhZ2UsIG9wdGlvbnMubW9kZWwudXJpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLl9lZGl0b3JDb21wb25lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWVuYWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgdGhpcy5oYW5kbGVNb2RlbE1hcmtlcnMoKTtcbiAgICB9XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHRoaXMub25DaGFuZ2VNb2RlbENvbnRlbnRIYW5kbGVyKGUpKTtcblxuICAgIHRoaXMuX2VkaXRvci5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHRoaXMub25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRMYXlvdXRDaGFuZ2UoKGU6IGFueSkgPT4gdGhpcy5vbkxheW91dENoYW5nZUhhbmRsZXIoZSkpO1xuXG4gICAgLy8gcmVmcmVzaCBsYXlvdXQgb24gcmVzaXplIGV2ZW50LlxuICAgIHRoaXMucmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKTtcblxuICAgIHRoaXMuZWRpdG9yRXZlbnRTZXJ2aWNlLmZpcmVFdmVudCh7XG4gICAgICBldmVudE5hbWU6IENPREVfRURJVE9SX0VWRU5UUy5vbkluaXQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvclxuICAgIH0pO1xuICB9XG5cblxuXG4gIGhhbmRsZU1vZGVsTWFya2VycygpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMFxuICAgIGNvbnN0IHNldE1vZGVsTWFya2VycyA9IG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzO1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzID0gZnVuY3Rpb24gKG1vZGVsLCBvd25lciwgbWFya2Vycykge1xuICAgICAgc2V0TW9kZWxNYXJrZXJzLmNhbGwobW9uYWNvLmVkaXRvciwgbW9kZWwsIG93bmVyLCBtYXJrZXJzKTtcbiAgICAgIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzZWxmLl92ZXJpZnlSZXN1dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBhcmUgZXJyb3JzXG4gICAgICAgIHNlbGYuX3ZlcmlmeVJlc3V0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWZyZXNoIGxheW91dCB3aGVuIHJlc2l6ZWQgdGhlIHdpbmRvd1xuICAgKi9cbiAgcmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIGZyb21FdmVudMOnwpTCqMOkwrrCjsOlwoXCvMOlwpDCrMOkwrrCi8OkwrvCtsOvwrzCjMOkwrrCi8OkwrvCtsOowqfCpsOlwo/CkcOmwpfCtsOvwrzCjMOlwrDChsOkwrrCi8OkwrvCtmV2ZW50w6jCvcKsw6bCiMKQw6XCj8Kvw6bCtcKBw6XCisKow6fCmsKET2JzZXJ2YWJsZcOowr/Cm8OowqHCjMOkwrzCoMOowr7Ck1xuICAgIC8vIGh0dHBzOi8vd3d3LmppYW5zaHUuY29tL3AvNDY4OTRkZWI4NzBhXG4gICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2l6ZUV2ZW50SGFuZGxlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplRXZlbnRIYW5kbGVyKCkge1xuICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTsgLy8gcmVsYXlvdXRcbiAgfVxuXG4gIG9uQ2hhbmdlTW9kZWxDb250ZW50SGFuZGxlcihlKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0pUYW5nbWluZy90bS9pc3N1ZXMvNCBuZ1pvbmXDqMKvwqbDqMKnwqNcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMudmFsdWUgPSBfdmFsdWUpOyAvLyB2YWx1ZSBpcyBub3QgcHJvcGFnYXRlZCB0byBwYXJlbnQgd2hlbiBleGVjdXRpbmcgb3V0c2lkZSB6b25lLlxuICB9XG5cbiAgb25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSB7XG5cbiAgICB0aGlzLm9uQ29udHJvbFRvdWNoZWQoKTtcblxuICAgIC8vIMOlwpDCkcOlwqTClsOlwo/CkcOlwrDChEJsdXJFZGl0b3JUZXh0w6TCusKLw6TCu8K2w6/CvMKMw6XCucK2w6TCvMKgw6nCgMKSw6XCj8KCw6bClcKwXG4gICAgdGhpcy5lZGl0b3JFdmVudFNlcnZpY2UuZmlyZUV2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogQ09ERV9FRElUT1JfRVZFTlRTLm9uQmx1ckVkaXRvclRleHQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvcixcbiAgICAgIGVkaXRvclN0YXRlOiB7XG4gICAgICAgIHZlcmlmeVJlc3V0OiB0aGlzLl92ZXJpZnlSZXN1dFxuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBvbkxheW91dENoYW5nZUhhbmRsZXIoZSkge1xuICAgIGNvbnNvbGUubG9nKCdMYXlvdXQgY2hhbmdlZDpcXG4nICsgZSk7XG4gIH1cblxuICAvLyBnZXQgYWNjZXNzb3JcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLy8gc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMudmFsdWUpIHsvLyDDpsKzwqjDpsKEwo/DqMK/wpnDp8Knwo3DpcKGwpnDpsKzwpXDr8K8wozDpcKAwrzDpcK+wpfDpcKtwqbDpMK5wqBcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ29udHJvbFZhbHVlQ2hhbmdlKHRoaXMudmFsdWUpOyAvLyDDpcKcwqjDpcKxwp7DpsKAwqfDpMK/wq7DqcKlwrDDpcKZwqjDqcKHwozDqMKwwoPDp8KUwqhvbkNvbnRyb2xWYWx1ZUNoYW5nZcOmwpbCucOmwrPClVxuICB9XG5cbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29cblxuICAvLyBvdXRzaWRlIGNvbXBvbmVudCAtPiBtb25hY28gZWRpdG9yXG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuXG4gICAgLy8gRml4IGZvciB2YWx1ZSBjaGFuZ2Ugd2hpbGUgZGlzcG9zZSBpbiBwcm9jZXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHNlbGYuX2VkaXRvciAvKiYmICF0aGlzLm9wdGlvbnMubW9kZWwqLykge1xuICAgICAgICBzZWxmLl9lZGl0b3Iuc2V0VmFsdWUoc2VsZi5fdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNvbnRyb2xWYWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Db250cm9sVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3LDpsKPwpDDpMK+wpvDp8KawoTDpMK6wovDpMK7wrbDpcKbwp7DqMKwwoNcbiAgb25Db250cm9sVmFsdWVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcsOmwo/CkMOkwr7Cm8OnwprChMOkwrrCi8OkwrvCtsOlwpvCnsOowrDCg1xuICBvbkNvbnRyb2xUb3VjaGVkID0gKCkgPT4ge1xuICB9XG5cbn1cbiIsImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb25maWcnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci1tb25hY28tZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2VcbiAgXVxufSlcblxuLy8gaHR0cHM6Ly9hbmd1bGFyZmlyc3QuY29tL3RoZS1uZ21vZHVsZS1mb3Jyb290LWNvbnZlbnRpb24vXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH0sXG5cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUlBLHVCQUFhLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFDLDhCQUE4QixDQUFDOzs7Ozs7QUNKOUYsdUJBQWEsa0JBQWtCLEdBQUc7SUFDOUIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVBQUUsa0JBQWtCO0NBQ3ZDOzs7Ozs7QUNIRDs7MEJBUXdCLE1B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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9jb25maWcudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2NvbnN0YW50L2V2ZW50cy50cyIsIm5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yL2xpYi9lZGl0b3Ivc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9hbmd1bGFyLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9lZGl0b3IubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGluamVjdGlvblRva2Vuw6TCvcKcw6fClMKow6/CvMKaw6jCp8Kjw6XChsKzw6XCkMKMw6XCkMKNw6jCpsKGw6fCm8KWw6nCl8Kuw6nCosKYXG4vLyBodHRwczovL3NlZ21lbnRmYXVsdC5jb20vYS8xMTkwMDAwMDA4NjI2MzQ4XG5leHBvcnQgY29uc3QgQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBkZWZhdWx0T3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xuICBvbk1vbmFjb0xvYWQ/OiBGdW5jdGlvbjtcbn1cbiIsImV4cG9ydCBjb25zdCBDT0RFX0VESVRPUl9FVkVOVFMgPSB7XG4gICAgb25Jbml0OiAnb25Jbml0JyxcbiAgICBvbkJsdXJFZGl0b3JUZXh0OiAnb25CbHVyRWRpdG9yVGV4dCcsXG59O1xuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDT0RFX0VESVRPUl9FVkVOVFMgfSBmcm9tICcuLi9jb25zdGFudC9ldmVudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckV2ZW50U2VydmljZSB7XG4gICAgcHVibGljIGV2ZW50TmFtZXMgPSBPYmplY3Qua2V5cyhDT0RFX0VESVRPUl9FVkVOVFMpO1xuICAgIHByaXZhdGUgX2V2ZW50czogYW55ID0ge307IC8vIMOkwr3Cv8OnwpTCqMOkwrrCi8OkwrvCtlxuXG4gICAgLyoqXG4gICAgICogw6jCrsK+w6fCvcKuw6XCkMKvw6fClMKow6TCusKLw6TCu8K2XG4gICAgICogQHBhcmFtICDDpMK6wovDpMK7wrZcbiAgICAgKi9cbiAgICBhZGRFdmVudChldmVudCkge1xuICAgICAgICBhc3NpZ24odGhpcy5fZXZlbnRzLCBldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZXZlbnRzKTtcbiAgICB9XG5cbiAgICBmaXJlRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzW2V2ZW50LmV2ZW50TmFtZV0uZW1pdChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiRW1pdCBFdmVudDpcIiArIGV2ZW50KTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDDpcKIwp3DpcKnwovDpcKMwpbDqMKHwqrDpcKuwprDpMK5wonDpMK6wovDpMK7wrZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8gw6XCiMKbw6XCu8K6w6jCh8Kqw6XCrsKaw6TCucKJw6TCusKLw6TCu8K2w6/CvMKMw6bCrcKkw6XCpMKEw6TCvcKcw6fClMKow6fCrcKJw6bClcKIw6TCusKOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDDp8KUwrHDpMK6wo7DpcKkwprDpMK4wqptb25hY28gZWRpdG9yw6XCrsKew6TCvsKLw6TCvMKaw6XChcKxw6TCusKrw6TCuMKAw6TCuMKqw6TCuMK7w6nCosKYw6/CvMKMw6bCicKAw6TCu8Klw6jCv8KZw6nCh8KMw6XCsMKGw6fCu8Kfw6TCuMKAw6jCrsK+w6fCvcKuw6TCuMK7w6nCosKYXG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG5cbi8vIEFuZ3VsYXIgTW9uYWNvIEVkaXRvciBDb21wb25lbnQgVmFyaWFibGVzXG4vLyDDpsKxwofDpsKAwrtBbmd1bGFyIG1vbmFjbyBlZGl0b3IgY29tcG9uZW50IMOnwrvChMOkwrvCtsOmwprCtMOpwpzCssOnwprChMOlwo/CmMOpwofCj1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlIHtcbiAgICBcbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mcm9tRXZlbnQnO1xuXG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09ERV9FRElUT1JfRVZFTlRTIH0gZnJvbSAnLi4vY29uc3RhbnQvZXZlbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JNb2RlbCB9IGZyb20gJy4uL21vZGVsL3R5cGVzJztcbmltcG9ydCB7IEJhc2VNb25hY29FZGl0b3IgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjEuw6XCsMKBw6jCo8KFQ29udHJvbFZhbHVlQWNjZXNzb3Jcbi8vIGh0dHBzOi8vY29kZS1leGFtcGxlcy5uZXQvemgtQ04vcS8yMTU0NzYxXG5leHBvcnQgY29uc3QgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgLy8gaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdkYW5fMjAxMy9hcnRpY2xlL2RldGFpbHMvODEzMTQ5NTlcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJlZGl0b3JcIiAjY29kZUVkaXRvcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjIwMHB4fS5lZGl0b3J7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXSxcbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjIuw6XCvMKVw6XChcKlw6TCvsKdw6jCtcKWw6bCnMKNw6XCisKhQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgXVxufSlcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2IDwtPiBNb25hY28gRWR0b3JcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VNb25hY29FZGl0b3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBtb2RlbChtb2RlbDogQW5ndWxhckVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkJsdXJFZGl0b3JUZXh0O1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZlcmlmeVJlc3V0ID0gdHJ1ZTsgLy8gw6jCrsKww6XCvcKVw6fCvMKWw6jCvsKRw6XCmcKow6bCoMKhw6nCqsKMw6fCu8KTw6bCnsKcw6/CvMKMw6nCu8KYw6jCrsKkw6bCssKhw6bCnMKJw6nClMKZw6jCr8KvXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlOiBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBASW5qZWN0KEFOR1VMQVJfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgYW5ndWxhckVkaXRvcmNvbmZpZzogQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckV2ZW50U2VydmljZSwgYW5ndWxhckVkaXRvcmNvbmZpZyk7XG4gIH1cblxuICAvLyB0b2RvOiDDpsKPwpDDpcKPwpZvcHRpb25zw6XChcKsw6XChcKxw6fCscK7XG4gIHByb3RlY3RlZCBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZU1vZGVsID0gISFvcHRpb25zLm1vZGVsO1xuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgY29uc3Qgc2VhcmNoZWRNb2RlbCA9IG1vbmFjby5lZGl0b3IuZ2V0TW9kZWwob3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgaWYgKG51bGwgIT09IHNlYXJjaGVkTW9kZWwpIHtcbiAgICAgICAgc2VhcmNoZWRNb2RlbC5kaXNwb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbnMubW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKG9wdGlvbnMubW9kZWwudmFsdWUsIG9wdGlvbnMubW9kZWwubGFuZ3VhZ2UsIG9wdGlvbnMubW9kZWwudXJpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLl9lZGl0b3JDb21wb25lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWVuYWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgdGhpcy5oYW5kbGVNb2RlbE1hcmtlcnMoKTtcbiAgICB9XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHRoaXMub25DaGFuZ2VNb2RlbENvbnRlbnRIYW5kbGVyKGUpKTtcblxuICAgIHRoaXMuX2VkaXRvci5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHRoaXMub25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRMYXlvdXRDaGFuZ2UoKGU6IGFueSkgPT4gdGhpcy5vbkxheW91dENoYW5nZUhhbmRsZXIoZSkpO1xuXG4gICAgLy8gcmVmcmVzaCBsYXlvdXQgb24gcmVzaXplIGV2ZW50LlxuICAgIHRoaXMucmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKTtcblxuICAgIHRoaXMuZWRpdG9yRXZlbnRTZXJ2aWNlLmZpcmVFdmVudCh7XG4gICAgICBldmVudE5hbWU6IENPREVfRURJVE9SX0VWRU5UUy5vbkluaXQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvclxuICAgIH0pO1xuICB9XG5cblxuXG4gIGhhbmRsZU1vZGVsTWFya2VycygpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMFxuICAgIGNvbnN0IHNldE1vZGVsTWFya2VycyA9IG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzO1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzID0gZnVuY3Rpb24gKG1vZGVsLCBvd25lciwgbWFya2Vycykge1xuICAgICAgc2V0TW9kZWxNYXJrZXJzLmNhbGwobW9uYWNvLmVkaXRvciwgbW9kZWwsIG93bmVyLCBtYXJrZXJzKTtcbiAgICAgIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzZWxmLl92ZXJpZnlSZXN1dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBhcmUgZXJyb3JzXG4gICAgICAgIHNlbGYuX3ZlcmlmeVJlc3V0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWZyZXNoIGxheW91dCB3aGVuIHJlc2l6ZWQgdGhlIHdpbmRvd1xuICAgKi9cbiAgcmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIGZyb21FdmVudMOnwpTCqMOkwrrCjsOlwoXCvMOlwpDCrMOkwrrCi8OkwrvCtsOvwrzCjMOkwrrCi8OkwrvCtsOowqfCpsOlwo/CkcOmwpfCtsOvwrzCjMOlwrDChsOkwrrCi8OkwrvCtmV2ZW50w6jCvcKsw6bCiMKQw6XCj8Kvw6bCtcKBw6XCisKow6fCmsKET2JzZXJ2YWJsZcOowr/Cm8OowqHCjMOkwrzCoMOowr7Ck1xuICAgIC8vIGh0dHBzOi8vd3d3LmppYW5zaHUuY29tL3AvNDY4OTRkZWI4NzBhXG4gICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2l6ZUV2ZW50SGFuZGxlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplRXZlbnRIYW5kbGVyKCkge1xuICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTsgLy8gcmVsYXlvdXRcbiAgfVxuXG4gIG9uQ2hhbmdlTW9kZWxDb250ZW50SGFuZGxlcihlKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0pUYW5nbWluZy90bS9pc3N1ZXMvNCBuZ1pvbmXDqMKvwqbDqMKnwqNcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMudmFsdWUgPSBfdmFsdWUpOyAvLyB2YWx1ZSBpcyBub3QgcHJvcGFnYXRlZCB0byBwYXJlbnQgd2hlbiBleGVjdXRpbmcgb3V0c2lkZSB6b25lLlxuICB9XG5cbiAgb25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSB7XG5cbiAgICB0aGlzLm9uQ29udHJvbFRvdWNoZWQoKTtcblxuICAgIC8vIMOlwpDCkcOlwqTClsOlwo/CkcOlwrDChEJsdXJFZGl0b3JUZXh0w6TCusKLw6TCu8K2w6/CvMKMw6XCucK2w6TCvMKgw6nCgMKSw6XCj8KCw6bClcKwXG4gICAgdGhpcy5lZGl0b3JFdmVudFNlcnZpY2UuZmlyZUV2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogQ09ERV9FRElUT1JfRVZFTlRTLm9uQmx1ckVkaXRvclRleHQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvcixcbiAgICAgIGVkaXRvclN0YXRlOiB7XG4gICAgICAgIHZlcmlmeVJlc3V0OiB0aGlzLl92ZXJpZnlSZXN1dFxuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBvbkxheW91dENoYW5nZUhhbmRsZXIoZSkge1xuICAgIGNvbnNvbGUubG9nKCdMYXlvdXQgY2hhbmdlZDpcXG4nICsgZSk7XG4gIH1cblxuICAvLyBnZXQgYWNjZXNzb3JcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLy8gc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMudmFsdWUpIHsvLyDDpsKzwqjDpsKEwo/DqMK/wpnDp8Knwo3DpcKGwpnDpsKzwpXDr8K8wozDpcKAwrzDpcK+wpfDpcKtwqbDpMK5wqBcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ29udHJvbFZhbHVlQ2hhbmdlKHRoaXMudmFsdWUpOyAvLyDDpcKcwqjDpcKxwp7DpsKAwqfDpMK/wq7DqcKlwrDDpcKZwqjDqcKHwozDqMKwwoPDp8KUwqhvbkNvbnRyb2xWYWx1ZUNoYW5nZcOmwpbCucOmwrPClVxuICB9XG5cbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29cblxuICAvLyBvdXRzaWRlIGNvbXBvbmVudCAtPiBtb25hY28gZWRpdG9yXG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuXG4gICAgLy8gRml4IGZvciB2YWx1ZSBjaGFuZ2Ugd2hpbGUgZGlzcG9zZSBpbiBwcm9jZXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHNlbGYuX2VkaXRvciAvKiYmICF0aGlzLm9wdGlvbnMubW9kZWwqLykge1xuICAgICAgICBzZWxmLl9lZGl0b3Iuc2V0VmFsdWUoc2VsZi5fdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNvbnRyb2xWYWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Db250cm9sVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3LDpsKPwpDDpMK+wpvDp8KawoTDpMK6wovDpMK7wrbDpcKbwp7DqMKwwoNcbiAgb25Db250cm9sVmFsdWVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcsOmwo/CkMOkwr7Cm8OnwprChMOkwrrCi8OkwrvCtsOlwpvCnsOowrDCg1xuICBvbkNvbnRyb2xUb3VjaGVkID0gKCkgPT4ge1xuICB9XG5cbn1cbiIsImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb25maWcnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci1tb25hY28tZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2VcbiAgXVxufSlcblxuLy8gaHR0cHM6Ly9hbmd1bGFyZmlyc3QuY29tL3RoZS1uZ21vZHVsZS1mb3Jyb290LWNvbnZlbnRpb24vXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH0sXG5cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUlBLHVCQUFhLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFDLDhCQUE4QixDQUFDOzs7Ozs7QUNKOUYsdUJBQWEsa0JBQWtCLEdBQUc7SUFDOUIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVBQUUsa0JBQWtCO0NBQ3ZDOzs7Ozs7QUNIRDs7MEJBUXdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JB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 |
@@ -172,3 +172,3 @@ import { InjectionToken, Injectable, Input, Output, ViewChild, EventEmitter, Component, forwardRef, Inject, NgZone, NgModule } from '@angular/core'; | ||
function (options) { | ||
options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
// options.theme = this.unifiedTheme; // 由于多个monaco editor实例会共享一个主题,所以这里将统一设置主题 | ||
return options; | ||
@@ -544,2 +544,2 @@ }; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9jb25maWcudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2NvbnN0YW50L2V2ZW50cy50cyIsIm5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yL2xpYi9lZGl0b3Ivc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9hbmd1bGFyLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9lZGl0b3IubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGluamVjdGlvblRva2Vuw6TCvcKcw6fClMKow6/CvMKaw6jCp8Kjw6XChsKzw6XCkMKMw6XCkMKNw6jCpsKGw6fCm8KWw6nCl8Kuw6nCosKYXG4vLyBodHRwczovL3NlZ21lbnRmYXVsdC5jb20vYS8xMTkwMDAwMDA4NjI2MzQ4XG5leHBvcnQgY29uc3QgQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBkZWZhdWx0T3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xuICBvbk1vbmFjb0xvYWQ/OiBGdW5jdGlvbjtcbn1cbiIsImV4cG9ydCBjb25zdCBDT0RFX0VESVRPUl9FVkVOVFMgPSB7XG4gICAgb25Jbml0OiAnb25Jbml0JyxcbiAgICBvbkJsdXJFZGl0b3JUZXh0OiAnb25CbHVyRWRpdG9yVGV4dCcsXG59O1xuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDT0RFX0VESVRPUl9FVkVOVFMgfSBmcm9tICcuLi9jb25zdGFudC9ldmVudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckV2ZW50U2VydmljZSB7XG4gICAgcHVibGljIGV2ZW50TmFtZXMgPSBPYmplY3Qua2V5cyhDT0RFX0VESVRPUl9FVkVOVFMpO1xuICAgIHByaXZhdGUgX2V2ZW50czogYW55ID0ge307IC8vIMOkwr3Cv8OnwpTCqMOkwrrCi8OkwrvCtlxuXG4gICAgLyoqXG4gICAgICogw6jCrsK+w6fCvcKuw6XCkMKvw6fClMKow6TCusKLw6TCu8K2XG4gICAgICogQHBhcmFtICDDpMK6wovDpMK7wrZcbiAgICAgKi9cbiAgICBhZGRFdmVudChldmVudCkge1xuICAgICAgICBhc3NpZ24odGhpcy5fZXZlbnRzLCBldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZXZlbnRzKTtcbiAgICB9XG5cbiAgICBmaXJlRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzW2V2ZW50LmV2ZW50TmFtZV0uZW1pdChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiRW1pdCBFdmVudDpcIiArIGV2ZW50KTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDDpcKIwp3DpcKnwovDpcKMwpbDqMKHwqrDpcKuwprDpMK5wonDpMK6wovDpMK7wrZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8gw6XCiMKbw6XCu8K6w6jCh8Kqw6XCrsKaw6TCucKJw6TCusKLw6TCu8K2w6/CvMKMw6bCrcKkw6XCpMKEw6TCvcKcw6fClMKow6fCrcKJw6bClcKIw6TCusKOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDDp8KUwrHDpMK6wo7DpcKkwprDpMK4wqptb25hY28gZWRpdG9yw6XCrsKew6TCvsKLw6TCvMKaw6XChcKxw6TCusKrw6TCuMKAw6TCuMKqw6TCuMK7w6nCosKYw6/CvMKMw6bCicKAw6TCu8Klw6jCv8KZw6nCh8KMw6XCsMKGw6fCu8Kfw6TCuMKAw6jCrsK+w6fCvcKuw6TCuMK7w6nCosKYXG4gICAgXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fZWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcclxuXHJcbi8vIEFuZ3VsYXIgTW9uYWNvIEVkaXRvciBDb21wb25lbnQgVmFyaWFibGVzXHJcbi8vIMOmwrHCh8OmwoDCu0FuZ3VsYXIgbW9uYWNvIGVkaXRvciBjb21wb25lbnQgw6fCu8KEw6TCu8K2w6bCmsK0w6nCnMKyw6fCmsKEw6XCj8KYw6nCh8KPXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlIHtcclxuICAgIFxyXG59XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mcm9tRXZlbnQnO1xuXG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09ERV9FRElUT1JfRVZFTlRTIH0gZnJvbSAnLi4vY29uc3RhbnQvZXZlbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JNb2RlbCB9IGZyb20gJy4uL21vZGVsL3R5cGVzJztcbmltcG9ydCB7IEJhc2VNb25hY29FZGl0b3IgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjEuw6XCsMKBw6jCo8KFQ29udHJvbFZhbHVlQWNjZXNzb3Jcbi8vIGh0dHBzOi8vY29kZS1leGFtcGxlcy5uZXQvemgtQ04vcS8yMTU0NzYxXG5leHBvcnQgY29uc3QgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgLy8gaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdkYW5fMjAxMy9hcnRpY2xlL2RldGFpbHMvODEzMTQ5NTlcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJlZGl0b3JcIiAjY29kZUVkaXRvcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjIwMHB4fS5lZGl0b3J7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXSxcbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjIuw6XCvMKVw6XChcKlw6TCvsKdw6jCtcKWw6bCnMKNw6XCisKhQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgXVxufSlcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2IDwtPiBNb25hY28gRWR0b3JcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VNb25hY29FZGl0b3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBtb2RlbChtb2RlbDogQW5ndWxhckVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkJsdXJFZGl0b3JUZXh0O1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZlcmlmeVJlc3V0ID0gdHJ1ZTsgLy8gw6jCrsKww6XCvcKVw6fCvMKWw6jCvsKRw6XCmcKow6bCoMKhw6nCqsKMw6fCu8KTw6bCnsKcw6/CvMKMw6nCu8KYw6jCrsKkw6bCssKhw6bCnMKJw6nClMKZw6jCr8KvXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlOiBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBASW5qZWN0KEFOR1VMQVJfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgYW5ndWxhckVkaXRvcmNvbmZpZzogQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckV2ZW50U2VydmljZSwgYW5ndWxhckVkaXRvcmNvbmZpZyk7XG4gIH1cblxuICAvLyB0b2RvOiDDpsKPwpDDpcKPwpZvcHRpb25zw6XChcKsw6XChcKxw6fCscK7XG4gIHByb3RlY3RlZCBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZU1vZGVsID0gISFvcHRpb25zLm1vZGVsO1xuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgY29uc3Qgc2VhcmNoZWRNb2RlbCA9IG1vbmFjby5lZGl0b3IuZ2V0TW9kZWwob3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgaWYgKG51bGwgIT09IHNlYXJjaGVkTW9kZWwpIHtcbiAgICAgICAgc2VhcmNoZWRNb2RlbC5kaXNwb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbnMubW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKG9wdGlvbnMubW9kZWwudmFsdWUsIG9wdGlvbnMubW9kZWwubGFuZ3VhZ2UsIG9wdGlvbnMubW9kZWwudXJpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLl9lZGl0b3JDb21wb25lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWVuYWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgdGhpcy5oYW5kbGVNb2RlbE1hcmtlcnMoKTtcbiAgICB9XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHRoaXMub25DaGFuZ2VNb2RlbENvbnRlbnRIYW5kbGVyKGUpKTtcblxuICAgIHRoaXMuX2VkaXRvci5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHRoaXMub25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRMYXlvdXRDaGFuZ2UoKGU6IGFueSkgPT4gdGhpcy5vbkxheW91dENoYW5nZUhhbmRsZXIoZSkpO1xuXG4gICAgLy8gcmVmcmVzaCBsYXlvdXQgb24gcmVzaXplIGV2ZW50LlxuICAgIHRoaXMucmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKTtcblxuICAgIHRoaXMuZWRpdG9yRXZlbnRTZXJ2aWNlLmZpcmVFdmVudCh7XG4gICAgICBldmVudE5hbWU6IENPREVfRURJVE9SX0VWRU5UUy5vbkluaXQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvclxuICAgIH0pO1xuICB9XG5cblxuXG4gIGhhbmRsZU1vZGVsTWFya2VycygpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMFxuICAgIGNvbnN0IHNldE1vZGVsTWFya2VycyA9IG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzO1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzID0gZnVuY3Rpb24gKG1vZGVsLCBvd25lciwgbWFya2Vycykge1xuICAgICAgc2V0TW9kZWxNYXJrZXJzLmNhbGwobW9uYWNvLmVkaXRvciwgbW9kZWwsIG93bmVyLCBtYXJrZXJzKTtcbiAgICAgIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzZWxmLl92ZXJpZnlSZXN1dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBhcmUgZXJyb3JzXG4gICAgICAgIHNlbGYuX3ZlcmlmeVJlc3V0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWZyZXNoIGxheW91dCB3aGVuIHJlc2l6ZWQgdGhlIHdpbmRvd1xuICAgKi9cbiAgcmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIGZyb21FdmVudMOnwpTCqMOkwrrCjsOlwoXCvMOlwpDCrMOkwrrCi8OkwrvCtsOvwrzCjMOkwrrCi8OkwrvCtsOowqfCpsOlwo/CkcOmwpfCtsOvwrzCjMOlwrDChsOkwrrCi8OkwrvCtmV2ZW50w6jCvcKsw6bCiMKQw6XCj8Kvw6bCtcKBw6XCisKow6fCmsKET2JzZXJ2YWJsZcOowr/Cm8OowqHCjMOkwrzCoMOowr7Ck1xuICAgIC8vIGh0dHBzOi8vd3d3LmppYW5zaHUuY29tL3AvNDY4OTRkZWI4NzBhXG4gICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2l6ZUV2ZW50SGFuZGxlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplRXZlbnRIYW5kbGVyKCkge1xuICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTsgLy8gcmVsYXlvdXRcbiAgfVxuXG4gIG9uQ2hhbmdlTW9kZWxDb250ZW50SGFuZGxlcihlKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0pUYW5nbWluZy90bS9pc3N1ZXMvNCBuZ1pvbmXDqMKvwqbDqMKnwqNcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMudmFsdWUgPSBfdmFsdWUpOyAvLyB2YWx1ZSBpcyBub3QgcHJvcGFnYXRlZCB0byBwYXJlbnQgd2hlbiBleGVjdXRpbmcgb3V0c2lkZSB6b25lLlxuICB9XG5cbiAgb25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSB7XG5cbiAgICB0aGlzLm9uQ29udHJvbFRvdWNoZWQoKTtcblxuICAgIC8vIMOlwpDCkcOlwqTClsOlwo/CkcOlwrDChEJsdXJFZGl0b3JUZXh0w6TCusKLw6TCu8K2w6/CvMKMw6XCucK2w6TCvMKgw6nCgMKSw6XCj8KCw6bClcKwXG4gICAgdGhpcy5lZGl0b3JFdmVudFNlcnZpY2UuZmlyZUV2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogQ09ERV9FRElUT1JfRVZFTlRTLm9uQmx1ckVkaXRvclRleHQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvcixcbiAgICAgIGVkaXRvclN0YXRlOiB7XG4gICAgICAgIHZlcmlmeVJlc3V0OiB0aGlzLl92ZXJpZnlSZXN1dFxuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBvbkxheW91dENoYW5nZUhhbmRsZXIoZSkge1xuICAgIGNvbnNvbGUubG9nKCdMYXlvdXQgY2hhbmdlZDpcXG4nICsgZSk7XG4gIH1cblxuICAvLyBnZXQgYWNjZXNzb3JcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLy8gc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMudmFsdWUpIHsvLyDDpsKzwqjDpsKEwo/DqMK/wpnDp8Knwo3DpcKGwpnDpsKzwpXDr8K8wozDpcKAwrzDpcK+wpfDpcKtwqbDpMK5wqBcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ29udHJvbFZhbHVlQ2hhbmdlKHRoaXMudmFsdWUpOyAvLyDDpcKcwqjDpcKxwp7DpsKAwqfDpMK/wq7DqcKlwrDDpcKZwqjDqcKHwozDqMKwwoPDp8KUwqhvbkNvbnRyb2xWYWx1ZUNoYW5nZcOmwpbCucOmwrPClVxuICB9XG5cbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29cblxuICAvLyBvdXRzaWRlIGNvbXBvbmVudCAtPiBtb25hY28gZWRpdG9yXG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuXG4gICAgLy8gRml4IGZvciB2YWx1ZSBjaGFuZ2Ugd2hpbGUgZGlzcG9zZSBpbiBwcm9jZXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHNlbGYuX2VkaXRvciAvKiYmICF0aGlzLm9wdGlvbnMubW9kZWwqLykge1xuICAgICAgICBzZWxmLl9lZGl0b3Iuc2V0VmFsdWUoc2VsZi5fdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNvbnRyb2xWYWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Db250cm9sVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3LDpsKPwpDDpMK+wpvDp8KawoTDpMK6wovDpMK7wrbDpcKbwp7DqMKwwoNcbiAgb25Db250cm9sVmFsdWVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcsOmwo/CkMOkwr7Cm8OnwprChMOkwrrCi8OkwrvCtsOlwpvCnsOowrDCg1xuICBvbkNvbnRyb2xUb3VjaGVkID0gKCkgPT4ge1xuICB9XG5cbn1cbiIsImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb25maWcnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci1tb25hY28tZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2VcbiAgXVxufSlcblxuLy8gaHR0cHM6Ly9hbmd1bGFyZmlyc3QuY29tL3RoZS1uZ21vZHVsZS1mb3Jyb290LWNvbnZlbnRpb24vXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH0sXG5cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsidHNsaWJfMS5fX2V4dGVuZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBSUEscUJBQWEsNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQUMsOEJBQThCLENBQUM7Ozs7OztBQ0o5RixxQkFBYSxrQkFBa0IsR0FBRztJQUM5QixNQUFNLEVBQUUsUUFBUTtJQUNoQixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDdkM7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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tb25hY28tZWRpdG9yLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9jb25maWcudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2NvbnN0YW50L2V2ZW50cy50cyIsIm5nOi8vYW5ndWxhci1tb25hY28tZWRpdG9yL2xpYi9lZGl0b3Ivc2VydmljZS9jb2RlLWVkaXRvci5ldmVudC5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3IudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UudHMiLCJuZzovL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9saWIvZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci9hbmd1bGFyLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyLW1vbmFjby1lZGl0b3IvbGliL2VkaXRvci9lZGl0b3IubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGluamVjdGlvblRva2Vuw6TCvcKcw6fClMKow6/CvMKaw6jCp8Kjw6XChsKzw6XCkMKMw6XCkMKNw6jCpsKGw6fCm8KWw6nCl8Kuw6nCosKYXG4vLyBodHRwczovL3NlZ21lbnRmYXVsdC5jb20vYS8xMTkwMDAwMDA4NjI2MzQ4XG5leHBvcnQgY29uc3QgQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBkZWZhdWx0T3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xuICBvbk1vbmFjb0xvYWQ/OiBGdW5jdGlvbjtcbn1cbiIsImV4cG9ydCBjb25zdCBDT0RFX0VESVRPUl9FVkVOVFMgPSB7XG4gICAgb25Jbml0OiAnb25Jbml0JyxcbiAgICBvbkJsdXJFZGl0b3JUZXh0OiAnb25CbHVyRWRpdG9yVGV4dCcsXG59O1xuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDT0RFX0VESVRPUl9FVkVOVFMgfSBmcm9tICcuLi9jb25zdGFudC9ldmVudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckV2ZW50U2VydmljZSB7XG4gICAgcHVibGljIGV2ZW50TmFtZXMgPSBPYmplY3Qua2V5cyhDT0RFX0VESVRPUl9FVkVOVFMpO1xuICAgIHByaXZhdGUgX2V2ZW50czogYW55ID0ge307IC8vIMOkwr3Cv8OnwpTCqMOkwrrCi8OkwrvCtlxuXG4gICAgLyoqXG4gICAgICogw6jCrsK+w6fCvcKuw6XCkMKvw6fClMKow6TCusKLw6TCu8K2XG4gICAgICogQHBhcmFtICDDpMK6wovDpMK7wrZcbiAgICAgKi9cbiAgICBhZGRFdmVudChldmVudCkge1xuICAgICAgICBhc3NpZ24odGhpcy5fZXZlbnRzLCBldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZXZlbnRzKTtcbiAgICB9XG5cbiAgICBmaXJlRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzW2V2ZW50LmV2ZW50TmFtZV0uZW1pdChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiRW1pdCBFdmVudDpcIiArIGV2ZW50KTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9uYWNvRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdG9kbzogZXh0cmFjdCB1bmlmaWVkIHRoZW1lIHRvIERpcmVjdGl2ZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvaXNzdWVzLzMzOFxuICAvLyBtb25hY28gZWRpdG9yIGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gaGF2ZSB0d28gZWRpdG9ycyBoYXZlIGRpZmZlcmVudCB0aGVtZXMuXG4gIHByaXZhdGUgdW5pZmllZFRoZW1lID0gXCJ2cy1kYXJrXCI7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIF9lZGl0b3JDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uSW5pdDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L21vbmFjby1lZGl0b3IvYmxvYi9tYXN0ZXIvbW9uYWNvLmQudHNcbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gZGVmYXVsdCBvcHRpb25zKHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zKSArIGN1c3RvbSBvcHRpb25zKG9wdGlvbnMpXG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLl91cGRhdGVPcHRpb25zKHRoaXMuX29wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gICAgXG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29kZUVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICAvLyDDpcKIwp3DpcKnwovDpcKMwpbDqMKHwqrDpcKuwprDpMK5wonDpMK6wovDpMK7wrZcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgLy8gw6XCiMKbw6XCu8K6w6jCh8Kqw6XCrsKaw6TCucKJw6TCusKLw6TCu8K2w6/CvMKMw6bCrcKkw6XCpMKEw6TCvcKcw6fClMKow6fCrcKJw6bClcKIw6TCusKOOiBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgICAgIHNlbGZbbmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgIGNvbnN0IGV2ZW50UGFpciA9IHBpY2soc2VsZiwgbmFtZSk7XG4gICAgICBjb2RlRWRpdG9yRXZlbnRTZXJ2aWNlLmFkZEV2ZW50KGV2ZW50UGFpcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJ2Fzc2V0cyc7XG4gICAgICAgIC8vIGlmICh0eXBlb2YoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyAgIHJlc29sdmUoKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiBgJHtiYXNlVXJsfS9tb25hY28vdnNgIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9tb25hY28vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9uYWNvIEVkaXRvciBJbml0aWFsaXplclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkO1xuXG4gIHByaXZhdGUgX3VwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgLy8gb3B0aW9ucy50aGVtZSA9IHRoaXMudW5pZmllZFRoZW1lOyAvLyDDp8KUwrHDpMK6wo7DpcKkwprDpMK4wqptb25hY28gZWRpdG9yw6XCrsKew6TCvsKLw6TCvMKaw6XChcKxw6TCusKrw6TCuMKAw6TCuMKqw6TCuMK7w6nCosKYw6/CvMKMw6bCicKAw6TCu8Klw6jCv8KZw6nCh8KMw6XCsMKGw6fCu8Kfw6TCuMKAw6jCrsK+w6fCvcKuw6TCuMK7w6nCosKYXG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG5cbi8vIEFuZ3VsYXIgTW9uYWNvIEVkaXRvciBDb21wb25lbnQgVmFyaWFibGVzXG4vLyDDpsKxwofDpsKAwrtBbmd1bGFyIG1vbmFjbyBlZGl0b3IgY29tcG9uZW50IMOnwrvChMOkwrvCtsOmwprCtMOpwpzCssOnwprChMOlwo/CmMOpwofCj1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlIHtcbiAgICBcbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9mcm9tRXZlbnQnO1xuXG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvY29uZmlnJztcbmltcG9ydCB7IENvZGVFZGl0b3JFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NvZGUtZWRpdG9yLmV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09ERV9FRElUT1JfRVZFTlRTIH0gZnJvbSAnLi4vY29uc3RhbnQvZXZlbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JNb2RlbCB9IGZyb20gJy4uL21vZGVsL3R5cGVzJztcbmltcG9ydCB7IEJhc2VNb25hY29FZGl0b3IgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjEuw6XCsMKBw6jCo8KFQ29udHJvbFZhbHVlQWNjZXNzb3Jcbi8vIGh0dHBzOi8vY29kZS1leGFtcGxlcy5uZXQvemgtQ04vcS8yMTU0NzYxXG5leHBvcnQgY29uc3QgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgLy8gaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmdkYW5fMjAxMy9hcnRpY2xlL2RldGFpbHMvODEzMTQ5NTlcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJlZGl0b3JcIiAjY29kZUVkaXRvcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjIwMHB4fS5lZGl0b3J7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXSxcbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjIuw6XCvMKVw6XChcKlw6TCvsKdw6jCtcKWw6bCnMKNw6XCisKhQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ09ERV9FRElUT1JfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgXVxufSlcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2IDwtPiBNb25hY28gRWR0b3JcblxuLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VNb25hY29FZGl0b3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCdtb2RlbCcpXG4gIHNldCBtb2RlbChtb2RlbDogQW5ndWxhckVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gIEBPdXRwdXQoKSBvbkJsdXJFZGl0b3JUZXh0O1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZlcmlmeVJlc3V0ID0gdHJ1ZTsgLy8gw6jCrsKww6XCvcKVw6fCvMKWw6jCvsKRw6XCmcKow6bCoMKhw6nCqsKMw6fCu8KTw6bCnsKcw6/CvMKMw6nCu8KYw6jCrsKkw6bCssKhw6bCnMKJw6nClMKZw6jCr8KvXG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJNb25hY29FZGl0b3JTZXJ2aWNlOiBBbmd1bGFyTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVkaXRvckV2ZW50U2VydmljZTogQ29kZUVkaXRvckV2ZW50U2VydmljZSxcbiAgICBASW5qZWN0KEFOR1VMQVJfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgYW5ndWxhckVkaXRvcmNvbmZpZzogQW5ndWxhck1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckV2ZW50U2VydmljZSwgYW5ndWxhckVkaXRvcmNvbmZpZyk7XG4gIH1cblxuICAvLyB0b2RvOiDDpsKPwpDDpcKPwpZvcHRpb25zw6XChcKsw6XChcKxw6fCscK7XG4gIHByb3RlY3RlZCBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZU1vZGVsID0gISFvcHRpb25zLm1vZGVsO1xuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgY29uc3Qgc2VhcmNoZWRNb2RlbCA9IG1vbmFjby5lZGl0b3IuZ2V0TW9kZWwob3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgaWYgKG51bGwgIT09IHNlYXJjaGVkTW9kZWwpIHtcbiAgICAgICAgc2VhcmNoZWRNb2RlbC5kaXNwb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbnMubW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKG9wdGlvbnMubW9kZWwudmFsdWUsIG9wdGlvbnMubW9kZWwubGFuZ3VhZ2UsIG9wdGlvbnMubW9kZWwudXJpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLl9lZGl0b3JDb21wb25lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWVuYWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVNb2RlbCkge1xuICAgICAgdGhpcy5oYW5kbGVNb2RlbE1hcmtlcnMoKTtcbiAgICB9XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHRoaXMub25DaGFuZ2VNb2RlbENvbnRlbnRIYW5kbGVyKGUpKTtcblxuICAgIHRoaXMuX2VkaXRvci5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHRoaXMub25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRMYXlvdXRDaGFuZ2UoKGU6IGFueSkgPT4gdGhpcy5vbkxheW91dENoYW5nZUhhbmRsZXIoZSkpO1xuXG4gICAgLy8gcmVmcmVzaCBsYXlvdXQgb24gcmVzaXplIGV2ZW50LlxuICAgIHRoaXMucmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKTtcblxuICAgIHRoaXMuZWRpdG9yRXZlbnRTZXJ2aWNlLmZpcmVFdmVudCh7XG4gICAgICBldmVudE5hbWU6IENPREVfRURJVE9SX0VWRU5UUy5vbkluaXQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvclxuICAgIH0pO1xuICB9XG5cblxuXG4gIGhhbmRsZU1vZGVsTWFya2VycygpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy8zMFxuICAgIGNvbnN0IHNldE1vZGVsTWFya2VycyA9IG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzO1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxNYXJrZXJzID0gZnVuY3Rpb24gKG1vZGVsLCBvd25lciwgbWFya2Vycykge1xuICAgICAgc2V0TW9kZWxNYXJrZXJzLmNhbGwobW9uYWNvLmVkaXRvciwgbW9kZWwsIG93bmVyLCBtYXJrZXJzKTtcbiAgICAgIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzZWxmLl92ZXJpZnlSZXN1dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBhcmUgZXJyb3JzXG4gICAgICAgIHNlbGYuX3ZlcmlmeVJlc3V0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWZyZXNoIGxheW91dCB3aGVuIHJlc2l6ZWQgdGhlIHdpbmRvd1xuICAgKi9cbiAgcmVmcmVzaExheW91dFdoZW5XaW5kb3dSZXNpemUoKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIGZyb21FdmVudMOnwpTCqMOkwrrCjsOlwoXCvMOlwpDCrMOkwrrCi8OkwrvCtsOvwrzCjMOkwrrCi8OkwrvCtsOowqfCpsOlwo/CkcOmwpfCtsOvwrzCjMOlwrDChsOkwrrCi8OkwrvCtmV2ZW50w6jCvcKsw6bCiMKQw6XCj8Kvw6bCtcKBw6XCisKow6fCmsKET2JzZXJ2YWJsZcOowr/Cm8OowqHCjMOkwrzCoMOowr7Ck1xuICAgIC8vIGh0dHBzOi8vd3d3LmppYW5zaHUuY29tL3AvNDY4OTRkZWI4NzBhXG4gICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2l6ZUV2ZW50SGFuZGxlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplRXZlbnRIYW5kbGVyKCkge1xuICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTsgLy8gcmVsYXlvdXRcbiAgfVxuXG4gIG9uQ2hhbmdlTW9kZWxDb250ZW50SGFuZGxlcihlKSB7XG4gICAgY29uc3QgX3ZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAvLyBtb25hY28gZWRpdG9yIC0+IG91dHNpZGUgY29tcG9uZW50XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0pUYW5nbWluZy90bS9pc3N1ZXMvNCBuZ1pvbmXDqMKvwqbDqMKnwqNcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMudmFsdWUgPSBfdmFsdWUpOyAvLyB2YWx1ZSBpcyBub3QgcHJvcGFnYXRlZCB0byBwYXJlbnQgd2hlbiBleGVjdXRpbmcgb3V0c2lkZSB6b25lLlxuICB9XG5cbiAgb25CbHVyRWRpdG9yVGV4dEhhbmRsZXIoKSB7XG5cbiAgICB0aGlzLm9uQ29udHJvbFRvdWNoZWQoKTtcblxuICAgIC8vIMOlwpDCkcOlwqTClsOlwo/CkcOlwrDChEJsdXJFZGl0b3JUZXh0w6TCusKLw6TCu8K2w6/CvMKMw6XCucK2w6TCvMKgw6nCgMKSw6XCj8KCw6bClcKwXG4gICAgdGhpcy5lZGl0b3JFdmVudFNlcnZpY2UuZmlyZUV2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogQ09ERV9FRElUT1JfRVZFTlRTLm9uQmx1ckVkaXRvclRleHQsXG4gICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICBlZGl0b3I6IHRoaXMuX2VkaXRvcixcbiAgICAgIGVkaXRvclN0YXRlOiB7XG4gICAgICAgIHZlcmlmeVJlc3V0OiB0aGlzLl92ZXJpZnlSZXN1dFxuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBvbkxheW91dENoYW5nZUhhbmRsZXIoZSkge1xuICAgIGNvbnNvbGUubG9nKCdMYXlvdXQgY2hhbmdlZDpcXG4nICsgZSk7XG4gIH1cblxuICAvLyBnZXQgYWNjZXNzb3JcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLy8gc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMudmFsdWUpIHsvLyDDpsKzwqjDpsKEwo/DqMK/wpnDp8Knwo3DpcKGwpnDpsKzwpXDr8K8wozDpcKAwrzDpcK+wpfDpcKtwqbDpMK5wqBcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ29udHJvbFZhbHVlQ2hhbmdlKHRoaXMudmFsdWUpOyAvLyDDpcKcwqjDpcKxwp7DpsKAwqfDpMK/wq7DqcKlwrDDpcKZwqjDqcKHwozDqMKwwoPDp8KUwqhvbkNvbnRyb2xWYWx1ZUNoYW5nZcOmwpbCucOmwrPClVxuICB9XG5cbiAgLy8gw6jCh8Kqw6XCrsKaw6TCucKJw6jCvsKTw6XChcKlw6bCjsKnw6TCu8K2OjMuMiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29cblxuICAvLyBvdXRzaWRlIGNvbXBvbmVudCAtPiBtb25hY28gZWRpdG9yXG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuXG4gICAgLy8gRml4IGZvciB2YWx1ZSBjaGFuZ2Ugd2hpbGUgZGlzcG9zZSBpbiBwcm9jZXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHNlbGYuX2VkaXRvciAvKiYmICF0aGlzLm9wdGlvbnMubW9kZWwqLykge1xuICAgICAgICBzZWxmLl9lZGl0b3Iuc2V0VmFsdWUoc2VsZi5fdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNvbnRyb2xWYWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Db250cm9sVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3LDpsKPwpDDpMK+wpvDp8KawoTDpMK6wovDpMK7wrbDpcKbwp7DqMKwwoNcbiAgb25Db250cm9sVmFsdWVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcsOmwo/CkMOkwr7Cm8OnwprChMOkwrrCi8OkwrvCtsOlwpvCnsOowrDCg1xuICBvbkNvbnRyb2xUb3VjaGVkID0gKCkgPT4ge1xuICB9XG5cbn1cbiIsImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBTkdVTEFSX01PTkFDT19FRElUT1JfQ09ORklHLCBBbmd1bGFyTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb25maWcnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci1tb25hY28tZWRpdG9yL2FuZ3VsYXItbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYW5ndWxhci1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFuZ3VsYXJNb25hY29FZGl0b3JDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQW5ndWxhck1vbmFjb0VkaXRvclNlcnZpY2VcbiAgXVxufSlcblxuLy8gaHR0cHM6Ly9hbmd1bGFyZmlyc3QuY29tL3RoZS1uZ21vZHVsZS1mb3Jyb290LWNvbnZlbnRpb24vXG5leHBvcnQgY2xhc3MgQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEFuZ3VsYXJNb25hY29FZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhck1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQU5HVUxBUl9NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH0sXG5cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsidHNsaWJfMS5fX2V4dGVuZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBSUEscUJBQWEsNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQUMsOEJBQThCLENBQUM7Ozs7OztBQ0o5RixxQkFBYSxrQkFBa0IsR0FBRztJQUM5QixNQUFNLEVBQUUsUUFBUTtJQUNoQixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDdkM7Ozs7OztBQ0hEOzswQkFRd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQzt1QkFDNUIsRUFBRTs7Ozs7Ozs7Ozs7SUFNekIseUNBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLO1FBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7O0tBRS9COzs7OztJQUVELDBDQUFTOzs7O0lBQVQsVUFBVSxLQUFLO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOztLQUU3Qzs7Z0JBakJKLFVBQVU7O2lDQU5YOzs7Ozs7O0FDQUEsQUFRQSxxQkFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLHFCQUFJLFdBQTBCLENBQUM7Ozs7O0lBb0M3QiwwQkFBb0Isc0JBQThDLEVBQVUsTUFBaUM7UUFBekYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQTJCOzRCQXpCdEYsU0FBUzs7UUEyQjlCLHFCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7O1lBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1lBQ3JDLHFCQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7S0FDSjswQkF6QkcscUNBQU87Ozs7UUFZWDtZQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN0Qjs7Ozs7a0JBZFcsT0FBWTs7WUFFdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUV2RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRW5ELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxQjs7Ozs7Ozs7SUFrQkgsMENBQWU7OztJQUFmO1FBQUEsaUJBc0NDO1FBckNDLElBQUksWUFBWSxFQUFFOztZQUVoQixXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNmLEtBQUksQ0FBQyxVQUFVLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQy9CLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBTyxVQUFDLE9BQVk7Z0JBQzNDLHFCQUFNLE9BQU8sR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7Ozs7O2dCQUtoRCxxQkFBTSxjQUFjLEdBQVE7O29CQUUxQixtQkFBTSxNQUFNLEdBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBSyxPQUFPLGVBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDMUUsbUJBQU0sTUFBTSxHQUFFLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUU7d0JBQy9DLElBQUksT0FBTyxLQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7NEJBQ2xELEtBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7eUJBQzVCO3dCQUNELEtBQUksQ0FBQyxVQUFVLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUM5QixPQUFPLEVBQUUsQ0FBQztxQkFDWCxDQUFDLENBQUM7aUJBQ0osQ0FBQzs7Z0JBR0YsSUFBSSxDQUFDLG1CQUFNLE1BQU0sR0FBRSxPQUFPLEVBQUU7b0JBQzFCLHFCQUFNLFlBQVksR0FBc0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekUsWUFBWSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEMsWUFBWSxDQUFDLEdBQUcsR0FBTSxPQUFPLHlCQUFzQixDQUFDO29CQUNwRCxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekM7cUJBQU07b0JBQ0wsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7S0FDRjs7Ozs7SUFLTyx5Q0FBYzs7OztjQUFDLE9BQVk7O1FBR2pDLE9BQU8sT0FBTyxDQUFDOzs7OztJQUdqQixzQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNsQyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDOUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztTQUMxQjtLQUNGOztxQ0E1RkEsU0FBUyxTQUFDLFlBQVk7MkJBR3RCLE1BQU07NEJBR04sS0FBSyxTQUFDLFNBQVM7OzJCQTVCbEI7Ozs7Ozs7QUNBQTs7OztnQkFNQyxVQUFVOztxQ0FOWDs7Ozs7Ozs7O0FDZ0JBLHFCQUFhLGdDQUFnQyxHQUFROztJQUVuRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLDRCQUE0QixHQUFBLENBQUM7SUFDM0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDOztJQWtCZ0RBLGdEQUFnQjs7SUFrQmhFLHNDQUFvQiwwQkFBc0QsRUFDaEUsTUFDQSxvQkFDc0M7UUFIaEQsWUFJRSxrQkFBTSxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxTQUMvQztRQUxtQixnQ0FBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ2hFLFVBQUksR0FBSixJQUFJO1FBQ0osd0JBQWtCLEdBQWxCLGtCQUFrQjtRQUNvQix5QkFBbUIsR0FBbkIsbUJBQW1CO3VCQVBsRCxFQUFFOzZCQUNJLElBQUk7O3FDQXdKSixVQUFDLENBQU07U0FDN0I7O2lDQUdrQjtTQUNsQjs7S0FySkE7MEJBcEJHLCtDQUFLOzs7OztrQkFBQyxLQUF5QjtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMvQjs7Ozs7Ozs7OztJQWtCTyxpREFBVTs7OztJQUFwQixVQUFxQixPQUFZO1FBQWpDLGlCQW9DQztRQW5DQyxxQkFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxXQUFXLEVBQUU7WUFDZixxQkFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRSxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUU7Z0JBQzFCLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN6QjtZQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzRztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVsRixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7O1FBR0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxVQUFDLENBQU0sSUFBSyxPQUFBLEtBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsR0FBQSxDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLHVCQUF1QixFQUFFLEdBQUEsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsVUFBQyxDQUFNLElBQUssT0FBQSxLQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUEsQ0FBQyxDQUFDOztRQUcxRSxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ2hDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1lBQ3BDLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3JCLENBQUMsQ0FBQztLQUNKOzs7O0lBSUQseURBQWtCOzs7SUFBbEI7UUFDRSxxQkFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDOztRQUVoQixxQkFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsVUFBVSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU87WUFDN0QsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDMUI7aUJBQU07O2dCQUVMLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQzNCO1NBQ0YsQ0FBQztLQUNIOzs7Ozs7OztJQUtELG9FQUE2Qjs7OztJQUE3QjtRQUFBLGlCQU9DO1FBTkMsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDbEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDOzs7UUFHRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxrQkFBa0IsRUFBRSxHQUFBLENBQUMsQ0FBQztLQUN6Rzs7OztJQUVPLHlEQUFrQjs7OztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDOzs7Ozs7SUFHeEIsa0VBQTJCOzs7O0lBQTNCLFVBQTRCLENBQUM7UUFBN0IsaUJBTUM7UUFMQyxxQkFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7O1FBSXZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBQSxDQUFDLENBQUM7S0FDMUM7Ozs7SUFFRCw4REFBdUI7OztJQUF2QjtRQUVFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDOztRQUd4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ2hDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxnQkFBZ0I7WUFDOUMsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsV0FBVyxFQUFFO2dCQUNYLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTthQUMvQjtTQUNGLENBQUMsQ0FBQztLQUVKOzs7OztJQUVELDREQUFxQjs7OztJQUFyQixVQUFzQixDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdEM7SUFHRCxzQkFBSSwrQ0FBSzs7Ozs7UUFBVDtZQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwQjs7Ozs7O1FBR0QsVUFBVSxDQUFNO1lBQ2QsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTs7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2pCO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2Qzs7O09BVEE7Ozs7Ozs7O0lBZ0JELGlEQUFVOzs7O0lBQVYsVUFBVyxLQUFVO1FBQ25CLHFCQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDOztRQUd6QixVQUFVLENBQUM7WUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLDZCQUE2QjtnQkFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7Ozs7OztJQUdELHVEQUFnQjs7OztJQUFoQixVQUFpQixFQUFPO1FBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7S0FDaEM7Ozs7OztJQUdELHdEQUFpQjs7OztJQUFqQixVQUFrQixFQUFPO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7S0FDNUI7O2dCQXBMRixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSwwQ0FBd0M7b0JBQ2xELE1BQU0sRUFBRSxDQUFDLHNFQUFzRSxDQUFDOztvQkFFaEYsU0FBUyxFQUFFO3dCQUNULGdDQUFnQzt3QkFDaEMsc0JBQXNCO3dCQUN0QiwwQkFBMEI7cUJBQzNCO2lCQUNGOzs7O2dCQXhCUSwwQkFBMEI7Z0JBVE4sTUFBTTtnQkFLMUIsc0JBQXNCO2dEQXNEMUIsTUFBTSxTQUFDLDRCQUE0Qjs7OzBCQW5CckMsS0FBSyxTQUFDLE9BQU87cUNBVWIsTUFBTTs7dUNBbkRUO0VBdUNrRCxnQkFBZ0I7Ozs7OztBQ3ZDbEU7Ozs7Ozs7SUF3QmdCLGlDQUFPOzs7O2NBQUMsTUFBc0M7UUFBdEMsdUJBQUEsRUFBQSxXQUFzQztRQUMxRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLDRCQUE0QjtvQkFDckMsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBRUY7U0FDRixDQUFDOzs7Z0JBM0JMLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNEJBQTRCO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsMEJBQTBCO3FCQUMzQjtpQkFDRjs7b0NBcEJEOzs7Ozs7Ozs7Ozs7Ozs7In0= |
{ | ||
"name": "angular-monaco-editor", | ||
"version": "1.9.0", | ||
"version": "1.10.0", | ||
"description": "To utilize the Monaco Code Editor as an Angular Component.", | ||
@@ -5,0 +5,0 @@ "author": "courage007 <wang_xufa@163.com>", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
395623