Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rfx-scroll-animation

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rfx-scroll-animation - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

37

bundles/rfx-scroll-animation.umd.js

@@ -7,2 +7,19 @@ (function (global, factory) {

var RendererStyleModel = /** @class */ (function () {
function RendererStyleModel(name, value) {
this.name = name;
this.value = value;
}
return RendererStyleModel;
}());
(function (AnimationTypeEnum) {
AnimationTypeEnum["NONE"] = "none";
AnimationTypeEnum["TOP"] = "top";
AnimationTypeEnum["BOTTOM"] = "bottom";
AnimationTypeEnum["RIGHT"] = "right";
AnimationTypeEnum["LEFT"] = "left";
AnimationTypeEnum["ZOOM"] = "zoom";
})(exports.AnimationTypeEnum || (exports.AnimationTypeEnum = {}));
var RfxScrollAnimationService = /** @class */ (function () {

@@ -64,19 +81,2 @@ function RfxScrollAnimationService(router) {

var RendererStyleModel = /** @class */ (function () {
function RendererStyleModel(name, value) {
this.name = name;
this.value = value;
}
return RendererStyleModel;
}());
(function (AnimationTypeEnum) {
AnimationTypeEnum["NONE"] = "none";
AnimationTypeEnum["TOP"] = "top";
AnimationTypeEnum["BOTTOM"] = "bottom";
AnimationTypeEnum["RIGHT"] = "right";
AnimationTypeEnum["LEFT"] = "left";
AnimationTypeEnum["ZOOM"] = "zoom";
})(exports.AnimationTypeEnum || (exports.AnimationTypeEnum = {}));
var RfxScrollAnimationDirective = /** @class */ (function () {

@@ -298,6 +298,5 @@ function RfxScrollAnimationDirective(htmlElement, renderer, changeDetectorRef, rfxScrollAnimationService) {

exports.RendererStyleModel = RendererStyleModel;
exports.RfxScrollAnimationDirective = RfxScrollAnimationDirective;
exports.RfxScrollAnimationModule = RfxScrollAnimationModule;
exports.RfxScrollAnimationService = RfxScrollAnimationService;
exports.ɵa = RfxScrollAnimationDirective;

@@ -304,0 +303,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

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

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("rfx-scroll-animation",["exports","@angular/core","@angular/router","rxjs","rxjs/operators"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["rfx-scroll-animation"]={},t.ng.core,t.ng.router,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,i,o){"use strict";var r=function(){function t(t){this.router=t,this.subjectScroll=new i.BehaviorSubject(void 0),this.subjectNavigation=new i.BehaviorSubject(!1)}return t.prototype.ngOnDestroy=function(){document.removeEventListener("scroll",this.mouseScroll)},t.prototype.initListeners=function(){var t=this;this.mouseScroll=this.onMouseScroll.bind(this),document.addEventListener("scroll",this.mouseScroll,!1),this.router.events.pipe(o.filter((function(t){return t instanceof n.NavigationEnd}))).subscribe((function(){t.subjectNavigation.next(!0)}))},t.prototype.onMouseScroll=function(){this.subjectScroll.next(void 0)},t.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},t.prototype.getNavigationEndValue=function(){return this.subjectNavigation.value},t.prototype.getNavigationEnd=function(){return this.subjectNavigation.asObservable()},t}();r.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new r(e.ɵɵinject(n.Router))},token:r,providedIn:"root"}),r.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],r.ctorParameters=function(){return[{type:n.Router}]};var s,a=function(t,e){this.name=t,this.value=e};(s=t.AnimationTypeEnum||(t.AnimationTypeEnum={})).NONE="none",s.TOP="top",s.BOTTOM="bottom",s.RIGHT="right",s.LEFT="left",s.ZOOM="zoom";var l=function(){function n(t,n,i,o){this.htmlElement=t,this.renderer=n,this.changeDetectorRef=i,this.rfxScrollAnimationService=o,this.elementVisibleChange=new e.EventEmitter,this.distanceFromPageBottomPercentage=20,this.animationDistancePx=25,this.transitionDurationMs=500,this.transitionTimingFunction="cubic-bezier(0.4, 0.0, 0.2, 1)",this.scaleRatio=1.5,this.isOnlyFirstTime=!0}return n.prototype.ngOnChanges=function(){this.animationType!==t.AnimationTypeEnum.NONE&&this.setInitialElementStyle()},n.prototype.ngOnInit=function(){var t=this;this.toggleElementInstantly(!1),this.rfxScrollAnimationService.getNavigationEnd().subscribe((function(e){e&&(t.initElement(),t.isOnlyFirstTime&&t.elementVisible||(t.onScrollListener=t.rfxScrollAnimationService.getMouseScroll().subscribe((function(){t.onMouseScroll()}))))}))},n.prototype.ngOnDestroy=function(){this.onScrollListener&&this.onScrollListener.unsubscribe()},n.prototype.initElement=function(){var t=this.isElementInView(),e=t||this.isElementVisible();e&&!t?this.toggleElementInstantly(!0):e&&t&&this.toggleElement(!0)},n.prototype.setInitialElementStyle=function(){this.setElementStyle(this.htmlElement.nativeElement,new a("transition-timing-function",this.transitionTimingFunction),new a("transition-duration",this.transitionDurationMs+"ms"),new a("transition-property","opacity, transform"))},n.prototype.isElementInView=function(){var t=this.htmlElement.nativeElement.getBoundingClientRect(),e=t.top+window.pageYOffset-document.documentElement.clientTop,n=window.innerHeight/100*this.distanceFromPageBottomPercentage;return window.pageYOffset+window.innerHeight-n>=e&&window.pageYOffset<e+t.height},n.prototype.isElementVisible=function(){var t=window.scrollY+window.innerHeight,e=window.innerHeight/100*this.distanceFromPageBottomPercentage;return t>=this.htmlElement.nativeElement.getBoundingClientRect().top+window.pageYOffset-document.documentElement.clientTop+e},n.prototype.setElementStyle=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];n.forEach((function(n){e.renderer.setStyle(t,n.name,n.value)}))},n.prototype.removeElementStyle=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];n.forEach((function(n){e.renderer.removeStyle(t,n.name)}))},n.prototype.toggleElement=function(t){this.elementVisible=t,this.elementVisibleChange.emit(t),this.setElementStyle(this.htmlElement.nativeElement,new a("opacity",String(+t)),new a("transform",this.getElementTransform(t,this.animationType)))},n.prototype.toggleElementInstantly=function(t){this.toggleTransition(!1),this.toggleElement(t),this.changeDetectorRef.detectChanges(),this.toggleTransition(!0)},n.prototype.getElementTransform=function(e,n){switch(n){case t.AnimationTypeEnum.TOP:return e?"translateY(0)":"translateY(-"+this.animationDistancePx+"px)";case t.AnimationTypeEnum.BOTTOM:return e?"translateY(0)":"translateY("+this.animationDistancePx+"px)";case t.AnimationTypeEnum.LEFT:return e?"translateX(0)":"translateX(-"+this.animationDistancePx+"px)";case t.AnimationTypeEnum.RIGHT:return e?"translateX(0)":"translateX("+this.animationDistancePx+"px)";case t.AnimationTypeEnum.ZOOM:return e?"scale(1)":"scale("+this.scaleRatio+")";default:return"none"}},n.prototype.toggleTransition=function(t){t?this.setElementStyle(this.htmlElement.nativeElement,new a("transition-duration",this.transitionDurationMs+"ms")):this.removeElementStyle(this.htmlElement.nativeElement,new a("transition-duration"))},n.prototype.onMouseScroll=function(){this.isOnlyFirstTime&&this.elementVisible&&this.onScrollListener.unsubscribe();var t=this.isElementInView();t&&!this.elementVisible?this.toggleElement(!0):t||this.elementVisible||this.toggleElement(!1)},n}();l.decorators=[{type:e.Directive,args:[{selector:"[libRfxScrollAnimation]"}]}],l.ctorParameters=function(){return[{type:e.ElementRef},{type:e.Renderer2},{type:e.ChangeDetectorRef},{type:r}]},l.propDecorators={distanceFromPageBottomPercentage:[{type:e.Input}],animationType:[{type:e.Input}],animationDistancePx:[{type:e.Input}],transitionDurationMs:[{type:e.Input}],transitionTimingFunction:[{type:e.Input}],scaleRatio:[{type:e.Input}],elementVisibleChange:[{type:e.Output}]};var c=function(){};c.decorators=[{type:e.NgModule,args:[{declarations:[l],imports:[],exports:[l]}]}],t.RendererStyleModel=a,t.RfxScrollAnimationDirective=l,t.RfxScrollAnimationModule=c,t.RfxScrollAnimationService=r,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("rfx-scroll-animation",["exports","@angular/core","@angular/router","rxjs","rxjs/operators"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["rfx-scroll-animation"]={},t.ng.core,t.ng.router,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,i,o){"use strict";var r,s=function(t,e){this.name=t,this.value=e};(r=t.AnimationTypeEnum||(t.AnimationTypeEnum={})).NONE="none",r.TOP="top",r.BOTTOM="bottom",r.RIGHT="right",r.LEFT="left",r.ZOOM="zoom";var a=function(){function t(t){this.router=t,this.subjectScroll=new i.BehaviorSubject(void 0),this.subjectNavigation=new i.BehaviorSubject(!1)}return t.prototype.ngOnDestroy=function(){document.removeEventListener("scroll",this.mouseScroll)},t.prototype.initListeners=function(){var t=this;this.mouseScroll=this.onMouseScroll.bind(this),document.addEventListener("scroll",this.mouseScroll,!1),this.router.events.pipe(o.filter((function(t){return t instanceof n.NavigationEnd}))).subscribe((function(){t.subjectNavigation.next(!0)}))},t.prototype.onMouseScroll=function(){this.subjectScroll.next(void 0)},t.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},t.prototype.getNavigationEndValue=function(){return this.subjectNavigation.value},t.prototype.getNavigationEnd=function(){return this.subjectNavigation.asObservable()},t}();a.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new a(e.ɵɵinject(n.Router))},token:a,providedIn:"root"}),a.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],a.ctorParameters=function(){return[{type:n.Router}]};var l=function(){function n(t,n,i,o){this.htmlElement=t,this.renderer=n,this.changeDetectorRef=i,this.rfxScrollAnimationService=o,this.elementVisibleChange=new e.EventEmitter,this.distanceFromPageBottomPercentage=20,this.animationDistancePx=25,this.transitionDurationMs=500,this.transitionTimingFunction="cubic-bezier(0.4, 0.0, 0.2, 1)",this.scaleRatio=1.5,this.isOnlyFirstTime=!0}return n.prototype.ngOnChanges=function(){this.animationType!==t.AnimationTypeEnum.NONE&&this.setInitialElementStyle()},n.prototype.ngOnInit=function(){var t=this;this.toggleElementInstantly(!1),this.rfxScrollAnimationService.getNavigationEnd().subscribe((function(e){e&&(t.initElement(),t.isOnlyFirstTime&&t.elementVisible||(t.onScrollListener=t.rfxScrollAnimationService.getMouseScroll().subscribe((function(){t.onMouseScroll()}))))}))},n.prototype.ngOnDestroy=function(){this.onScrollListener&&this.onScrollListener.unsubscribe()},n.prototype.initElement=function(){var t=this.isElementInView(),e=t||this.isElementVisible();e&&!t?this.toggleElementInstantly(!0):e&&t&&this.toggleElement(!0)},n.prototype.setInitialElementStyle=function(){this.setElementStyle(this.htmlElement.nativeElement,new s("transition-timing-function",this.transitionTimingFunction),new s("transition-duration",this.transitionDurationMs+"ms"),new s("transition-property","opacity, transform"))},n.prototype.isElementInView=function(){var t=this.htmlElement.nativeElement.getBoundingClientRect(),e=t.top+window.pageYOffset-document.documentElement.clientTop,n=window.innerHeight/100*this.distanceFromPageBottomPercentage;return window.pageYOffset+window.innerHeight-n>=e&&window.pageYOffset<e+t.height},n.prototype.isElementVisible=function(){var t=window.scrollY+window.innerHeight,e=window.innerHeight/100*this.distanceFromPageBottomPercentage;return t>=this.htmlElement.nativeElement.getBoundingClientRect().top+window.pageYOffset-document.documentElement.clientTop+e},n.prototype.setElementStyle=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];n.forEach((function(n){e.renderer.setStyle(t,n.name,n.value)}))},n.prototype.removeElementStyle=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];n.forEach((function(n){e.renderer.removeStyle(t,n.name)}))},n.prototype.toggleElement=function(t){this.elementVisible=t,this.elementVisibleChange.emit(t),this.setElementStyle(this.htmlElement.nativeElement,new s("opacity",String(+t)),new s("transform",this.getElementTransform(t,this.animationType)))},n.prototype.toggleElementInstantly=function(t){this.toggleTransition(!1),this.toggleElement(t),this.changeDetectorRef.detectChanges(),this.toggleTransition(!0)},n.prototype.getElementTransform=function(e,n){switch(n){case t.AnimationTypeEnum.TOP:return e?"translateY(0)":"translateY(-"+this.animationDistancePx+"px)";case t.AnimationTypeEnum.BOTTOM:return e?"translateY(0)":"translateY("+this.animationDistancePx+"px)";case t.AnimationTypeEnum.LEFT:return e?"translateX(0)":"translateX(-"+this.animationDistancePx+"px)";case t.AnimationTypeEnum.RIGHT:return e?"translateX(0)":"translateX("+this.animationDistancePx+"px)";case t.AnimationTypeEnum.ZOOM:return e?"scale(1)":"scale("+this.scaleRatio+")";default:return"none"}},n.prototype.toggleTransition=function(t){t?this.setElementStyle(this.htmlElement.nativeElement,new s("transition-duration",this.transitionDurationMs+"ms")):this.removeElementStyle(this.htmlElement.nativeElement,new s("transition-duration"))},n.prototype.onMouseScroll=function(){this.isOnlyFirstTime&&this.elementVisible&&this.onScrollListener.unsubscribe();var t=this.isElementInView();t&&!this.elementVisible?this.toggleElement(!0):t||this.elementVisible||this.toggleElement(!1)},n}();l.decorators=[{type:e.Directive,args:[{selector:"[libRfxScrollAnimation]"}]}],l.ctorParameters=function(){return[{type:e.ElementRef},{type:e.Renderer2},{type:e.ChangeDetectorRef},{type:a}]},l.propDecorators={distanceFromPageBottomPercentage:[{type:e.Input}],animationType:[{type:e.Input}],animationDistancePx:[{type:e.Input}],transitionDurationMs:[{type:e.Input}],transitionTimingFunction:[{type:e.Input}],scaleRatio:[{type:e.Input}],elementVisibleChange:[{type:e.Output}]};var c=function(){};c.decorators=[{type:e.NgModule,args:[{declarations:[l],imports:[],exports:[l]}]}],t.RfxScrollAnimationModule=c,t.RfxScrollAnimationService=a,t.ɵa=l,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=rfx-scroll-animation.umd.min.js.map

@@ -10,2 +10,2 @@ export var AnimationTypeEnum;

})(AnimationTypeEnum || (AnimationTypeEnum = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiJEOi9SZXBvcy9SRlhMaWJyYXJ5L3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL2FuaW1hdGlvbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBT1g7QUFQRCxXQUFZLGlCQUFpQjtJQUMzQixrQ0FBYSxDQUFBO0lBQ2IsZ0NBQVcsQ0FBQTtJQUNYLHNDQUFpQixDQUFBO0lBQ2pCLG9DQUFlLENBQUE7SUFDZixrQ0FBYSxDQUFBO0lBQ2Isa0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQW5pbWF0aW9uVHlwZUVudW0ge1xyXG4gIE5PTkUgPSAnbm9uZScsXHJcbiAgVE9QID0gJ3RvcCcsXHJcbiAgQk9UVE9NID0gJ2JvdHRvbScsXHJcbiAgUklHSFQgPSAncmlnaHQnLFxyXG4gIExFRlQgPSAnbGVmdCcsXHJcbiAgWk9PTSA9ICd6b29tJ1xyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9yZngtc2Nyb2xsLWFuaW1hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9hbmltYXRpb24tdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQU9YO0FBUEQsV0FBWSxpQkFBaUI7SUFDM0Isa0NBQWEsQ0FBQTtJQUNiLGdDQUFXLENBQUE7SUFDWCxzQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBZSxDQUFBO0lBQ2Ysa0NBQWEsQ0FBQTtJQUNiLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU81QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFuaW1hdGlvblR5cGVFbnVtIHtcclxuICBOT05FID0gJ25vbmUnLFxyXG4gIFRPUCA9ICd0b3AnLFxyXG4gIEJPVFRPTSA9ICdib3R0b20nLFxyXG4gIFJJR0hUID0gJ3JpZ2h0JyxcclxuICBMRUZUID0gJ2xlZnQnLFxyXG4gIFpPT00gPSAnem9vbSdcclxufVxyXG4iXX0=
export * from './render-style.model';
export * from './animation-type.enum';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiRDovUmVwb3MvUkZYTGlicmFyeS9wcm9qZWN0cy9yZngtc2Nyb2xsLWFuaW1hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlbmRlci1zdHlsZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9uLXR5cGUuZW51bSc7XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZW5kZXItc3R5bGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbi10eXBlLmVudW0nO1xyXG4iXX0=

@@ -7,2 +7,2 @@ export class RendererStyleModel {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXN0eWxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkQ6L1JlcG9zL1JGWExpYnJhcnkvcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvcmVuZGVyLXN0eWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBWSxJQUFhLEVBQUUsS0FBYztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUmVuZGVyZXJTdHlsZU1vZGVsIHtcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihuYW1lPzogc3RyaW5nLCB2YWx1ZT86IHN0cmluZykge1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXN0eWxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL3JlbmRlci1zdHlsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQVksSUFBYSxFQUFFLEtBQWM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFJlbmRlcmVyU3R5bGVNb2RlbCB7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgdmFsdWU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IobmFtZT86IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==

@@ -186,2 +186,2 @@ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkQ6L1JlcG9zL1JGWExpYnJhcnkvcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3JmeC1zY3JvbGwtYW5pbWF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9JLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUszRSxNQUFNLE9BQU8sMkJBQTJCO0lBY3RDLFlBQ1UsV0FBdUIsRUFDdkIsUUFBbUIsRUFDbkIsaUJBQW9DLEVBQ3BDLHlCQUFvRDtRQUhwRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUU1RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsZ0NBQWdDLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIs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QUs7dUNBRUwsS0FBSzt5QkFDTCxLQUFLO21DQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uVHlwZUVudW0sIFJlbmRlcmVyU3R5bGVNb2RlbCB9IGZyb20gJy4vX21vZGVscyc7XHJcbmltcG9ydCB7IFJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UgfSBmcm9tICcuL3JmeC1zY3JvbGwtYW5pbWF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbGliUmZ4U2Nyb2xsQW5pbWF0aW9uXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJmeFNjcm9sbEFuaW1hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhbmltYXRpb25UeXBlOiBBbmltYXRpb25UeXBlRW51bTtcclxuICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0aW9uRGlzdGFuY2VQeDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmFuc2l0aW9uRHVyYXRpb25NczogbnVtYmVyO1xyXG4gIC8vIEBJbnB1dCgpIHB1YmxpYyB0cmFuc2l0aW9uRGVsYXlNczogbnVtYmVyOyAvLyBQRVJGT1JNQU5DRSBJU1NVRVNcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHNjYWxlUmF0aW86IG51bWJlcjtcclxuICBwdWJsaWMgaXNPbmx5Rmlyc3RUaW1lOiBib29sZWFuOyAvLyBASW5wdXQoKSAvLyBOT1QgV09SS0lORyBDT1JSRUNUTFlcclxuICBAT3V0cHV0KCkgcHVibGljIGVsZW1lbnRWaXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gIHByaXZhdGUgZWxlbWVudFZpc2libGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBvblNjcm9sbExpc3RlbmVyOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodG1sRWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlOiBSZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgdGhpcy5kaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZSA9IDIwO1xyXG4gICAgdGhpcy5hbmltYXRpb25EaXN0YW5jZVB4ID0gMjU7XHJcbiAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbk1zID0gNTAwO1xyXG4gICAgdGhpcy50cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gPSAnY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpJztcclxuICAgIHRoaXMuc2NhbGVSYXRpbyA9IDEuNTtcclxuICAgIHRoaXMuaXNPbmx5Rmlyc3RUaW1lID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFuaW1hdGlvblR5cGUgIT09IEFuaW1hdGlvblR5cGVFbnVtLk5PTkUpIHtcclxuICAgICAgdGhpcy5zZXRJbml0aWFsRWxlbWVudFN0eWxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvZ2dsZUVsZW1lbnRJbnN0YW50bHkoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMucmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZS5nZXROYXZpZ2F0aW9uRW5kKCkuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICB0aGlzLmluaXRFbGVtZW50KCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc09ubHlGaXJzdFRpbWUgfHwgIXRoaXMuZWxlbWVudFZpc2libGUpIHtcclxuICAgICAgICAgIHRoaXMub25TY3JvbGxMaXN0ZW5lciA9IHRoaXMucmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZS5nZXRNb3VzZVNjcm9sbCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZVNjcm9sbCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9uU2Nyb2xsTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5vblNjcm9sbExpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgaHRtbCBlbGVtZW50IGluaXRpYWwgc3RhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGluaXRFbGVtZW50KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNFbGVtZW50SW5WaWV3ID0gdGhpcy5pc0VsZW1lbnRJblZpZXcoKTtcclxuICAgIGNvbnN0IGlzRWxlbWVudFZpc2libGUgPSBpc0VsZW1lbnRJblZpZXcgPyBpc0VsZW1lbnRJblZpZXcgOiB0aGlzLmlzRWxlbWVudFZpc2libGUoKTtcclxuXHJcbiAgICBpZiAoaXNFbGVtZW50VmlzaWJsZSAmJiAhaXNFbGVtZW50SW5WaWV3KSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRWxlbWVudEluc3RhbnRseSh0cnVlKTtcclxuICAgIH0gZWxzZSBpZiAoaXNFbGVtZW50VmlzaWJsZSAmJiBpc0VsZW1lbnRJblZpZXcpIHtcclxuICAgICAgdGhpcy50b2dnbGVFbGVtZW50KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGh0bWwgZWxlbWVudCBpbml0aWFsIHN0eWxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsRWxlbWVudFN0eWxlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRFbGVtZW50U3R5bGUoXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgbmV3IFJlbmRlcmVyU3R5bGVNb2RlbCgndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLCB0aGlzLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiksXHJcbiAgICAgIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ3RyYW5zaXRpb24tZHVyYXRpb24nLCBgJHt0aGlzLnRyYW5zaXRpb25EdXJhdGlvbk1zfW1zYCksXHJcbiAgICAgIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ3RyYW5zaXRpb24tcHJvcGVydHknLCAnb3BhY2l0eSwgdHJhbnNmb3JtJylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyBlbGVtZW50IHZpc2libGUgaW4gdGhlIHdpbmRvd1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaXNFbGVtZW50SW5WaWV3KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IG9mZnNldFRvcDogbnVtYmVyID0gcmVjdC50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgLSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50VG9wO1xyXG4gICAgY29uc3QgZGlzdGFuY2VJblB4OiBudW1iZXIgPSAod2luZG93LmlubmVySGVpZ2h0IC8gMTAwKSAqIHRoaXMuZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2U7XHJcbiAgICBjb25zdCB2aWV3VG9wOiBudW1iZXIgPSB3aW5kb3cucGFnZVlPZmZzZXQgKyB3aW5kb3cuaW5uZXJIZWlnaHQgLSBkaXN0YW5jZUluUHg7XHJcbiAgICByZXR1cm4gdmlld1RvcCA+PSBvZmZzZXRUb3AgJiYgd2luZG93LnBhZ2VZT2Zmc2V0IDwgb2Zmc2V0VG9wICsgcmVjdC5oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJUyBlbGVtZW50IHZpc2libGUgaW4gdGhlIGRvY3VtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpc0VsZW1lbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2Nyb2xsQm90dG9tOiBudW1iZXIgPSB3aW5kb3cuc2Nyb2xsWSArIHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIGNvbnN0IGRpc3RhbmNlSW5QeDogbnVtYmVyID0gKHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCkgKiB0aGlzLmRpc3RhbmNlRnJvbVBhZ2VCb3R0b21QZXJjZW50YWdlO1xyXG4gICAgY29uc3QgcmVjdFRvcDogbnVtYmVyID0gdGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcclxuICAgIGNvbnN0IHNjcm9sbEJvdHRvbVdpdGhEaXN0YW5jZTogbnVtYmVyID0gcmVjdFRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCAtIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRUb3AgKyBkaXN0YW5jZUluUHg7XHJcbiAgICByZXR1cm4gc2Nyb2xsQm90dG9tID49IHNjcm9sbEJvdHRvbVdpdGhEaXN0YW5jZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBzaW5nbGUgb3IgbXVsdGlwbGUgZWxlbWVudCBzdHlsZXNcclxuICAgKiBAcGFyYW0gZWxlbWVudCBodG1sIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gc3R5bGVzIHNpbmdsZSBvciBtdWx0aXBsZSBzdHlsZSBtb2RlbHNcclxuICAgKi9cclxuICBwcml2YXRlIHNldEVsZW1lbnRTdHlsZShlbGVtZW50OiBFbGVtZW50LCAuLi5zdHlsZXM6IFJlbmRlcmVyU3R5bGVNb2RlbFtdKTogdm9pZCB7XHJcbiAgICBzdHlsZXMuZm9yRWFjaCgoc3R5bGUpID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBzdHlsZS5uYW1lLCBzdHlsZS52YWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBzaW5nbGUgb3IgbXVsdGlwbGUgZWxlbWVudCBzdHlsZXNcclxuICAgKiBAcGFyYW0gZWxlbWVudCBodG1sIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gc3R5bGVzIHNpbmdsZSBvciBtdWx0aXBsZSBzdHlsZSBtb2RlbHMgKG9ubHkgc3R5bGUgbmFtZSBpcyByZXF1aXJlZClcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUVsZW1lbnRTdHlsZShlbGVtZW50OiBFbGVtZW50LCAuLi5zdHlsZXM6IFJlbmRlcmVyU3R5bGVNb2RlbFtdKTogdm9pZCB7XHJcbiAgICBzdHlsZXMuZm9yRWFjaCgoc3R5bGUpID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBzdHlsZS5uYW1lKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyAvIGhpZGUgZWxlbWVudCBmcm9tIHBhZ2VcclxuICAgKi9cclxuICBwcml2YXRlIHRvZ2dsZUVsZW1lbnQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50VmlzaWJsZSA9IHZpc2libGU7XHJcbiAgICB0aGlzLmVsZW1lbnRWaXNpYmxlQ2hhbmdlLmVtaXQodmlzaWJsZSk7XHJcblxyXG4gICAgdGhpcy5zZXRFbGVtZW50U3R5bGUoXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgbmV3IFJlbmRlcmVyU3R5bGVNb2RlbCgnb3BhY2l0eScsIFN0cmluZygrdmlzaWJsZSkpLFxyXG4gICAgICBuZXcgUmVuZGVyZXJTdHlsZU1vZGVsKCd0cmFuc2Zvcm0nLCB0aGlzLmdldEVsZW1lbnRUcmFuc2Zvcm0odmlzaWJsZSwgdGhpcy5hbmltYXRpb25UeXBlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaG93IC8gaGlkZSBlbGVtZW50IGluc3RhbnRseSAod2l0aG91dCBhbmltYXRpb24pIGZyb20gcGFnZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdG9nZ2xlRWxlbWVudEluc3RhbnRseSh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvZ2dsZVRyYW5zaXRpb24oZmFsc2UpO1xyXG4gICAgdGhpcy50b2dnbGVFbGVtZW50KHZpc2libGUpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRvZ2dsZVRyYW5zaXRpb24odHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYW5pbWF0aW9uIHRyYW5zZm9ybSBieSBBbmltYXRpb25UeXBlRW51bVxyXG4gICAqIEBwYXJhbSBpc0VsZW1lbnRWaXNpYmxlIGlzIGVsZW1lbnQgYWxyZWFkeSB2aXNpYmxlXHJcbiAgICogQHBhcmFtIGFuaW1hdGlvblR5cGUgYW5pbWF0aW9uIHR5cGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldEVsZW1lbnRUcmFuc2Zvcm0oaXNFbGVtZW50VmlzaWJsZTogYm9vbGVhbiwgYW5pbWF0aW9uVHlwZTogQW5pbWF0aW9uVHlwZUVudW0pOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChhbmltYXRpb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uVE9QOlxyXG4gICAgICAgIHJldHVybiBpc0VsZW1lbnRWaXNpYmxlID8gJ3RyYW5zbGF0ZVkoMCknIDogYHRyYW5zbGF0ZVkoLSR7dGhpcy5hbmltYXRpb25EaXN0YW5jZVB4fXB4KWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uQk9UVE9NOlxyXG4gICAgICAgIHJldHVybiBpc0VsZW1lbnRWaXNpYmxlID8gJ3RyYW5zbGF0ZVkoMCknIDogYHRyYW5zbGF0ZVkoJHt0aGlzLmFuaW1hdGlvbkRpc3RhbmNlUHh9cHgpYDtcclxuICAgICAgY2FzZSBBbmltYXRpb25UeXBlRW51bS5MRUZUOlxyXG4gICAgICAgIHJldHVybiBpc0VsZW1lbnRWaXNpYmxlID8gJ3RyYW5zbGF0ZVgoMCknIDogYHRyYW5zbGF0ZVgoLSR7dGhpcy5hbmltYXRpb25EaXN0YW5jZVB4fXB4KWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uUklHSFQ6XHJcbiAgICAgICAgcmV0dXJuIGlzRWxlbWVudFZpc2libGUgPyAndHJhbnNsYXRlWCgwKScgOiBgdHJhbnNsYXRlWCgke3RoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeH1weClgO1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLlpPT006XHJcbiAgICAgICAgcmV0dXJuIGlzRWxlbWVudFZpc2libGUgPyAnc2NhbGUoMSknIDogYHNjYWxlKCR7dGhpcy5zY2FsZVJhdGlvfSlgO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGUgLyBkaXNhYmxlIGVsZW1lbnQgYW5pbWF0aW9uXHJcbiAgICogQHBhcmFtIGVuYWJsZWQgZW5hYmxlZCBvciBkaXNhYmxlZCB0cmFuc2l0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b2dnbGVUcmFuc2l0aW9uKGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChlbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuc2V0RWxlbWVudFN0eWxlKHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudCwgbmV3IFJlbmRlcmVyU3R5bGVNb2RlbCgndHJhbnNpdGlvbi1kdXJhdGlvbicsIGAke3RoaXMudHJhbnNpdGlvbkR1cmF0aW9uTXN9bXNgKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZUVsZW1lbnRTdHlsZSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ3RyYW5zaXRpb24tZHVyYXRpb24nKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBzY3JvbGwgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uTW91c2VTY3JvbGwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc09ubHlGaXJzdFRpbWUgJiYgdGhpcy5lbGVtZW50VmlzaWJsZSkge1xyXG4gICAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpc0VsZW1lbnRJblZpZXc6IGJvb2xlYW4gPSB0aGlzLmlzRWxlbWVudEluVmlldygpO1xyXG5cclxuICAgIGlmIChpc0VsZW1lbnRJblZpZXcgJiYgIXRoaXMuZWxlbWVudFZpc2libGUpIHtcclxuICAgICAgdGhpcy50b2dnbGVFbGVtZW50KHRydWUpO1xyXG4gICAgfSBlbHNlIGlmICghaXNFbGVtZW50SW5WaWV3ICYmICF0aGlzLmVsZW1lbnRWaXNpYmxlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRWxlbWVudChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLM0UsTUFBTSxPQUFPLDJCQUEyQjtJQWN0QyxZQUNVLFdBQXVCLEVBQ3ZCLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyx5QkFBb0Q7UUFIcEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFFNUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDeEQsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGdDQUFnQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxD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QUs7eUJBQ0wsS0FBSzttQ0FFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFuaW1hdGlvblR5cGVFbnVtLCBSZW5kZXJlclN0eWxlTW9kZWwgfSBmcm9tICcuL19tb2RlbHMnO1xyXG5pbXBvcnQgeyBSZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJmeFNjcm9sbEFuaW1hdGlvbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZnhTY3JvbGxBbmltYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2U6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0aW9uVHlwZTogQW5pbWF0aW9uVHlwZUVudW07XHJcbiAgQElucHV0KCkgcHVibGljIGFuaW1hdGlvbkRpc3RhbmNlUHg6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvbkR1cmF0aW9uTXM6IG51bWJlcjtcclxuICAvLyBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvbkRlbGF5TXM6IG51bWJlcjsgLy8gUEVSRk9STUFOQ0UgSVNTVUVTXHJcbiAgQElucHV0KCkgcHVibGljIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY2FsZVJhdGlvOiBudW1iZXI7XHJcbiAgcHVibGljIGlzT25seUZpcnN0VGltZTogYm9vbGVhbjsgLy8gQElucHV0KCkgLy8gTk9UIFdPUktJTkcgQ09SUkVDVExZXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBlbGVtZW50VmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICBwcml2YXRlIGVsZW1lbnRWaXNpYmxlOiBib29sZWFuO1xyXG4gIHByaXZhdGUgb25TY3JvbGxMaXN0ZW5lcjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHRtbEVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZTogUmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5lbGVtZW50VmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIHRoaXMuZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2UgPSAyMDtcclxuICAgIHRoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeCA9IDI1O1xyXG4gICAgdGhpcy50cmFuc2l0aW9uRHVyYXRpb25NcyA9IDUwMDtcclxuICAgIHRoaXMudHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uID0gJ2N1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSc7XHJcbiAgICB0aGlzLnNjYWxlUmF0aW8gPSAxLjU7XHJcbiAgICB0aGlzLmlzT25seUZpcnN0VGltZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbmltYXRpb25UeXBlICE9PSBBbmltYXRpb25UeXBlRW51bS5OT05FKSB7XHJcbiAgICAgIHRoaXMuc2V0SW5pdGlhbEVsZW1lbnRTdHlsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2dnbGVFbGVtZW50SW5zdGFudGx5KGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0TmF2aWdhdGlvbkVuZCgpLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5pbml0RWxlbWVudCgpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaXNPbmx5Rmlyc3RUaW1lIHx8ICF0aGlzLmVsZW1lbnRWaXNpYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLm9uU2Nyb2xsTGlzdGVuZXIgPSB0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0TW91c2VTY3JvbGwoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uTW91c2VTY3JvbGwoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vblNjcm9sbExpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMub25TY3JvbGxMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGh0bWwgZWxlbWVudCBpbml0aWFsIHN0YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0RWxlbWVudCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlzRWxlbWVudEluVmlldyA9IHRoaXMuaXNFbGVtZW50SW5WaWV3KCk7XHJcbiAgICBjb25zdCBpc0VsZW1lbnRWaXNpYmxlID0gaXNFbGVtZW50SW5WaWV3ID8gaXNFbGVtZW50SW5WaWV3IDogdGhpcy5pc0VsZW1lbnRWaXNpYmxlKCk7XHJcblxyXG4gICAgaWYgKGlzRWxlbWVudFZpc2libGUgJiYgIWlzRWxlbWVudEluVmlldykge1xyXG4gICAgICB0aGlzLnRvZ2dsZUVsZW1lbnRJbnN0YW50bHkodHJ1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKGlzRWxlbWVudFZpc2libGUgJiYgaXNFbGVtZW50SW5WaWV3KSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRWxlbWVudCh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBodG1sIGVsZW1lbnQgaW5pdGlhbCBzdHlsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SW5pdGlhbEVsZW1lbnRTdHlsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0RWxlbWVudFN0eWxlKFxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uJywgdGhpcy50cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24pLFxyXG4gICAgICBuZXcgUmVuZGVyZXJTdHlsZU1vZGVsKCd0cmFuc2l0aW9uLWR1cmF0aW9uJywgYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb25Nc31tc2ApLFxyXG4gICAgICBuZXcgUmVuZGVyZXJTdHlsZU1vZGVsKCd0cmFuc2l0aW9uLXByb3BlcnR5JywgJ29wYWNpdHksIHRyYW5zZm9ybScpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXMgZWxlbWVudCB2aXNpYmxlIGluIHRoZSB3aW5kb3dcclxuICAgKi9cclxuICBwcml2YXRlIGlzRWxlbWVudEluVmlldygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJlY3Q6IERPTVJlY3QgPSB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBvZmZzZXRUb3A6IG51bWJlciA9IHJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFRvcDtcclxuICAgIGNvbnN0IGRpc3RhbmNlSW5QeDogbnVtYmVyID0gKHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCkgKiB0aGlzLmRpc3RhbmNlRnJvbVBhZ2VCb3R0b21QZXJjZW50YWdlO1xyXG4gICAgY29uc3Qgdmlld1RvcDogbnVtYmVyID0gd2luZG93LnBhZ2VZT2Zmc2V0ICsgd2luZG93LmlubmVySGVpZ2h0IC0gZGlzdGFuY2VJblB4O1xyXG4gICAgcmV0dXJuIHZpZXdUb3AgPj0gb2Zmc2V0VG9wICYmIHdpbmRvdy5wYWdlWU9mZnNldCA8IG9mZnNldFRvcCArIHJlY3QuaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSVMgZWxlbWVudCB2aXNpYmxlIGluIHRoZSBkb2N1bWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaXNFbGVtZW50VmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNjcm9sbEJvdHRvbTogbnVtYmVyID0gd2luZG93LnNjcm9sbFkgKyB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICBjb25zdCBkaXN0YW5jZUluUHg6IG51bWJlciA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDApICogdGhpcy5kaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZTtcclxuICAgIGNvbnN0IHJlY3RUb3A6IG51bWJlciA9IHRoaXMuaHRtbEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XHJcbiAgICBjb25zdCBzY3JvbGxCb3R0b21XaXRoRGlzdGFuY2U6IG51bWJlciA9IHJlY3RUb3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgLSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50VG9wICsgZGlzdGFuY2VJblB4O1xyXG4gICAgcmV0dXJuIHNjcm9sbEJvdHRvbSA+PSBzY3JvbGxCb3R0b21XaXRoRGlzdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgc2luZ2xlIG9yIG11bHRpcGxlIGVsZW1lbnQgc3R5bGVzXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgaHRtbCBlbGVtZW50XHJcbiAgICogQHBhcmFtIHN0eWxlcyBzaW5nbGUgb3IgbXVsdGlwbGUgc3R5bGUgbW9kZWxzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRFbGVtZW50U3R5bGUoZWxlbWVudDogRWxlbWVudCwgLi4uc3R5bGVzOiBSZW5kZXJlclN0eWxlTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgc3R5bGVzLmZvckVhY2goKHN0eWxlKSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgc3R5bGUubmFtZSwgc3R5bGUudmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgc2luZ2xlIG9yIG11bHRpcGxlIGVsZW1lbnQgc3R5bGVzXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgaHRtbCBlbGVtZW50XHJcbiAgICogQHBhcmFtIHN0eWxlcyBzaW5nbGUgb3IgbXVsdGlwbGUgc3R5bGUgbW9kZWxzIChvbmx5IHN0eWxlIG5hbWUgaXMgcmVxdWlyZWQpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVFbGVtZW50U3R5bGUoZWxlbWVudDogRWxlbWVudCwgLi4uc3R5bGVzOiBSZW5kZXJlclN0eWxlTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgc3R5bGVzLmZvckVhY2goKHN0eWxlKSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWxlbWVudCwgc3R5bGUubmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgLyBoaWRlIGVsZW1lbnQgZnJvbSBwYWdlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b2dnbGVFbGVtZW50KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZWxlbWVudFZpc2libGUgPSB2aXNpYmxlO1xyXG4gICAgdGhpcy5lbGVtZW50VmlzaWJsZUNoYW5nZS5lbWl0KHZpc2libGUpO1xyXG5cclxuICAgIHRoaXMuc2V0RWxlbWVudFN0eWxlKFxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ29wYWNpdHknLCBTdHJpbmcoK3Zpc2libGUpKSxcclxuICAgICAgbmV3IFJlbmRlcmVyU3R5bGVNb2RlbCgndHJhbnNmb3JtJywgdGhpcy5nZXRFbGVtZW50VHJhbnNmb3JtKHZpc2libGUsIHRoaXMuYW5pbWF0aW9uVHlwZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyAvIGhpZGUgZWxlbWVudCBpbnN0YW50bHkgKHdpdGhvdXQgYW5pbWF0aW9uKSBmcm9tIHBhZ2VcclxuICAgKi9cclxuICBwcml2YXRlIHRvZ2dsZUVsZW1lbnRJbnN0YW50bHkodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy50b2dnbGVUcmFuc2l0aW9uKGZhbHNlKTtcclxuICAgIHRoaXMudG9nZ2xlRWxlbWVudCh2aXNpYmxlKTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy50b2dnbGVUcmFuc2l0aW9uKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFuaW1hdGlvbiB0cmFuc2Zvcm0gYnkgQW5pbWF0aW9uVHlwZUVudW1cclxuICAgKiBAcGFyYW0gaXNFbGVtZW50VmlzaWJsZSBpcyBlbGVtZW50IGFscmVhZHkgdmlzaWJsZVxyXG4gICAqIEBwYXJhbSBhbmltYXRpb25UeXBlIGFuaW1hdGlvbiB0eXBlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50VHJhbnNmb3JtKGlzRWxlbWVudFZpc2libGU6IGJvb2xlYW4sIGFuaW1hdGlvblR5cGU6IEFuaW1hdGlvblR5cGVFbnVtKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYW5pbWF0aW9uVHlwZSkge1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLlRPUDpcclxuICAgICAgICByZXR1cm4gaXNFbGVtZW50VmlzaWJsZSA/ICd0cmFuc2xhdGVZKDApJyA6IGB0cmFuc2xhdGVZKC0ke3RoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeH1weClgO1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLkJPVFRPTTpcclxuICAgICAgICByZXR1cm4gaXNFbGVtZW50VmlzaWJsZSA/ICd0cmFuc2xhdGVZKDApJyA6IGB0cmFuc2xhdGVZKCR7dGhpcy5hbmltYXRpb25EaXN0YW5jZVB4fXB4KWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uTEVGVDpcclxuICAgICAgICByZXR1cm4gaXNFbGVtZW50VmlzaWJsZSA/ICd0cmFuc2xhdGVYKDApJyA6IGB0cmFuc2xhdGVYKC0ke3RoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeH1weClgO1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLlJJR0hUOlxyXG4gICAgICAgIHJldHVybiBpc0VsZW1lbnRWaXNpYmxlID8gJ3RyYW5zbGF0ZVgoMCknIDogYHRyYW5zbGF0ZVgoJHt0aGlzLmFuaW1hdGlvbkRpc3RhbmNlUHh9cHgpYDtcclxuICAgICAgY2FzZSBBbmltYXRpb25UeXBlRW51bS5aT09NOlxyXG4gICAgICAgIHJldHVybiBpc0VsZW1lbnRWaXNpYmxlID8gJ3NjYWxlKDEpJyA6IGBzY2FsZSgke3RoaXMuc2NhbGVSYXRpb30pYDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ25vbmUnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW5hYmxlIC8gZGlzYWJsZSBlbGVtZW50IGFuaW1hdGlvblxyXG4gICAqIEBwYXJhbSBlbmFibGVkIGVuYWJsZWQgb3IgZGlzYWJsZWQgdHJhbnNpdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgdG9nZ2xlVHJhbnNpdGlvbihlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoZW5hYmxlZCkge1xyXG4gICAgICB0aGlzLnNldEVsZW1lbnRTdHlsZSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG5ldyBSZW5kZXJlclN0eWxlTW9kZWwoJ3RyYW5zaXRpb24tZHVyYXRpb24nLCBgJHt0aGlzLnRyYW5zaXRpb25EdXJhdGlvbk1zfW1zYCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW1vdmVFbGVtZW50U3R5bGUodGhpcy5odG1sRWxlbWVudC5uYXRpdmVFbGVtZW50LCBuZXcgUmVuZGVyZXJTdHlsZU1vZGVsKCd0cmFuc2l0aW9uLWR1cmF0aW9uJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbW91c2Ugc2Nyb2xsIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbk1vdXNlU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNPbmx5Rmlyc3RUaW1lICYmIHRoaXMuZWxlbWVudFZpc2libGUpIHtcclxuICAgICAgdGhpcy5vblNjcm9sbExpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXNFbGVtZW50SW5WaWV3OiBib29sZWFuID0gdGhpcy5pc0VsZW1lbnRJblZpZXcoKTtcclxuXHJcbiAgICBpZiAoaXNFbGVtZW50SW5WaWV3ICYmICF0aGlzLmVsZW1lbnRWaXNpYmxlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRWxlbWVudCh0cnVlKTtcclxuICAgIH0gZWxzZSBpZiAoIWlzRWxlbWVudEluVmlldyAmJiAhdGhpcy5lbGVtZW50VmlzaWJsZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUVsZW1lbnQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=

@@ -12,2 +12,2 @@ import { NgModule } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkQ6L1JlcG9zL1JGWExpYnJhcnkvcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3JmeC1zY3JvbGwtYW5pbWF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBUS9FLE1BQU0sT0FBTyx3QkFBd0I7OztZQU5wQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxFQUNSO2dCQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmZ4U2Nyb2xsQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtSZnhTY3JvbGxBbmltYXRpb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtSZnhTY3JvbGxBbmltYXRpb25EaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZnhTY3JvbGxBbmltYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVEvRSxNQUFNLE9BQU8sd0JBQXdCOzs7WUFOcEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsRUFDUjtnQkFDRCxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzthQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJmeFNjcm9sbEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcmZ4LXNjcm9sbC1hbmltYXRpb24uZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbUmZ4U2Nyb2xsQW5pbWF0aW9uRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgXSxcclxuICBleHBvcnRzOiBbUmZ4U2Nyb2xsQW5pbWF0aW9uRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmZ4U2Nyb2xsQW5pbWF0aW9uTW9kdWxlIHsgfVxyXG4iXX0=

@@ -60,2 +60,2 @@ import { Injectable } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9SZXBvcy9SRlhMaWJyYXJ5L3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3hDLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFDVSxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUV0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sV0FBVztRQUNoQixRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUNoRCxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzs7O1lBM0RGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTnVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgbW91c2VTY3JvbGw6IGFueTtcclxuICBwcml2YXRlIHN1YmplY3RTY3JvbGw6IEJlaGF2aW9yU3ViamVjdDx1bmRlZmluZWQ+O1xyXG4gIHByaXZhdGUgc3ViamVjdE5hdmlnYXRpb246IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN1YmplY3RTY3JvbGwgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgIHRoaXMuc3ViamVjdE5hdmlnYXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMubW91c2VTY3JvbGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdCBsaXN0ZW5lcnNcclxuICAgKi9cclxuICBwdWJsaWMgaW5pdExpc3RlbmVycygpOiB2b2lkIHtcclxuICAgIHRoaXMubW91c2VTY3JvbGwgPSB0aGlzLm9uTW91c2VTY3JvbGwuYmluZCh0aGlzKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMubW91c2VTY3JvbGwsIGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zdWJqZWN0TmF2aWdhdGlvbi5uZXh0KHRydWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb3VzZSBzY3JvbGwgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uTW91c2VTY3JvbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YmplY3RTY3JvbGwubmV4dCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTW91c2Ugc2Nyb2xsIGV2ZW50IG9ic2VydmFibGVcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0TW91c2VTY3JvbGwoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnN1YmplY3RTY3JvbGwuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0aW9uRW5kIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGdldE5hdmlnYXRpb25FbmRWYWx1ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN1YmplY3ROYXZpZ2F0aW9uLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGlvbkVuZCBldmVudCBvYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgcHVibGljIGdldE5hdmlnYXRpb25FbmQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0TmF2aWdhdGlvbi5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9yZngtc2Nyb2xsLWFuaW1hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvcmZ4LXNjcm9sbC1hbmltYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt4QyxNQUFNLE9BQU8seUJBQXlCO0lBS3BDLFlBQ1UsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBWSxTQUFTLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FDaEQsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7OztZQTNERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQU51QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIG1vdXNlU2Nyb2xsOiBhbnk7XHJcbiAgcHJpdmF0ZSBzdWJqZWN0U2Nyb2xsOiBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkPjtcclxuICBwcml2YXRlIHN1YmplY3ROYXZpZ2F0aW9uOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgdGhpcy5zdWJqZWN0U2Nyb2xsID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLnN1YmplY3ROYXZpZ2F0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm1vdXNlU2Nyb2xsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXQgbGlzdGVuZXJzXHJcbiAgICovXHJcbiAgcHVibGljIGluaXRMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vdXNlU2Nyb2xsID0gdGhpcy5vbk1vdXNlU2Nyb2xsLmJpbmQodGhpcyk7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm1vdXNlU2Nyb2xsLCBmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcbiAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXHJcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3ViamVjdE5hdmlnYXRpb24ubmV4dCh0cnVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTW91c2Ugc2Nyb2xsIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbk1vdXNlU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJqZWN0U2Nyb2xsLm5leHQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vdXNlIHNjcm9sbCBldmVudCBvYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgcHVibGljIGdldE1vdXNlU2Nyb2xsKCk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0U2Nyb2xsLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGlvbkVuZCBldmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXROYXZpZ2F0aW9uRW5kVmFsdWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0TmF2aWdhdGlvbi52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hdmlnYXRpb25FbmQgZXZlbnQgb2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXROYXZpZ2F0aW9uRW5kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdE5hdmlnYXRpb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
/*
* Public API Surface of rfx-scroll-animation
*/
export * from './lib';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJEOi9SZXBvcy9SRlhMaWJyYXJ5L3Byb2plY3RzL3JmeC1zY3JvbGwtYW5pbWF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiByZngtc2Nyb2xsLWFuaW1hdGlvblxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcclxuIl19
export * from './lib/rfx-scroll-animation.module';
export * from './lib/rfx-scroll-animation.service';
export * from './lib/_models/animation-type.enum';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9yZngtc2Nyb2xsLWFuaW1hdGlvbi9zcmMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcmZ4LXNjcm9sbC1hbmltYXRpb25cclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvX21vZGVscy9hbmltYXRpb24tdHlwZS5lbnVtJztcclxuIl19

@@ -5,2 +5,3 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiRDovUmVwb3MvUkZYTGlicmFyeS9wcm9qZWN0cy9yZngtc2Nyb2xsLWFuaW1hdGlvbi9zcmMvIiwic291cmNlcyI6WyJyZngtc2Nyb2xsLWFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
export { RfxScrollAnimationDirective as ɵa } from './lib/rfx-scroll-animation.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjLyIsInNvdXJjZXMiOlsicmZ4LXNjcm9sbC1hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7UmZ4U2Nyb2xsQW5pbWF0aW9uRGlyZWN0aXZlIGFzIMm1YX0gZnJvbSAnLi9saWIvcmZ4LXNjcm9sbC1hbmltYXRpb24uZGlyZWN0aXZlJzsiXX0=

@@ -6,2 +6,19 @@ import { ɵɵdefineInjectable, ɵɵinject, Injectable, EventEmitter, Directive, ElementRef, Renderer2, ChangeDetectorRef, Input, Output, NgModule } from '@angular/core';

class RendererStyleModel {
constructor(name, value) {
this.name = name;
this.value = value;
}
}
var AnimationTypeEnum;
(function (AnimationTypeEnum) {
AnimationTypeEnum["NONE"] = "none";
AnimationTypeEnum["TOP"] = "top";
AnimationTypeEnum["BOTTOM"] = "bottom";
AnimationTypeEnum["RIGHT"] = "right";
AnimationTypeEnum["LEFT"] = "left";
AnimationTypeEnum["ZOOM"] = "zoom";
})(AnimationTypeEnum || (AnimationTypeEnum = {}));
class RfxScrollAnimationService {

@@ -61,19 +78,2 @@ constructor(router) {

class RendererStyleModel {
constructor(name, value) {
this.name = name;
this.value = value;
}
}
var AnimationTypeEnum;
(function (AnimationTypeEnum) {
AnimationTypeEnum["NONE"] = "none";
AnimationTypeEnum["TOP"] = "top";
AnimationTypeEnum["BOTTOM"] = "bottom";
AnimationTypeEnum["RIGHT"] = "right";
AnimationTypeEnum["LEFT"] = "left";
AnimationTypeEnum["ZOOM"] = "zoom";
})(AnimationTypeEnum || (AnimationTypeEnum = {}));
class RfxScrollAnimationDirective {

@@ -280,3 +280,3 @@ constructor(htmlElement, renderer, changeDetectorRef, rfxScrollAnimationService) {

export { AnimationTypeEnum, RendererStyleModel, RfxScrollAnimationDirective, RfxScrollAnimationModule, RfxScrollAnimationService };
export { AnimationTypeEnum, RfxScrollAnimationModule, RfxScrollAnimationService, RfxScrollAnimationDirective as ɵa };
//# sourceMappingURL=rfx-scroll-animation.js.map
{
"name": "rfx-scroll-animation",
"version": "1.1.1",
"version": "1.1.2",
"description": "RfxScrollAnimation - animate your page elements on scroll",
"author": "RedFoxxo",
"author": {
"name": "RedFoxxo",
"url": "https://github.com/RedFoxxo"
},
"repository": {

@@ -25,3 +28,4 @@ "type": "git",

"@angular/common": ">=8.0.0",
"@angular/core": ">=8.0.0"
"@angular/core": ">=8.0.0",
"rxjs": ">=6.0.0"
},

@@ -28,0 +32,0 @@ "dependencies": {

@@ -1,1 +0,3 @@

export * from './lib';
export * from './lib/rfx-scroll-animation.module';
export * from './lib/rfx-scroll-animation.service';
export * from './lib/_models/animation-type.enum';

@@ -5,1 +5,2 @@ /**

export * from './public-api';
export { RfxScrollAnimationDirective as ɵa } from './lib/rfx-scroll-animation.directive';

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

{"__symbolic":"module","version":4,"exports":[{"from":"./rfx-scroll-animation.service"},{"from":"./rfx-scroll-animation.module"},{"from":"./rfx-scroll-animation.directive"},{"from":"./_models"}],"metadata":{},"origins":{},"importAs":"rfx-scroll-animation"}
{"__symbolic":"module","version":4,"metadata":{"RfxScrollAnimationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"RfxScrollAnimationService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":14,"character":20}]}],"ngOnDestroy":[{"__symbolic":"method"}],"initListeners":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}],"getMouseScroll":[{"__symbolic":"method"}],"getNavigationEndValue":[{"__symbolic":"method"}],"getNavigationEnd":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"AnimationTypeEnum":{"NONE":"none","TOP":"top","BOTTOM":"bottom","RIGHT":"right","LEFT":"left","ZOOM":"zoom"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[libRfxScrollAnimation]"}]}],"members":{"distanceFromPageBottomPercentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"animationType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"animationDistancePx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"transitionDurationMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"transitionTimingFunction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"scaleRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"elementVisibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":23,"character":25},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":24,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":25,"character":31},{"__symbolic":"reference","name":"RfxScrollAnimationService"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"initElement":[{"__symbolic":"method"}],"setInitialElementStyle":[{"__symbolic":"method"}],"isElementInView":[{"__symbolic":"method"}],"isElementVisible":[{"__symbolic":"method"}],"setElementStyle":[{"__symbolic":"method"}],"removeElementStyle":[{"__symbolic":"method"}],"toggleElement":[{"__symbolic":"method"}],"toggleElementInstantly":[{"__symbolic":"method"}],"getElementTransform":[{"__symbolic":"method"}],"toggleTransition":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}]}}},"origins":{"RfxScrollAnimationModule":"./lib/rfx-scroll-animation.module","RfxScrollAnimationService":"./lib/rfx-scroll-animation.service","AnimationTypeEnum":"./lib/_models/animation-type.enum","ɵa":"./lib/rfx-scroll-animation.directive"},"importAs":"rfx-scroll-animation"}

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