Socket
Socket
Sign inDemoInstall

ngx-printer

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-printer - npm Package Compare versions

Comparing version 0.3.1 to 0.3.2

CHANGELOG.md

11

bundles/ngx-printer.umd.js

@@ -5,6 +5,7 @@ (function (global, factory) {

(global = global || self, factory(global['ngx-printer'] = {}, global.ng.core, global.rxjs));
}(this, function (exports, core, rxjs) { 'use strict';
}(this, (function (exports, core, rxjs) { 'use strict';
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -166,2 +167,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-service-config.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -208,2 +210,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -668,2 +671,3 @@ */

document.body.removeChild(this.openNgxPrinter);
this.openNgxPrinter = null;
}

@@ -858,2 +862,3 @@ };

* @fileoverview added by tsickle
* Generated from: lib/print-item.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -892,2 +897,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-item.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -966,2 +972,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -1006,3 +1013,3 @@ */

}));
})));
//# sourceMappingURL=ngx-printer.umd.js.map

2

bundles/ngx-printer.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("ngx-printer",["exports","@angular/core","rxjs"],t):t((e=e||self)["ngx-printer"]={},e.ng.core,e.rxjs)}(this,function(e,t,n){"use strict";var i=function(){function e(e,n){this.elementRef=e,this.renderer=n,this._renderClass="default",this._imgSrc="default",this.completed=new t.EventEmitter}return Object.defineProperty(e.prototype,"renderClass",{get:function(){return this._renderClass},set:function(e){this._renderClass=e,this.setCustomClass()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"imgSrc",{get:function(){return this._imgSrc},set:function(e){this._imgSrc=e,this.addImage(this._imgSrc)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.prototype.setCustomClass=function(){var e=this.elementRef.nativeElement;this.renderer.removeClass(e,"default"),this.renderer.addClass(e,this._renderClass)},e.prototype.addImage=function(e){var t=this,n=this.elementRef.nativeElement,i=this.renderer.createElement("img");this.renderer.setAttribute(i,"src",e),this.renderer.listen(i,"load",function(e){console.log("loading completed",e),t.completed.emit(!0)}),this.renderer.appendChild(n,i)},e.decorators=[{type:t.Component,args:[{selector:"ngx-printer",template:"\n <ng-content></ng-content>\n ",styles:[":host.default{background-color:#fff;height:100%;width:100%;position:fixed;top:0;left:0;margin:0;z-index:1000000}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={completed:[{type:t.Output}]},e}();var r=function(){this.printOpenWindow=!0,this.timeToWaitRender=200};var o=function(){function e(e,t,i){this.resolver=t,this.injector=i,this.printWindowOpen=new n.BehaviorSubject(!1),this._printItems=new n.BehaviorSubject([]),this.$printItems=this._printItems.asObservable(),this.timeToWaitRender=200,this.renderClass="default",this.printOpenWindow=!0,this.$printWindowOpen=this.printWindowOpen.asObservable(),this.eventadded=[],this.setRootConfigOptions(e)}return e.prototype.setRootConfigOptions=function(e){e&&(e.printOpenWindow&&(this.printOpenWindow=e.printOpenWindow),e.timeToWaitRender&&(this.timeToWaitRender=e.timeToWaitRender),e.renderClass&&(this.renderClass=e.renderClass))},e.prototype.printDiv=function(e){var t=document.getElementById(e);t?this.print(t,this.printOpenWindow):console.log("div with id ${divID} not found..")},e.prototype.printByClassName=function(e){var t=document.getElementsByClassName(e);t&&t.length>0?this.print(t[0],this.printOpenWindow):console.log("element with id ${className} not found..")},e.prototype.printAngular=function(e){var t=this.createComponent(e);this.print(t.nativeElement,this.printOpenWindow)},e.prototype.printImg=function(e){var t=this,n=this.createComponent(null,e),i=this.printOpenWindow;n.instance.completed.subscribe(function(e){n.hostView.detectChanges(),console.log("completed:",e),t.print(n.location.nativeElement,i)})},e.prototype.printHTMLElement=function(e){this.print(e,this.printOpenWindow)},e.prototype.createComponent=function(e,t){var n,r=this.resolver.resolveComponentFactory(i);if(e){var o=this.resolveNgContent(e);n=r.create(this.injector,o)}else n=r.create(this.injector);return n.instance.renderClass=this.renderClass,t?(n.instance.imgSrc=t,n):(n.hostView.detectChanges(),n.location)},e.prototype.print=function(e,t){if(!0===t){var n=e.cloneNode(!0);this.printInNewWindow(n)}if(!1===t){n=e.cloneNode(!0);var i=this.createComponent(n).nativeElement;this.openNgxPrinter=i,document.body.appendChild(this.openNgxPrinter),this.printCurrentWindow()}},e.prototype.printInNewWindow=function(e){var t=this,n=window.open("","PRINT"),i=document.title;n.document.write("<HTML><HEAD><TITLE>"+i+"</TITLE></HEAD><BODY></BODY></HTML>");var r=n.document;r.body.style.margin="0 0",r.body.appendChild(e),n.document.close(),setTimeout(function(){return t.printTabWindow(n,r)},this.timeToWaitRender)},e.prototype.printTabWindow=function(e,t){this.registerPrintEvent(e,!0),this.printWindowOpen.next(!0),e.focus(),!1===t.execCommand("print")&&e.print()},e.prototype.printCurrentWindow=function(){var e=this;this.registerPrintEvent(window,!1),setTimeout(function(){e.printWindowOpen.next(!0),!1===document.execCommand("print")&&window.print()},this.timeToWaitRender)},e.prototype.registerPrintEvent=function(e,t){var n=this,i=this;e.focus(),i.eventadded[e.name]||e.addEventListener("afterprint",function(){n.eventadded[e.name]=!0,t&&(i.eventadded[e.name]=!1),i.cleanUp(e,t),i.printWindowOpen.next(!1)})},e.prototype.cleanUp=function(e,t){if(!0===t&&(console.log("close print window"),e.close(),setTimeout(function(){e.close()},20)),!1===t){if(!this.openNgxPrinter)return;if(0===document.body.getElementsByTagName("ngx-printer").length)return;document.body.removeChild(this.openNgxPrinter)}},e.prototype.resolveNgContent=function(e){if("string"==typeof e)return[[document.createTextNode(e)]];if(e instanceof t.TemplateRef)return[e.createEmbeddedView(null).rootNodes];if(e instanceof HTMLElement)return[[e]];var n=this.resolver.resolveComponentFactory(e).create(this.injector);return n.changeDetectorRef.detectChanges(),[[n.location.nativeElement]]},e.prototype.addPrintItem=function(e){var t=this._printItems.getValue();t.push(e),this._printItems.next(t)},e.prototype.removePrintItem=function(e){var t=this._printItems.getValue().filter(function(t){return t.id!==e});this._printItems.next(t)},e.prototype.printPrintItem=function(e){this.printHTMLElement(e.nativeElement)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:r,decorators:[{type:t.Optional}]},{type:t.ComponentFactoryResolver},{type:t.Injector}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(r,8),t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.INJECTOR))},token:e,providedIn:"root"}),e}();var s=function(){};var p=function(){function e(e,t){this.el=e,this.printerService=t}return e.prototype.ngOnInit=function(){if(this.el.nativeElement.id){var e=new s;e.id=this.el.nativeElement.id,e.nativeElement=this.el.nativeElement,this.printerService.addPrintItem(e)}},e.prototype.ngOnDestroy=function(){this.el.nativeElement.id&&this.printerService.removePrintItem(this.el.nativeElement.id)},e.decorators=[{type:t.Directive,args:[{selector:"[ngxPrintItem]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:o}]},e.propDecorators={printName:[{type:t.Input}]},e}();var a=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:r,useValue:t}]}},e.decorators=[{type:t.NgModule,args:[{declarations:[i,p],imports:[],exports:[i,p],entryComponents:[i]}]}],e}();e.NgxPrinterComponent=i,e.NgxPrinterModule=a,e.NgxPrinterService=o,e.PrintItem=s,e.PrintItemDirective=p,e.PrintServiceConfig=r,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("ngx-printer",["exports","@angular/core","rxjs"],t):t((e=e||self)["ngx-printer"]={},e.ng.core,e.rxjs)}(this,(function(e,t,n){"use strict";var i=function(){function e(e,n){this.elementRef=e,this.renderer=n,this._renderClass="default",this._imgSrc="default",this.completed=new t.EventEmitter}return Object.defineProperty(e.prototype,"renderClass",{get:function(){return this._renderClass},set:function(e){this._renderClass=e,this.setCustomClass()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"imgSrc",{get:function(){return this._imgSrc},set:function(e){this._imgSrc=e,this.addImage(this._imgSrc)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.prototype.setCustomClass=function(){var e=this.elementRef.nativeElement;this.renderer.removeClass(e,"default"),this.renderer.addClass(e,this._renderClass)},e.prototype.addImage=function(e){var t=this,n=this.elementRef.nativeElement,i=this.renderer.createElement("img");this.renderer.setAttribute(i,"src",e),this.renderer.listen(i,"load",(function(e){console.log("loading completed",e),t.completed.emit(!0)})),this.renderer.appendChild(n,i)},e.decorators=[{type:t.Component,args:[{selector:"ngx-printer",template:"\n <ng-content></ng-content>\n ",styles:[":host.default{background-color:#fff;height:100%;width:100%;position:fixed;top:0;left:0;margin:0;z-index:1000000}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={completed:[{type:t.Output}]},e}();var r=function(){this.printOpenWindow=!0,this.timeToWaitRender=200};var o=function(){function e(e,t,i){this.resolver=t,this.injector=i,this.printWindowOpen=new n.BehaviorSubject(!1),this._printItems=new n.BehaviorSubject([]),this.$printItems=this._printItems.asObservable(),this.timeToWaitRender=200,this.renderClass="default",this.printOpenWindow=!0,this.$printWindowOpen=this.printWindowOpen.asObservable(),this.eventadded=[],this.setRootConfigOptions(e)}return e.prototype.setRootConfigOptions=function(e){e&&(e.printOpenWindow&&(this.printOpenWindow=e.printOpenWindow),e.timeToWaitRender&&(this.timeToWaitRender=e.timeToWaitRender),e.renderClass&&(this.renderClass=e.renderClass))},e.prototype.printDiv=function(e){var t=document.getElementById(e);t?this.print(t,this.printOpenWindow):console.log("div with id ${divID} not found..")},e.prototype.printByClassName=function(e){var t=document.getElementsByClassName(e);t&&t.length>0?this.print(t[0],this.printOpenWindow):console.log("element with id ${className} not found..")},e.prototype.printAngular=function(e){var t=this.createComponent(e);this.print(t.nativeElement,this.printOpenWindow)},e.prototype.printImg=function(e){var t=this,n=this.createComponent(null,e),i=this.printOpenWindow;n.instance.completed.subscribe((function(e){n.hostView.detectChanges(),console.log("completed:",e),t.print(n.location.nativeElement,i)}))},e.prototype.printHTMLElement=function(e){this.print(e,this.printOpenWindow)},e.prototype.createComponent=function(e,t){var n,r=this.resolver.resolveComponentFactory(i);if(e){var o=this.resolveNgContent(e);n=r.create(this.injector,o)}else n=r.create(this.injector);return n.instance.renderClass=this.renderClass,t?(n.instance.imgSrc=t,n):(n.hostView.detectChanges(),n.location)},e.prototype.print=function(e,t){if(!0===t){var n=e.cloneNode(!0);this.printInNewWindow(n)}if(!1===t){n=e.cloneNode(!0);var i=this.createComponent(n).nativeElement;this.openNgxPrinter=i,document.body.appendChild(this.openNgxPrinter),this.printCurrentWindow()}},e.prototype.printInNewWindow=function(e){var t=this,n=window.open("","PRINT"),i=document.title;n.document.write("<HTML><HEAD><TITLE>"+i+"</TITLE></HEAD><BODY></BODY></HTML>");var r=n.document;r.body.style.margin="0 0",r.body.appendChild(e),n.document.close(),setTimeout((function(){return t.printTabWindow(n,r)}),this.timeToWaitRender)},e.prototype.printTabWindow=function(e,t){this.registerPrintEvent(e,!0),this.printWindowOpen.next(!0),e.focus(),!1===t.execCommand("print")&&e.print()},e.prototype.printCurrentWindow=function(){var e=this;this.registerPrintEvent(window,!1),setTimeout((function(){e.printWindowOpen.next(!0),!1===document.execCommand("print")&&window.print()}),this.timeToWaitRender)},e.prototype.registerPrintEvent=function(e,t){var n=this,i=this;e.focus(),i.eventadded[e.name]||e.addEventListener("afterprint",(function(){n.eventadded[e.name]=!0,t&&(i.eventadded[e.name]=!1),i.cleanUp(e,t),i.printWindowOpen.next(!1)}))},e.prototype.cleanUp=function(e,t){if(!0===t&&(console.log("close print window"),e.close(),setTimeout((function(){e.close()}),20)),!1===t){if(!this.openNgxPrinter)return;if(0===document.body.getElementsByTagName("ngx-printer").length)return;document.body.removeChild(this.openNgxPrinter),this.openNgxPrinter=null}},e.prototype.resolveNgContent=function(e){if("string"==typeof e)return[[document.createTextNode(e)]];if(e instanceof t.TemplateRef)return[e.createEmbeddedView(null).rootNodes];if(e instanceof HTMLElement)return[[e]];var n=this.resolver.resolveComponentFactory(e).create(this.injector);return n.changeDetectorRef.detectChanges(),[[n.location.nativeElement]]},e.prototype.addPrintItem=function(e){var t=this._printItems.getValue();t.push(e),this._printItems.next(t)},e.prototype.removePrintItem=function(e){var t=this._printItems.getValue().filter((function(t){return t.id!==e}));this._printItems.next(t)},e.prototype.printPrintItem=function(e){this.printHTMLElement(e.nativeElement)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:r,decorators:[{type:t.Optional}]},{type:t.ComponentFactoryResolver},{type:t.Injector}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(r,8),t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.INJECTOR))},token:e,providedIn:"root"}),e}();var s=function(){};var p=function(){function e(e,t){this.el=e,this.printerService=t}return e.prototype.ngOnInit=function(){if(this.el.nativeElement.id){var e=new s;e.id=this.el.nativeElement.id,e.nativeElement=this.el.nativeElement,this.printerService.addPrintItem(e)}},e.prototype.ngOnDestroy=function(){this.el.nativeElement.id&&this.printerService.removePrintItem(this.el.nativeElement.id)},e.decorators=[{type:t.Directive,args:[{selector:"[ngxPrintItem]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:o}]},e.propDecorators={printName:[{type:t.Input}]},e}();var a=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:r,useValue:t}]}},e.decorators=[{type:t.NgModule,args:[{declarations:[i,p],imports:[],exports:[i,p],entryComponents:[i]}]}],e}();e.NgxPrinterComponent=i,e.NgxPrinterModule=a,e.NgxPrinterService=o,e.PrintItem=s,e.PrintItemDirective=p,e.PrintServiceConfig=r,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-printer.umd.min.js.map
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -132,2 +133,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQzs7OztBQVl2QixNQUFNLE9BQU8sbUJBQW1COzs7OztJQXlCOUIsWUFBb0IsVUFBc0IsRUFBVSxRQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXZCL0QsaUJBQVksR0FBRyxTQUFTLENBQUM7Ozs7UUFZekIsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQVNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV3QixDQUFDOzs7O0lBdEIzRSxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBQ0QsSUFBVyxXQUFXLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQU1ELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUNELElBQVcsTUFBTSxDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OztJQU1ELFFBQVEsS0FBSSxDQUFDOzs7Ozs7SUFLTCxjQUFjOztjQUNkLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFFaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7Ozs7OztJQU1PLFFBQVEsQ0FBQyxNQUFjOztjQUN2QixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhOztjQUUxQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU07Ozs7UUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7O1lBOURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOztHQUVUOzthQUVGOzs7O1lBZEMsVUFBVTtZQURWLFNBQVM7Ozt3QkF1Q1IsTUFBTTs7Ozs7OztJQXJCUCwyQ0FBaUM7Ozs7OztJQVlqQyxzQ0FBNEI7O0lBUzVCLHdDQUFrRDs7Ozs7SUFFdEMseUNBQThCOzs7OztJQUFFLHVDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHVzZWQgdG8gcmVuZGVyIGNvbnRlbnQgd2hlbiBwcmludGVkIHRvIGN1cnJlbnQgd2luZG93XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25neC1wcmludGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmd4LXByaW50ZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hQcmludGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHJpdmF0ZSBfcmVuZGVyQ2xhc3MgPSAnZGVmYXVsdCc7XHJcbiAgcHVibGljIGdldCByZW5kZXJDbGFzcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZW5kZXJDbGFzcztcclxuICB9XHJcbiAgcHVibGljIHNldCByZW5kZXJDbGFzcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcmVuZGVyQ2xhc3MgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0Q3VzdG9tQ2xhc3MoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgc2luZ2xlIGltYWdlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW1nU3JjID0gJ2RlZmF1bHQnO1xyXG4gIHB1YmxpYyBnZXQgaW1nU3JjKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ltZ1NyYztcclxuICB9XHJcbiAgcHVibGljIHNldCBpbWdTcmModmFsdWUpIHtcclxuICAgIHRoaXMuX2ltZ1NyYyA9IHZhbHVlO1xyXG4gICAgdGhpcy5hZGRJbWFnZSh0aGlzLl9pbWdTcmMpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQXR0YWNoIGN1c3RvbSBjbGFzcyB0byBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRDdXN0b21DbGFzcygpIHtcclxuICAgIGNvbnN0IG5hdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdEVsZW1lbnQsICdkZWZhdWx0Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5hdEVsZW1lbnQsIHRoaXMuX3JlbmRlckNsYXNzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBjdXN0b20gaW1hZ2VcclxuICAgKiBAcGFyYW0gc291cmNlIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkSW1hZ2Uoc291cmNlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG5hdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICBjb25zdCBuZXdJbWdFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpbWcnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5ld0ltZ0VsZW1lbnQsICdzcmMnLCBzb3VyY2UpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5ld0ltZ0VsZW1lbnQsICdsb2FkJywgKGV2dCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnbG9hZGluZyBjb21wbGV0ZWQnLCBldnQpO1xyXG4gICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KHRydWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChuYXRFbGVtZW50LCBuZXdJbWdFbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7Ozs7QUFZdkIsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7SUF5QjlCLFlBQW9CLFVBQXNCLEVBQVUsUUFBbUI7UUFBbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF2Qi9ELGlCQUFZLEdBQUcsU0FBUyxDQUFDOzs7O1FBWXpCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFTbEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFd0IsQ0FBQzs7OztJQXRCM0UsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDOzs7OztJQUNELElBQVcsV0FBVyxDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFNRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFDRCxJQUFXLE1BQU0sQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7SUFNRCxRQUFRLEtBQUksQ0FBQzs7Ozs7O0lBS0wsY0FBYzs7Y0FDZCxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1FBRWhELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7Ozs7SUFNTyxRQUFRLENBQUMsTUFBYzs7Y0FDdkIsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTs7Y0FFMUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNOzs7O1FBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRTs7R0FFVDs7YUFFRjs7OztZQWRDLFVBQVU7WUFEVixTQUFTOzs7d0JBdUNSLE1BQU07Ozs7Ozs7SUFyQlAsMkNBQWlDOzs7Ozs7SUFZakMsc0NBQTRCOztJQVM1Qix3Q0FBa0Q7Ozs7O0lBRXRDLHlDQUE4Qjs7Ozs7SUFBRSx1Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB1c2VkIHRvIHJlbmRlciBjb250ZW50IHdoZW4gcHJpbnRlZCB0byBjdXJyZW50IHdpbmRvd1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZ3gtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL25neC1wcmludGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHByaXZhdGUgX3JlbmRlckNsYXNzID0gJ2RlZmF1bHQnO1xyXG4gIHB1YmxpYyBnZXQgcmVuZGVyQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyQ2xhc3M7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcmVuZGVyQ2xhc3ModmFsdWUpIHtcclxuICAgIHRoaXMuX3JlbmRlckNsYXNzID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldEN1c3RvbUNsYXNzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IHNpbmdsZSBpbWFnZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2ltZ1NyYyA9ICdkZWZhdWx0JztcclxuICBwdWJsaWMgZ2V0IGltZ1NyYygpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbWdTcmM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaW1nU3JjKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9pbWdTcmMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYWRkSW1hZ2UodGhpcy5faW1nU3JjKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dGFjaCBjdXN0b20gY2xhc3MgdG8gZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Q3VzdG9tQ2xhc3MoKSB7XHJcbiAgICBjb25zdCBuYXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRFbGVtZW50LCAnZGVmYXVsdCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuYXRFbGVtZW50LCB0aGlzLl9yZW5kZXJDbGFzcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgY3VzdG9tIGltYWdlXHJcbiAgICogQHBhcmFtIHNvdXJjZSBcclxuICAgKi9cclxuICBwcml2YXRlIGFkZEltYWdlKHNvdXJjZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBuYXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgY29uc3QgbmV3SW1nRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShuZXdJbWdFbGVtZW50LCAnc3JjJywgc291cmNlKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihuZXdJbWdFbGVtZW50LCAnbG9hZCcsIChldnQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coJ2xvYWRpbmcgY29tcGxldGVkJywgZXZ0KTtcclxuICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCh0cnVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0RWxlbWVudCwgbmV3SW1nRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -29,2 +30,2 @@ */

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVE1RCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTBCO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMvRCxDQUFDO0lBQ0osQ0FBQzs7O1lBWkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO2dCQUN2RCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztnQkFDbEQsZUFBZSxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4UHJpbnRlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LXByaW50ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByaW50U2VydmljZUNvbmZpZyB9IGZyb20gJy4vcHJpbnQtc2VydmljZS1jb25maWcnO1xuaW1wb3J0IHsgUHJpbnRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9wcmludC1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05neFByaW50ZXJDb21wb25lbnQsIFByaW50SXRlbURpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbTmd4UHJpbnRlckNvbXBvbmVudCwgUHJpbnRJdGVtRGlyZWN0aXZlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbTmd4UHJpbnRlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUHJpbnRTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hQcmludGVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQcmludFNlcnZpY2VDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfV1cbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFRNUQsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUEwQjtRQUN2QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDL0QsQ0FBQztJQUNKLENBQUM7OztZQVpGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztnQkFDdkQsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2xELGVBQWUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFByaW50ZXJDb21wb25lbnQgfSBmcm9tICcuL25neC1wcmludGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2VDb25maWcgfSBmcm9tICcuL3ByaW50LXNlcnZpY2UtY29uZmlnJztcbmltcG9ydCB7IFByaW50SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcHJpbnQtaXRlbS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3hQcmludGVyQ29tcG9uZW50LCBQcmludEl0ZW1EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW05neFByaW50ZXJDb21wb25lbnQsIFByaW50SXRlbURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW05neFByaW50ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5neFByaW50ZXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IFByaW50U2VydmljZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4UHJpbnRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUHJpbnRTZXJ2aWNlQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -326,2 +327,3 @@ */

document.body.removeChild(this.openNgxPrinter);
this.openNgxPrinter = null;
}

@@ -464,2 +466,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL25neC1wcmludGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVU1RCxNQUFNLE9BQU8saUJBQWlCOzs7Ozs7SUErQjVCLFlBQ2MsTUFBMEIsRUFDOUIsUUFBa0MsRUFDbEMsUUFBa0I7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpDcEIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQzs7OztRQUt0RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Ozs7UUFROUMscUJBQWdCLEdBQUcsR0FBRyxDQUFDOzs7O1FBS3ZCLGdCQUFXLEdBQUcsU0FBUyxDQUFDOzs7OztRQU14QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFPZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7OztJQU1PLG9CQUFvQixDQUFDLE1BQTBCO1FBQ3JELElB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ZSxDQUFDLGdCQUF3Qjs7Y0FDdkMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFOztjQUN0QyxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU07Ozs7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssZ0JBQWdCLEVBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Ozs7O0lBTU0sY0FBYyxDQUFDLGdCQUEyQjtRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7O1lBeFZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVRRLGtCQUFrQix1QkEwQ3RCLFFBQVE7WUFqRFgsd0JBQXdCO1lBQ3hCLFFBQVE7Ozs7Ozs7O0lBaUJSLDRDQUE4RDs7Ozs7O0lBSzlELHdDQUEyRDs7SUFDM0Qsd0NBQThDOzs7OztJQUU5QywyQ0FBb0M7Ozs7OztJQU1wQyw2Q0FBdUI7Ozs7O0lBS3ZCLHdDQUF3Qjs7Ozs7O0lBTXhCLDRDQUF1Qjs7SUFFdkIsNkNBQXVEOztJQUN2RCx1Q0FBZ0I7Ozs7O0lBSWQscUNBQTBDOzs7OztJQUMxQyxxQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmludEl0ZW0gfSBmcm9tICcuL3ByaW50LWl0ZW0nO1xyXG5pbXBvcnQge1xyXG4gIEluamVjdGFibGUsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4UHJpbnRlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LXByaW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZUNvbmZpZyB9IGZyb20gJy4vcHJpbnQtc2VydmljZS1jb25maWcnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29udGVudDxUPiA9IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgVGVtcGxhdGVSZWY8VD4gfCBUeXBlPFQ+O1xyXG5cclxuLyoqXHJcbiAqIE1haW4gcHJpbnQgc2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJpbnRXaW5kb3dPcGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByaW50SXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByaW50SXRlbVtdPihbXSk7XHJcbiAgJHByaW50SXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIG9wZW5OZ3hQcmludGVyOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2FpdCB0aW1lIHRvIHJlbmRlciBiZWZvcmUgb3BlbiBwcmludCBkaWFsb2cgaW4gbXNcclxuICAgKiBEZWZhdWx0IGlzIDIwMFxyXG4gICAqL1xyXG4gIHRpbWVUb1dhaXRSZW5kZXIgPSAyMDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIHVzZWQgaW4gY29tcG9uZW50IHdoZW4gcHJpbnRpbmcgdG8gY3VycmVudCB3aW5kb3dcclxuICAgKi9cclxuICByZW5kZXJDbGFzcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBuZXcgd2luZG93IHRvIHByaW50IG9yIG5vdFxyXG4gICAqIERlZmF1bHQgaXMgdHJ1ZVxyXG4gICAqL1xyXG4gIHByaW50T3BlbldpbmRvdyA9IHRydWU7XHJcblxyXG4gICRwcmludFdpbmRvd09wZW4gPSB0aGlzLnByaW50V2luZG93T3Blbi5hc09ic2VydmFibGUoKTtcclxuICBldmVudGFkZGVkID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnOiBQcmludFNlcnZpY2VDb25maWcsXHJcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRSb290Q29uZmlnT3B0aW9ucyhjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGNvbmZpZyBmcm9tIGZvclJvb3RcclxuICAgKiBAcGFyYW0gY29uZmlnXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRSb290Q29uZmlnT3B0aW9ucyhjb25maWc6IFByaW50U2VydmljZUNvbmZpZykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICBpZiAoY29uZmlnLnByaW50T3BlbldpbmRvdykge1xyXG4gICAgICAgIHRoaXMucHJpbnRPcGVuV2luZG93ID0gY29uZmlnLnByaW50T3BlbldpbmRvdztcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29uZmlnLnRpbWVUb1dhaXRSZW5kZXIpIHtcclxuICAgICAgICB0aGlzLnRpbWVUb1dhaXRSZW5kZXIgPSBjb25maWcudGltZVRvV2FpdFJlbmRlcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29uZmlnLnJlbmRlckNsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJDbGFzcyA9IGNvbmZpZy5yZW5kZXJDbGFzcztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKlxyXG4gICAqIFByaW50IGEgZGl2IGlkZW50aWZpZWQgYnkgaXRzIGlkXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiB0aGlzLnByaW50ZXJTZXJ2aWNlLnByaW50RGl2KCdwcmludERpdicpO1xyXG4gICAqL1xyXG4gIHB1YmxpYyBwcmludERpdihkaXZJRDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaXZUb1ByaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGl2SUQpO1xyXG5cclxuICAgIGlmIChkaXZUb1ByaW50KSB7XHJcbiAgICAgIHRoaXMucHJpbnQoZGl2VG9QcmludCwgdGhpcy5wcmludE9wZW5XaW5kb3cpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coJ2RpdiB3aXRoIGlkICR7ZGl2SUR9IG5vdCBmb3VuZC4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqXHJcbiAgICogUHJpbnQgYW4gRWxlbWVudCBpZGVudGlmaWVkIGJ5IGl0cyBjbGFzc05hbWUgdXNpbmcgZ2V0RWxlbWVudHNCeUNsYXNzTmFtZVxyXG4gICAqIFByaW50cyB0aGUgZmlyc3QgZm91bmRcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRCeUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZWxlbWVudFRvUHJpbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNsYXNzTmFtZSk7XHJcblxyXG4gICAgaWYgKGVsZW1lbnRUb1ByaW50ICYmIGVsZW1lbnRUb1ByaW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5wcmludCg8SFRNTFNjcmlwdEVsZW1lbnQ+ZWxlbWVudFRvUHJpbnRbMF0sIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbGVtZW50IHdpdGggaWQgJHtjbGFzc05hbWV9IG5vdCBmb3VuZC4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCBBbmd1bGFyIFRlbXBsYXRlUmVmIG9yIGEgQ29tcG9uZW50IG9yIFN0cmluZ1xyXG4gICAqIEBwYXJhbSBjb250ZW50VG9QcmludFxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludEFuZ3VsYXIodGhpcy5QcmludFRlbXBsYXRlVHBsKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRBbmd1bGFyKGNvbnRlbnRUb1ByaW50OiBhbnkpIHtcclxuICAgIGNvbnN0IG5hdGl2ZUVsID0gdGhpcy5jcmVhdGVDb21wb25lbnQoY29udGVudFRvUHJpbnQpO1xyXG5cclxuICAgIHRoaXMucHJpbnQobmF0aXZlRWwubmF0aXZlRWxlbWVudCwgdGhpcy5wcmludE9wZW5XaW5kb3cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgc2luZ2xlIGltZ1xyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludEltZygnYXNzZXRzL2JyYXR3dXJzdC5qcGcnKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRJbWcoaW1nU3JjOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNvbXBSZWYgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChudWxsLCBpbWdTcmMpO1xyXG4gICAgY29uc3Qgb3Blbk5ld1dpbmRvdyA9IHRoaXMucHJpbnRPcGVuV2luZG93O1xyXG5cclxuICAgIGNvbXBSZWYuaW5zdGFuY2UuY29tcGxldGVkLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICBjb21wUmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgY29uc29sZS5sb2coJ2NvbXBsZXRlZDonLCB2YWwpO1xyXG4gICAgICB0aGlzLnByaW50KGNvbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgb3Blbk5ld1dpbmRvdyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IGFuIG5hdGl2ZSBFbGVtZW50IChIVE1MIEVsZW1lbnQpXHJcbiAgICogQHBhcmFtIG5hdGl2ZUVsZW1lbnRcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRIVE1MRWxlbWVudCh0aGlzLlByaW50Q29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAqL1xyXG4gIHB1YmxpYyBwcmludEhUTUxFbGVtZW50KG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLnByaW50KG5hdGl2ZUVsZW1lbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbmQgcmVuZGVyIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb250ZW50VG9SZW5kZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudChjb250ZW50VG9SZW5kZXI6IGFueSwgaW1nU3JjPzogc3RyaW5nKTogYW55IHtcclxuICAgIC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTmd4UHJpbnRlckNvbXBvbmVudCk7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmOiBhbnk7XHJcblxyXG4gICAgaWYgKGNvbnRlbnRUb1JlbmRlcikge1xyXG4gICAgICBjb25zdCBuZ0NvbnRlbnQgPSB0aGlzLnJlc29sdmVOZ0NvbnRlbnQoY29udGVudFRvUmVuZGVyKTtcclxuICAgICAgY29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3RvciwgbmdDb250ZW50KTsgLy8gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgfVxyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlbmRlckNsYXNzID0gdGhpcy5yZW5kZXJDbGFzcztcclxuICAgIGlmIChpbWdTcmMpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmltZ1NyYyA9IGltZ1NyYztcclxuICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5sb2NhdGlvbjsgLy8gbG9jYXRpb24gaXMgbmF0aXZlIGVsZW1lbnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1haW4gcHJpbnQgZnVuY3Rpb25cclxuICAgKiBAcGFyYW0gcHJpbnRDb250ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcmludChwcmludENvbnRlbnQ6IGFueSwgcHJpbnRPcGVuV2luZG93OiBib29sZWFuKSB7XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSB0cnVlKSB7XHJcbiAgICAgIGNvbnN0IHByaW50Q29udGVudENsb25lID0gcHJpbnRDb250ZW50LmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgdGhpcy5wcmludEluTmV3V2luZG93KHByaW50Q29udGVudENsb25lKTtcclxuICAgIH1cclxuICAgIGlmIChwcmludE9wZW5XaW5kb3cgPT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHByaW50Q29udGVudENsb25lID0gcHJpbnRDb250ZW50LmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgY29uc3QgbmF0aXZlRWwgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChwcmludENvbnRlbnRDbG9uZSkubmF0aXZlRWxlbWVudDtcclxuICAgICAgdGhpcy5vcGVuTmd4UHJpbnRlciA9IG5hdGl2ZUVsO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMub3Blbk5neFByaW50ZXIpO1xyXG4gICAgICB0aGlzLnByaW50Q3VycmVudFdpbmRvdygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgdXNpbmcgYSBuZXcgd2luZG93IC8gdGFiXHJcbiAgICogQHBhcmFtIGRpdlRvUHJpbnRcclxuICAgKi9cclxuICBwcml2YXRlIHByaW50SW5OZXdXaW5kb3coZGl2VG9QcmludDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnN0IHByaW50V2luZG93ID0gd2luZG93Lm9wZW4oJycsICdQUklOVCcpO1xyXG4gICAgbGV0IHRpdGxlID0gZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgcHJpbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoXHJcbiAgICAgICc8SFRNTD48SEVBRD48VElUTEU+JyArIHRpdGxlICsgJzwvVElUTEU+PC9IRUFEPjxCT0RZPjwvQk9EWT48L0hUTUw+J1xyXG4gICAgKTtcclxuICAgIC8vIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwpO1xyXG5cclxuICAgIGNvbnN0IHByaW50V2luZG93RG9jID0gcHJpbnRXaW5kb3cuZG9jdW1lbnQ7XHJcbiAgICBwcmludFdpbmRvd0RvYy5ib2R5LnN0eWxlLm1hcmdpbiA9ICcwIDAnO1xyXG4gICAgcHJpbnRXaW5kb3dEb2MuYm9keS5hcHBlbmRDaGlsZChkaXZUb1ByaW50KTtcclxuICAgIHByaW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7XHJcbiAgICAvLyBwcmludFdpbmRvd0RvYy5ib2R5LmlubmVySFRNTCA9IGRpdlRvUHJpbnQub3V0ZXJIVE1MO1xyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgKCkgPT4gdGhpcy5wcmludFRhYldpbmRvdyhwcmludFdpbmRvdywgcHJpbnRXaW5kb3dEb2MpLFxyXG4gICAgICB0aGlzLnRpbWVUb1dhaXRSZW5kZXJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCB3aW5kb3cgaW4gbmV3IHRhYlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJpbnRUYWJXaW5kb3cocHJpbnRXaW5kb3c6IFdpbmRvdywgcHJpbnRXaW5kb3dEb2M6IERvY3VtZW50KSB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyUHJpbnRFdmVudChwcmludFdpbmRvdywgdHJ1ZSk7XHJcbiAgICB0aGlzLnByaW50V2luZG93T3Blbi5uZXh0KHRydWUpO1xyXG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTsgLy8gbmVjZXNzYXJ5IGZvciBJRSA+PSAxMCovXHJcbiAgICBpZiAocHJpbnRXaW5kb3dEb2MuZXhlY0NvbW1hbmQoJ3ByaW50JykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHByaW50V2luZG93LnByaW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCB0aGUgd2hvbGUgY3VycmVudCB3aW5kb3dcclxuICAgKi9cclxuICBwcmludEN1cnJlbnRXaW5kb3coKSB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyUHJpbnRFdmVudCh3aW5kb3csIGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50V2luZG93T3Blbi5uZXh0KHRydWUpO1xyXG4gICAgICBpZiAoZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3ByaW50JykgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgd2luZG93LnByaW50KCk7XHJcbiAgICAgIH1cclxuICAgIH0sIHRoaXMudGltZVRvV2FpdFJlbmRlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW4gdG8gcHJpbnQgZXZlbnQgb2Ygd2luZG93XHJcbiAgICogQHBhcmFtIHByaW50V2luZG93XHJcbiAgICovXHJcbiAgcmVnaXN0ZXJQcmludEV2ZW50KHByaW50V2luZG93OiBXaW5kb3csIHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICBwcmludFdpbmRvdy5mb2N1cygpOyAvLyBuZWNlc3NhcnkgZm9yIElFID49IDEwKi9cclxuXHJcbiAgICBpZiAodGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHByaW50V2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2FmdGVycHJpbnQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSA9IHRydWU7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdhZnRlcnByaW50Jyk7XHJcbiAgICAgIGlmIChwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpIHtcclxuICAgICAgICB0aGF0LmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGF0LmNsZWFuVXAocHJpbnRXaW5kb3csIHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdyk7XHJcbiAgICAgIHRoYXQucHJpbnRXaW5kb3dPcGVuLm5leHQoZmFsc2UpO1xyXG4gICAgfSk7XHJcblxyXG4vKlxyXG4gIGxldCBtZWRpYVF1ZXJ5TGlzdDogTWVkaWFRdWVyeUxpc3QgPSBudWxsOyBcclxuXHJcbiAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKSB7XHJcbiAgICAgIG1lZGlhUXVlcnlMaXN0ID0gcHJpbnRXaW5kb3cubWF0Y2hNZWRpYSgncHJpbnQnKSBhcyBNZWRpYVF1ZXJ5TGlzdDtcclxuICAgICAgICB0aGlzLmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSB0cnVlO1xyXG4gICAgICAgIG1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKGZ1bmN0aW9uKG1xbCkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2cobXFsKTtcclxuICAgICAgICAgIGlmIChtcWwubWF0Y2hlcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnd2Via2l0IGVxdWl2YWxlbnQgb2Ygb25iZWZvcmVwcmludCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCFtcWwubWF0Y2hlcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnd2Via2l0IGVxdWl2YWxlbnQgb2YgYWZ0ZXJwcmludCcpO1xyXG4gICAgICAgICAgICBpZiAocHJpbnRXaXRoT3BlbkluTmV3V2luZG93KSB7XHJcbiAgICAgICAgICAgICAgdGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhhdC5jbGVhblVwKHByaW50V2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpO1xyXG4gICAgICAgICAgICB0aGF0LnByaW50V2luZG93T3Blbi5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2UgdGFiIG9yIGNsZWFuIHVwIGRvbVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYW5VcChwcmludFdpbmRvdzogV2luZG93LCBwcmludE9wZW5XaW5kb3c6IGJvb2xlYW4pIHtcclxuICAgIGlmIChwcmludE9wZW5XaW5kb3cgPT09IHRydWUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2Nsb3NlIHByaW50IHdpbmRvdycpO1xyXG4gICAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xyXG4gICAgICB9LCAyMCk7XHJcbiAgICB9XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSBmYWxzZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5vcGVuTmd4UHJpbnRlcikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbmd4LXByaW50ZXInKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLm9wZW5OZ3hQcmludGVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBub2RlIG9yIGFuZ3VsYXIgY29tcG9uZW50XHJcbiAgICogQHBhcmFtIGNvbnRlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHJlc29sdmVOZ0NvbnRlbnQ8VD4oY29udGVudDogQ29udGVudDxUPikge1xyXG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCk7XHJcbiAgICAgIHJldHVybiBbW2VsZW1lbnRdXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGNvbnN0IHZpZXdSZWYgPSBjb250ZW50LmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsKTtcclxuICAgICAgcmV0dXJuIFt2aWV3UmVmLnJvb3ROb2Rlc107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xyXG4gICAgICByZXR1cm4gW1tjb250ZW50XV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIE90aGVyd2lzZSBpdCdzIGEgY29tcG9uZW50ICovXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb250ZW50KTtcclxuXHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gW1tjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudF1dO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgbmV3IGl0ZW0gdG8gcHJpbnRcclxuICAgKiBVc2VkIGJ5IGRpcmVjdGl2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBuZXdQcmludEl0ZW0gIEhUTUwgaWRcclxuICAgKi9cclxuICBwdWJsaWMgYWRkUHJpbnRJdGVtKG5ld1ByaW50SXRlbTogUHJpbnRJdGVtKTogdm9pZCB7XHJcbiAgICBjb25zdCB0bXBJdGVtcyA9IHRoaXMuX3ByaW50SXRlbXMuZ2V0VmFsdWUoKTtcclxuICAgIHRtcEl0ZW1zLnB1c2gobmV3UHJpbnRJdGVtKTtcclxuICAgIHRoaXMuX3ByaW50SXRlbXMubmV4dCh0bXBJdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYSBwcmludCBpdGVtIGZyb20gc2VydmljZVxyXG4gICAqIFVzZWQgYnkgZGlyZWN0aXZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGlkT2ZJdGVtVG9SZW1vdmVcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlUHJpbnRJdGVtKGlkT2ZJdGVtVG9SZW1vdmU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdG1wSXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmdldFZhbHVlKCk7XHJcbiAgICBjb25zdCBuZXdJaXRlbXMgPSB0bXBJdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBpZE9mSXRlbVRvUmVtb3ZlKTtcclxuICAgIHRoaXMuX3ByaW50SXRlbXMubmV4dChuZXdJaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgYSBwcmludCBJdGVtXHJcbiAgICogQHBhcmFtIHByaW50SXRlbVRvUHJpbnRcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRQcmludEl0ZW0ocHJpbnRJdGVtVG9QcmludDogUHJpbnRJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLnByaW50SFRNTEVsZW1lbnQocHJpbnRJdGVtVG9QcmludC5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL25neC1wcmludGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsUUFBUSxFQUNSLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFVNUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBK0I1QixZQUNjLE1BQTBCLEVBQzlCLFFBQWtDLEVBQ2xDLFFBQWtCO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQ3BCLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7Ozs7UUFLdEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBYyxFQUFFLENBQUMsQ0FBQztRQUMzRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7Ozs7O1FBUTlDLHFCQUFnQixHQUFHLEdBQUcsQ0FBQzs7OztRQUt2QixnQkFBVyxHQUFHLFNBQVMsQ0FBQzs7Ozs7UUFNeEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBT2QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7Ozs7SUFNTyxvQkFBb0IsQ0FBQyxNQUEwQjtRQUNyRCxJ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LENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7Ozs7OztJQVFNLGVBQWUsQ0FBQyxnQkFBd0I7O2NBQ3ZDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTs7Y0FDdEMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNOzs7O1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLGdCQUFnQixFQUFDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Ozs7OztJQU1NLGNBQWMsQ0FBQyxnQkFBMkI7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OztZQXpWRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFUUSxrQkFBa0IsdUJBMEN0QixRQUFRO1lBakRYLHdCQUF3QjtZQUN4QixRQUFROzs7Ozs7OztJQWlCUiw0Q0FBOEQ7Ozs7OztJQUs5RCx3Q0FBMkQ7O0lBQzNELHdDQUE4Qzs7Ozs7SUFFOUMsMkNBQW9DOzs7Ozs7SUFNcEMsNkNBQXVCOzs7OztJQUt2Qix3Q0FBd0I7Ozs7OztJQU14Qiw0Q0FBdUI7O0lBRXZCLDZDQUF1RDs7SUFDdkQsdUNBQWdCOzs7OztJQUlkLHFDQUEwQzs7Ozs7SUFDMUMscUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbnRJdGVtIH0gZnJvbSAnLi9wcmludC1pdGVtJztcclxuaW1wb3J0IHtcclxuICBJbmplY3RhYmxlLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBJbmplY3RvcixcclxuICBPcHRpb25hbCxcclxuICBUeXBlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5neFByaW50ZXJDb21wb25lbnQgfSBmcm9tICcuL25neC1wcmludGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQcmludFNlcnZpY2VDb25maWcgfSBmcm9tICcuL3ByaW50LXNlcnZpY2UtY29uZmlnJztcclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbnQ8VD4gPSBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IFRlbXBsYXRlUmVmPFQ+IHwgVHlwZTxUPjtcclxuXHJcbi8qKlxyXG4gKiBNYWluIHByaW50IHNlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFByaW50ZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHByaW50V2luZG93T3BlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIF9wcmludEl0ZW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcmludEl0ZW1bXT4oW10pO1xyXG4gICRwcmludEl0ZW1zID0gdGhpcy5fcHJpbnRJdGVtcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBvcGVuTmd4UHJpbnRlcjogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdhaXQgdGltZSB0byByZW5kZXIgYmVmb3JlIG9wZW4gcHJpbnQgZGlhbG9nIGluIG1zXHJcbiAgICogRGVmYXVsdCBpcyAyMDBcclxuICAgKi9cclxuICB0aW1lVG9XYWl0UmVuZGVyID0gMjAwO1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyB1c2VkIGluIGNvbXBvbmVudCB3aGVuIHByaW50aW5nIHRvIGN1cnJlbnQgd2luZG93XHJcbiAgICovXHJcbiAgcmVuZGVyQ2xhc3MgPSAnZGVmYXVsdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gbmV3IHdpbmRvdyB0byBwcmludCBvciBub3RcclxuICAgKiBEZWZhdWx0IGlzIHRydWVcclxuICAgKi9cclxuICBwcmludE9wZW5XaW5kb3cgPSB0cnVlO1xyXG5cclxuICAkcHJpbnRXaW5kb3dPcGVuID0gdGhpcy5wcmludFdpbmRvd09wZW4uYXNPYnNlcnZhYmxlKCk7XHJcbiAgZXZlbnRhZGRlZCA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZzogUHJpbnRTZXJ2aWNlQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuc2V0Um9vdENvbmZpZ09wdGlvbnMoY29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBjb25maWcgZnJvbSBmb3JSb290XHJcbiAgICogQHBhcmFtIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Um9vdENvbmZpZ09wdGlvbnMoY29uZmlnOiBQcmludFNlcnZpY2VDb25maWcpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgaWYgKGNvbmZpZy5wcmludE9wZW5XaW5kb3cpIHtcclxuICAgICAgICB0aGlzLnByaW50T3BlbldpbmRvdyA9IGNvbmZpZy5wcmludE9wZW5XaW5kb3c7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbmZpZy50aW1lVG9XYWl0UmVuZGVyKSB7XHJcbiAgICAgICAgdGhpcy50aW1lVG9XYWl0UmVuZGVyID0gY29uZmlnLnRpbWVUb1dhaXRSZW5kZXI7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbmZpZy5yZW5kZXJDbGFzcykge1xyXG4gICAgICAgIHRoaXMucmVuZGVyQ2xhc3MgPSBjb25maWcucmVuZGVyQ2xhc3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKipcclxuICAgKiBQcmludCBhIGRpdiBpZGVudGlmaWVkIGJ5IGl0cyBpZFxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludERpdigncHJpbnREaXYnKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnREaXYoZGl2SUQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGl2VG9QcmludCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdklEKTtcclxuXHJcbiAgICBpZiAoZGl2VG9QcmludCkge1xyXG4gICAgICB0aGlzLnByaW50KGRpdlRvUHJpbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkaXYgd2l0aCBpZCAke2RpdklEfSBub3QgZm91bmQuLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKlxyXG4gICAqIFByaW50IGFuIEVsZW1lbnQgaWRlbnRpZmllZCBieSBpdHMgY2xhc3NOYW1lIHVzaW5nIGdldEVsZW1lbnRzQnlDbGFzc05hbWVcclxuICAgKiBQcmludHMgdGhlIGZpcnN0IGZvdW5kXHJcbiAgICovXHJcbiAgcHVibGljIHByaW50QnlDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVsZW1lbnRUb1ByaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpO1xyXG5cclxuICAgIGlmIChlbGVtZW50VG9QcmludCAmJiBlbGVtZW50VG9QcmludC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucHJpbnQoPEhUTUxTY3JpcHRFbGVtZW50PmVsZW1lbnRUb1ByaW50WzBdLCB0aGlzLnByaW50T3BlbldpbmRvdyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygnZWxlbWVudCB3aXRoIGlkICR7Y2xhc3NOYW1lfSBub3QgZm91bmQuLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgQW5ndWxhciBUZW1wbGF0ZVJlZiBvciBhIENvbXBvbmVudCBvciBTdHJpbmdcclxuICAgKiBAcGFyYW0gY29udGVudFRvUHJpbnRcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRBbmd1bGFyKHRoaXMuUHJpbnRUZW1wbGF0ZVRwbCk7XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50QW5ndWxhcihjb250ZW50VG9QcmludDogYW55KSB7XHJcbiAgICBjb25zdCBuYXRpdmVFbCA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbnRlbnRUb1ByaW50KTtcclxuXHJcbiAgICB0aGlzLnByaW50KG5hdGl2ZUVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IHNpbmdsZSBpbWdcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRJbWcoJ2Fzc2V0cy9icmF0d3Vyc3QuanBnJyk7XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50SW1nKGltZ1NyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wUmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQobnVsbCwgaW1nU3JjKTtcclxuICAgIGNvbnN0IG9wZW5OZXdXaW5kb3cgPSB0aGlzLnByaW50T3BlbldpbmRvdztcclxuXHJcbiAgICBjb21wUmVmLmluc3RhbmNlLmNvbXBsZXRlZC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgY29tcFJlZi5ob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdjb21wbGV0ZWQ6JywgdmFsKTtcclxuICAgICAgdGhpcy5wcmludChjb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIG9wZW5OZXdXaW5kb3cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCBhbiBuYXRpdmUgRWxlbWVudCAoSFRNTCBFbGVtZW50KVxyXG4gICAqIEBwYXJhbSBuYXRpdmVFbGVtZW50XHJcbiAgICogQGV4YW1wbGVcclxuICAgKiB0aGlzLnByaW50ZXJTZXJ2aWNlLnByaW50SFRNTEVsZW1lbnQodGhpcy5QcmludENvbXBvbmVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRIVE1MRWxlbWVudChuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgdGhpcy5wcmludChuYXRpdmVFbGVtZW50LCB0aGlzLnByaW50T3BlbldpbmRvdyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW5kIHJlbmRlciBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29udGVudFRvUmVuZGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoY29udGVudFRvUmVuZGVyOiBhbnksIGltZ1NyYz86IHN0cmluZyk6IGFueSB7XHJcbiAgICAvLyB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE5neFByaW50ZXJDb21wb25lbnQpO1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZjogYW55O1xyXG5cclxuICAgIGlmIChjb250ZW50VG9SZW5kZXIpIHtcclxuICAgICAgY29uc3QgbmdDb250ZW50ID0gdGhpcy5yZXNvbHZlTmdDb250ZW50KGNvbnRlbnRUb1JlbmRlcik7XHJcbiAgICAgIGNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IsIG5nQ29udGVudCk7IC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb21wb25lbnRSZWYgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgIH1cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZW5kZXJDbGFzcyA9IHRoaXMucmVuZGVyQ2xhc3M7XHJcbiAgICBpZiAoaW1nU3JjKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbWdTcmMgPSBpbWdTcmM7XHJcbiAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWYubG9jYXRpb247IC8vIGxvY2F0aW9uIGlzIG5hdGl2ZSBlbGVtZW50XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYWluIHByaW50IGZ1bmN0aW9uXHJcbiAgICogQHBhcmFtIHByaW50Q29udGVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJpbnQocHJpbnRDb250ZW50OiBhbnksIHByaW50T3BlbldpbmRvdzogYm9vbGVhbikge1xyXG4gICAgaWYgKHByaW50T3BlbldpbmRvdyA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCBwcmludENvbnRlbnRDbG9uZSA9IHByaW50Q29udGVudC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgIHRoaXMucHJpbnRJbk5ld1dpbmRvdyhwcmludENvbnRlbnRDbG9uZSk7XHJcbiAgICB9XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSBmYWxzZSkge1xyXG4gICAgICBjb25zdCBwcmludENvbnRlbnRDbG9uZSA9IHByaW50Q29udGVudC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsID0gdGhpcy5jcmVhdGVDb21wb25lbnQocHJpbnRDb250ZW50Q2xvbmUpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIHRoaXMub3Blbk5neFByaW50ZXIgPSBuYXRpdmVFbDtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm9wZW5OZ3hQcmludGVyKTtcclxuICAgICAgdGhpcy5wcmludEN1cnJlbnRXaW5kb3coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IHVzaW5nIGEgbmV3IHdpbmRvdyAvIHRhYlxyXG4gICAqIEBwYXJhbSBkaXZUb1ByaW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcmludEluTmV3V2luZG93KGRpdlRvUHJpbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKCcnLCAnUFJJTlQnKTtcclxuICAgIGxldCB0aXRsZSA9IGRvY3VtZW50LnRpdGxlO1xyXG5cclxuICAgIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKFxyXG4gICAgICAnPEhUTUw+PEhFQUQ+PFRJVExFPicgKyB0aXRsZSArICc8L1RJVExFPjwvSEVBRD48Qk9EWT48L0JPRFk+PC9IVE1MPidcclxuICAgICk7XHJcbiAgICAvLyBwcmludFdpbmRvdy5kb2N1bWVudC53cml0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MKTtcclxuXHJcbiAgICBjb25zdCBwcmludFdpbmRvd0RvYyA9IHByaW50V2luZG93LmRvY3VtZW50O1xyXG4gICAgcHJpbnRXaW5kb3dEb2MuYm9keS5zdHlsZS5tYXJnaW4gPSAnMCAwJztcclxuICAgIHByaW50V2luZG93RG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGl2VG9QcmludCk7XHJcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpO1xyXG4gICAgLy8gcHJpbnRXaW5kb3dEb2MuYm9keS5pbm5lckhUTUwgPSBkaXZUb1ByaW50Lm91dGVySFRNTDtcclxuICAgIHNldFRpbWVvdXQoXHJcbiAgICAgICgpID0+IHRoaXMucHJpbnRUYWJXaW5kb3cocHJpbnRXaW5kb3csIHByaW50V2luZG93RG9jKSxcclxuICAgICAgdGhpcy50aW1lVG9XYWl0UmVuZGVyXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgd2luZG93IGluIG5ldyB0YWJcclxuICAgKi9cclxuICBwcml2YXRlIHByaW50VGFiV2luZG93KHByaW50V2luZG93OiBXaW5kb3csIHByaW50V2luZG93RG9jOiBEb2N1bWVudCkge1xyXG4gICAgdGhpcy5yZWdpc3RlclByaW50RXZlbnQocHJpbnRXaW5kb3csIHRydWUpO1xyXG4gICAgdGhpcy5wcmludFdpbmRvd09wZW4ubmV4dCh0cnVlKTtcclxuICAgIHByaW50V2luZG93LmZvY3VzKCk7IC8vIG5lY2Vzc2FyeSBmb3IgSUUgPj0gMTAqL1xyXG4gICAgaWYgKHByaW50V2luZG93RG9jLmV4ZWNDb21tYW5kKCdwcmludCcpID09PSBmYWxzZSkge1xyXG4gICAgICBwcmludFdpbmRvdy5wcmludCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgdGhlIHdob2xlIGN1cnJlbnQgd2luZG93XHJcbiAgICovXHJcbiAgcHJpbnRDdXJyZW50V2luZG93KCkge1xyXG4gICAgdGhpcy5yZWdpc3RlclByaW50RXZlbnQod2luZG93LCBmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5wcmludFdpbmRvd09wZW4ubmV4dCh0cnVlKTtcclxuICAgICAgaWYgKGRvY3VtZW50LmV4ZWNDb21tYW5kKCdwcmludCcpID09PSBmYWxzZSkge1xyXG4gICAgICAgIHdpbmRvdy5wcmludCgpO1xyXG4gICAgICB9XHJcbiAgICB9LCB0aGlzLnRpbWVUb1dhaXRSZW5kZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuIHRvIHByaW50IGV2ZW50IG9mIHdpbmRvd1xyXG4gICAqIEBwYXJhbSBwcmludFdpbmRvd1xyXG4gICAqL1xyXG4gIHJlZ2lzdGVyUHJpbnRFdmVudChwcmludFdpbmRvdzogV2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3c6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTsgLy8gbmVjZXNzYXJ5IGZvciBJRSA+PSAxMCovXHJcblxyXG4gICAgaWYgKHRoYXQuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBwcmludFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdhZnRlcnByaW50JywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSB0cnVlO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnYWZ0ZXJwcmludCcpO1xyXG4gICAgICBpZiAocHJpbnRXaXRoT3BlbkluTmV3V2luZG93KSB7XHJcbiAgICAgICAgdGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhhdC5jbGVhblVwKHByaW50V2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpO1xyXG4gICAgICB0aGF0LnByaW50V2luZG93T3Blbi5uZXh0KGZhbHNlKTtcclxuICAgIH0pO1xyXG5cclxuLypcclxuICBsZXQgbWVkaWFRdWVyeUxpc3Q6IE1lZGlhUXVlcnlMaXN0ID0gbnVsbDsgXHJcblxyXG4gIGlmICh3aW5kb3cubWF0Y2hNZWRpYSkge1xyXG4gICAgICBtZWRpYVF1ZXJ5TGlzdCA9IHByaW50V2luZG93Lm1hdGNoTWVkaWEoJ3ByaW50JykgYXMgTWVkaWFRdWVyeUxpc3Q7XHJcbiAgICAgICAgdGhpcy5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gdHJ1ZTtcclxuICAgICAgICBtZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lcihmdW5jdGlvbihtcWwpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKG1xbCk7XHJcbiAgICAgICAgICBpZiAobXFsLm1hdGNoZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3dlYmtpdCBlcXVpdmFsZW50IG9mIG9uYmVmb3JlcHJpbnQnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghbXFsLm1hdGNoZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3dlYmtpdCBlcXVpdmFsZW50IG9mIGFmdGVycHJpbnQnKTtcclxuICAgICAgICAgICAgaWYgKHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdykge1xyXG4gICAgICAgICAgICAgIHRoYXQuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoYXQuY2xlYW5VcChwcmludFdpbmRvdywgcHJpbnRXaXRoT3BlbkluTmV3V2luZG93KTtcclxuICAgICAgICAgICAgdGhhdC5wcmludFdpbmRvd09wZW4ubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlIHRhYiBvciBjbGVhbiB1cCBkb21cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFuVXAocHJpbnRXaW5kb3c6IFdpbmRvdywgcHJpbnRPcGVuV2luZG93OiBib29sZWFuKSB7XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSB0cnVlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdjbG9zZSBwcmludCB3aW5kb3cnKTtcclxuICAgICAgcHJpbnRXaW5kb3cuY2xvc2UoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgcHJpbnRXaW5kb3cuY2xvc2UoKTtcclxuICAgICAgfSwgMjApO1xyXG4gICAgfVxyXG4gICAgaWYgKHByaW50T3BlbldpbmRvdyA9PT0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMub3Blbk5neFByaW50ZXIpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ25neC1wcmludGVyJykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5vcGVuTmd4UHJpbnRlcik7XHJcbiAgICAgICAgdGhpcy5vcGVuTmd4UHJpbnRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgbm9kZSBvciBhbmd1bGFyIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb250ZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNvbHZlTmdDb250ZW50PFQ+KGNvbnRlbnQ6IENvbnRlbnQ8VD4pIHtcclxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpO1xyXG4gICAgICByZXR1cm4gW1tlbGVtZW50XV07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICBjb25zdCB2aWV3UmVmID0gY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbCk7XHJcbiAgICAgIHJldHVybiBbdmlld1JlZi5yb290Tm9kZXNdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIFtbY29udGVudF1dO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBPdGhlcndpc2UgaXQncyBhIGNvbXBvbmVudCAqL1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29udGVudCk7XHJcblxyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIFtbY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnRdXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIG5ldyBpdGVtIHRvIHByaW50XHJcbiAgICogVXNlZCBieSBkaXJlY3RpdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gbmV3UHJpbnRJdGVtICBIVE1MIGlkXHJcbiAgICovXHJcbiAgcHVibGljIGFkZFByaW50SXRlbShuZXdQcmludEl0ZW06IFByaW50SXRlbSk6IHZvaWQge1xyXG4gICAgY29uc3QgdG1wSXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmdldFZhbHVlKCk7XHJcbiAgICB0bXBJdGVtcy5wdXNoKG5ld1ByaW50SXRlbSk7XHJcbiAgICB0aGlzLl9wcmludEl0ZW1zLm5leHQodG1wSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGEgcHJpbnQgaXRlbSBmcm9tIHNlcnZpY2VcclxuICAgKiBVc2VkIGJ5IGRpcmVjdGl2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBpZE9mSXRlbVRvUmVtb3ZlXHJcbiAgICovXHJcbiAgcHVibGljIHJlbW92ZVByaW50SXRlbShpZE9mSXRlbVRvUmVtb3ZlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRtcEl0ZW1zID0gdGhpcy5fcHJpbnRJdGVtcy5nZXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgbmV3SWl0ZW1zID0gdG1wSXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gaWRPZkl0ZW1Ub1JlbW92ZSk7XHJcbiAgICB0aGlzLl9wcmludEl0ZW1zLm5leHQobmV3SWl0ZW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IGEgcHJpbnQgSXRlbVxyXG4gICAqIEBwYXJhbSBwcmludEl0ZW1Ub1ByaW50XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50UHJpbnRJdGVtKHByaW50SXRlbVRvUHJpbnQ6IFByaW50SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmludEhUTUxFbGVtZW50KHByaW50SXRlbVRvUHJpbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
/**
* @fileoverview added by tsickle
* Generated from: lib/print-item.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -73,2 +74,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFVekMsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFRN0IsWUFBb0IsRUFBYyxFQUFVLGNBQWlDO1FBQXpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFDN0UsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRTs7a0JBQ3RCLFlBQVksR0FBRyxJQUFJLFNBQVMsRUFBRTtZQUNwQyxZQUFZLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBRW5ELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjthQUMzQjs7OztZQVhtQixVQUFVO1lBQ3JCLGlCQUFpQjs7O3dCQWdCdkIsS0FBSzs7Ozs7OztJQUFOLHVDQUNrQjs7Ozs7SUFFTixnQ0FBc0I7Ozs7O0lBQUUsNENBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFByaW50ZXJTZXJ2aWNlIH0gZnJvbSAnLi9uZ3gtcHJpbnRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByaW50SXRlbSB9IGZyb20gJy4vcHJpbnQtaXRlbSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbmQgc3RvcmUgYW4gSFRNTC1FbGVtZW50IGFzIGFuIGl0ZW0gd2hpY2hcbiAqIGNhbiBiZSBwcmludGVkXG4gKiBBbiBpZCBoYXMgdG8gYmUgc2V0XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hQcmludEl0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBQcmludEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgdG8gYmUgc2hvd24gaW4gYW4gY29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBwcmludE5hbWU6IHN0cmluZztcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcHJpbnRlclNlcnZpY2U6IE5neFByaW50ZXJTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKSB7XG4gICAgICBjb25zdCB0bXBQcmludEl0ZW0gPSBuZXcgUHJpbnRJdGVtKCk7XG4gICAgICB0bXBQcmludEl0ZW0uaWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQ7XG4gICAgICB0bXBQcmludEl0ZW0ubmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgdGhpcy5wcmludGVyU2VydmljZS5hZGRQcmludEl0ZW0odG1wUHJpbnRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpe1xuICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpIHtcbiAgICAgIHRoaXMucHJpbnRlclNlcnZpY2UucmVtb3ZlUHJpbnRJdGVtKCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBVXpDLE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBUTdCLFlBQW9CLEVBQWMsRUFBVSxjQUFpQztRQUF6RCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBQzdFLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUU7O2tCQUN0QixZQUFZLEdBQUcsSUFBSSxTQUFTLEVBQUU7WUFDcEMsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDM0MsWUFBWSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUVuRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7Ozs7WUFYbUIsVUFBVTtZQUNyQixpQkFBaUI7Ozt3QkFnQnZCLEtBQUs7Ozs7Ozs7SUFBTix1Q0FDa0I7Ozs7O0lBRU4sZ0NBQXNCOzs7OztJQUFFLDRDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hQcmludGVyU2VydmljZSB9IGZyb20gJy4vbmd4LXByaW50ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcmludEl0ZW0gfSBmcm9tICcuL3ByaW50LWl0ZW0nO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRvIG1hcmsgYW5kIHN0b3JlIGFuIEhUTUwtRWxlbWVudCBhcyBhbiBpdGVtIHdoaWNoXG4gKiBjYW4gYmUgcHJpbnRlZFxuICogQW4gaWQgaGFzIHRvIGJlIHNldFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4UHJpbnRJdGVtXSdcbn0pXG5leHBvcnQgY2xhc3MgUHJpbnRJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBuYW1lIHRvIGJlIHNob3duIGluIGFuIGNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcHJpbnROYW1lOiBzdHJpbmc7XG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHByaW50ZXJTZXJ2aWNlOiBOZ3hQcmludGVyU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCkge1xuICAgICAgY29uc3QgdG1wUHJpbnRJdGVtID0gbmV3IFByaW50SXRlbSgpO1xuICAgICAgdG1wUHJpbnRJdGVtLmlkID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkO1xuICAgICAgdG1wUHJpbnRJdGVtLm5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIHRoaXMucHJpbnRlclNlcnZpY2UuYWRkUHJpbnRJdGVtKHRtcFByaW50SXRlbSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKXtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKSB7XG4gICAgICB0aGlzLnByaW50ZXJTZXJ2aWNlLnJlbW92ZVByaW50SXRlbSggdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKTtcbiAgICB9XG4gIH1cblxufVxuIl19
/**
* @fileoverview added by tsickle
* Generated from: lib/print-item.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -28,2 +29,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL3ByaW50LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE1BQU0sT0FBTyxTQUFTO0lBZ0JwQixnQkFBZSxDQUFDO0NBQ2pCOzs7Ozs7SUFiQyx1QkFBVzs7Ozs7SUFLWCxxQ0FBeUI7Ozs7O0lBS3pCLGtDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBBIGNsYXNzIHRvIHN0cm9lIGFuIGl0ZW0gd2hpY2ggY2FuIGJlIHByaW50ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFByaW50SXRlbSB7XG4gIC8qKlxuICAgKiBIVE1MIGlkIG9mIGFuY2hvclxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZVxuICAgKi9cbiAgcHJpbnREaXNwbGF5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIVE1MIEVsZW1lbnRcbiAgICovXG4gIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL3ByaW50LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxNQUFNLE9BQU8sU0FBUztJQWdCcEIsZ0JBQWUsQ0FBQztDQUNqQjs7Ozs7O0lBYkMsdUJBQVc7Ozs7O0lBS1gscUNBQXlCOzs7OztJQUt6QixrQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQSBjbGFzcyB0byBzdHJvZSBhbiBpdGVtIHdoaWNoIGNhbiBiZSBwcmludGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmludEl0ZW0ge1xuICAvKipcbiAgICogSFRNTCBpZCBvZiBhbmNob3JcbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWVcbiAgICovXG4gIHByaW50RGlzcGxheU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSFRNTCBFbGVtZW50XG4gICAqL1xuICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
/**
* @fileoverview added by tsickle
* Generated from: lib/print-service-config.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -37,2 +38,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1zZXJ2aWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjs7OztRQUVFLG9CQUFlLEdBQUssSUFBSSxDQUFDOzs7O1FBR3pCLHFCQUFnQixHQUFLLEdBQUcsQ0FBQztJQUkzQixDQUFDO0NBQUE7Ozs7OztJQVBDLDZDQUF5Qjs7Ozs7SUFHekIsOENBQXlCOzs7OztJQUd6Qix5Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZyBmb3Igc2VydmljZSAtIHVzZWQgaW4gZm9yUm9vdFxuICovXG5leHBvcnQgY2xhc3MgUHJpbnRTZXJ2aWNlQ29uZmlnIHtcbiAgLyoqIFByaW50IGluIGEgbmV3IHdpbmRvdyBvciBub3QgKi9cbiAgcHJpbnRPcGVuV2luZG93ID8gPSB0cnVlO1xuXG4gIC8qKiBXYWl0IHRpbWUgYmVmb3JlIG9wZW5pbmcgcHJpbnQgZGlhbG9nICovXG4gIHRpbWVUb1dhaXRSZW5kZXIgPyA9IDIwMDtcblxuICAvKiogQ2xhc3MgbmFtZSB0byBiZSB1c2VkIHdoZW4gcHJpbnRpbmcgaW4gY3VycmVudCB3aW5kb3cgKi9cbiAgcmVuZGVyQ2xhc3M/OiBzdHJpbmc7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1zZXJ2aWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE1BQU0sT0FBTyxrQkFBa0I7SUFBL0I7Ozs7UUFFRSxvQkFBZSxHQUFLLElBQUksQ0FBQzs7OztRQUd6QixxQkFBZ0IsR0FBSyxHQUFHLENBQUM7SUFJM0IsQ0FBQztDQUFBOzs7Ozs7SUFQQyw2Q0FBeUI7Ozs7O0lBR3pCLDhDQUF5Qjs7Ozs7SUFHekIseUNBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25maWcgZm9yIHNlcnZpY2UgLSB1c2VkIGluIGZvclJvb3RcbiAqL1xuZXhwb3J0IGNsYXNzIFByaW50U2VydmljZUNvbmZpZyB7XG4gIC8qKiBQcmludCBpbiBhIG5ldyB3aW5kb3cgb3Igbm90ICovXG4gIHByaW50T3BlbldpbmRvdyA/ID0gdHJ1ZTtcblxuICAvKiogV2FpdCB0aW1lIGJlZm9yZSBvcGVuaW5nIHByaW50IGRpYWxvZyAqL1xuICB0aW1lVG9XYWl0UmVuZGVyID8gPSAyMDA7XG5cbiAgLyoqIENsYXNzIG5hbWUgdG8gYmUgdXNlZCB3aGVuIHByaW50aW5nIGluIGN1cnJlbnQgd2luZG93ICovXG4gIHJlbmRlckNsYXNzPzogc3RyaW5nO1xufVxuIl19
/**
* @fileoverview added by tsickle
* Generated from: ngx-printer.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -9,2 +10,2 @@ */

export { NgxPrinterService, NgxPrinterComponent, NgxPrinterModule, PrintItem, PrintItemDirective, PrintServiceConfig } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbIm5neC1wcmludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw0SEFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbIm5neC1wcmludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsNEhBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
/**
* @fileoverview added by tsickle
* Generated from: public_api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -14,2 +15,2 @@ */

export { PrintServiceConfig } from './lib/print-service-config';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0NBQWMsMkJBQTJCLENBQUM7QUFDMUMsb0NBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMEJBQTBCLENBQUM7QUFDekMsMEJBQWMsa0JBQWtCLENBQUM7QUFDakMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1wcmludGVyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcHJpbnRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpbnQtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpbnQtc2VydmljZS1jb25maWcnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLGtDQUFjLDJCQUEyQixDQUFDO0FBQzFDLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLGlDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLDBCQUFjLGtCQUFrQixDQUFDO0FBQ2pDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG1DQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcHJpbnRlclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmludC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LXNlcnZpY2UtY29uZmlnJztcbiJdfQ==
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -158,2 +159,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQzs7OztBQUt2QjtJQWdDRSw2QkFBb0IsVUFBc0IsRUFBVSxRQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXZCL0QsaUJBQVksR0FBRyxTQUFTLENBQUM7Ozs7UUFZekIsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQVNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV3QixDQUFDO0lBdEIzRSxzQkFBVyw0Q0FBVzs7OztRQUF0QjtZQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDOzs7OztRQUNELFVBQXVCLEtBQUs7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7OztPQUpBO0lBVUQsc0JBQVcsdUNBQU07Ozs7UUFBakI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7Ozs7UUFDRCxVQUFrQixLQUFLO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7OztPQUpBOzs7O0lBVUQsc0NBQVE7OztJQUFSLGNBQVksQ0FBQztJQUViOztPQUVHOzs7Ozs7SUFDSyw0Q0FBYzs7Ozs7SUFBdEI7O1lBQ1EsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUVoRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7O0lBQ0ssc0NBQVE7Ozs7OztJQUFoQixVQUFpQixNQUFjO1FBQS9CLGlCQVlDOztZQVhPLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7O1lBRTFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTTs7OztRQUFFLFVBQUMsR0FBRztZQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dCQTlERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxxQ0FFVDs7aUJBRUY7Ozs7Z0JBZEMsVUFBVTtnQkFEVixTQUFTOzs7NEJBdUNSLE1BQU07O0lBaUNULDBCQUFDO0NBQUEsQUEvREQsSUErREM7U0F4RFksbUJBQW1COzs7Ozs7SUFFOUIsMkNBQWlDOzs7Ozs7SUFZakMsc0NBQTRCOztJQVM1Qix3Q0FBa0Q7Ozs7O0lBRXRDLHlDQUE4Qjs7Ozs7SUFBRSx1Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB1c2VkIHRvIHJlbmRlciBjb250ZW50IHdoZW4gcHJpbnRlZCB0byBjdXJyZW50IHdpbmRvd1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZ3gtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL25neC1wcmludGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHByaXZhdGUgX3JlbmRlckNsYXNzID0gJ2RlZmF1bHQnO1xyXG4gIHB1YmxpYyBnZXQgcmVuZGVyQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyQ2xhc3M7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcmVuZGVyQ2xhc3ModmFsdWUpIHtcclxuICAgIHRoaXMuX3JlbmRlckNsYXNzID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldEN1c3RvbUNsYXNzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IHNpbmdsZSBpbWFnZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2ltZ1NyYyA9ICdkZWZhdWx0JztcclxuICBwdWJsaWMgZ2V0IGltZ1NyYygpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbWdTcmM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaW1nU3JjKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9pbWdTcmMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYWRkSW1hZ2UodGhpcy5faW1nU3JjKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dGFjaCBjdXN0b20gY2xhc3MgdG8gZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Q3VzdG9tQ2xhc3MoKSB7XHJcbiAgICBjb25zdCBuYXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRFbGVtZW50LCAnZGVmYXVsdCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuYXRFbGVtZW50LCB0aGlzLl9yZW5kZXJDbGFzcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgY3VzdG9tIGltYWdlXHJcbiAgICogQHBhcmFtIHNvdXJjZSBcclxuICAgKi9cclxuICBwcml2YXRlIGFkZEltYWdlKHNvdXJjZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBuYXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgY29uc3QgbmV3SW1nRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShuZXdJbWdFbGVtZW50LCAnc3JjJywgc291cmNlKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihuZXdJbWdFbGVtZW50LCAnbG9hZCcsIChldnQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coJ2xvYWRpbmcgY29tcGxldGVkJywgZXZ0KTtcclxuICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCh0cnVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0RWxlbWVudCwgbmV3SW1nRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7Ozs7QUFLdkI7SUFnQ0UsNkJBQW9CLFVBQXNCLEVBQVUsUUFBbUI7UUFBbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF2Qi9ELGlCQUFZLEdBQUcsU0FBUyxDQUFDOzs7O1FBWXpCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFTbEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFd0IsQ0FBQztJQXRCM0Usc0JBQVcsNENBQVc7Ozs7UUFBdEI7WUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDM0IsQ0FBQzs7Ozs7UUFDRCxVQUF1QixLQUFLO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDOzs7T0FKQTtJQVVELHNCQUFXLHVDQUFNOzs7O1FBQWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7Ozs7O1FBQ0QsVUFBa0IsS0FBSztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDOzs7T0FKQTs7OztJQVVELHNDQUFROzs7SUFBUixjQUFZLENBQUM7SUFFYjs7T0FFRzs7Ozs7O0lBQ0ssNENBQWM7Ozs7O0lBQXRCOztZQUNRLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFFaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7OztJQUNLLHNDQUFROzs7Ozs7SUFBaEIsVUFBaUIsTUFBYztRQUEvQixpQkFZQzs7WUFYTyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhOztZQUUxQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU07Ozs7UUFBRSxVQUFDLEdBQUc7WUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN0QyxLQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUscUNBRVQ7O2lCQUVGOzs7O2dCQWRDLFVBQVU7Z0JBRFYsU0FBUzs7OzRCQXVDUixNQUFNOztJQWlDVCwwQkFBQztDQUFBLEFBL0RELElBK0RDO1NBeERZLG1CQUFtQjs7Ozs7O0lBRTlCLDJDQUFpQzs7Ozs7O0lBWWpDLHNDQUE0Qjs7SUFTNUIsd0NBQWtEOzs7OztJQUV0Qyx5Q0FBOEI7Ozs7O0lBQUUsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgdXNlZCB0byByZW5kZXIgY29udGVudCB3aGVuIHByaW50ZWQgdG8gY3VycmVudCB3aW5kb3dcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LXByaW50ZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9uZ3gtcHJpbnRlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFByaW50ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIF9yZW5kZXJDbGFzcyA9ICdkZWZhdWx0JztcclxuICBwdWJsaWMgZ2V0IHJlbmRlckNsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlckNsYXNzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJlbmRlckNsYXNzKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9yZW5kZXJDbGFzcyA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRDdXN0b21DbGFzcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBzaW5nbGUgaW1hZ2VcclxuICAgKi9cclxuICBwcml2YXRlIF9pbWdTcmMgPSAnZGVmYXVsdCc7XHJcbiAgcHVibGljIGdldCBpbWdTcmMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW1nU3JjO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGltZ1NyYyh2YWx1ZSkge1xyXG4gICAgdGhpcy5faW1nU3JjID0gdmFsdWU7XHJcbiAgICB0aGlzLmFkZEltYWdlKHRoaXMuX2ltZ1NyYyk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBBdHRhY2ggY3VzdG9tIGNsYXNzIHRvIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIHNldEN1c3RvbUNsYXNzKCkge1xyXG4gICAgY29uc3QgbmF0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0RWxlbWVudCwgJ2RlZmF1bHQnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobmF0RWxlbWVudCwgdGhpcy5fcmVuZGVyQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGN1c3RvbSBpbWFnZVxyXG4gICAqIEBwYXJhbSBzb3VyY2UgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRJbWFnZShzb3VyY2U6IHN0cmluZykge1xyXG4gICAgY29uc3QgbmF0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0IG5ld0ltZ0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobmV3SW1nRWxlbWVudCwgJ3NyYycsIHNvdXJjZSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obmV3SW1nRWxlbWVudCwgJ2xvYWQnLCAoZXZ0KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nIGNvbXBsZXRlZCcsIGV2dCk7XHJcbiAgICAgIHRoaXMuY29tcGxldGVkLmVtaXQodHJ1ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKG5hdEVsZW1lbnQsIG5ld0ltZ0VsZW1lbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -37,2 +38,2 @@ */

export { NgxPrinterModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RDtJQUFBO0lBYUEsQ0FBQzs7Ozs7SUFOUSx3QkFBTzs7OztJQUFkLFVBQWUsTUFBMEI7UUFDdkMsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQy9ELENBQUM7SUFDSixDQUFDOztnQkFaRixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO29CQUNsRCxlQUFlLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDdkM7O0lBUUQsdUJBQUM7Q0FBQSxBQWJELElBYUM7U0FQWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4UHJpbnRlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LXByaW50ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByaW50U2VydmljZUNvbmZpZyB9IGZyb20gJy4vcHJpbnQtc2VydmljZS1jb25maWcnO1xuaW1wb3J0IHsgUHJpbnRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9wcmludC1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05neFByaW50ZXJDb21wb25lbnQsIFByaW50SXRlbURpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbTmd4UHJpbnRlckNvbXBvbmVudCwgUHJpbnRJdGVtRGlyZWN0aXZlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbTmd4UHJpbnRlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUHJpbnRTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hQcmludGVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQcmludFNlcnZpY2VDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfV1cbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXByaW50ZXIvIiwic291cmNlcyI6WyJsaWIvbmd4LXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQ7SUFBQTtJQWFBLENBQUM7Ozs7O0lBTlEsd0JBQU87Ozs7SUFBZCxVQUFlLE1BQTBCO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMvRCxDQUFDO0lBQ0osQ0FBQzs7Z0JBWkYsUUFBUSxTQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO29CQUN2RCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztvQkFDbEQsZUFBZSxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ3ZDOztJQVFELHVCQUFDO0NBQUEsQUFiRCxJQWFDO1NBUFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFByaW50ZXJDb21wb25lbnQgfSBmcm9tICcuL25neC1wcmludGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2VDb25maWcgfSBmcm9tICcuL3ByaW50LXNlcnZpY2UtY29uZmlnJztcbmltcG9ydCB7IFByaW50SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcHJpbnQtaXRlbS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3hQcmludGVyQ29tcG9uZW50LCBQcmludEl0ZW1EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW05neFByaW50ZXJDb21wb25lbnQsIFByaW50SXRlbURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW05neFByaW50ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5neFByaW50ZXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IFByaW50U2VydmljZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4UHJpbnRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUHJpbnRTZXJ2aWNlQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -468,2 +469,3 @@ */

document.body.removeChild(this.openNgxPrinter);
this.openNgxPrinter = null;
}

@@ -656,2 +658,2 @@ };

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL25neC1wcmludGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQU81RDtJQWtDRSwyQkFDYyxNQUEwQixFQUM5QixRQUFrQyxFQUNsQyxRQUFrQjtRQURsQixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakNwQixvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDOzs7O1FBS3RELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDM0QsZ0JBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDOzs7OztRQVE5QyxxQkFBZ0IsR0FBRyxHQUFHLENBQUM7Ozs7UUFLdkIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7Ozs7O1FBTXhCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQU9kLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7O0lBQ0ssZ0RBQW9COzs7Ozs7SUFBNUIsVUFBNkIsTUFBMEI7UUFDckQs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LDRDQUE4RDs7Ozs7O0lBSzlELHdDQUEyRDs7SUFDM0Qsd0NBQThDOzs7OztJQUU5QywyQ0FBb0M7Ozs7OztJQU1wQyw2Q0FBdUI7Ozs7O0lBS3ZCLHdDQUF3Qjs7Ozs7O0lBTXhCLDRDQUF1Qjs7SUFFdkIsNkNBQXVEOztJQUN2RCx1Q0FBZ0I7Ozs7O0lBSWQscUNBQTBDOzs7OztJQUMxQyxxQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmludEl0ZW0gfSBmcm9tICcuL3ByaW50LWl0ZW0nO1xyXG5pbXBvcnQge1xyXG4gIEluamVjdGFibGUsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4UHJpbnRlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LXByaW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZUNvbmZpZyB9IGZyb20gJy4vcHJpbnQtc2VydmljZS1jb25maWcnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29udGVudDxUPiA9IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgVGVtcGxhdGVSZWY8VD4gfCBUeXBlPFQ+O1xyXG5cclxuLyoqXHJcbiAqIE1haW4gcHJpbnQgc2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJpbnRXaW5kb3dPcGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByaW50SXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByaW50SXRlbVtdPihbXSk7XHJcbiAgJHByaW50SXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIG9wZW5OZ3hQcmludGVyOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2FpdCB0aW1lIHRvIHJlbmRlciBiZWZvcmUgb3BlbiBwcmludCBkaWFsb2cgaW4gbXNcclxuICAgKiBEZWZhdWx0IGlzIDIwMFxyXG4gICAqL1xyXG4gIHRpbWVUb1dhaXRSZW5kZXIgPSAyMDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIHVzZWQgaW4gY29tcG9uZW50IHdoZW4gcHJpbnRpbmcgdG8gY3VycmVudCB3aW5kb3dcclxuICAgKi9cclxuICByZW5kZXJDbGFzcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBuZXcgd2luZG93IHRvIHByaW50IG9yIG5vdFxyXG4gICAqIERlZmF1bHQgaXMgdHJ1ZVxyXG4gICAqL1xyXG4gIHByaW50T3BlbldpbmRvdyA9IHRydWU7XHJcblxyXG4gICRwcmludFdpbmRvd09wZW4gPSB0aGlzLnByaW50V2luZG93T3Blbi5hc09ic2VydmFibGUoKTtcclxuICBldmVudGFkZGVkID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnOiBQcmludFNlcnZpY2VDb25maWcsXHJcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRSb290Q29uZmlnT3B0aW9ucyhjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGNvbmZpZyBmcm9tIGZvclJvb3RcclxuICAgKiBAcGFyYW0gY29uZmlnXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRSb290Q29uZmlnT3B0aW9ucyhjb25maWc6IFByaW50U2VydmljZUNvbmZpZykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICBpZiAoY29uZmlnLnByaW50T3BlbldpbmRvdykge1xyXG4gICAgICAgIHRoaXMucHJpbnRPcGVuV2luZG93ID0gY29uZmlnLnByaW50T3BlbldpbmRvdztcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29uZmlnLnRpbWVUb1dhaXRSZW5kZXIpIHtcclxuICAgICAgICB0aGlzLnRpbWVUb1dhaXRSZW5kZXIgPSBjb25maWcudGltZVRvV2FpdFJlbmRlcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29uZmlnLnJlbmRlckNsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJDbGFzcyA9IGNvbmZpZy5yZW5kZXJDbGFzcztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKlxyXG4gICAqIFByaW50IGEgZGl2IGlkZW50aWZpZWQgYnkgaXRzIGlkXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiB0aGlzLnByaW50ZXJTZXJ2aWNlLnByaW50RGl2KCdwcmludERpdicpO1xyXG4gICAqL1xyXG4gIHB1YmxpYyBwcmludERpdihkaXZJRDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaXZUb1ByaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGl2SUQpO1xyXG5cclxuICAgIGlmIChkaXZUb1ByaW50KSB7XHJcbiAgICAgIHRoaXMucHJpbnQoZGl2VG9QcmludCwgdGhpcy5wcmludE9wZW5XaW5kb3cpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coJ2RpdiB3aXRoIGlkICR7ZGl2SUR9IG5vdCBmb3VuZC4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqXHJcbiAgICogUHJpbnQgYW4gRWxlbWVudCBpZGVudGlmaWVkIGJ5IGl0cyBjbGFzc05hbWUgdXNpbmcgZ2V0RWxlbWVudHNCeUNsYXNzTmFtZVxyXG4gICAqIFByaW50cyB0aGUgZmlyc3QgZm91bmRcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRCeUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZWxlbWVudFRvUHJpbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNsYXNzTmFtZSk7XHJcblxyXG4gICAgaWYgKGVsZW1lbnRUb1ByaW50ICYmIGVsZW1lbnRUb1ByaW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5wcmludCg8SFRNTFNjcmlwdEVsZW1lbnQ+ZWxlbWVudFRvUHJpbnRbMF0sIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbGVtZW50IHdpdGggaWQgJHtjbGFzc05hbWV9IG5vdCBmb3VuZC4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCBBbmd1bGFyIFRlbXBsYXRlUmVmIG9yIGEgQ29tcG9uZW50IG9yIFN0cmluZ1xyXG4gICAqIEBwYXJhbSBjb250ZW50VG9QcmludFxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludEFuZ3VsYXIodGhpcy5QcmludFRlbXBsYXRlVHBsKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRBbmd1bGFyKGNvbnRlbnRUb1ByaW50OiBhbnkpIHtcclxuICAgIGNvbnN0IG5hdGl2ZUVsID0gdGhpcy5jcmVhdGVDb21wb25lbnQoY29udGVudFRvUHJpbnQpO1xyXG5cclxuICAgIHRoaXMucHJpbnQobmF0aXZlRWwubmF0aXZlRWxlbWVudCwgdGhpcy5wcmludE9wZW5XaW5kb3cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgc2luZ2xlIGltZ1xyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludEltZygnYXNzZXRzL2JyYXR3dXJzdC5qcGcnKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRJbWcoaW1nU3JjOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNvbXBSZWYgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChudWxsLCBpbWdTcmMpO1xyXG4gICAgY29uc3Qgb3Blbk5ld1dpbmRvdyA9IHRoaXMucHJpbnRPcGVuV2luZG93O1xyXG5cclxuICAgIGNvbXBSZWYuaW5zdGFuY2UuY29tcGxldGVkLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICBjb21wUmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgY29uc29sZS5sb2coJ2NvbXBsZXRlZDonLCB2YWwpO1xyXG4gICAgICB0aGlzLnByaW50KGNvbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgb3Blbk5ld1dpbmRvdyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IGFuIG5hdGl2ZSBFbGVtZW50IChIVE1MIEVsZW1lbnQpXHJcbiAgICogQHBhcmFtIG5hdGl2ZUVsZW1lbnRcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRIVE1MRWxlbWVudCh0aGlzLlByaW50Q29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAqL1xyXG4gIHB1YmxpYyBwcmludEhUTUxFbGVtZW50KG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLnByaW50KG5hdGl2ZUVsZW1lbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbmQgcmVuZGVyIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb250ZW50VG9SZW5kZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudChjb250ZW50VG9SZW5kZXI6IGFueSwgaW1nU3JjPzogc3RyaW5nKTogYW55IHtcclxuICAgIC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTmd4UHJpbnRlckNvbXBvbmVudCk7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmOiBhbnk7XHJcblxyXG4gICAgaWYgKGNvbnRlbnRUb1JlbmRlcikge1xyXG4gICAgICBjb25zdCBuZ0NvbnRlbnQgPSB0aGlzLnJlc29sdmVOZ0NvbnRlbnQoY29udGVudFRvUmVuZGVyKTtcclxuICAgICAgY29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3RvciwgbmdDb250ZW50KTsgLy8gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgfVxyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlbmRlckNsYXNzID0gdGhpcy5yZW5kZXJDbGFzcztcclxuICAgIGlmIChpbWdTcmMpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmltZ1NyYyA9IGltZ1NyYztcclxuICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5sb2NhdGlvbjsgLy8gbG9jYXRpb24gaXMgbmF0aXZlIGVsZW1lbnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1haW4gcHJpbnQgZnVuY3Rpb25cclxuICAgKiBAcGFyYW0gcHJpbnRDb250ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcmludChwcmludENvbnRlbnQ6IGFueSwgcHJpbnRPcGVuV2luZG93OiBib29sZWFuKSB7XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSB0cnVlKSB7XHJcbiAgICAgIGNvbnN0IHByaW50Q29udGVudENsb25lID0gcHJpbnRDb250ZW50LmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgdGhpcy5wcmludEluTmV3V2luZG93KHByaW50Q29udGVudENsb25lKTtcclxuICAgIH1cclxuICAgIGlmIChwcmludE9wZW5XaW5kb3cgPT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHByaW50Q29udGVudENsb25lID0gcHJpbnRDb250ZW50LmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgY29uc3QgbmF0aXZlRWwgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChwcmludENvbnRlbnRDbG9uZSkubmF0aXZlRWxlbWVudDtcclxuICAgICAgdGhpcy5vcGVuTmd4UHJpbnRlciA9IG5hdGl2ZUVsO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMub3Blbk5neFByaW50ZXIpO1xyXG4gICAgICB0aGlzLnByaW50Q3VycmVudFdpbmRvdygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgdXNpbmcgYSBuZXcgd2luZG93IC8gdGFiXHJcbiAgICogQHBhcmFtIGRpdlRvUHJpbnRcclxuICAgKi9cclxuICBwcml2YXRlIHByaW50SW5OZXdXaW5kb3coZGl2VG9QcmludDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnN0IHByaW50V2luZG93ID0gd2luZG93Lm9wZW4oJycsICdQUklOVCcpO1xyXG4gICAgbGV0IHRpdGxlID0gZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgcHJpbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoXHJcbiAgICAgICc8SFRNTD48SEVBRD48VElUTEU+JyArIHRpdGxlICsgJzwvVElUTEU+PC9IRUFEPjxCT0RZPjwvQk9EWT48L0hUTUw+J1xyXG4gICAgKTtcclxuICAgIC8vIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwpO1xyXG5cclxuICAgIGNvbnN0IHByaW50V2luZG93RG9jID0gcHJpbnRXaW5kb3cuZG9jdW1lbnQ7XHJcbiAgICBwcmludFdpbmRvd0RvYy5ib2R5LnN0eWxlLm1hcmdpbiA9ICcwIDAnO1xyXG4gICAgcHJpbnRXaW5kb3dEb2MuYm9keS5hcHBlbmRDaGlsZChkaXZUb1ByaW50KTtcclxuICAgIHByaW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7XHJcbiAgICAvLyBwcmludFdpbmRvd0RvYy5ib2R5LmlubmVySFRNTCA9IGRpdlRvUHJpbnQub3V0ZXJIVE1MO1xyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgKCkgPT4gdGhpcy5wcmludFRhYldpbmRvdyhwcmludFdpbmRvdywgcHJpbnRXaW5kb3dEb2MpLFxyXG4gICAgICB0aGlzLnRpbWVUb1dhaXRSZW5kZXJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCB3aW5kb3cgaW4gbmV3IHRhYlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJpbnRUYWJXaW5kb3cocHJpbnRXaW5kb3c6IFdpbmRvdywgcHJpbnRXaW5kb3dEb2M6IERvY3VtZW50KSB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyUHJpbnRFdmVudChwcmludFdpbmRvdywgdHJ1ZSk7XHJcbiAgICB0aGlzLnByaW50V2luZG93T3Blbi5uZXh0KHRydWUpO1xyXG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTsgLy8gbmVjZXNzYXJ5IGZvciBJRSA+PSAxMCovXHJcbiAgICBpZiAocHJpbnRXaW5kb3dEb2MuZXhlY0NvbW1hbmQoJ3ByaW50JykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHByaW50V2luZG93LnByaW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCB0aGUgd2hvbGUgY3VycmVudCB3aW5kb3dcclxuICAgKi9cclxuICBwcmludEN1cnJlbnRXaW5kb3coKSB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyUHJpbnRFdmVudCh3aW5kb3csIGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50V2luZG93T3Blbi5uZXh0KHRydWUpO1xyXG4gICAgICBpZiAoZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3ByaW50JykgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgd2luZG93LnByaW50KCk7XHJcbiAgICAgIH1cclxuICAgIH0sIHRoaXMudGltZVRvV2FpdFJlbmRlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW4gdG8gcHJpbnQgZXZlbnQgb2Ygd2luZG93XHJcbiAgICogQHBhcmFtIHByaW50V2luZG93XHJcbiAgICovXHJcbiAgcmVnaXN0ZXJQcmludEV2ZW50KHByaW50V2luZG93OiBXaW5kb3csIHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICBwcmludFdpbmRvdy5mb2N1cygpOyAvLyBuZWNlc3NhcnkgZm9yIElFID49IDEwKi9cclxuXHJcbiAgICBpZiAodGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHByaW50V2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2FmdGVycHJpbnQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSA9IHRydWU7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdhZnRlcnByaW50Jyk7XHJcbiAgICAgIGlmIChwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpIHtcclxuICAgICAgICB0aGF0LmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGF0LmNsZWFuVXAocHJpbnRXaW5kb3csIHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdyk7XHJcbiAgICAgIHRoYXQucHJpbnRXaW5kb3dPcGVuLm5leHQoZmFsc2UpO1xyXG4gICAgfSk7XHJcblxyXG4vKlxyXG4gIGxldCBtZWRpYVF1ZXJ5TGlzdDogTWVkaWFRdWVyeUxpc3QgPSBudWxsOyBcclxuXHJcbiAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKSB7XHJcbiAgICAgIG1lZGlhUXVlcnlMaXN0ID0gcHJpbnRXaW5kb3cubWF0Y2hNZWRpYSgncHJpbnQnKSBhcyBNZWRpYVF1ZXJ5TGlzdDtcclxuICAgICAgICB0aGlzLmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSB0cnVlO1xyXG4gICAgICAgIG1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKGZ1bmN0aW9uKG1xbCkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2cobXFsKTtcclxuICAgICAgICAgIGlmIChtcWwubWF0Y2hlcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnd2Via2l0IGVxdWl2YWxlbnQgb2Ygb25iZWZvcmVwcmludCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCFtcWwubWF0Y2hlcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnd2Via2l0IGVxdWl2YWxlbnQgb2YgYWZ0ZXJwcmludCcpO1xyXG4gICAgICAgICAgICBpZiAocHJpbnRXaXRoT3BlbkluTmV3V2luZG93KSB7XHJcbiAgICAgICAgICAgICAgdGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhhdC5jbGVhblVwKHByaW50V2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpO1xyXG4gICAgICAgICAgICB0aGF0LnByaW50V2luZG93T3Blbi5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2UgdGFiIG9yIGNsZWFuIHVwIGRvbVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYW5VcChwcmludFdpbmRvdzogV2luZG93LCBwcmludE9wZW5XaW5kb3c6IGJvb2xlYW4pIHtcclxuICAgIGlmIChwcmludE9wZW5XaW5kb3cgPT09IHRydWUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2Nsb3NlIHByaW50IHdpbmRvdycpO1xyXG4gICAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xyXG4gICAgICB9LCAyMCk7XHJcbiAgICB9XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSBmYWxzZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5vcGVuTmd4UHJpbnRlcikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbmd4LXByaW50ZXInKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLm9wZW5OZ3hQcmludGVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBub2RlIG9yIGFuZ3VsYXIgY29tcG9uZW50XHJcbiAgICogQHBhcmFtIGNvbnRlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHJlc29sdmVOZ0NvbnRlbnQ8VD4oY29udGVudDogQ29udGVudDxUPikge1xyXG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCk7XHJcbiAgICAgIHJldHVybiBbW2VsZW1lbnRdXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGNvbnN0IHZpZXdSZWYgPSBjb250ZW50LmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsKTtcclxuICAgICAgcmV0dXJuIFt2aWV3UmVmLnJvb3ROb2Rlc107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xyXG4gICAgICByZXR1cm4gW1tjb250ZW50XV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIE90aGVyd2lzZSBpdCdzIGEgY29tcG9uZW50ICovXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb250ZW50KTtcclxuXHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gW1tjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudF1dO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgbmV3IGl0ZW0gdG8gcHJpbnRcclxuICAgKiBVc2VkIGJ5IGRpcmVjdGl2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBuZXdQcmludEl0ZW0gIEhUTUwgaWRcclxuICAgKi9cclxuICBwdWJsaWMgYWRkUHJpbnRJdGVtKG5ld1ByaW50SXRlbTogUHJpbnRJdGVtKTogdm9pZCB7XHJcbiAgICBjb25zdCB0bXBJdGVtcyA9IHRoaXMuX3ByaW50SXRlbXMuZ2V0VmFsdWUoKTtcclxuICAgIHRtcEl0ZW1zLnB1c2gobmV3UHJpbnRJdGVtKTtcclxuICAgIHRoaXMuX3ByaW50SXRlbXMubmV4dCh0bXBJdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYSBwcmludCBpdGVtIGZyb20gc2VydmljZVxyXG4gICAqIFVzZWQgYnkgZGlyZWN0aXZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGlkT2ZJdGVtVG9SZW1vdmVcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlUHJpbnRJdGVtKGlkT2ZJdGVtVG9SZW1vdmU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdG1wSXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmdldFZhbHVlKCk7XHJcbiAgICBjb25zdCBuZXdJaXRlbXMgPSB0bXBJdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBpZE9mSXRlbVRvUmVtb3ZlKTtcclxuICAgIHRoaXMuX3ByaW50SXRlbXMubmV4dChuZXdJaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgYSBwcmludCBJdGVtXHJcbiAgICogQHBhcmFtIHByaW50SXRlbVRvUHJpbnRcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRQcmludEl0ZW0ocHJpbnRJdGVtVG9QcmludDogUHJpbnRJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLnByaW50SFRNTEVsZW1lbnQocHJpbnRJdGVtVG9QcmludC5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL25neC1wcmludGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsUUFBUSxFQUNSLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFPNUQ7SUFrQ0UsMkJBQ2MsTUFBMEIsRUFDOUIsUUFBa0MsRUFDbEMsUUFBa0I7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpDcEIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQzs7OztRQUt0RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Ozs7UUFROUMscUJBQWdCLEdBQUcsR0FBRyxDQUFDOzs7O1FBS3ZCLGdCQUFXLEdBQUcsU0FBUyxDQUFDOzs7OztRQU14QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFPZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7OztJQUNLLGdEQUFvQjs7Ozs7O0lBQTVCLFVBQTZCLE1BQTBCO1FBQ3JE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QyxBQTFWRCxJQTBWQztTQXZWWSxpQkFBaUI7Ozs7OztJQUM1Qiw0Q0FBOEQ7Ozs7OztJQUs5RCx3Q0FBMkQ7O0lBQzNELHdDQUE4Qzs7Ozs7SUFFOUMsMkNBQW9DOzs7Ozs7SUFNcEMsNkNBQXVCOzs7OztJQUt2Qix3Q0FBd0I7Ozs7OztJQU14Qiw0Q0FBdUI7O0lBRXZCLDZDQUF1RDs7SUFDdkQsdUNBQWdCOzs7OztJQUlkLHFDQUEwQzs7Ozs7SUFDMUMscUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbnRJdGVtIH0gZnJvbSAnLi9wcmludC1pdGVtJztcclxuaW1wb3J0IHtcclxuICBJbmplY3RhYmxlLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBJbmplY3RvcixcclxuICBPcHRpb25hbCxcclxuICBUeXBlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5neFByaW50ZXJDb21wb25lbnQgfSBmcm9tICcuL25neC1wcmludGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQcmludFNlcnZpY2VDb25maWcgfSBmcm9tICcuL3ByaW50LXNlcnZpY2UtY29uZmlnJztcclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbnQ8VD4gPSBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IFRlbXBsYXRlUmVmPFQ+IHwgVHlwZTxUPjtcclxuXHJcbi8qKlxyXG4gKiBNYWluIHByaW50IHNlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFByaW50ZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHByaW50V2luZG93T3BlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIF9wcmludEl0ZW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcmludEl0ZW1bXT4oW10pO1xyXG4gICRwcmludEl0ZW1zID0gdGhpcy5fcHJpbnRJdGVtcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBvcGVuTmd4UHJpbnRlcjogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdhaXQgdGltZSB0byByZW5kZXIgYmVmb3JlIG9wZW4gcHJpbnQgZGlhbG9nIGluIG1zXHJcbiAgICogRGVmYXVsdCBpcyAyMDBcclxuICAgKi9cclxuICB0aW1lVG9XYWl0UmVuZGVyID0gMjAwO1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyB1c2VkIGluIGNvbXBvbmVudCB3aGVuIHByaW50aW5nIHRvIGN1cnJlbnQgd2luZG93XHJcbiAgICovXHJcbiAgcmVuZGVyQ2xhc3MgPSAnZGVmYXVsdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gbmV3IHdpbmRvdyB0byBwcmludCBvciBub3RcclxuICAgKiBEZWZhdWx0IGlzIHRydWVcclxuICAgKi9cclxuICBwcmludE9wZW5XaW5kb3cgPSB0cnVlO1xyXG5cclxuICAkcHJpbnRXaW5kb3dPcGVuID0gdGhpcy5wcmludFdpbmRvd09wZW4uYXNPYnNlcnZhYmxlKCk7XHJcbiAgZXZlbnRhZGRlZCA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZzogUHJpbnRTZXJ2aWNlQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuc2V0Um9vdENvbmZpZ09wdGlvbnMoY29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBjb25maWcgZnJvbSBmb3JSb290XHJcbiAgICogQHBhcmFtIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Um9vdENvbmZpZ09wdGlvbnMoY29uZmlnOiBQcmludFNlcnZpY2VDb25maWcpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgaWYgKGNvbmZpZy5wcmludE9wZW5XaW5kb3cpIHtcclxuICAgICAgICB0aGlzLnByaW50T3BlbldpbmRvdyA9IGNvbmZpZy5wcmludE9wZW5XaW5kb3c7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbmZpZy50aW1lVG9XYWl0UmVuZGVyKSB7XHJcbiAgICAgICAgdGhpcy50aW1lVG9XYWl0UmVuZGVyID0gY29uZmlnLnRpbWVUb1dhaXRSZW5kZXI7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbmZpZy5yZW5kZXJDbGFzcykge1xyXG4gICAgICAgIHRoaXMucmVuZGVyQ2xhc3MgPSBjb25maWcucmVuZGVyQ2xhc3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKipcclxuICAgKiBQcmludCBhIGRpdiBpZGVudGlmaWVkIGJ5IGl0cyBpZFxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogdGhpcy5wcmludGVyU2VydmljZS5wcmludERpdigncHJpbnREaXYnKTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnREaXYoZGl2SUQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGl2VG9QcmludCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdklEKTtcclxuXHJcbiAgICBpZiAoZGl2VG9QcmludCkge1xyXG4gICAgICB0aGlzLnByaW50KGRpdlRvUHJpbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkaXYgd2l0aCBpZCAke2RpdklEfSBub3QgZm91bmQuLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKlxyXG4gICAqIFByaW50IGFuIEVsZW1lbnQgaWRlbnRpZmllZCBieSBpdHMgY2xhc3NOYW1lIHVzaW5nIGdldEVsZW1lbnRzQnlDbGFzc05hbWVcclxuICAgKiBQcmludHMgdGhlIGZpcnN0IGZvdW5kXHJcbiAgICovXHJcbiAgcHVibGljIHByaW50QnlDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVsZW1lbnRUb1ByaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpO1xyXG5cclxuICAgIGlmIChlbGVtZW50VG9QcmludCAmJiBlbGVtZW50VG9QcmludC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucHJpbnQoPEhUTUxTY3JpcHRFbGVtZW50PmVsZW1lbnRUb1ByaW50WzBdLCB0aGlzLnByaW50T3BlbldpbmRvdyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygnZWxlbWVudCB3aXRoIGlkICR7Y2xhc3NOYW1lfSBub3QgZm91bmQuLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgQW5ndWxhciBUZW1wbGF0ZVJlZiBvciBhIENvbXBvbmVudCBvciBTdHJpbmdcclxuICAgKiBAcGFyYW0gY29udGVudFRvUHJpbnRcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRBbmd1bGFyKHRoaXMuUHJpbnRUZW1wbGF0ZVRwbCk7XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50QW5ndWxhcihjb250ZW50VG9QcmludDogYW55KSB7XHJcbiAgICBjb25zdCBuYXRpdmVFbCA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbnRlbnRUb1ByaW50KTtcclxuXHJcbiAgICB0aGlzLnByaW50KG5hdGl2ZUVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMucHJpbnRPcGVuV2luZG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IHNpbmdsZSBpbWdcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIHRoaXMucHJpbnRlclNlcnZpY2UucHJpbnRJbWcoJ2Fzc2V0cy9icmF0d3Vyc3QuanBnJyk7XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50SW1nKGltZ1NyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wUmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQobnVsbCwgaW1nU3JjKTtcclxuICAgIGNvbnN0IG9wZW5OZXdXaW5kb3cgPSB0aGlzLnByaW50T3BlbldpbmRvdztcclxuXHJcbiAgICBjb21wUmVmLmluc3RhbmNlLmNvbXBsZXRlZC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgY29tcFJlZi5ob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdjb21wbGV0ZWQ6JywgdmFsKTtcclxuICAgICAgdGhpcy5wcmludChjb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIG9wZW5OZXdXaW5kb3cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmludCBhbiBuYXRpdmUgRWxlbWVudCAoSFRNTCBFbGVtZW50KVxyXG4gICAqIEBwYXJhbSBuYXRpdmVFbGVtZW50XHJcbiAgICogQGV4YW1wbGVcclxuICAgKiB0aGlzLnByaW50ZXJTZXJ2aWNlLnByaW50SFRNTEVsZW1lbnQodGhpcy5QcmludENvbXBvbmVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgKi9cclxuICBwdWJsaWMgcHJpbnRIVE1MRWxlbWVudChuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgdGhpcy5wcmludChuYXRpdmVFbGVtZW50LCB0aGlzLnByaW50T3BlbldpbmRvdyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW5kIHJlbmRlciBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29udGVudFRvUmVuZGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoY29udGVudFRvUmVuZGVyOiBhbnksIGltZ1NyYz86IHN0cmluZyk6IGFueSB7XHJcbiAgICAvLyB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE5neFByaW50ZXJDb21wb25lbnQpO1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZjogYW55O1xyXG5cclxuICAgIGlmIChjb250ZW50VG9SZW5kZXIpIHtcclxuICAgICAgY29uc3QgbmdDb250ZW50ID0gdGhpcy5yZXNvbHZlTmdDb250ZW50KGNvbnRlbnRUb1JlbmRlcik7XHJcbiAgICAgIGNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IsIG5nQ29udGVudCk7IC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb21wb25lbnRSZWYgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgIH1cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZW5kZXJDbGFzcyA9IHRoaXMucmVuZGVyQ2xhc3M7XHJcbiAgICBpZiAoaW1nU3JjKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbWdTcmMgPSBpbWdTcmM7XHJcbiAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWYubG9jYXRpb247IC8vIGxvY2F0aW9uIGlzIG5hdGl2ZSBlbGVtZW50XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYWluIHByaW50IGZ1bmN0aW9uXHJcbiAgICogQHBhcmFtIHByaW50Q29udGVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJpbnQocHJpbnRDb250ZW50OiBhbnksIHByaW50T3BlbldpbmRvdzogYm9vbGVhbikge1xyXG4gICAgaWYgKHByaW50T3BlbldpbmRvdyA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCBwcmludENvbnRlbnRDbG9uZSA9IHByaW50Q29udGVudC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgIHRoaXMucHJpbnRJbk5ld1dpbmRvdyhwcmludENvbnRlbnRDbG9uZSk7XHJcbiAgICB9XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSBmYWxzZSkge1xyXG4gICAgICBjb25zdCBwcmludENvbnRlbnRDbG9uZSA9IHByaW50Q29udGVudC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsID0gdGhpcy5jcmVhdGVDb21wb25lbnQocHJpbnRDb250ZW50Q2xvbmUpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIHRoaXMub3Blbk5neFByaW50ZXIgPSBuYXRpdmVFbDtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm9wZW5OZ3hQcmludGVyKTtcclxuICAgICAgdGhpcy5wcmludEN1cnJlbnRXaW5kb3coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IHVzaW5nIGEgbmV3IHdpbmRvdyAvIHRhYlxyXG4gICAqIEBwYXJhbSBkaXZUb1ByaW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcmludEluTmV3V2luZG93KGRpdlRvUHJpbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKCcnLCAnUFJJTlQnKTtcclxuICAgIGxldCB0aXRsZSA9IGRvY3VtZW50LnRpdGxlO1xyXG5cclxuICAgIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKFxyXG4gICAgICAnPEhUTUw+PEhFQUQ+PFRJVExFPicgKyB0aXRsZSArICc8L1RJVExFPjwvSEVBRD48Qk9EWT48L0JPRFk+PC9IVE1MPidcclxuICAgICk7XHJcbiAgICAvLyBwcmludFdpbmRvdy5kb2N1bWVudC53cml0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MKTtcclxuXHJcbiAgICBjb25zdCBwcmludFdpbmRvd0RvYyA9IHByaW50V2luZG93LmRvY3VtZW50O1xyXG4gICAgcHJpbnRXaW5kb3dEb2MuYm9keS5zdHlsZS5tYXJnaW4gPSAnMCAwJztcclxuICAgIHByaW50V2luZG93RG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGl2VG9QcmludCk7XHJcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpO1xyXG4gICAgLy8gcHJpbnRXaW5kb3dEb2MuYm9keS5pbm5lckhUTUwgPSBkaXZUb1ByaW50Lm91dGVySFRNTDtcclxuICAgIHNldFRpbWVvdXQoXHJcbiAgICAgICgpID0+IHRoaXMucHJpbnRUYWJXaW5kb3cocHJpbnRXaW5kb3csIHByaW50V2luZG93RG9jKSxcclxuICAgICAgdGhpcy50aW1lVG9XYWl0UmVuZGVyXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgd2luZG93IGluIG5ldyB0YWJcclxuICAgKi9cclxuICBwcml2YXRlIHByaW50VGFiV2luZG93KHByaW50V2luZG93OiBXaW5kb3csIHByaW50V2luZG93RG9jOiBEb2N1bWVudCkge1xyXG4gICAgdGhpcy5yZWdpc3RlclByaW50RXZlbnQocHJpbnRXaW5kb3csIHRydWUpO1xyXG4gICAgdGhpcy5wcmludFdpbmRvd09wZW4ubmV4dCh0cnVlKTtcclxuICAgIHByaW50V2luZG93LmZvY3VzKCk7IC8vIG5lY2Vzc2FyeSBmb3IgSUUgPj0gMTAqL1xyXG4gICAgaWYgKHByaW50V2luZG93RG9jLmV4ZWNDb21tYW5kKCdwcmludCcpID09PSBmYWxzZSkge1xyXG4gICAgICBwcmludFdpbmRvdy5wcmludCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJpbnQgdGhlIHdob2xlIGN1cnJlbnQgd2luZG93XHJcbiAgICovXHJcbiAgcHJpbnRDdXJyZW50V2luZG93KCkge1xyXG4gICAgdGhpcy5yZWdpc3RlclByaW50RXZlbnQod2luZG93LCBmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5wcmludFdpbmRvd09wZW4ubmV4dCh0cnVlKTtcclxuICAgICAgaWYgKGRvY3VtZW50LmV4ZWNDb21tYW5kKCdwcmludCcpID09PSBmYWxzZSkge1xyXG4gICAgICAgIHdpbmRvdy5wcmludCgpO1xyXG4gICAgICB9XHJcbiAgICB9LCB0aGlzLnRpbWVUb1dhaXRSZW5kZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuIHRvIHByaW50IGV2ZW50IG9mIHdpbmRvd1xyXG4gICAqIEBwYXJhbSBwcmludFdpbmRvd1xyXG4gICAqL1xyXG4gIHJlZ2lzdGVyUHJpbnRFdmVudChwcmludFdpbmRvdzogV2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3c6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTsgLy8gbmVjZXNzYXJ5IGZvciBJRSA+PSAxMCovXHJcblxyXG4gICAgaWYgKHRoYXQuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBwcmludFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdhZnRlcnByaW50JywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmV2ZW50YWRkZWRbcHJpbnRXaW5kb3cubmFtZV0gPSB0cnVlO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnYWZ0ZXJwcmludCcpO1xyXG4gICAgICBpZiAocHJpbnRXaXRoT3BlbkluTmV3V2luZG93KSB7XHJcbiAgICAgICAgdGhhdC5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhhdC5jbGVhblVwKHByaW50V2luZG93LCBwcmludFdpdGhPcGVuSW5OZXdXaW5kb3cpO1xyXG4gICAgICB0aGF0LnByaW50V2luZG93T3Blbi5uZXh0KGZhbHNlKTtcclxuICAgIH0pO1xyXG5cclxuLypcclxuICBsZXQgbWVkaWFRdWVyeUxpc3Q6IE1lZGlhUXVlcnlMaXN0ID0gbnVsbDsgXHJcblxyXG4gIGlmICh3aW5kb3cubWF0Y2hNZWRpYSkge1xyXG4gICAgICBtZWRpYVF1ZXJ5TGlzdCA9IHByaW50V2luZG93Lm1hdGNoTWVkaWEoJ3ByaW50JykgYXMgTWVkaWFRdWVyeUxpc3Q7XHJcbiAgICAgICAgdGhpcy5ldmVudGFkZGVkW3ByaW50V2luZG93Lm5hbWVdID0gdHJ1ZTtcclxuICAgICAgICBtZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lcihmdW5jdGlvbihtcWwpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKG1xbCk7XHJcbiAgICAgICAgICBpZiAobXFsLm1hdGNoZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3dlYmtpdCBlcXVpdmFsZW50IG9mIG9uYmVmb3JlcHJpbnQnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghbXFsLm1hdGNoZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3dlYmtpdCBlcXVpdmFsZW50IG9mIGFmdGVycHJpbnQnKTtcclxuICAgICAgICAgICAgaWYgKHByaW50V2l0aE9wZW5Jbk5ld1dpbmRvdykge1xyXG4gICAgICAgICAgICAgIHRoYXQuZXZlbnRhZGRlZFtwcmludFdpbmRvdy5uYW1lXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoYXQuY2xlYW5VcChwcmludFdpbmRvdywgcHJpbnRXaXRoT3BlbkluTmV3V2luZG93KTtcclxuICAgICAgICAgICAgdGhhdC5wcmludFdpbmRvd09wZW4ubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlIHRhYiBvciBjbGVhbiB1cCBkb21cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFuVXAocHJpbnRXaW5kb3c6IFdpbmRvdywgcHJpbnRPcGVuV2luZG93OiBib29sZWFuKSB7XHJcbiAgICBpZiAocHJpbnRPcGVuV2luZG93ID09PSB0cnVlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdjbG9zZSBwcmludCB3aW5kb3cnKTtcclxuICAgICAgcHJpbnRXaW5kb3cuY2xvc2UoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgcHJpbnRXaW5kb3cuY2xvc2UoKTtcclxuICAgICAgfSwgMjApO1xyXG4gICAgfVxyXG4gICAgaWYgKHByaW50T3BlbldpbmRvdyA9PT0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMub3Blbk5neFByaW50ZXIpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ25neC1wcmludGVyJykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5vcGVuTmd4UHJpbnRlcik7XHJcbiAgICAgICAgdGhpcy5vcGVuTmd4UHJpbnRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgbm9kZSBvciBhbmd1bGFyIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb250ZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNvbHZlTmdDb250ZW50PFQ+KGNvbnRlbnQ6IENvbnRlbnQ8VD4pIHtcclxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpO1xyXG4gICAgICByZXR1cm4gW1tlbGVtZW50XV07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICBjb25zdCB2aWV3UmVmID0gY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbCk7XHJcbiAgICAgIHJldHVybiBbdmlld1JlZi5yb290Tm9kZXNdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIFtbY29udGVudF1dO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBPdGhlcndpc2UgaXQncyBhIGNvbXBvbmVudCAqL1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29udGVudCk7XHJcblxyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIFtbY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnRdXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIG5ldyBpdGVtIHRvIHByaW50XHJcbiAgICogVXNlZCBieSBkaXJlY3RpdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gbmV3UHJpbnRJdGVtICBIVE1MIGlkXHJcbiAgICovXHJcbiAgcHVibGljIGFkZFByaW50SXRlbShuZXdQcmludEl0ZW06IFByaW50SXRlbSk6IHZvaWQge1xyXG4gICAgY29uc3QgdG1wSXRlbXMgPSB0aGlzLl9wcmludEl0ZW1zLmdldFZhbHVlKCk7XHJcbiAgICB0bXBJdGVtcy5wdXNoKG5ld1ByaW50SXRlbSk7XHJcbiAgICB0aGlzLl9wcmludEl0ZW1zLm5leHQodG1wSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGEgcHJpbnQgaXRlbSBmcm9tIHNlcnZpY2VcclxuICAgKiBVc2VkIGJ5IGRpcmVjdGl2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBpZE9mSXRlbVRvUmVtb3ZlXHJcbiAgICovXHJcbiAgcHVibGljIHJlbW92ZVByaW50SXRlbShpZE9mSXRlbVRvUmVtb3ZlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRtcEl0ZW1zID0gdGhpcy5fcHJpbnRJdGVtcy5nZXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgbmV3SWl0ZW1zID0gdG1wSXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gaWRPZkl0ZW1Ub1JlbW92ZSk7XHJcbiAgICB0aGlzLl9wcmludEl0ZW1zLm5leHQobmV3SWl0ZW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaW50IGEgcHJpbnQgSXRlbVxyXG4gICAqIEBwYXJhbSBwcmludEl0ZW1Ub1ByaW50XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50UHJpbnRJdGVtKHByaW50SXRlbVRvUHJpbnQ6IFByaW50SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmludEhUTUxFbGVtZW50KHByaW50SXRlbVRvUHJpbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
/**
* @fileoverview added by tsickle
* Generated from: lib/print-item.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -77,2 +78,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFPekM7SUFXRSw0QkFBb0IsRUFBYyxFQUFVLGNBQWlDO1FBQXpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFDN0UsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjtRQUNFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFOztnQkFDdEIsWUFBWSxHQUFHLElBQUksU0FBUyxFQUFFO1lBQ3BDLFlBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzNDLFlBQVksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFFbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDOzs7O0lBRUQsd0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDOztnQkE1QkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzs7O2dCQVhtQixVQUFVO2dCQUNyQixpQkFBaUI7Ozs0QkFnQnZCLEtBQUs7O0lBc0JSLHlCQUFDO0NBQUEsQUE5QkQsSUE4QkM7U0EzQlksa0JBQWtCOzs7Ozs7SUFLN0IsdUNBQ2tCOzs7OztJQUVOLGdDQUFzQjs7Ozs7SUFBRSw0Q0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4UHJpbnRlclNlcnZpY2UgfSBmcm9tICcuL25neC1wcmludGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpbnRJdGVtIH0gZnJvbSAnLi9wcmludC1pdGVtJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0byBtYXJrIGFuZCBzdG9yZSBhbiBIVE1MLUVsZW1lbnQgYXMgYW4gaXRlbSB3aGljaFxuICogY2FuIGJlIHByaW50ZWRcbiAqIEFuIGlkIGhhcyB0byBiZSBzZXRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neFByaW50SXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFByaW50SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZSB0byBiZSBzaG93biBpbiBhbiBjb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHByaW50TmFtZTogc3RyaW5nO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBwcmludGVyU2VydmljZTogTmd4UHJpbnRlclNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpIHtcbiAgICAgIGNvbnN0IHRtcFByaW50SXRlbSA9IG5ldyBQcmludEl0ZW0oKTtcbiAgICAgIHRtcFByaW50SXRlbS5pZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZDtcbiAgICAgIHRtcFByaW50SXRlbS5uYXRpdmVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICB0aGlzLnByaW50ZXJTZXJ2aWNlLmFkZFByaW50SXRlbSh0bXBQcmludEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCl7XG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCkge1xuICAgICAgdGhpcy5wcmludGVyU2VydmljZS5yZW1vdmVQcmludEl0ZW0oIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBT3pDO0lBV0UsNEJBQW9CLEVBQWMsRUFBVSxjQUFpQztRQUF6RCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBQzdFLENBQUM7Ozs7SUFFRCxxQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRTs7Z0JBQ3RCLFlBQVksR0FBRyxJQUFJLFNBQVMsRUFBRTtZQUNwQyxZQUFZLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBRW5ELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7OztJQUVELHdDQUFXOzs7SUFBWDtRQUNFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQzs7Z0JBNUJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjs7OztnQkFYbUIsVUFBVTtnQkFDckIsaUJBQWlCOzs7NEJBZ0J2QixLQUFLOztJQXNCUix5QkFBQztDQUFBLEFBOUJELElBOEJDO1NBM0JZLGtCQUFrQjs7Ozs7O0lBSzdCLHVDQUNrQjs7Ozs7SUFFTixnQ0FBc0I7Ozs7O0lBQUUsNENBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFByaW50ZXJTZXJ2aWNlIH0gZnJvbSAnLi9uZ3gtcHJpbnRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByaW50SXRlbSB9IGZyb20gJy4vcHJpbnQtaXRlbSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbmQgc3RvcmUgYW4gSFRNTC1FbGVtZW50IGFzIGFuIGl0ZW0gd2hpY2hcbiAqIGNhbiBiZSBwcmludGVkXG4gKiBBbiBpZCBoYXMgdG8gYmUgc2V0XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hQcmludEl0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBQcmludEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgdG8gYmUgc2hvd24gaW4gYW4gY29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBwcmludE5hbWU6IHN0cmluZztcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcHJpbnRlclNlcnZpY2U6IE5neFByaW50ZXJTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKSB7XG4gICAgICBjb25zdCB0bXBQcmludEl0ZW0gPSBuZXcgUHJpbnRJdGVtKCk7XG4gICAgICB0bXBQcmludEl0ZW0uaWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQ7XG4gICAgICB0bXBQcmludEl0ZW0ubmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgdGhpcy5wcmludGVyU2VydmljZS5hZGRQcmludEl0ZW0odG1wUHJpbnRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpe1xuICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpIHtcbiAgICAgIHRoaXMucHJpbnRlclNlcnZpY2UucmVtb3ZlUHJpbnRJdGVtKCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
/**
* @fileoverview added by tsickle
* Generated from: lib/print-item.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -37,2 +38,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL3ByaW50LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBOzs7O0lBZ0JFO0lBQWUsQ0FBQztJQUNsQixnQkFBQztBQUFELENBQUMsQUFqQkQsSUFpQkM7Ozs7Ozs7Ozs7SUFiQyx1QkFBVzs7Ozs7SUFLWCxxQ0FBeUI7Ozs7O0lBS3pCLGtDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBBIGNsYXNzIHRvIHN0cm9lIGFuIGl0ZW0gd2hpY2ggY2FuIGJlIHByaW50ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFByaW50SXRlbSB7XG4gIC8qKlxuICAgKiBIVE1MIGlkIG9mIGFuY2hvclxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZVxuICAgKi9cbiAgcHJpbnREaXNwbGF5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIVE1MIEVsZW1lbnRcbiAgICovXG4gIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsibGliL3ByaW50LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQTs7OztJQWdCRTtJQUFlLENBQUM7SUFDbEIsZ0JBQUM7QUFBRCxDQUFDLEFBakJELElBaUJDOzs7Ozs7Ozs7O0lBYkMsdUJBQVc7Ozs7O0lBS1gscUNBQXlCOzs7OztJQUt6QixrQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQSBjbGFzcyB0byBzdHJvZSBhbiBpdGVtIHdoaWNoIGNhbiBiZSBwcmludGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmludEl0ZW0ge1xuICAvKipcbiAgICogSFRNTCBpZCBvZiBhbmNob3JcbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWVcbiAgICovXG4gIHByaW50RGlzcGxheU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSFRNTCBFbGVtZW50XG4gICAqL1xuICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
/**
* @fileoverview added by tsickle
* Generated from: lib/print-service-config.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -45,2 +46,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1zZXJ2aWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7Ozs7SUFBQTs7OztRQUVFLG9CQUFlLEdBQUssSUFBSSxDQUFDOzs7O1FBR3pCLHFCQUFnQixHQUFLLEdBQUcsQ0FBQztJQUkzQixDQUFDO0lBQUQseUJBQUM7QUFBRCxDQUFDLEFBVEQsSUFTQzs7Ozs7Ozs7OztJQVBDLDZDQUF5Qjs7Ozs7SUFHekIsOENBQXlCOzs7OztJQUd6Qix5Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZyBmb3Igc2VydmljZSAtIHVzZWQgaW4gZm9yUm9vdFxuICovXG5leHBvcnQgY2xhc3MgUHJpbnRTZXJ2aWNlQ29uZmlnIHtcbiAgLyoqIFByaW50IGluIGEgbmV3IHdpbmRvdyBvciBub3QgKi9cbiAgcHJpbnRPcGVuV2luZG93ID8gPSB0cnVlO1xuXG4gIC8qKiBXYWl0IHRpbWUgYmVmb3JlIG9wZW5pbmcgcHJpbnQgZGlhbG9nICovXG4gIHRpbWVUb1dhaXRSZW5kZXIgPyA9IDIwMDtcblxuICAvKiogQ2xhc3MgbmFtZSB0byBiZSB1c2VkIHdoZW4gcHJpbnRpbmcgaW4gY3VycmVudCB3aW5kb3cgKi9cbiAgcmVuZGVyQ2xhc3M/OiBzdHJpbmc7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbImxpYi9wcmludC1zZXJ2aWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBOzs7O0lBQUE7Ozs7UUFFRSxvQkFBZSxHQUFLLElBQUksQ0FBQzs7OztRQUd6QixxQkFBZ0IsR0FBSyxHQUFHLENBQUM7SUFJM0IsQ0FBQztJQUFELHlCQUFDO0FBQUQsQ0FBQyxBQVRELElBU0M7Ozs7Ozs7Ozs7SUFQQyw2Q0FBeUI7Ozs7O0lBR3pCLDhDQUF5Qjs7Ozs7SUFHekIseUNBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25maWcgZm9yIHNlcnZpY2UgLSB1c2VkIGluIGZvclJvb3RcbiAqL1xuZXhwb3J0IGNsYXNzIFByaW50U2VydmljZUNvbmZpZyB7XG4gIC8qKiBQcmludCBpbiBhIG5ldyB3aW5kb3cgb3Igbm90ICovXG4gIHByaW50T3BlbldpbmRvdyA/ID0gdHJ1ZTtcblxuICAvKiogV2FpdCB0aW1lIGJlZm9yZSBvcGVuaW5nIHByaW50IGRpYWxvZyAqL1xuICB0aW1lVG9XYWl0UmVuZGVyID8gPSAyMDA7XG5cbiAgLyoqIENsYXNzIG5hbWUgdG8gYmUgdXNlZCB3aGVuIHByaW50aW5nIGluIGN1cnJlbnQgd2luZG93ICovXG4gIHJlbmRlckNsYXNzPzogc3RyaW5nO1xufVxuIl19
/**
* @fileoverview added by tsickle
* Generated from: ngx-printer.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -9,2 +10,2 @@ */

export { NgxPrinterService, NgxPrinterComponent, NgxPrinterModule, PrintItem, PrintItemDirective, PrintServiceConfig } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbIm5neC1wcmludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw0SEFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcHJpbnRlci8iLCJzb3VyY2VzIjpbIm5neC1wcmludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsNEhBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
/**
* @fileoverview added by tsickle
* Generated from: public_api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -14,2 +15,2 @@ */

export { PrintServiceConfig } from './lib/print-service-config';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0NBQWMsMkJBQTJCLENBQUM7QUFDMUMsb0NBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMEJBQTBCLENBQUM7QUFDekMsMEJBQWMsa0JBQWtCLENBQUM7QUFDakMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1wcmludGVyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcHJpbnRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpbnQtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpbnQtc2VydmljZS1jb25maWcnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wcmludGVyLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLGtDQUFjLDJCQUEyQixDQUFDO0FBQzFDLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLGlDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLDBCQUFjLGtCQUFrQixDQUFDO0FBQ2pDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG1DQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcHJpbnRlclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmludC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50LXNlcnZpY2UtY29uZmlnJztcbiJdfQ==

@@ -6,2 +6,3 @@ import { EventEmitter, Component, ElementRef, Renderer2, Output, TemplateRef, Injectable, Optional, ComponentFactoryResolver, Injector, ɵɵdefineInjectable, ɵɵinject, INJECTOR, Directive, Input, NgModule } from '@angular/core';

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -138,2 +139,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-service-config.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -176,2 +178,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -494,2 +497,3 @@ */

document.body.removeChild(this.openNgxPrinter);
this.openNgxPrinter = null;
}

@@ -635,2 +639,3 @@ }

* @fileoverview added by tsickle
* Generated from: lib/print-item.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -664,2 +669,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-item.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -735,2 +741,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -761,2 +768,3 @@ */

* @fileoverview added by tsickle
* Generated from: public_api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -767,2 +775,3 @@ */

* @fileoverview added by tsickle
* Generated from: ngx-printer.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -769,0 +778,0 @@ */

@@ -6,2 +6,3 @@ import { EventEmitter, Component, ElementRef, Renderer2, Output, TemplateRef, Injectable, Optional, ComponentFactoryResolver, Injector, ɵɵdefineInjectable, ɵɵinject, INJECTOR, Directive, Input, NgModule } from '@angular/core';

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -163,2 +164,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-service-config.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -205,2 +207,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -665,2 +668,3 @@ */

document.body.removeChild(this.openNgxPrinter);
this.openNgxPrinter = null;
}

@@ -855,2 +859,3 @@ };

* @fileoverview added by tsickle
* Generated from: lib/print-item.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -889,2 +894,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/print-item.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -963,2 +969,3 @@ */

* @fileoverview added by tsickle
* Generated from: lib/ngx-printer.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -996,2 +1003,3 @@ */

* @fileoverview added by tsickle
* Generated from: public_api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -1002,2 +1010,3 @@ */

* @fileoverview added by tsickle
* Generated from: ngx-printer.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc

@@ -1004,0 +1013,0 @@ */

{
"name": "ngx-printer",
"version": "0.3.1",
"version": "0.3.2",
"peerDependencies": {

@@ -5,0 +5,0 @@ "@angular/common": "^7.1.0",

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc