ngx-slick-carousel
Advanced tools
Comparing version 0.4.6 to 0.4.7
@@ -5,7 +5,7 @@ (function (global, factory) { | ||
(global = global || self, factory(global['ngx-slick-carousel'] = {}, global.ng.common, global.ng.core, global.ng.forms)); | ||
}(this, function (exports, common, core, forms) { 'use strict'; | ||
}(this, (function (exports, common, core, forms) { 'use strict'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -19,5 +19,6 @@ /** | ||
*/ | ||
function SlickCarouselComponent(el, zone) { | ||
function SlickCarouselComponent(el, zone, platformId) { | ||
this.el = el; | ||
this.zone = zone; | ||
this.platformId = platformId; | ||
this.afterChange = new core.EventEmitter(); | ||
@@ -69,2 +70,5 @@ this.beforeChange = new core.EventEmitter(); | ||
var _this = this; | ||
if (common.isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
if (this._addedSlides.length > 0 || this._removedSlides.length > 0) { | ||
@@ -392,3 +396,4 @@ /** @type {?} */ | ||
{ type: core.ElementRef }, | ||
{ type: core.NgZone } | ||
{ type: core.NgZone }, | ||
{ type: String, decorators: [{ type: core.Inject, args: [core.PLATFORM_ID,] }] } | ||
]; }; | ||
@@ -446,2 +451,7 @@ SlickCarouselComponent.propDecorators = { | ||
SlickCarouselComponent.prototype.zone; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SlickCarouselComponent.prototype.platformId; | ||
} | ||
@@ -506,3 +516,3 @@ var SlickItemDirective = /** @class */ (function () { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -536,3 +546,3 @@ var SlickCarouselModule = /** @class */ (function () { | ||
})); | ||
}))); | ||
//# sourceMappingURL=ngx-slick-carousel.umd.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-slick-carousel",["exports","@angular/common","@angular/core","@angular/forms"],t):t((e=e||self)["ngx-slick-carousel"]={},e.ng.common,e.ng.core,e.ng.forms)}(this,function(e,t,n,i){"use strict";var o=function(){function e(e,t){this.el=e,this.zone=t,this.afterChange=new n.EventEmitter,this.beforeChange=new n.EventEmitter,this.breakpoint=new n.EventEmitter,this.destroy=new n.EventEmitter,this.init=new n.EventEmitter,this.slides=[],this.initialized=!1,this._removedSlides=[],this._addedSlides=[]}return e.prototype.ngOnDestroy=function(){this.unslick()},e.prototype.ngAfterViewInit=function(){this.ngAfterViewChecked()},e.prototype.ngAfterViewChecked=function(){var e=this;if(this._addedSlides.length>0||this._removedSlides.length>0){var t=this.slides.length-this._removedSlides.length+this._addedSlides.length;this.initialized?0===t?this.unslick():(this._addedSlides.forEach(function(t){e.slides.push(t),e.zone.runOutsideAngular(function(){e.$instance.slick("slickAdd",t.el.nativeElement)})}),this._addedSlides=[],this._removedSlides.forEach(function(t){var n=e.slides.indexOf(t);e.slides=e.slides.filter(function(e){return e!==t}),e.zone.runOutsideAngular(function(){e.$instance.slick("slickRemove",n)})}),this._removedSlides=[]):t>0&&this.initSlick()}},e.prototype.initSlick=function(){var e=this;this.slides=this._addedSlides,this._addedSlides=[],this._removedSlides=[],this.zone.runOutsideAngular(function(){e.$instance=jQuery(e.el.nativeElement),e.$instance.on("init",function(t,n){e.zone.run(function(){e.init.emit({event:t,slick:n})})}),e.$instance.slick(e.config),e.zone.run(function(){e.initialized=!0,e.currentIndex=e.config&&e.config.initialSlide?e.config.initialSlide:0}),e.$instance.on("afterChange",function(t,n,i){e.zone.run(function(){e.afterChange.emit({event:t,slick:n,currentSlide:i}),e.currentIndex=i})}),e.$instance.on("beforeChange",function(t,n,i,o){e.zone.run(function(){e.beforeChange.emit({event:t,slick:n,currentSlide:i,nextSlide:o}),e.currentIndex=o})}),e.$instance.on("breakpoint",function(t,n,i){e.zone.run(function(){e.breakpoint.emit({event:t,slick:n,breakpoint:i})})}),e.$instance.on("destroy",function(t,n){e.zone.run(function(){e.destroy.emit({event:t,slick:n}),e.initialized=!1})})})},e.prototype.addSlide=function(e){this._addedSlides.push(e)},e.prototype.removeSlide=function(e){this._removedSlides.push(e)},e.prototype.slickGoTo=function(e){var t=this;this.zone.runOutsideAngular(function(){t.$instance.slick("slickGoTo",e)})},e.prototype.slickNext=function(){var e=this;this.zone.runOutsideAngular(function(){e.$instance.slick("slickNext")})},e.prototype.slickPrev=function(){var e=this;this.zone.runOutsideAngular(function(){e.$instance.slick("slickPrev")})},e.prototype.slickPause=function(){var e=this;this.zone.runOutsideAngular(function(){e.$instance.slick("slickPause")})},e.prototype.slickPlay=function(){var e=this;this.zone.runOutsideAngular(function(){e.$instance.slick("slickPlay")})},e.prototype.unslick=function(){var e=this;this.$instance&&(this.zone.runOutsideAngular(function(){e.$instance.slick("unslick")}),this.$instance=void 0),this.initialized=!1},e.prototype.ngOnChanges=function(e){var t=this;if(this.initialized){var n=e.config;if(n.previousValue!==n.currentValue&&void 0!==n.currentValue){var i=n.currentValue.refresh,o=Object.assign({},n.currentValue);delete o.refresh,this.zone.runOutsideAngular(function(){t.$instance.slick("slickSetOption",o,i)})}}},e.decorators=[{type:n.Component,args:[{selector:"ngx-slick-carousel",exportAs:"slick-carousel",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return e}),multi:!0}],template:"<ng-content></ng-content>"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone}]},e.propDecorators={config:[{type:n.Input}],afterChange:[{type:n.Output}],beforeChange:[{type:n.Output}],breakpoint:[{type:n.Output}],destroy:[{type:n.Output}],init:[{type:n.Output}]},e}();var s=function(){function e(e,t,n){this.el=e,this.platformId=t,this.carousel=n}return e.prototype.ngOnInit=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.addSlide(this)},e.prototype.ngOnDestroy=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.removeSlide(this)},e.decorators=[{type:n.Directive,args:[{selector:"[ngxSlickItem]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:o,decorators:[{type:n.Host}]}]},e}();var r=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[o,s],exports:[o,s]}]}],e}();e.SlickCarouselComponent=o,e.SlickCarouselModule=r,e.SlickItemDirective=s,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-slick-carousel",["exports","@angular/common","@angular/core","@angular/forms"],t):t((e=e||self)["ngx-slick-carousel"]={},e.ng.common,e.ng.core,e.ng.forms)}(this,(function(e,t,n,i){"use strict";var o=function(){function e(e,t,i){this.el=e,this.zone=t,this.platformId=i,this.afterChange=new n.EventEmitter,this.beforeChange=new n.EventEmitter,this.breakpoint=new n.EventEmitter,this.destroy=new n.EventEmitter,this.init=new n.EventEmitter,this.slides=[],this.initialized=!1,this._removedSlides=[],this._addedSlides=[]}return e.prototype.ngOnDestroy=function(){this.unslick()},e.prototype.ngAfterViewInit=function(){this.ngAfterViewChecked()},e.prototype.ngAfterViewChecked=function(){var e=this;if(!t.isPlatformServer(this.platformId)&&(this._addedSlides.length>0||this._removedSlides.length>0)){var n=this.slides.length-this._removedSlides.length+this._addedSlides.length;this.initialized?0===n?this.unslick():(this._addedSlides.forEach((function(t){e.slides.push(t),e.zone.runOutsideAngular((function(){e.$instance.slick("slickAdd",t.el.nativeElement)}))})),this._addedSlides=[],this._removedSlides.forEach((function(t){var n=e.slides.indexOf(t);e.slides=e.slides.filter((function(e){return e!==t})),e.zone.runOutsideAngular((function(){e.$instance.slick("slickRemove",n)}))})),this._removedSlides=[]):n>0&&this.initSlick()}},e.prototype.initSlick=function(){var e=this;this.slides=this._addedSlides,this._addedSlides=[],this._removedSlides=[],this.zone.runOutsideAngular((function(){e.$instance=jQuery(e.el.nativeElement),e.$instance.on("init",(function(t,n){e.zone.run((function(){e.init.emit({event:t,slick:n})}))})),e.$instance.slick(e.config),e.zone.run((function(){e.initialized=!0,e.currentIndex=e.config&&e.config.initialSlide?e.config.initialSlide:0})),e.$instance.on("afterChange",(function(t,n,i){e.zone.run((function(){e.afterChange.emit({event:t,slick:n,currentSlide:i}),e.currentIndex=i}))})),e.$instance.on("beforeChange",(function(t,n,i,o){e.zone.run((function(){e.beforeChange.emit({event:t,slick:n,currentSlide:i,nextSlide:o}),e.currentIndex=o}))})),e.$instance.on("breakpoint",(function(t,n,i){e.zone.run((function(){e.breakpoint.emit({event:t,slick:n,breakpoint:i})}))})),e.$instance.on("destroy",(function(t,n){e.zone.run((function(){e.destroy.emit({event:t,slick:n}),e.initialized=!1}))}))}))},e.prototype.addSlide=function(e){this._addedSlides.push(e)},e.prototype.removeSlide=function(e){this._removedSlides.push(e)},e.prototype.slickGoTo=function(e){var t=this;this.zone.runOutsideAngular((function(){t.$instance.slick("slickGoTo",e)}))},e.prototype.slickNext=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickNext")}))},e.prototype.slickPrev=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPrev")}))},e.prototype.slickPause=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPause")}))},e.prototype.slickPlay=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPlay")}))},e.prototype.unslick=function(){var e=this;this.$instance&&(this.zone.runOutsideAngular((function(){e.$instance.slick("unslick")})),this.$instance=void 0),this.initialized=!1},e.prototype.ngOnChanges=function(e){var t=this;if(this.initialized){var n=e.config;if(n.previousValue!==n.currentValue&&void 0!==n.currentValue){var i=n.currentValue.refresh,o=Object.assign({},n.currentValue);delete o.refresh,this.zone.runOutsideAngular((function(){t.$instance.slick("slickSetOption",o,i)}))}}},e.decorators=[{type:n.Component,args:[{selector:"ngx-slick-carousel",exportAs:"slick-carousel",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef((function(){return e})),multi:!0}],template:"<ng-content></ng-content>"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]},e.propDecorators={config:[{type:n.Input}],afterChange:[{type:n.Output}],beforeChange:[{type:n.Output}],breakpoint:[{type:n.Output}],destroy:[{type:n.Output}],init:[{type:n.Output}]},e}();var r=function(){function e(e,t,n){this.el=e,this.platformId=t,this.carousel=n}return e.prototype.ngOnInit=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.addSlide(this)},e.prototype.ngOnDestroy=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.removeSlide(this)},e.decorators=[{type:n.Directive,args:[{selector:"[ngxSlickItem]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:o,decorators:[{type:n.Host}]}]},e}();var s=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[o,r],exports:[o,r]}]}],e}();e.SlickCarouselComponent=o,e.SlickCarouselModule=s,e.SlickItemDirective=r,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ngx-slick-carousel.umd.min.js.map |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ import { CommonModule } from '@angular/common'; |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /** |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { isPlatformBrowser } from '@angular/common'; | ||
import { isPlatformBrowser, isPlatformServer } from '@angular/common'; | ||
import { Component, Directive, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, NgZone, Output, PLATFORM_ID } from '@angular/core'; | ||
@@ -16,6 +16,8 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms'; | ||
* @param {?} zone | ||
* @param {?} platformId | ||
*/ | ||
constructor(el, zone) { | ||
constructor(el, zone, platformId) { | ||
this.el = el; | ||
this.zone = zone; | ||
this.platformId = platformId; | ||
this.afterChange = new EventEmitter(); | ||
@@ -49,2 +51,5 @@ this.beforeChange = new EventEmitter(); | ||
ngAfterViewChecked() { | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
if (this._addedSlides.length > 0 || this._removedSlides.length > 0) { | ||
@@ -323,3 +328,4 @@ /** @type {?} */ | ||
{ type: ElementRef }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] } | ||
]; | ||
@@ -375,2 +381,7 @@ SlickCarouselComponent.propDecorators = { | ||
SlickCarouselComponent.prototype.zone; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SlickCarouselComponent.prototype.platformId; | ||
} | ||
@@ -430,2 +441,2 @@ export class SlickItemDirective { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBR0gsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxFQUNOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCakQsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBbUIvQixZQUFvQixFQUFjLEVBQ2QsSUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBakJ0QixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJaEQsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFDMUMsaUJBQVksR0FBeUIsRUFBRSxDQUFDO0lBUWhELENBQUM7Ozs7O0lBS0QsV0FBVztRQUNQLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs7O0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7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Ozs7Ozs7SUFDM0IsWUFBbUIsRUFBYyxFQUNRLFVBQWtCLEVBQy9CLFFBQWdDO1FBRnpDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDUSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQzVELENBQUM7Ozs7SUFFRCxRQUFRO1FBQ0osSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDOzs7O0lBRUQsV0FBVztRQUNQLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs7O1lBbkJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzdCOzs7O1lBL05HLFVBQVU7eUNBa09HLE1BQU0sU0FBQyxXQUFXO1lBQ08sc0JBQXNCLHVCQUEvQyxJQUFJOzs7O0lBRkwsZ0NBQXFCOzs7OztJQUNyQix3Q0FBK0M7Ozs7O0lBQy9DLHNDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNQbGF0Zm9ybUJyb3dzZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5kZWNsYXJlIGNvbnN0IGpRdWVyeTogYW55O1xuXG4vKipcbiAqIFNsaWNrIGNvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1zbGljay1jYXJvdXNlbCcsXG4gICAgZXhwb3J0QXM6ICdzbGljay1jYXJvdXNlbCcsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYXJvdXNlbENvbXBvbmVudCksXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfV0sXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICAgIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICAgIEBPdXRwdXQoKSBhZnRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJlZm9yZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJyZWFrcG9pbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBkZXN0cm95OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgJGluc3RhbmNlOiBhbnk7XG4gICAgcHVibGljIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuICAgIHB1YmxpYyBzbGlkZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIGluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcmVtb3ZlZFNsaWRlczogU2xpY2tJdGVtRGlyZWN0aXZlW10gPSBbXTtcbiAgICBwcml2YXRlIF9hZGRlZFNsaWRlczogU2xpY2tJdGVtRGlyZWN0aXZlW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gY29tcG9uZW50IGRlc3Ryb3lcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnNsaWNrKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGNvbXBvbmVudCB2aWV3IGNoZWNrZWRcbiAgICAgKi9cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9hZGRlZFNsaWRlcy5sZW5ndGggPiAwIHx8IHRoaXMuX3JlbW92ZWRTbGlkZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFNsaWRlc0xlbmd0aCA9IHRoaXMuc2xpZGVzLmxlbmd0aCAtIHRoaXMuX3JlbW92ZWRTbGlkZXMubGVuZ3RoICsgdGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHRTbGlkZXNMZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGlmIG5leHRTbGlkZXNMZW5ndGggaXMgemVyZSwgZG8gbm90aGluZ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0U2xpZGVzTGVuZ3RoID09PSAwKSB7IC8vIHVuc2xpY2sgY2FzZVxuICAgICAgICAgICAgICAgIHRoaXMudW5zbGljaygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcy5mb3JFYWNoKHNsaWNrSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja0FkZCcsIHNsaWNrSXRlbS5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWRkZWRTbGlkZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMuZm9yRWFjaChzbGlja0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpZHggPSB0aGlzLnNsaWRlcy5pbmRleE9mKHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVzID0gdGhpcy5zbGlkZXMuZmlsdGVyKHMgPT4gcyAhPT0gc2xpY2tJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1JlbW92ZScsIGlkeCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGluaXQgc2xpY2tcbiAgICAgKi9cbiAgICBpbml0U2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2xpZGVzID0gdGhpcy5fYWRkZWRTbGlkZXM7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG4gICAgICAgIHRoaXMuX3JlbW92ZWRTbGlkZXMgPSBbXTtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlID0galF1ZXJ5KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdpbml0JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXQuZW1pdCh7ZXZlbnQsIHNsaWNrfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2sodGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmluaXRpYWxTbGlkZSkgPyB0aGlzLmNvbmZpZy5pbml0aWFsU2xpZGUgOiAwO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdhZnRlckNoYW5nZScsIChldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFmdGVyQ2hhbmdlLmVtaXQoe2V2ZW50LCBzbGljaywgY3VycmVudFNsaWRlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gY3VycmVudFNsaWRlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdiZWZvcmVDaGFuZ2UnLCAoZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUsIG5leHRTbGlkZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZm9yZUNoYW5nZS5lbWl0KHtldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZSwgbmV4dFNsaWRlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gbmV4dFNsaWRlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdicmVha3BvaW50JywgKGV2ZW50LCBzbGljaywgYnJlYWtwb2ludCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJyZWFrcG9pbnQuZW1pdCh7ZXZlbnQsIHNsaWNrLCBicmVha3BvaW50fSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uub24oJ2Rlc3Ryb3knLCAoZXZlbnQsIHNsaWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveS5lbWl0KHtldmVudCwgc2xpY2t9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFNsaWRlKHNsaWNrSXRlbTogU2xpY2tJdGVtRGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgICB9XG5cbiAgICByZW1vdmVTbGlkZShzbGlja0l0ZW06IFNsaWNrSXRlbURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLnB1c2goc2xpY2tJdGVtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTbGljayBNZXRob2RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2xpY2tHb1RvKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja0dvVG8nLCBpbmRleCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja05leHQoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tOZXh0Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja1ByZXYoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQcmV2Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja1BhdXNlKCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUGF1c2UnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNsaWNrUGxheSgpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BsYXknKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLiRpbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygndW5zbGljaycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0gY2hhbmdlc1snY29uZmlnJ107XG4gICAgICAgICAgICBpZiAoY29uZmlnLnByZXZpb3VzVmFsdWUgIT09IGNvbmZpZy5jdXJyZW50VmFsdWUgJiYgY29uZmlnLmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmcmVzaCA9IGNvbmZpZy5jdXJyZW50VmFsdWVbJ3JlZnJlc2gnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG5ld09wdGlvbnNbJ3JlZnJlc2gnXTtcblxuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1NldE9wdGlvbicsIG5ld09wdGlvbnMsIHJlZnJlc2gpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neFNsaWNrSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgIEBIb3N0KCkgcHJpdmF0ZSBjYXJvdXNlbDogU2xpY2tDYXJvdXNlbENvbXBvbmVudCkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5hZGRTbGlkZSh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5yZW1vdmVTbGlkZSh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBR0gsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxFQUNOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCakQsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7OztJQW1CL0IsWUFBb0IsRUFBYyxFQUNkLElBQVksRUFDUyxVQUFrQjtRQUZ2QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQVE7UUFsQmpELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUloRCxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQXlCLEVBQUUsQ0FBQztRQUMxQyxpQkFBWSxHQUF5QixFQUFFLENBQUM7SUFRaEQsQ0FBQzs7Ozs7SUFLRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7Ozs7SUFF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Qjs7SUFDdEIsOENBQTRCOztJQUM1Qix3Q0FBMEI7O0lBQzFCLDZDQUEyQjs7Ozs7SUFDM0IsZ0RBQWtEOzs7OztJQUNsRCw4Q0FBZ0Q7Ozs7O0lBS3BDLG9DQUFzQjs7Ozs7SUFDdEIsc0NBQW9COzs7OztJQUNwQiw0Q0FBK0M7O0FBK0svRCxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7SUFDM0IsWUFBbUIsRUFBYyxFQUNRLFVBQWtCLEVBQy9CLFFBQWdDO1FBRnpDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDUSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQzVELENBQUM7Ozs7SUFFRCxRQUFRO1FBQ0osSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDOzs7O0lBRUQsV0FBVztRQUNQLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs7O1lBbkJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzdCOzs7O1lBbE9HLFVBQVU7eUNBcU9HLE1BQU0sU0FBQyxXQUFXO1lBQ08sc0JBQXNCLHVCQUEvQyxJQUFJOzs7O0lBRkwsZ0NBQXFCOzs7OztJQUNyQix3Q0FBK0M7Ozs7O0lBQy9DLHNDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgY29uc3QgalF1ZXJ5OiBhbnk7XG5cbi8qKlxuICogU2xpY2sgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LXNsaWNrLWNhcm91c2VsJyxcbiAgICBleHBvcnRBczogJ3NsaWNrLWNhcm91c2VsJyxcbiAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0Nhcm91c2VsQ29tcG9uZW50KSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9XSxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0Nhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gICAgQE91dHB1dCgpIGFmdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYmVmb3JlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYnJlYWtwb2ludDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGRlc3Ryb3k6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBpbml0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyAkaW5zdGFuY2U6IGFueTtcbiAgICBwdWJsaWMgY3VycmVudEluZGV4OiBudW1iZXI7XG4gICAgcHVibGljIHNsaWRlczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9yZW1vdmVkU2xpZGVzOiBTbGlja0l0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuICAgIHByaXZhdGUgX2FkZGVkU2xpZGVzOiBTbGlja0l0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gY29tcG9uZW50IGRlc3Ryb3lcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnNsaWNrKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGNvbXBvbmVudCB2aWV3IGNoZWNrZWRcbiAgICAgKi9cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0U2xpZGVzTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpZiBuZXh0U2xpZGVzTGVuZ3RoIGlzIHplcmUsIGRvIG5vdGhpbmdcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dFNsaWRlc0xlbmd0aCA9PT0gMCkgeyAvLyB1bnNsaWNrIGNhc2VcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWRkZWRTbGlkZXMuZm9yRWFjaChzbGlja0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tBZGQnLCBzbGlja0l0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuc2xpZGVzLmZpbHRlcihzID0+IHMgIT09IHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tSZW1vdmUnLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbml0IHNsaWNrXG4gICAgICovXG4gICAgaW5pdFNsaWNrKCkge1xuICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuX2FkZGVkU2xpZGVzO1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcyA9IFtdO1xuICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZSA9IGpRdWVyeSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignaW5pdCcsIChldmVudCwgc2xpY2spID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0LmVtaXQoe2V2ZW50LCBzbGlja30pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9ICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5pbml0aWFsU2xpZGUpID8gdGhpcy5jb25maWcuaW5pdGlhbFNsaWRlIDogMDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYWZ0ZXJDaGFuZ2UnLCAoZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZnRlckNoYW5nZS5lbWl0KHtldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGN1cnJlbnRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7ZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUsIG5leHRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IG5leHRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYnJlYWtwb2ludCcsIChldmVudCwgc2xpY2ssIGJyZWFrcG9pbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5icmVha3BvaW50LmVtaXQoe2V2ZW50LCBzbGljaywgYnJlYWtwb2ludH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdkZXN0cm95JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kuZW1pdCh7ZXZlbnQsIHNsaWNrfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTbGlkZShzbGlja0l0ZW06IFNsaWNrSXRlbURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2xpY2sgTWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIHNsaWNrR29UbyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQcmV2KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQYXVzZSgpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja1BsYXkoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSBjb25maWcuY3VycmVudFZhbHVlWydyZWZyZXNoJ107XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3hTbGlja0l0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBASG9zdCgpIHByaXZhdGUgY2Fyb3VzZWw6IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ import { CommonModule } from '@angular/common'; |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /** |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { isPlatformBrowser } from '@angular/common'; | ||
import { isPlatformBrowser, isPlatformServer } from '@angular/common'; | ||
import { Component, Directive, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, NgZone, Output, PLATFORM_ID } from '@angular/core'; | ||
@@ -15,5 +15,6 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms'; | ||
*/ | ||
function SlickCarouselComponent(el, zone) { | ||
function SlickCarouselComponent(el, zone, platformId) { | ||
this.el = el; | ||
this.zone = zone; | ||
this.platformId = platformId; | ||
this.afterChange = new EventEmitter(); | ||
@@ -65,2 +66,5 @@ this.beforeChange = new EventEmitter(); | ||
var _this = this; | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
if (this._addedSlides.length > 0 || this._removedSlides.length > 0) { | ||
@@ -388,3 +392,4 @@ /** @type {?} */ | ||
{ type: ElementRef }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] } | ||
]; }; | ||
@@ -443,2 +448,7 @@ SlickCarouselComponent.propDecorators = { | ||
SlickCarouselComponent.prototype.zone; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SlickCarouselComponent.prototype.platformId; | ||
} | ||
@@ -501,2 +511,2 @@ var SlickItemDirective = /** @class */ (function () { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBR0gsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxFQUNOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU9qRDtJQTBCSTs7T0FFRztJQUNILGdDQUFvQixFQUFjLEVBQ2QsSUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBakJ0QixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJaEQsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFDMUMsaUJBQVksR0FBeUIsRUFBRSxDQUFDO0lBUWhELENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCw0Q0FBVzs7OztJQUFYO1FBQ0ksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFDSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUs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QTBEOztJQUMxRCxzQ0FBdUQ7O0lBRXZELDJDQUFzQjs7SUFDdEIsOENBQTRCOztJQUM1Qix3Q0FBMEI7O0lBQzFCLDZDQUEyQjs7Ozs7SUFDM0IsZ0RBQWtEOzs7OztJQUNsRCw4Q0FBZ0Q7Ozs7O0lBS3BDLG9DQUFzQjs7Ozs7SUFDdEIsc0NBQW9COztBQTBLcEM7SUFJSSw0QkFBbUIsRUFBYyxFQUNRLFVBQWtCLEVBQy9CLFFBQWdDO1FBRnpDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDUSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQzVELENBQUM7Ozs7SUFFRCxxQ0FBUTs7O0lBQVI7UUFDSSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFDSSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7O2dCQW5CSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7Ozs7Z0JBL05HLFVBQVU7NkNBa09HLE1BQU0sU0FBQyxXQUFXO2dCQUNPLHNCQUFzQix1QkFBL0MsSUFBSTs7SUFjckIseUJBQUM7Q0FBQSxBQXBCRCxJQW9CQztTQWpCWSxrQkFBa0I7OztJQUNmLGdDQUFxQjs7Ozs7SUFDckIsd0NBQStDOzs7OztJQUMvQyxzQ0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZGVjbGFyZSBjb25zdCBqUXVlcnk6IGFueTtcblxuLyoqXG4gKiBTbGljayBjb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtc2xpY2stY2Fyb3VzZWwnLFxuICAgIGV4cG9ydEFzOiAnc2xpY2stY2Fyb3VzZWwnLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgIH1dLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgICBAT3V0cHV0KCkgYWZ0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBiZWZvcmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBicmVha3BvaW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGVzdHJveTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljICRpbnN0YW5jZTogYW55O1xuICAgIHB1YmxpYyBjdXJyZW50SW5kZXg6IG51bWJlcjtcbiAgICBwdWJsaWMgc2xpZGVzOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3JlbW92ZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG4gICAgcHJpdmF0ZSBfYWRkZWRTbGlkZXM6IFNsaWNrSXRlbURpcmVjdGl2ZVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGNvbXBvbmVudCBkZXN0cm95XG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudW5zbGljaygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBjb21wb25lbnQgdmlldyBjaGVja2VkXG4gICAgICovXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0U2xpZGVzTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpZiBuZXh0U2xpZGVzTGVuZ3RoIGlzIHplcmUsIGRvIG5vdGhpbmdcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dFNsaWRlc0xlbmd0aCA9PT0gMCkgeyAvLyB1bnNsaWNrIGNhc2VcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWRkZWRTbGlkZXMuZm9yRWFjaChzbGlja0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tBZGQnLCBzbGlja0l0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuc2xpZGVzLmZpbHRlcihzID0+IHMgIT09IHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tSZW1vdmUnLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbml0IHNsaWNrXG4gICAgICovXG4gICAgaW5pdFNsaWNrKCkge1xuICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuX2FkZGVkU2xpZGVzO1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcyA9IFtdO1xuICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZSA9IGpRdWVyeSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignaW5pdCcsIChldmVudCwgc2xpY2spID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0LmVtaXQoe2V2ZW50LCBzbGlja30pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9ICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5pbml0aWFsU2xpZGUpID8gdGhpcy5jb25maWcuaW5pdGlhbFNsaWRlIDogMDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYWZ0ZXJDaGFuZ2UnLCAoZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZnRlckNoYW5nZS5lbWl0KHtldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGN1cnJlbnRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7ZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUsIG5leHRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IG5leHRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYnJlYWtwb2ludCcsIChldmVudCwgc2xpY2ssIGJyZWFrcG9pbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5icmVha3BvaW50LmVtaXQoe2V2ZW50LCBzbGljaywgYnJlYWtwb2ludH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdkZXN0cm95JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kuZW1pdCh7ZXZlbnQsIHNsaWNrfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTbGlkZShzbGlja0l0ZW06IFNsaWNrSXRlbURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2xpY2sgTWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIHNsaWNrR29UbyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQcmV2KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQYXVzZSgpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja1BsYXkoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSBjb25maWcuY3VycmVudFZhbHVlWydyZWZyZXNoJ107XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3hTbGlja0l0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBASG9zdCgpIHByaXZhdGUgY2Fyb3VzZWw6IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNsaWNrLWNhcm91c2VsLyIsInNvdXJjZXMiOlsic2xpY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBR0gsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxFQUNOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU9qRDtJQTBCSTs7T0FFRztJQUNILGdDQUFvQixFQUFjLEVBQ2QsSUFBWSxFQUNTLFVBQWtCO1FBRnZDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1MsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQWxCakQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsU0FBSSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWhELFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDbkIsbUJBQWMsR0FBeUIsRUFBRSxDQUFDO1FBQzFDLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztJQVFoRCxDQUFDO0lBRUQ7O09BRUc7Ozs7O0lBQ0gsNENBQVc7Ozs7SUFBWDtRQUNJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFD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RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgY29uc3QgalF1ZXJ5OiBhbnk7XG5cbi8qKlxuICogU2xpY2sgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LXNsaWNrLWNhcm91c2VsJyxcbiAgICBleHBvcnRBczogJ3NsaWNrLWNhcm91c2VsJyxcbiAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0Nhcm91c2VsQ29tcG9uZW50KSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9XSxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlja0Nhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gICAgQE91dHB1dCgpIGFmdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYmVmb3JlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYnJlYWtwb2ludDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGRlc3Ryb3k6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBpbml0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyAkaW5zdGFuY2U6IGFueTtcbiAgICBwdWJsaWMgY3VycmVudEluZGV4OiBudW1iZXI7XG4gICAgcHVibGljIHNsaWRlczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9yZW1vdmVkU2xpZGVzOiBTbGlja0l0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuICAgIHByaXZhdGUgX2FkZGVkU2xpZGVzOiBTbGlja0l0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gY29tcG9uZW50IGRlc3Ryb3lcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnNsaWNrKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGNvbXBvbmVudCB2aWV3IGNoZWNrZWRcbiAgICAgKi9cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYWRkZWRTbGlkZXMubGVuZ3RoID4gMCB8fCB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRTbGlkZXNMZW5ndGggPSB0aGlzLnNsaWRlcy5sZW5ndGggLSB0aGlzLl9yZW1vdmVkU2xpZGVzLmxlbmd0aCArIHRoaXMuX2FkZGVkU2xpZGVzLmxlbmd0aDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0U2xpZGVzTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpZiBuZXh0U2xpZGVzTGVuZ3RoIGlzIHplcmUsIGRvIG5vdGhpbmdcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dFNsaWRlc0xlbmd0aCA9PT0gMCkgeyAvLyB1bnNsaWNrIGNhc2VcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2xpY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWRkZWRTbGlkZXMuZm9yRWFjaChzbGlja0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tBZGQnLCBzbGlja0l0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkZGVkU2xpZGVzID0gW107XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzLmZvckVhY2goc2xpY2tJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zbGlkZXMuaW5kZXhPZihzbGlja0l0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuc2xpZGVzLmZpbHRlcihzID0+IHMgIT09IHNsaWNrSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tSZW1vdmUnLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbml0IHNsaWNrXG4gICAgICovXG4gICAgaW5pdFNsaWNrKCkge1xuICAgICAgICB0aGlzLnNsaWRlcyA9IHRoaXMuX2FkZGVkU2xpZGVzO1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcyA9IFtdO1xuICAgICAgICB0aGlzLl9yZW1vdmVkU2xpZGVzID0gW107XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZSA9IGpRdWVyeSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignaW5pdCcsIChldmVudCwgc2xpY2spID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0LmVtaXQoe2V2ZW50LCBzbGlja30pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9ICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5pbml0aWFsU2xpZGUpID8gdGhpcy5jb25maWcuaW5pdGlhbFNsaWRlIDogMDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYWZ0ZXJDaGFuZ2UnLCAoZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZnRlckNoYW5nZS5lbWl0KHtldmVudCwgc2xpY2ssIGN1cnJlbnRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGN1cnJlbnRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYmVmb3JlQ2hhbmdlJywgKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlLCBuZXh0U2xpZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWZvcmVDaGFuZ2UuZW1pdCh7ZXZlbnQsIHNsaWNrLCBjdXJyZW50U2xpZGUsIG5leHRTbGlkZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IG5leHRTbGlkZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5vbignYnJlYWtwb2ludCcsIChldmVudCwgc2xpY2ssIGJyZWFrcG9pbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5icmVha3BvaW50LmVtaXQoe2V2ZW50LCBzbGljaywgYnJlYWtwb2ludH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLm9uKCdkZXN0cm95JywgKGV2ZW50LCBzbGljaykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kuZW1pdCh7ZXZlbnQsIHNsaWNrfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTbGlkZShzbGlja0l0ZW06IFNsaWNrSXRlbURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9hZGRlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2xpZGUoc2xpY2tJdGVtOiBTbGlja0l0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlZFNsaWRlcy5wdXNoKHNsaWNrSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2xpY2sgTWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIHNsaWNrR29UbyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tHb1RvJywgaW5kZXgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrTmV4dCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQcmV2KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3NsaWNrUHJldicpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2tQYXVzZSgpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJGluc3RhbmNlLnNsaWNrKCdzbGlja1BhdXNlJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzbGlja1BsYXkoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tQbGF5Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy4kaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2Uuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy4kaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGNoYW5nZXNbJ2NvbmZpZyddO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5wcmV2aW91c1ZhbHVlICE9PSBjb25maWcuY3VycmVudFZhbHVlICYmIGNvbmZpZy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSBjb25maWcuY3VycmVudFZhbHVlWydyZWZyZXNoJ107XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdPcHRpb25zWydyZWZyZXNoJ107XG5cbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpbnN0YW5jZS5zbGljaygnc2xpY2tTZXRPcHRpb24nLCBuZXdPcHRpb25zLCByZWZyZXNoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3hTbGlja0l0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBASG9zdCgpIHByaXZhdGUgY2Fyb3VzZWw6IFNsaWNrQ2Fyb3VzZWxDb21wb25lbnQpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= |
@@ -1,3 +0,3 @@ | ||
import { isPlatformBrowser, CommonModule } from '@angular/common'; | ||
import { EventEmitter, Component, forwardRef, ElementRef, NgZone, Input, Output, Directive, Inject, PLATFORM_ID, Host, NgModule } from '@angular/core'; | ||
import { isPlatformServer, isPlatformBrowser, CommonModule } from '@angular/common'; | ||
import { EventEmitter, Component, forwardRef, ElementRef, NgZone, Inject, PLATFORM_ID, Input, Output, Directive, Host, NgModule } from '@angular/core'; | ||
import { NG_VALUE_ACCESSOR } from '@angular/forms'; | ||
@@ -7,3 +7,3 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -18,6 +18,8 @@ /** | ||
* @param {?} zone | ||
* @param {?} platformId | ||
*/ | ||
constructor(el, zone) { | ||
constructor(el, zone, platformId) { | ||
this.el = el; | ||
this.zone = zone; | ||
this.platformId = platformId; | ||
this.afterChange = new EventEmitter(); | ||
@@ -51,2 +53,5 @@ this.beforeChange = new EventEmitter(); | ||
ngAfterViewChecked() { | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
if (this._addedSlides.length > 0 || this._removedSlides.length > 0) { | ||
@@ -325,3 +330,4 @@ /** @type {?} */ | ||
{ type: ElementRef }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] } | ||
]; | ||
@@ -377,2 +383,7 @@ SlickCarouselComponent.propDecorators = { | ||
SlickCarouselComponent.prototype.zone; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SlickCarouselComponent.prototype.platformId; | ||
} | ||
@@ -435,3 +446,3 @@ class SlickItemDirective { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -458,3 +469,3 @@ class SlickCarouselModule { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -461,0 +472,0 @@ |
@@ -1,3 +0,3 @@ | ||
import { isPlatformBrowser, CommonModule } from '@angular/common'; | ||
import { EventEmitter, Component, forwardRef, ElementRef, NgZone, Input, Output, Directive, Inject, PLATFORM_ID, Host, NgModule } from '@angular/core'; | ||
import { isPlatformServer, isPlatformBrowser, CommonModule } from '@angular/common'; | ||
import { EventEmitter, Component, forwardRef, ElementRef, NgZone, Inject, PLATFORM_ID, Input, Output, Directive, Host, NgModule } from '@angular/core'; | ||
import { NG_VALUE_ACCESSOR } from '@angular/forms'; | ||
@@ -7,3 +7,3 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -17,5 +17,6 @@ /** | ||
*/ | ||
function SlickCarouselComponent(el, zone) { | ||
function SlickCarouselComponent(el, zone, platformId) { | ||
this.el = el; | ||
this.zone = zone; | ||
this.platformId = platformId; | ||
this.afterChange = new EventEmitter(); | ||
@@ -67,2 +68,5 @@ this.beforeChange = new EventEmitter(); | ||
var _this = this; | ||
if (isPlatformServer(this.platformId)) { | ||
return; | ||
} | ||
if (this._addedSlides.length > 0 || this._removedSlides.length > 0) { | ||
@@ -390,3 +394,4 @@ /** @type {?} */ | ||
{ type: ElementRef }, | ||
{ type: NgZone } | ||
{ type: NgZone }, | ||
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] } | ||
]; }; | ||
@@ -444,2 +449,7 @@ SlickCarouselComponent.propDecorators = { | ||
SlickCarouselComponent.prototype.zone; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SlickCarouselComponent.prototype.platformId; | ||
} | ||
@@ -504,3 +514,3 @@ var SlickItemDirective = /** @class */ (function () { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -530,3 +540,3 @@ var SlickCarouselModule = /** @class */ (function () { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -533,0 +543,0 @@ |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"SlickCarouselModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}],"exports":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}]}]}],"members":{}},"SlickCarouselComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"ngx-slick-carousel","exportAs":"slick-carousel","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":31,"character":17},"useExisting":{"__symbolic":"reference","name":"SlickCarouselComponent"},"multi":true}],"template":"<ng-content></ng-content>"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"afterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":5}}]}],"beforeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"breakpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":57,"character":30}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"initSlick":[{"__symbolic":"method"}],"addSlide":[{"__symbolic":"method"}],"removeSlide":[{"__symbolic":"method"}],"slickGoTo":[{"__symbolic":"method"}],"slickNext":[{"__symbolic":"method"}],"slickPrev":[{"__symbolic":"method"}],"slickPause":[{"__symbolic":"method"}],"slickPlay":[{"__symbolic":"method"}],"unslick":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"SlickItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":227,"character":1},"arguments":[{"selector":"[ngxSlickItem]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":232,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":232,"character":24}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host","line":233,"character":17}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":28},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"SlickCarouselComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SlickCarouselModule":"./index","SlickCarouselComponent":"./slick.component","SlickItemDirective":"./slick.component"},"importAs":"ngx-slick-carousel"} | ||
{"__symbolic":"module","version":4,"metadata":{"SlickCarouselModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}],"exports":[{"__symbolic":"reference","name":"SlickCarouselComponent"},{"__symbolic":"reference","name":"SlickItemDirective"}]}]}],"members":{}},"SlickCarouselComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"ngx-slick-carousel","exportAs":"slick-carousel","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":31,"character":17},"useExisting":{"__symbolic":"reference","name":"SlickCarouselComponent"},"multi":true}],"template":"<ng-content></ng-content>"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"afterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":5}}]}],"beforeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"breakpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"destroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":58,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":57,"character":30},{"__symbolic":"reference","name":"string"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"initSlick":[{"__symbolic":"method"}],"addSlide":[{"__symbolic":"method"}],"removeSlide":[{"__symbolic":"method"}],"slickGoTo":[{"__symbolic":"method"}],"slickNext":[{"__symbolic":"method"}],"slickPrev":[{"__symbolic":"method"}],"slickPause":[{"__symbolic":"method"}],"slickPlay":[{"__symbolic":"method"}],"unslick":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"SlickItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":230,"character":1},"arguments":[{"selector":"[ngxSlickItem]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":235,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":235,"character":24}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host","line":236,"character":17}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":28},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"SlickCarouselComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SlickCarouselModule":"./index","SlickCarouselComponent":"./slick.component","SlickItemDirective":"./slick.component"},"importAs":"ngx-slick-carousel"} |
{ | ||
"name": "ngx-slick-carousel", | ||
"version": "0.4.6", | ||
"version": "0.4.7", | ||
"repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
@@ -8,2 +8,3 @@ import { AfterViewChecked, AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; | ||
private zone; | ||
private platformId; | ||
config: any; | ||
@@ -24,3 +25,3 @@ afterChange: EventEmitter<any>; | ||
*/ | ||
constructor(el: ElementRef, zone: NgZone); | ||
constructor(el: ElementRef, zone: NgZone, platformId: string); | ||
/** | ||
@@ -27,0 +28,0 @@ * On component destroy |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
194107
2630