@resolveio/client-lib-core 15.1.3 → 15.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,6 +40,10 @@ export class SocketService {
40
40
  clearTimeout(this.timeout);
41
41
  }
42
42
  this.timeout = null;
43
+ this.ws.removeEventListener('open', this.onOpenHandler);
44
+ this.ws.removeEventListener('close', this.onCloseHandler);
45
+ this.ws.removeEventListener('message', this.onMessageHandler);
46
+ this.ws.removeEventListener('error', this.onErrorHandler);
43
47
  this.ws = null;
44
48
  this.readyState = WebSocket.CLOSED;
45
49
  this.readyState$.next(this.readyState);
@@ -209,4 +213,4 @@ SocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versio
209
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocketService, decorators: [{
210
214
  type: Injectable
211
215
  }], ctorParameters: function () { return [{ type: i1.LocalStorageService }]; } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLGFBQWE7SUFrQ3pCLFlBQW9CLFFBQTZCO1FBQTdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBakNqRCxzQ0FBc0M7UUFDL0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQix3REFBd0Q7UUFDakQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLG1FQUFtRTtRQUM1RCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsaUNBQWlDO1FBQ3pCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIscUJBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsNENBQTRDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMscUVBQXFFO1FBRXpHLDBDQUEwQztRQUNuQyxXQUFNLEdBQXdCLFVBQVUsS0FBWSxJQUFHLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQTZCLFVBQVUsS0FBaUIsSUFBRyxDQUFDLENBQUM7UUFDcEUsaUJBQVksR0FBZSxjQUFhLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQStCLFVBQVUsS0FBbUIsSUFBRyxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUE2QixVQUFV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QUUsQ0FBQztTQUNmO2FBQ0ksSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxVQUFVLEVBQUU7WUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2I7SUFDRixDQUFDO0lBRU0sZUFBZTtRQUNyQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO1NBQzlCO2FBQ0k7WUFDSixPQUFPLEtBQUssQ0FBQztTQUNiO0lBQ0YsQ0FBQztJQUVPLEdBQUcsQ0FBQyxHQUFHLElBQVc7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3JCO0lBQ0YsQ0FBQztJQUVPLHNCQUFzQjtRQUM3QixJQUFJLFFBQVEsQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2pCO1NBQ0Q7SUFDRixDQUFDO0lBRU8saUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7OzJHQWhQVyxhQUFhOytHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtbG9jYWxzdG9yYWdlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSB7XG5cdC8vVGhlc2UgY2FuIGJlIGFsdGVyZWQgYnkgY2FsbGluZyBjb2RlXG5cdHB1YmxpYyBkZWJ1ZyA9IGZhbHNlO1xuXG5cdC8vVGltZSB0byB3YWl0IGJlZm9yZSBhdHRlbXB0aW5nIHJlY29ubmVjdCAoYWZ0ZXIgY2xvc2UpXG5cdHB1YmxpYyByZWNvbm5lY3RJbnRlcnZhbCA9IDEwMDA7XG5cdFxuXHQvL1RpbWUgdG8gd2FpdCBmb3IgV2ViU29ja2V0IHRvIG9wZW4gKGJlZm9yZSBhYm9ydGluZyBhbmQgcmV0cnlpbmcpXG5cdHB1YmxpYyB0aW1lb3V0SW50ZXJ2YWwgPSA1MDAwO1xuXHRwcml2YXRlIHRpbWVvdXQgPSBudWxsO1xuXG5cdC8vU2hvdWxkIG9ubHkgYmUgdXNlZCB0byByZWFkIFdlYlNvY2tldCByZWFkeVN0YXRlXG5cdHB1YmxpYyByZWFkeVN0YXRlOiBudW1iZXI7XG5cdHB1YmxpYyByZWFkeVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cblx0Ly9MaXN0IG9mIFdlYlNvY2tldCBzdWItcHJvdG9jb2xzXG5cdHByaXZhdGUgcHJvdG9jb2xzOiBzdHJpbmdbXSA9IFtdO1xuXG5cdC8vVGhlIHVuZGVybHlpbmcgV2ViU29ja2V0XG5cdHB1YmxpYyB3czogV2ViU29ja2V0O1xuXHRwcml2YXRlIHVybDogc3RyaW5nO1xuXG5cdHByaXZhdGUgcGluZ0ludGVydmFsID0gbnVsbDtcbiAgICBwcml2YXRlIHBvbmdUaW1lb3V0ID0gbnVsbDtcbiAgICBwcml2YXRlIHBpbmdJbnRlcnZhbFRpbWUgPSAxNTAwMDsgLy8gVGltZSBiZXR3ZWVuIGVhY2ggcGluZyAoZS5nLiwgMzAgc2Vjb25kcylcbiAgICBwcml2YXRlIHBvbmdUaW1lb3V0VGltZSA9IDEyMDAwOyAvLyBUaW1lIHRvIHdhaXQgZm9yIHBvbmcgYmVmb3JlIGNsb3NpbmcgY29ubmVjdGlvbiAoZS5nLiwgMTAgc2Vjb25kcylcblxuXHQvL1NldCB1cCB0aGUgZGVmYXVsdCAnbm9vcCcgZXZlbnQgaGFuZGxlcnNcblx0cHVibGljIG9ub3BlbjogKGV2OiBFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25jbG9zZTogKGV2OiBDbG9zZUV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBDbG9zZUV2ZW50KSB7fTtcblx0cHVibGljIG9uY29ubmVjdGluZzogKCkgPT4gdm9pZCA9IGZ1bmN0aW9uICgpIHt9O1xuXHRwdWJsaWMgb25tZXNzYWdlOiAoZXY6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogTWVzc2FnZUV2ZW50KSB7fTtcblx0cHVibGljIG9uZXJyb3I6IChldjogRXJyb3JFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogRXJyb3JFdmVudCkge307XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfc3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLmhhbmRsZVZpc2liaWxpdHlDaGFuZ2UuYmluZCh0aGlzKSk7XG5cdH1cblxuXHRwdWJsaWMgb3BlblNvY2tldChlbnZpcm9ubWVudCwgcHJvdG9jb2xzKSB7XG5cdFx0dGhpcy51cmwgPSBlbnZpcm9ubWVudC5XU19VUkw7XG5cdFx0dGhpcy5wcm90b2NvbHMgPSBwcm90b2NvbHM7XG5cdFx0dGhpcy5jb25uZWN0KCk7XG5cdH1cblxuXHRwcml2YXRlIG9uT3BlbkhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7IFxuXHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdHRoaXMudGltZW91dCA9IG51bGw7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29ub3BlbicsIHRoaXMudXJsKTtcblx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuT1BFTjtcblx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHR0aGlzLm9ub3BlbihldmVudCk7XG5cblx0XHR0aGlzLnN0YXJ0UGluZ2luZygpO1xuXHR9O1xuXHRwcml2YXRlIG9uQ2xvc2VIYW5kbGVyID0gKGV2ZW50OiBDbG9zZUV2ZW50KSA9PiB7IFxuXHRcdGlmICh0aGlzLnRpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLnRpbWVvdXQgPSBudWxsO1xuXG5cdFx0dGhpcy53cyA9IG51bGw7XG5cblx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFxuXHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdvbmNsb3NlJywgdGhpcy51cmwpO1xuXHRcdHRoaXMub25jbG9zZShldmVudCk7XG5cblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuY29ubmVjdCgpO1xuXHRcdH0sIHRoaXMucmVjb25uZWN0SW50ZXJ2YWwpO1xuXG5cdFx0dGhpcy5zdG9wUGluZ2luZygpO1xuXHR9O1xuXHRwcml2YXRlIG9uTWVzc2FnZUhhbmRsZXIgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuXHRcdGlmIChldmVudC5kYXRhID09PSAncG9uZycpIHtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdwb25nIHJlY2VpdmVkJyk7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5wb25nVGltZW91dCk7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0bGV0IG1lc3NhZ2VEYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcblx0XHRcdG1lc3NhZ2VEYXRhID0gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKG1lc3NhZ2VEYXRhKTtcblx0XHRcdHRoaXMub25tZXNzYWdlKG1lc3NhZ2VEYXRhKTtcblx0XHR9XG5cdH07XG5cdHByaXZhdGUgb25FcnJvckhhbmRsZXIgPSAoZXZlbnQ6IEVycm9yRXZlbnQpID0+IHtcblx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnb25lcnJvcicsIHRoaXMsIGV2ZW50KTtcblx0XHR0aGlzLm9uZXJyb3IoZXZlbnQpO1xuXHRcdHRoaXMuY2xvc2UoKTtcblx0fTtcblxuXHRwcml2YXRlIGNvbm5lY3QoKSB7XG5cdFx0aWYgKCF0aGlzLndzICYmIHRoaXMuX3N0b3JhZ2UuZ2V0KCdhY2Nlc3NUb2tlbicpKSB7XG5cdFx0XHRpZiAodGhpcy50aW1lb3V0KSB7XG5cdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybCwgdGhpcy5wcm90b2NvbHMpO1xuXHRcdFx0XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcblx0XHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0dGhpcy5vbmNvbm5lY3RpbmcoKTtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdhdHRlbXB0LWNvbm5lY3QnLCB0aGlzLnVybCk7XG5cblx0XHRcdHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnY29ubmVjdGlvbi10aW1lb3V0JywgdGhpcy51cmwpO1xuXHRcdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0XHR9LCB0aGlzLnRpbWVvdXRJbnRlcnZhbCk7XG5cblx0XHRcdHRoaXMud3Mub25vcGVuID0gdGhpcy5vbk9wZW5IYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmNsb3NlID0gdGhpcy5vbkNsb3NlSGFuZGxlcjtcblx0XHRcdHRoaXMud3Mub25tZXNzYWdlID0gdGhpcy5vbk1lc3NhZ2VIYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmVycm9yID0gdGhpcy5vbkVycm9ySGFuZGxlcjtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUoZGF0YSkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG5cdFx0ICBcdHJldHVybiBkYXRhLm1hcChpdGVtID0+IHRoaXMuY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShpdGVtKSk7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuXHRcdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuXHRcdFx0a2V5cy5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRcdFx0ZGF0YVtrZXldID0gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGFba2V5XSk7XG5cdFx0XHR9KTtcblx0XHQgIFx0cmV0dXJuIGRhdGE7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdC8vIENoZWNrIGlmIHRoZSBzdHJpbmcgaXMgYW4gSVNPIGRhdGUgZm9ybWF0XG5cdFx0XHRjb25zdCBkYXRlUGF0dGVybiA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oPzpcXC5cXGQrKT9aJC87XG5cdFx0XHRpZiAoZGF0ZVBhdHRlcm4udGVzdChkYXRhKSkge1xuXHRcdFx0XHRyZXR1cm4gbmV3IERhdGUoZGF0YSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRwcml2YXRlIHN0YXJ0UGluZ2luZygpIHtcblx0XHR0aGlzLnBpbmdJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdFx0dGhpcy5zZW5kKCdwaW5nJyk7XG5cblx0XHRcdFx0dGhpcy5wb25nVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdwb25nIG5vdCByZWNlaXZlZCwgY2xvc2luZyBjb25uZWN0aW9uJyk7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdFx0XHR9LCB0aGlzLnBvbmdUaW1lb3V0VGltZSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdH1cblx0XHR9LCB0aGlzLnBpbmdJbnRlcnZhbFRpbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBzdG9wUGluZ2luZygpIHtcblx0XHRpZiAodGhpcy5waW5nSW50ZXJ2YWwpIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5waW5nSW50ZXJ2YWwpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAodGhpcy5wb25nVGltZW91dCkge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMucG9uZ1RpbWVvdXQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY29udmVydERhdGVzVG9VVEMob2JqKSB7XG5cdFx0Zm9yIChsZXQga2V5IGluIG9iaikge1xuXHRcdFx0aWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG5cdFx0XHRcdGlmIChvYmpba2V5XSBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0XHQvLyBDb252ZXJ0IERhdGUgdG8gVVRDIElTTyBTdHJpbmdcblx0XHRcdFx0XHRvYmpba2V5XSA9IG9ialtrZXldLnRvSVNPU3RyaW5nKCk7XG5cdFx0XHRcdH0gXG5cdFx0XHRcdGVsc2UgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gJ29iamVjdCcgJiYgb2JqW2tleV0gIT09IG51bGwpIHtcblx0XHRcdFx0XHQvLyBSZWN1cnNpdmVseSBsb29rIGZvciBEYXRlIG9iamVjdHMgd2l0aGluIGFycmF5cyBvciBuZXN0ZWQgb2JqZWN0c1xuXHRcdFx0XHRcdHRoaXMuY29udmVydERhdGVzVG9VVEMob2JqW2tleV0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIHNlbmQoLi4uZGF0YTogYW55W10pIHtcblx0XHRpZiAodGhpcy5pc1dlYlNvY2tldEFjdGl2ZSgpKSB7XG5cdFx0XHRkYXRhLmZvckVhY2goaXRlbSA9PiB0aGlzLmNvbnZlcnREYXRlc1RvVVRDKGl0ZW0pKTtcblx0XHRcdHRoaXMud3Muc2VuZChKU09OLnN0cmluZ2lmeShkYXRhKSk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IFxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ3NlbmQgZXJyb3InLCB0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgY2xvc2UoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMud3MpIHtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdjbG9zaW5nIHNvY2tldCcpO1xuXHRcdFx0dGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NJTkc7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdHRoaXMud3MuY2xvc2UoKTtcblx0XHRcdFxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyByZWNvbm5lY3QoKSB7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ3JlY29ubmVjdCcsIHRoaXMucmVhZHlTdGF0ZSk7XG5cdFx0aWYgKHRoaXMucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNMT1NFRCkge1xuXHRcdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRoaXMucmVhZHlTdGF0ZSAhPT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHtcblx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0QnVmZmVyQW1vdW50KCkge1xuXHRcdGlmICh0aGlzLndzKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy53cy5idWZmZXJlZEFtb3VudDtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRyZXR1cm4gMjA0ODA7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBsb2coLi4uYXJnczogYW55W10pIHtcblx0XHRpZiAodGhpcy5kZWJ1Zykge1xuXHRcdFx0Y29uc29sZS5sb2coLi4uYXJncyk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKCk6IHZvaWQge1xuXHRcdGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xuXHRcdFx0aWYgKCF0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGlzV2ViU29ja2V0QWN0aXZlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLndzICYmIHRoaXMud3MucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0Lk9QRU47XG5cdH1cbn1cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLGFBQWE7SUFrQ3pCLFlBQW9CLFFBQTZCO1FBQTdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBakNqRCxzQ0FBc0M7UUFDL0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQix3REFBd0Q7UUFDakQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLG1FQUFtRTtRQUM1RCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsaUNBQWlDO1FBQ3pCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIscUJBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsNENBQTRDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMscUVBQXFFO1FBRXpHLDBDQUEwQztRQUNuQyxXQUFNLEdBQXdCLFVBQVUsS0FBWSxJQUFHLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQTZCLFVBQVUsS0FBaUIsSUFBRyxDQUFDLENBQUM7UUFDcEUsaUJBQVksR0FBZSxjQUFhLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQStCLFVBQVUsS0FBbUIsSUFBRyxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUE2QixVQUFV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OzJHQXBQVyxhQUFhOytHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtbG9jYWxzdG9yYWdlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSB7XG5cdC8vVGhlc2UgY2FuIGJlIGFsdGVyZWQgYnkgY2FsbGluZyBjb2RlXG5cdHB1YmxpYyBkZWJ1ZyA9IGZhbHNlO1xuXG5cdC8vVGltZSB0byB3YWl0IGJlZm9yZSBhdHRlbXB0aW5nIHJlY29ubmVjdCAoYWZ0ZXIgY2xvc2UpXG5cdHB1YmxpYyByZWNvbm5lY3RJbnRlcnZhbCA9IDEwMDA7XG5cdFxuXHQvL1RpbWUgdG8gd2FpdCBmb3IgV2ViU29ja2V0IHRvIG9wZW4gKGJlZm9yZSBhYm9ydGluZyBhbmQgcmV0cnlpbmcpXG5cdHB1YmxpYyB0aW1lb3V0SW50ZXJ2YWwgPSA1MDAwO1xuXHRwcml2YXRlIHRpbWVvdXQgPSBudWxsO1xuXG5cdC8vU2hvdWxkIG9ubHkgYmUgdXNlZCB0byByZWFkIFdlYlNvY2tldCByZWFkeVN0YXRlXG5cdHB1YmxpYyByZWFkeVN0YXRlOiBudW1iZXI7XG5cdHB1YmxpYyByZWFkeVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cblx0Ly9MaXN0IG9mIFdlYlNvY2tldCBzdWItcHJvdG9jb2xzXG5cdHByaXZhdGUgcHJvdG9jb2xzOiBzdHJpbmdbXSA9IFtdO1xuXG5cdC8vVGhlIHVuZGVybHlpbmcgV2ViU29ja2V0XG5cdHB1YmxpYyB3czogV2ViU29ja2V0O1xuXHRwcml2YXRlIHVybDogc3RyaW5nO1xuXG5cdHByaXZhdGUgcGluZ0ludGVydmFsID0gbnVsbDtcbiAgICBwcml2YXRlIHBvbmdUaW1lb3V0ID0gbnVsbDtcbiAgICBwcml2YXRlIHBpbmdJbnRlcnZhbFRpbWUgPSAxNTAwMDsgLy8gVGltZSBiZXR3ZWVuIGVhY2ggcGluZyAoZS5nLiwgMzAgc2Vjb25kcylcbiAgICBwcml2YXRlIHBvbmdUaW1lb3V0VGltZSA9IDEyMDAwOyAvLyBUaW1lIHRvIHdhaXQgZm9yIHBvbmcgYmVmb3JlIGNsb3NpbmcgY29ubmVjdGlvbiAoZS5nLiwgMTAgc2Vjb25kcylcblxuXHQvL1NldCB1cCB0aGUgZGVmYXVsdCAnbm9vcCcgZXZlbnQgaGFuZGxlcnNcblx0cHVibGljIG9ub3BlbjogKGV2OiBFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25jbG9zZTogKGV2OiBDbG9zZUV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBDbG9zZUV2ZW50KSB7fTtcblx0cHVibGljIG9uY29ubmVjdGluZzogKCkgPT4gdm9pZCA9IGZ1bmN0aW9uICgpIHt9O1xuXHRwdWJsaWMgb25tZXNzYWdlOiAoZXY6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogTWVzc2FnZUV2ZW50KSB7fTtcblx0cHVibGljIG9uZXJyb3I6IChldjogRXJyb3JFdmVudCkgPT4gdm9pZCA9IGZ1bmN0aW9uIChldmVudDogRXJyb3JFdmVudCkge307XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfc3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLmhhbmRsZVZpc2liaWxpdHlDaGFuZ2UuYmluZCh0aGlzKSk7XG5cdH1cblxuXHRwdWJsaWMgb3BlblNvY2tldChlbnZpcm9ubWVudCwgcHJvdG9jb2xzKSB7XG5cdFx0dGhpcy51cmwgPSBlbnZpcm9ubWVudC5XU19VUkw7XG5cdFx0dGhpcy5wcm90b2NvbHMgPSBwcm90b2NvbHM7XG5cdFx0dGhpcy5jb25uZWN0KCk7XG5cdH1cblxuXHRwcml2YXRlIG9uT3BlbkhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7IFxuXHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdHRoaXMudGltZW91dCA9IG51bGw7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29ub3BlbicsIHRoaXMudXJsKTtcblx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuT1BFTjtcblx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHR0aGlzLm9ub3BlbihldmVudCk7XG5cblx0XHR0aGlzLnN0YXJ0UGluZ2luZygpO1xuXHR9O1xuXHRwcml2YXRlIG9uQ2xvc2VIYW5kbGVyID0gKGV2ZW50OiBDbG9zZUV2ZW50KSA9PiB7IFxuXHRcdGlmICh0aGlzLnRpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLnRpbWVvdXQgPSBudWxsO1xuXG5cdFx0dGhpcy53cy5yZW1vdmVFdmVudExpc3RlbmVyKCdvcGVuJywgdGhpcy5vbk9wZW5IYW5kbGVyKTtcblx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgdGhpcy5vbkNsb3NlSGFuZGxlcik7XG5cdFx0dGhpcy53cy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5vbk1lc3NhZ2VIYW5kbGVyKTtcblx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5vbkVycm9ySGFuZGxlcik7XG5cdFx0dGhpcy53cyA9IG51bGw7XG5cblx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFxuXHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdvbmNsb3NlJywgdGhpcy51cmwpO1xuXHRcdHRoaXMub25jbG9zZShldmVudCk7XG5cblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuY29ubmVjdCgpO1xuXHRcdH0sIHRoaXMucmVjb25uZWN0SW50ZXJ2YWwpO1xuXG5cdFx0dGhpcy5zdG9wUGluZ2luZygpO1xuXHR9O1xuXHRwcml2YXRlIG9uTWVzc2FnZUhhbmRsZXIgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuXHRcdGlmIChldmVudC5kYXRhID09PSAncG9uZycpIHtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdwb25nIHJlY2VpdmVkJyk7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5wb25nVGltZW91dCk7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0bGV0IG1lc3NhZ2VEYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcblx0XHRcdG1lc3NhZ2VEYXRhID0gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKG1lc3NhZ2VEYXRhKTtcblx0XHRcdHRoaXMub25tZXNzYWdlKG1lc3NhZ2VEYXRhKTtcblx0XHR9XG5cdH07XG5cdHByaXZhdGUgb25FcnJvckhhbmRsZXIgPSAoZXZlbnQ6IEVycm9yRXZlbnQpID0+IHtcblx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnb25lcnJvcicsIHRoaXMsIGV2ZW50KTtcblx0XHR0aGlzLm9uZXJyb3IoZXZlbnQpO1xuXHRcdHRoaXMuY2xvc2UoKTtcblx0fTtcblxuXHRwcml2YXRlIGNvbm5lY3QoKSB7XG5cdFx0aWYgKCF0aGlzLndzICYmIHRoaXMuX3N0b3JhZ2UuZ2V0KCdhY2Nlc3NUb2tlbicpKSB7XG5cdFx0XHRpZiAodGhpcy50aW1lb3V0KSB7XG5cdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybCwgdGhpcy5wcm90b2NvbHMpO1xuXHRcdFx0XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcblx0XHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0dGhpcy5vbmNvbm5lY3RpbmcoKTtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdhdHRlbXB0LWNvbm5lY3QnLCB0aGlzLnVybCk7XG5cblx0XHRcdHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnY29ubmVjdGlvbi10aW1lb3V0JywgdGhpcy51cmwpO1xuXHRcdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0XHR9LCB0aGlzLnRpbWVvdXRJbnRlcnZhbCk7XG5cblx0XHRcdHRoaXMud3Mub25vcGVuID0gdGhpcy5vbk9wZW5IYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmNsb3NlID0gdGhpcy5vbkNsb3NlSGFuZGxlcjtcblx0XHRcdHRoaXMud3Mub25tZXNzYWdlID0gdGhpcy5vbk1lc3NhZ2VIYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmVycm9yID0gdGhpcy5vbkVycm9ySGFuZGxlcjtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUoZGF0YSkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG5cdFx0ICBcdHJldHVybiBkYXRhLm1hcChpdGVtID0+IHRoaXMuY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShpdGVtKSk7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuXHRcdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuXHRcdFx0a2V5cy5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRcdFx0ZGF0YVtrZXldID0gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGFba2V5XSk7XG5cdFx0XHR9KTtcblx0XHQgIFx0cmV0dXJuIGRhdGE7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdC8vIENoZWNrIGlmIHRoZSBzdHJpbmcgaXMgYW4gSVNPIGRhdGUgZm9ybWF0XG5cdFx0XHRjb25zdCBkYXRlUGF0dGVybiA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oPzpcXC5cXGQrKT9aJC87XG5cdFx0XHRpZiAoZGF0ZVBhdHRlcm4udGVzdChkYXRhKSkge1xuXHRcdFx0XHRyZXR1cm4gbmV3IERhdGUoZGF0YSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRwcml2YXRlIHN0YXJ0UGluZ2luZygpIHtcblx0XHR0aGlzLnBpbmdJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdFx0dGhpcy5zZW5kKCdwaW5nJyk7XG5cblx0XHRcdFx0dGhpcy5wb25nVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdwb25nIG5vdCByZWNlaXZlZCwgY2xvc2luZyBjb25uZWN0aW9uJyk7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdFx0XHR9LCB0aGlzLnBvbmdUaW1lb3V0VGltZSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdH1cblx0XHR9LCB0aGlzLnBpbmdJbnRlcnZhbFRpbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBzdG9wUGluZ2luZygpIHtcblx0XHRpZiAodGhpcy5waW5nSW50ZXJ2YWwpIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5waW5nSW50ZXJ2YWwpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAodGhpcy5wb25nVGltZW91dCkge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMucG9uZ1RpbWVvdXQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY29udmVydERhdGVzVG9VVEMob2JqKSB7XG5cdFx0Zm9yIChsZXQga2V5IGluIG9iaikge1xuXHRcdFx0aWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG5cdFx0XHRcdGlmIChvYmpba2V5XSBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0XHQvLyBDb252ZXJ0IERhdGUgdG8gVVRDIElTTyBTdHJpbmdcblx0XHRcdFx0XHRvYmpba2V5XSA9IG9ialtrZXldLnRvSVNPU3RyaW5nKCk7XG5cdFx0XHRcdH0gXG5cdFx0XHRcdGVsc2UgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gJ29iamVjdCcgJiYgb2JqW2tleV0gIT09IG51bGwpIHtcblx0XHRcdFx0XHQvLyBSZWN1cnNpdmVseSBsb29rIGZvciBEYXRlIG9iamVjdHMgd2l0aGluIGFycmF5cyBvciBuZXN0ZWQgb2JqZWN0c1xuXHRcdFx0XHRcdHRoaXMuY29udmVydERhdGVzVG9VVEMob2JqW2tleV0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIHNlbmQoLi4uZGF0YTogYW55W10pIHtcblx0XHRpZiAodGhpcy5pc1dlYlNvY2tldEFjdGl2ZSgpKSB7XG5cdFx0XHRkYXRhLmZvckVhY2goaXRlbSA9PiB0aGlzLmNvbnZlcnREYXRlc1RvVVRDKGl0ZW0pKTtcblx0XHRcdHRoaXMud3Muc2VuZChKU09OLnN0cmluZ2lmeShkYXRhKSk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IFxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ3NlbmQgZXJyb3InLCB0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgY2xvc2UoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMud3MpIHtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdjbG9zaW5nIHNvY2tldCcpO1xuXHRcdFx0dGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NJTkc7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdHRoaXMud3MuY2xvc2UoKTtcblx0XHRcdFxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyByZWNvbm5lY3QoKSB7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ3JlY29ubmVjdCcsIHRoaXMucmVhZHlTdGF0ZSk7XG5cdFx0aWYgKHRoaXMucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNMT1NFRCkge1xuXHRcdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRoaXMucmVhZHlTdGF0ZSAhPT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHtcblx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0QnVmZmVyQW1vdW50KCkge1xuXHRcdGlmICh0aGlzLndzKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy53cy5idWZmZXJlZEFtb3VudDtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRyZXR1cm4gMjA0ODA7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBsb2coLi4uYXJnczogYW55W10pIHtcblx0XHRpZiAodGhpcy5kZWJ1Zykge1xuXHRcdFx0Y29uc29sZS5sb2coLi4uYXJncyk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKCk6IHZvaWQge1xuXHRcdGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xuXHRcdFx0aWYgKCF0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGlzV2ViU29ja2V0QWN0aXZlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLndzICYmIHRoaXMud3MucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0Lk9QRU47XG5cdH1cbn1cbiJdfQ==
@@ -313,6 +313,10 @@ class SocketService {
313
313
  clearTimeout(this.timeout);
314
314
  }
315
315
  this.timeout = null;
316
+ this.ws.removeEventListener('open', this.onOpenHandler);
317
+ this.ws.removeEventListener('close', this.onCloseHandler);
318
+ this.ws.removeEventListener('message', this.onMessageHandler);
319
+ this.ws.removeEventListener('error', this.onErrorHandler);
316
320
  this.ws = null;
317
321
  this.readyState = WebSocket.CLOSED;
318
322
  this.readyState$.next(this.readyState);