asap-feed-beta 12.7.8 → 12.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,13 +46,11 @@ var AsapFeedBetaComponent = /** @class */ (function () {
46
46
  this.publication = this.controlService.publication;
47
47
  this.query = this.controlService.query;
48
48
  }
49
- console.log('Query ->', this.query);
50
49
  this.route.params.subscribe((/**
51
50
  * @param {?} param
52
51
  * @return {?}
53
52
  */
54
53
  function (param) {
55
- console.log('Params ->', param);
56
54
  if (param) {
57
55
  if (param.feed_id) {
58
56
  _this.feedID = param.feed_id;
@@ -110,7 +108,6 @@ var AsapFeedBetaComponent = /** @class */ (function () {
110
108
  function (feed_id) {
111
109
  var _this = this;
112
110
  if (feed_id === void 0) { feed_id = ''; }
113
- console.log('[getFeed] Query', this.query, this.filterByMe);
114
111
  this.feeds = null;
115
112
  this.loading = true;
116
113
  this.feedService.getFeed(feed_id, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -119,7 +116,6 @@ var AsapFeedBetaComponent = /** @class */ (function () {
119
116
  */
120
117
  function (response) {
121
118
  _this.feeds = response.data;
122
- console.log('Feeds', _this.feeds);
123
119
  _this.paginate = response.pagination;
124
120
  _this.loading = false;
125
121
  _this.hasFeed = (_this.feeds.length > 0);
@@ -133,7 +129,6 @@ var AsapFeedBetaComponent = /** @class */ (function () {
133
129
  */
134
130
  function () {
135
131
  var _this = this;
136
- console.log('[getMore]', this.paginate.next_document);
137
132
  if (this.paginate.next_document) {
138
133
  this.loading = true;
139
134
  this.feedService.getMoreFeed(5, this.paginate.next_document, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -141,7 +136,6 @@ var AsapFeedBetaComponent = /** @class */ (function () {
141
136
  * @return {?}
142
137
  */
143
138
  function (response) {
144
- console.log('[getMore] Got: ', response);
145
139
  response.data.map((/**
146
140
  * @param {?} item
147
141
  * @return {?}
@@ -395,10 +389,23 @@ var AsapFeedBetaComponent = /** @class */ (function () {
395
389
  this.filterByMe = filterByMe;
396
390
  this.getFeed();
397
391
  };
392
+ Object.defineProperty(AsapFeedBetaComponent.prototype, "isScrollDisabled", {
393
+ get: /**
394
+ * @return {?}
395
+ */
396
+ function () {
397
+ return this.loading ||
398
+ this.paginate.count >= this.paginate.limit ||
399
+ this.isSinglePost ||
400
+ this.paginate.last_document === this.paginate.next_document;
401
+ },
402
+ enumerable: true,
403
+ configurable: true
404
+ });
398
405
  AsapFeedBetaComponent.decorators = [
399
406
  { type: Component, args: [{
400
407
  selector: 'asap-feed-beta',
401
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
408
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll \n [infiniteScrollDistance]=\"2\" \n [infiniteScrollThrottle]=\"2000\" \n [infiniteScrollDisabled]=\"isScrollDisabled\" \n (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
402
409
  styles: ['./asap-feed.beta.componente.scss']
403
410
  }] }
404
411
  ];
@@ -468,4 +475,4 @@ if (false) {
468
475
  /** @type {?} */
469
476
  AsapFeedBetaComponent.prototype.global;
470
477
  }
471
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DO0lBNkJJLCtCQUNZLFdBQTRCLEVBQzdCLEVBQW9CLEVBQ3BCLEtBQXFCLEVBQ3JCLGNBQW1DLEVBQ25DLE1BQWM7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzQmxCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHeEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFJYix5QkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxLQUFL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K0I7O0lBQy9CLDZDQUE0Qjs7SUFFNUIsMkNBQTBCOzs7OztJQUd0Qiw0Q0FBb0M7O0lBQ3BDLG1DQUEyQjs7SUFDM0Isc0NBQTRCOztJQUM1QiwrQ0FBMEM7O0lBQzFDLHVDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhc2FwLWZlZWQtYmV0YScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgaGFzRmVlZCA9IHRydWU7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgaWdub3JlQ29udHJvbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzO1xuXG4gICAgcHVibGljIGhhc0lEID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XG4gICAgcHVibGljIGFubm91bmNlID0gZmFsc2U7XG4gICAgcHVibGljIHB1YmxpY2F0aW9uID0gdHJ1ZTtcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xuICAgIHB1YmxpYyBmZWVkSUQ7XG4gICAgcHVibGljIGZlZWRzO1xuICAgIHB1YmxpYyBwYWdpbmF0ZTtcbiAgICBwdWJsaWMgdG9wUG9zVG9TdGFydFNob3dpbmcgPSA0MDA7XG4gICAgcHVibGljIHNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBmaWx0ZXJCeU1lID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmZWVkU2VydmljZTogQXNhcEZlZWRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBjb250cm9sU2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZSxcbiAgICAgICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xuICAgICAgICAgICAgdGhpcy5zdG9yaWVzID0gdGhpcy5jb250cm9sU2VydmljZS5zdG9yaWVzO1xuICAgICAgICAgICAgdGhpcy5wdWJsaWNhdGlvbiA9IHRoaXMuY29udHJvbFNlcnZpY2UucHVibGljYXRpb247XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xuXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xuICAgICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtLmZlZWRfaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2luZ2xlUG9zdCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgICAgICAgICB9LCA2MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzSUQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoQnkgPSAndXNlcl9pbmZvLmlkJztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5LnNlYXJjaFZhbHVlID0gdGhpcy5pZCArICcmdHlwZVZhbHVlPW51bWJlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmVlZChmZWVkX2lkID0gJycpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tnZXRGZWVkXSBRdWVyeScsIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSk7XG4gICAgICAgIHRoaXMuZmVlZHMgPSBudWxsO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5LCB0aGlzLmZpbHRlckJ5TWUpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRmVlZHMnLCB0aGlzLmZlZWRzKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0ZlZWQgPSAodGhpcy5mZWVkcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vcmUoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSwgdGhpcy5maWx0ZXJCeU1lKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW2dldE1vcmVdIEdvdDogJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0ZlZWRDaGFuZ2UoKSB7XG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XG4gICAgICAgIC8vICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIscmVzcG9uc2UpO1xuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIC8vICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIilcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgLy8gICAgICAgICB9LCA2MDApO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICAgIGNoZWNrU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ290b1RvcCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBlcm1pdHRlZChwb3N0KSB7XG4gICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleHRyYXMgPSB1c2VyLmV4dHJhc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybSBvZiBwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChleHRyYXNbcGVybS5maWVsZF0gPT0gcGVybS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OZXdGZWVkKGlkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGlkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmVlZHMubGVuZ3RoO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgdGhpcy5mZWVkcykge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdIEZlZWQnLCB0aGlzLmZlZWRzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmVlZHNbaV0uaXNIaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IFtcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgLi4uIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4uIHRoaXMuZmVlZHMuc2xpY2UoaW5kZXgpXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XG4gICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlzaWJsZShpdGVtKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYW5kbyBjb21vIHZpc3VhbGl6YWRvXCIsIGl0ZW0pO1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGl0ZW0udXBkYXRlZF9hdFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfWA7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgIGRvY3VtZW50LnNldChwb3N0RGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH0vdmlld3MvJHt1c2VyLmlkfWA7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0KCkuc3Vic2NyaWJlKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRvYy5leGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBqw6EgZm9pIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCBkb2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKGAke2RvY3VtZW50SUR9L2hpc3RvcnlgKS5hZGQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbG9hZChmaWx0ZXJCeU1lOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCeU1lID0gZmlsdGVyQnlNZTtcbiAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgfVxuXG59XG4iXX0=
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DO0lBNkJJLCtCQUNZLFdBQTRCLEVBQzdCLEVBQW9CLEVBQ3BCLEtBQXFCLEVBQ3JCLGNBQW1DLEVBQ25DLE1BQWM7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzQmxCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHeEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFJYix5QkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxLQUFL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TGlzdGVuZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNhcEZlZWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc2FwLWZlZWQuc2VydmljZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXNhcEZlZWRCZXRhU2VydmljZSB9IGZyb20gJy4vYXNhcC1mZWVkLWJldGEuc2VydmljZSc7XG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdhc2FwLWNydWQnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FzYXAtZmVlZC1iZXRhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXNhcC1mZWVkLWJldGEuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogWycuL2FzYXAtZmVlZC5iZXRhLmNvbXBvbmVudGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFzYXBGZWVkQmV0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICAgIHB1YmxpYyBoYXNGZWVkID0gdHJ1ZTtcbiAgICBwdWJsaWMgbG9hZGluZyA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBpZDtcbiAgICBASW5wdXQoKSBpZ25vcmVDb250cm9sID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2V0dGluZ3M7XG5cbiAgICBwdWJsaWMgaGFzSUQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzdG9yaWVzID0gdHJ1ZTtcbiAgICBwdWJsaWMgYW5ub3VuY2UgPSBmYWxzZTtcbiAgICBwdWJsaWMgcHVibGljYXRpb24gPSB0cnVlO1xuICAgIHB1YmxpYyBxdWVyeSA9IG51bGw7XG4gICAgcHVibGljIGZlZWRJRDtcbiAgICBwdWJsaWMgZmVlZHM7XG4gICAgcHVibGljIHBhZ2luYXRlO1xuICAgIHB1YmxpYyB0b3BQb3NUb1N0YXJ0U2hvd2luZyA9IDQwMDtcbiAgICBwdWJsaWMgc2hvd1RvVG9wQnV0dG9uID0gZmFsc2U7XG4gICAgcHVibGljIGlzU2luZ2xlUG9zdCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGZpbHRlckJ5TWUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZlZWRTZXJ2aWNlOiBBc2FwRmVlZFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkYjogQW5ndWxhckZpcmVzdG9yZSxcbiAgICAgICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNvbnRyb2xTZXJ2aWNlOiBBc2FwRmVlZEJldGFTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZ2xvYmFsOiBHbG9iYWwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMucXVlcnkgPSBudWxsO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaWdub3JlQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5hbm5vdW5jZSA9IHRoaXMuY29udHJvbFNlcnZpY2UuYW5ub3VuY2U7XG4gICAgICAgICAgICB0aGlzLnN0b3JpZXMgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnN0b3JpZXM7XG4gICAgICAgICAgICB0aGlzLnB1YmxpY2F0aW9uID0gdGhpcy5jb250cm9sU2VydmljZS5wdWJsaWNhdGlvbjtcbiAgICAgICAgICAgIHRoaXMucXVlcnkgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJhbSkge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbS5mZWVkX2lkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZElEID0gcGFyYW0uZmVlZF9pZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NpbmdsZVBvc3QgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2hlY2tGZWVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5mZWVkSUQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCh0aGlzLmZlZWRJRCk7XG4gICAgICAgICAgICB9LCA2MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuaWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNJRCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5KSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5ID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeS5zZWFyY2hCeSA9ICd1c2VyX2luZm8uaWQnO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoVmFsdWUgPSB0aGlzLmlkICsgJyZ0eXBlVmFsdWU9bnVtYmVyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGZWVkKGZlZWRfaWQgPSAnJykge1xuICAgICAgICB0aGlzLmZlZWRzID0gbnVsbDtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGZlZWRfaWQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSwgdGhpcy5maWx0ZXJCeU1lKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmVlZHMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGFzRmVlZCA9ICh0aGlzLmZlZWRzLmxlbmd0aCA+IDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9yZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGUubmV4dF9kb2N1bWVudCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmVlZFNlcnZpY2UuZ2V0TW9yZUZlZWQoNSwgdGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50LCB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCksIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlcm1pdHRlZChpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRlID0gcmVzcG9uc2UucGFnaW5hdGlvbjtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrRmVlZENoYW5nZSgpIHtcbiAgICAgICAgLy8gY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCwgcmVmID0+IHtcbiAgICAgICAgLy8gICAgIHJldHVybiByZWYub3JkZXJCeSgndXBkYXRlZF9hdCcsICdkZXNjJyk7XG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIC8vIGNvbGxlY3Rpb24uc25hcHNob3RDaGFuZ2VzKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIixyZXNwb25zZSk7XG4gICAgICAgIC8vICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgLy8gICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gICAgICAgICAgICAgY29uc29sZS5sb2coXCJbY2hlY2tGZWVkQ2hhbmdlXVwiKVxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAvLyAgICAgICAgIH0sIDYwMCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0pXG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXG4gICAgY2hlY2tTY3JvbGwoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHwgMDtcbiAgICAgICAgaWYgKHNjcm9sbFBvc2l0aW9uID49IHRoaXMudG9wUG9zVG9TdGFydFNob3dpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvVG9wQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvVG9wQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnb3RvVG9wKCkge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKHtcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGVybWl0dGVkKHBvc3QpIHtcbiAgICAgICAgaWYgKHBvc3QucGVybWlzc2lvbikge1xuICAgICAgICAgICAgaWYgKHBvc3QucGVybWlzc2lvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHVzZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvc3QudXNlcl9pbmZvICYmIHBvc3QudXNlcl9pbmZvLmlkID09IHVzZXIuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodXNlci5leHRyYXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhcyA9IHVzZXIuZXh0cmFzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBwZXJtIG9mIHBvc3QucGVybWlzc2lvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocGVybS5maWVsZCA9PSAnbXVsdGktY29udGEnKSAmJiAocGVybS52YWx1ZSA9PSB1c2VyLmNsaWVudF9pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV4dHJhc1twZXJtLmZpZWxkXSA9PSBwZXJtLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk5ld0ZlZWQoaWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdJywgaWQpO1xuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoaWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5mZWVkcy5sZW5ndGg7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgZmVlZCBvZiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgZmVlZC5mb2N1cyA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgZmVlZCBvZiB0aGlzLmZlZWRzKSB7XG4gICAgICAgICAgICAgICAgZmVlZC5mb2N1cyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmVlZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW29uTmV3RmVlZF0gRmVlZCcsIHRoaXMuZmVlZHNbaV0pO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5mZWVkc1tpXS5pc0hpZ2hsaWdodGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmZlZWRzID0gW1xuICAgICAgICAgICAgICAgIC4uLiB0aGlzLmZlZWRzLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAuLi4gcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZShpbmRleClcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZm9jdXMtb24tbWUnKVswXTtcbiAgICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG5cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRWaXNpYmxlKGl0ZW0pIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJbc2VuZFZpc2libGVdIG1hcmNhbmRvIGNvbW8gdmlzdWFsaXphZG9cIiwgaXRlbSk7XG4gICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCk7XG5cbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogaXRlbS51cGRhdGVkX2F0XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICBwb3N0X2lkOiBpdGVtLmlkLFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1c2VyX2luZm86IHtcbiAgICAgICAgICAgICAgICBpZDogdXNlci5pZCxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgICAgIG5hbWU6IHVzZXIubmFtZSxcbiAgICAgICAgICAgICAgICBwaWN0dXJlOiB1c2VyLnBpY3R1cmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb2N1bWVudElEID0gYGZlZWQtdmlldy8ke2l0ZW0uaWR9YDtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSB0aGlzLmRiLmRvYyhkb2N1bWVudElEKTtcbiAgICAgICAgZG9jdW1lbnQuc2V0KHBvc3REYXRhKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfS92aWV3cy8ke3VzZXIuaWR9YDtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgICAgICBkb2N1bWVudC5nZXQoKS5zdWJzY3JpYmUoKGRvYykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZG9jLmV4aXN0cykge1xuICAgICAgICAgICAgICAgICAgICBkb2MucmVmLnNldChkYXRhKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbc2VuZFZpc2libGVdIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbc2VuZFZpc2libGVdIGrDoSBmb2kgbWFyY2FkbyBjb21vIHZpc3VhbGl6YWRvXCIsIGRvYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmRiLmNvbGxlY3Rpb24oYCR7ZG9jdW1lbnRJRH0vaGlzdG9yeWApLmFkZChkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVsb2FkKGZpbHRlckJ5TWU6IGFueSkge1xuICAgICAgICB0aGlzLmZpbHRlckJ5TWUgPSBmaWx0ZXJCeU1lO1xuICAgICAgICB0aGlzLmdldEZlZWQoKTtcbiAgICB9XG5cbiAgICBnZXQgaXNTY3JvbGxEaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyB8fCBcbiAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGUuY291bnQgPj0gdGhpcy5wYWdpbmF0ZS5saW1pdCB8fCBcbiAgICAgICAgICAgICAgIHRoaXMuaXNTaW5nbGVQb3N0IHx8IFxuICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZS5sYXN0X2RvY3VtZW50ID09PSB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnRcbiAgICB9XG5cbn1cbiJdfQ==
@@ -46,7 +46,6 @@ import { MatTabsModule } from '@angular/material/tabs';
46
46
  import { FeedPostsComponent } from './feed-posts/feed-posts.component';
47
47
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
48
48
  import { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';
49
- // import { NgAisModule } from 'angular-instantsearch';
50
49
  var AsapFeedBetaModule = /** @class */ (function () {
51
50
  function AsapFeedBetaModule(global) {
52
51
  var _this = this;
@@ -139,4 +138,4 @@ if (false) {
139
138
  /** @type {?} */
140
139
  AsapFeedBetaModule.prototype.global;
141
140
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FB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Yzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixxQkFBcUI7cUJBQ3hCO29CQUNELFlBQVksRUFBRTt3QkFDVixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3ZCO29CQUNELGVBQWUsRUFBRTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsWUFBWTtxQkFDZjtpQkFDSjs7OztnQkFoRlEsTUFBTTs7SUE0RmYseUJBQUM7Q0FBQSxBQXJFRCxJQXFFQztTQVhZLGtCQUFrQjs7O0lBRWYsb0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQXNhcEZlZWRCZXRhQ29tcG9uZW50IH0gZnJvbSAnLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZlZWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLWl0ZW0vZmVlZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb21lbnRNb2R1bGUgfSBmcm9tICduZ3gtbW9tZW50JztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBBc2FwU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdhc2FwLXNrZWxldG9uJztcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgTmd4SG1DYXJvdXNlbE1vZHVsZSB9IGZyb20gJ25neC1obS1jYXJvdXNlbCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZlZWRDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1jb21tZW50cy9mZWVkLWNvbW1lbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWVkQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1hY3Rpb25zL2ZlZWQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVlZFB1YmxpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLXB1YmxpY2F0aW9uL2ZlZWQtcHVibGljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLXB1YmxpY2F0aW9uL2ZlZWQtbW9kYWwtaXRlbS1lZGl0L2ZlZWQtbW9kYWwtaXRlbS1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Rvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vc3Rvcmllcy9zdG9yaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPd2xNb2R1bGUgfSBmcm9tICduZ3gtb3dsLWNhcm91c2VsJztcbmltcG9ydCB7IENhcm91c2VsTW9kdWxlIH0gZnJvbSAnbmd4LW93bC1jYXJvdXNlbC1vJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNb2RhbEFubm91bmNlQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLXB1YmxpY2F0aW9uL21vZGFsLWFubm91bmNlL21vZGFsLWFubm91bmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LXNtYXJ0LXBvcG92ZXInO1xuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xuaW1wb3J0IHsgU3dpcGVyTW9kdWxlIH0gZnJvbSAnbmd4LXN3aXBlci13cmFwcGVyJztcbmltcG9ydCAnbW9tZW50L2xvY2FsZS9wdC1icic7XG5pbXBvcnQgeyBBc2FwVGFiRmVlZENvbXBvbmVudCB9IGZyb20gJy4vdGFiLWZlZWQvYXNhcC10YWItZmVlZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgRmVlZFBvc3RzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLXBvc3RzL2ZlZWQtcG9zdHMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5cbi8vIGltcG9ydCB7IE5nQWlzTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbnN0YW50c2VhcmNoJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRNZW51TW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgTWF0U3RlcHBlck1vZHVsZSxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgTW9tZW50TW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgICAgICBBc2FwU2tlbGV0b25Nb2R1bGUsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBOZ3hIbUNhcm91c2VsTW9kdWxlLFxuICAgICAgICBPd2xNb2R1bGUsXG4gICAgICAgIENhcm91c2VsTW9kdWxlLFxuICAgICAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcbiAgICAgICAgUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgU3dpcGVyTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRJdGVtQ29tcG9uZW50LFxuICAgICAgICBGZWVkQ29tbWVudHNDb21wb25lbnQsXG4gICAgICAgIEZlZWRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBGZWVkUHVibGljYXRpb25Db21wb25lbnQsXG4gICAgICAgIEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50LFxuICAgICAgICBGZWVkUG9zdHNDb21wb25lbnQsXG4gICAgICAgIFN0b3JpZXNDb21wb25lbnQsXG4gICAgICAgIE1vZGFsQW5ub3VuY2VDb21wb25lbnQsXG4gICAgICAgIEFzYXBUYWJGZWVkQ29tcG9uZW50LFxuICAgICAgICBBdXRvQ29tcGxldGVDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQXNhcEZlZWRCZXRhQ29tcG9uZW50LFxuICAgICAgICBGZWVkSXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXNhcFRhYkZlZWRDb21wb25lbnQsXG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICAgICAgQXNhcEZlZWRCZXRhQ29tcG9uZW50LFxuICAgICAgICBGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCxcbiAgICAgICAgTW9kYWxBbm5vdW5jZUNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFV0aWxzU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXNhcEZlZWRCZXRhTW9kdWxlIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBnbG9iYWw6IEdsb2JhbCkge1xuICAgICAgICBjb25zb2xlLmxvZygnW0FzYXBGZWVkQmV0YU1vZHVsZV0nLCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy5nbG9iYWwuZ2V0T3JDcmVhdGVTZXNzaW9uRGF0YSgnQXNhcE15UGFnZU1vZHVsZS50YWJzJyxbXSkucHVzaCh7XG4gICAgICAgICAgICBsYWJlbDogJ01ldXMgUG9zdHMnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgICAgICBjb25kaXRpb246IChjb21wb25lbnQsdHlwZSkgPT4gKHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSAmJiB0aGlzLmdsb2JhbC5oYXNQZXJtaXNzaW9uKCdteS1wb3N0cycsdHlwZSkgJiYgY29tcG9uZW50Lmhhc0ZlZWQpLFxuICAgICAgICAgICAgbG9hZGluZzogKGNvbXBvbmVudCkgPT4gY29tcG9uZW50LmxvYWRpbmdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FB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O3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLHFCQUFxQjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsZUFBZSxFQUFFO3dCQUNiLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixzQkFBc0I7cUJBQ3pCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxZQUFZO3FCQUNmO2lCQUNKOzs7O2dCQTlFUSxNQUFNOztJQTBGZix5QkFBQztDQUFBLEFBckVELElBcUVDO1NBWFksa0JBQWtCOzs7SUFFZixvQ0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBc2FwRmVlZEJldGFDb21wb25lbnQgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmVlZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1vbWVudE1vZHVsZSB9IGZyb20gJ25neC1tb21lbnQnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEFzYXBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ2FzYXAtc2tlbGV0b24nO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hIbUNhcm91c2VsTW9kdWxlIH0gZnJvbSAnbmd4LWhtLWNhcm91c2VsJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmVlZENvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLWNvbW1lbnRzL2ZlZWQtY29tbWVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZlZWRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLWFjdGlvbnMvZmVlZC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWVkUHVibGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vZmVlZC1tb2RhbC1pdGVtLWVkaXQvZmVlZC1tb2RhbC1pdGVtLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9zdG9yaWVzL3N0b3JpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE93bE1vZHVsZSB9IGZyb20gJ25neC1vd2wtY2Fyb3VzZWwnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICduZ3gtb3dsLWNhcm91c2VsLW8nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZGFsQW5ub3VuY2VDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vbW9kYWwtYW5ub3VuY2UvbW9kYWwtYW5ub3VuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtc21hcnQtcG9wb3Zlcic7XG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICduZ3gtc3dpcGVyLXdyYXBwZXInO1xuaW1wb3J0ICdtb21lbnQvbG9jYWxlL3B0LWJyJztcbmltcG9ydCB7IEFzYXBUYWJGZWVkQ29tcG9uZW50IH0gZnJvbSAnLi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBGZWVkUG9zdHNDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcG9zdHMvZmVlZC1wb3N0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRNZW51TW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgTWF0U3RlcHBlck1vZHVsZSxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgTW9tZW50TW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgICAgICBBc2FwU2tlbGV0b25Nb2R1bGUsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBOZ3hIbUNhcm91c2VsTW9kdWxlLFxuICAgICAgICBPd2xNb2R1bGUsXG4gICAgICAgIENhcm91c2VsTW9kdWxlLFxuICAgICAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcbiAgICAgICAgUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgU3dpcGVyTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRJdGVtQ29tcG9uZW50LFxuICAgICAgICBGZWVkQ29tbWVudHNDb21wb25lbnQsXG4gICAgICAgIEZlZWRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBGZWVkUHVibGljYXRpb25Db21wb25lbnQsXG4gICAgICAgIEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50LFxuICAgICAgICBGZWVkUG9zdHNDb21wb25lbnQsXG4gICAgICAgIFN0b3JpZXNDb21wb25lbnQsXG4gICAgICAgIE1vZGFsQW5ub3VuY2VDb21wb25lbnQsXG4gICAgICAgIEFzYXBUYWJGZWVkQ29tcG9uZW50LFxuICAgICAgICBBdXRvQ29tcGxldGVDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQXNhcEZlZWRCZXRhQ29tcG9uZW50LFxuICAgICAgICBGZWVkSXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXNhcFRhYkZlZWRDb21wb25lbnQsXG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICAgICAgQXNhcEZlZWRCZXRhQ29tcG9uZW50LFxuICAgICAgICBGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCxcbiAgICAgICAgTW9kYWxBbm5vdW5jZUNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFV0aWxzU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXNhcEZlZWRCZXRhTW9kdWxlIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBnbG9iYWw6IEdsb2JhbCkge1xuICAgICAgICBjb25zb2xlLmxvZygnW0FzYXBGZWVkQmV0YU1vZHVsZV0nLCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy5nbG9iYWwuZ2V0T3JDcmVhdGVTZXNzaW9uRGF0YSgnQXNhcE15UGFnZU1vZHVsZS50YWJzJyxbXSkucHVzaCh7XG4gICAgICAgICAgICBsYWJlbDogJ01ldXMgUG9zdHMnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgICAgICBjb25kaXRpb246IChjb21wb25lbnQsdHlwZSkgPT4gKHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSAmJiB0aGlzLmdsb2JhbC5oYXNQZXJtaXNzaW9uKCdteS1wb3N0cycsdHlwZSkgJiYgY29tcG9uZW50Lmhhc0ZlZWQpLFxuICAgICAgICAgICAgbG9hZGluZzogKGNvbXBvbmVudCkgPT4gY29tcG9uZW50LmxvYWRpbmdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -39,8 +39,8 @@ var FeedItemComponent = /** @class */ (function () {
39
39
  function () {
40
40
  var _this = this;
41
41
  this.loadVisibilityControls();
42
+ this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
42
43
  if (this.item.files && this.item.files.length > 0) {
43
- this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
44
44
  this.item.files.map((/**
45
45
  * @param {?} feed
46
46
  * @return {?}
@@ -460,4 +460,4 @@ if (false) {
460
460
  /** @type {?} */
461
461
  FeedItemComponent.prototype.sanitizer;
462
462
  }
463
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FzYXAtZmVlZC1iZXRhLyIsInNvdXJjZXMiOlsibGliL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFekM7SUF3QkUsMkJBQ1MsYUFBNEIsRUFDNUIsRUFBb0IsRUFDcEIsTUFBYyxFQUNkLE1BQWlCLEVBQ2pCLE9BQXFCLEVBQ3JCLFNBQTJCLEVBQzNCLFNBQXVCO1FBTnZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLE9BQUUsR0FB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a0M7O0lBQ2xDLHNDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RyZWFtLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCB9IGZyb20gJy4uL2ZlZWQtcHVibGljYXRpb24vZmVlZC1tb2RhbC1pdGVtLWVkaXQvZmVlZC1tb2RhbC1pdGVtLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IHBhdGggfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IFN3aXBlckNvcmUsIHsgTmF2aWdhdGlvbiwgUGFnaW5hdGlvbiB9IGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblN3aXBlckNvcmUudXNlKFtOYXZpZ2F0aW9uLCBQYWdpbmF0aW9uXSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mZWVkLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVlZC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL2FzYXAtZmVlZC5iZXRhLmNvbXBvbmVudGUuc2NzcycsICcuL2ZlZWQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTdHJlYW1TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBGZWVkSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBpdGVtO1xuICBASW5wdXQoKSBzZXR0aW5ncztcbiAgQElucHV0KCkgb3duZXI7XG4gIEBPdXRwdXQoKSBpc1Zpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ3ZpZGVvUGxheWVyJywgeyBzdGF0aWM6IHRydWUgfSkgdmlkZW9wbGF5ZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgndmlzaWJsZUNvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgdmlzaWJsZUNvbnRyb2w7XG5cbiAgcHVibGljIGN1cnJlbnRJbmRleDtcbiAgcHVibGljIGltYWdlTG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbWFnZURhdGFMb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIGN1cnJlbnRDYXJyb3VzZWxJbmRleDtcbiAgcHVibGljIGJsdXJCYWNrZ3JvdW5kSW5kZXggPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogNSkgKyAxKTtcbiAgcHVibGljIG9ic2VydmVyO1xuICBwdWJsaWMgdmlzaWJsZVRpbWVyO1xuICBwdWJsaWMgc2hvdFRpbWVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdHJlYW1TZXJ2aWNlOiBTdHJlYW1TZXJ2aWNlLFxuICAgIHB1YmxpYyBkYjogQW5ndWxhckZpcmVzdG9yZSxcbiAgICBwdWJsaWMgZ2xvYmFsOiBHbG9iYWwsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRWaXNpYmlsaXR5Q29udHJvbHMoKTtcblxuICAgIGlmICh0aGlzLml0ZW0uZmlsZXMgJiYgdGhpcy5pdGVtLmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaXRlbS5saW5raWZpZWRUaXRsZSA9IHRoaXMuc2FuaXRpemVkTGlua2lmeSh0aGlzLml0ZW0udGl0bGUpO1xuICAgICAgdGhpcy5pdGVtLmZpbGVzLm1hcChmZWVkID0+IHtcbiAgICAgICAgaWYgKGZlZWQudXJsICYmIGZlZWQudXJsLmluY2x1ZGVzKCd5b3V0dWJlJykpIHtcbiAgICAgICAgICBmZWVkLmlzWW91dHViZSA9IHRydWU7XG4gICAgICAgICAgbGV0IHlvdXR1YmVJRCA9IHRoaXMuZ2V0WW91dHViZUlEKGZlZWQudXJsKTtcbiAgICAgICAgICBmZWVkLnVybCA9IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke3lvdXR1YmVJRH1gO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdJVEVNIC0+JywgdGhpcy5pdGVtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy52aXNpYmxlQ29udHJvbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy52aXNpYmxlVGltZXIpO1xuICB9XG5cbiAgcHVibGljIGxvYWRWaXNpYmlsaXR5Q29udHJvbHMoKSB7XG4gICAgdGhpcy52aXNpYmxlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3RUaW1lci0tO1xuICAgICAgaWYgKHRoaXMuc2hvdFRpbWVyID09IDApIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUuZW1pdCh0aGlzLml0ZW0pO1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMudmlzaWJsZVRpbWVyKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICB0aHJlc2hvbGQ6IFswLCAwLjEsIDAuMiwgMC4zLCAwLjQsIDAuNSwgMC42LCAwLjcsIDAuOCwgMC45LCAxLjBdXG4gICAgfTtcblxuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7XG4gICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgICB0aGlzLnNob3RUaW1lciA9IC0xO1xuICAgICAgICB0aGlzLml0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIGlmIChlbnRyeS5pbnRlcnNlY3Rpb25SYXRpbyA9PSAxKSB7XG4gICAgICAgICAgdGhpcy5zaG90VGltZXIgPSA1O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmxvYWRJbWFnZShldmVudCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuaW1hZ2VEYXRhTG9hZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkVycm9ySW1hZ2UoZXZlbnQpIHtcbiAgfVxuXG4gIHB1YmxpYyBwbGF5VmlkZW8oZXZlbnQpIHtcbiAgICBpZiAodGhpcy52aWRlb3BsYXllcikge1xuICAgICAgdGhpcy52aWRlb3BsYXllci5uYXRpdmVFbGVtZW50LnBsYXkoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2FuaXRpemVkTGlua2lmeShzdHIpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmxpbmtpZnkoc3RyKSk7XG4gICAgcmV0dXJuIHNhbml0aXplZDtcbiAgfVxuXG4gIHB1YmxpYyBsaW5raWZ5KHN0cikge1xuICAgIHZhciByZTogYW55O1xuICAgIHJlID0gW1xuICAgICAgXCJcXFxcYigoPzpodHRwcz98ZnRwKTovL1teXFxcXHNcXFwiJzw+XSspXFxcXGJcIixcbiAgICAgIFwiXFxcXGIod3d3XFxcXC5bXlxcXFxzXFxcIic8Pl0rKVxcXFxiXCIsXG4gICAgICBcIlxcXFxiKFxcXFx3W1xcXFx3ListXSpAW1xcXFx3Li1dK1xcXFwuW2Etel17Miw2fSlcXFxcYlwiLFxuICAgICAgXCIjKFthLXowLTldKylcIl07XG4gICAgcmUgPSBuZXcgUmVnRXhwKHJlLmpvaW4oJ3wnKSwgXCJnaVwiKTtcblxuICAgIGlmIChzdHIpIHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoLCB1cmwsIHd3dywgbWFpbCwgdHdpdGxlcikge1xuICAgICAgICBpZiAodXJsKVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIHRhcmdldD0nX2JsYW5rJyBocmVmPVxcXCJcIiArIHVybCArIFwiXFxcIj5cIiArIHVybCArIFwiPC9hPlwiO1xuICAgICAgICBpZiAod3d3KVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcImh0dHA6Ly9cIiArIHd3dyArIFwiXFxcIj5cIiArIHd3dyArIFwiPC9hPlwiO1xuICAgICAgICBpZiAobWFpbClcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJtYWlsdG86Ly9cIiArIG1haWwgKyBcIlxcXCI+XCIgKyBtYWlsICsgXCI8L2E+XCI7XG4gICAgICAgIGlmICh0d2l0bGVyKVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcInBvcnRhbC9zZWFyY2gvXCIgKyBlbmNvZGVVUklDb21wb25lbnQoJyMnICsgdHdpdGxlcikgKyBcIlxcXCI+I1wiICsgdHdpdGxlciArIFwiPC9hPlwiO1xuICAgICAgICAvLyByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCIjXFxcIj4jXCIgKyB0d2l0bGVyICsgXCI8L2E+XCI7XG5cbiAgICAgICAgLy8gc2hvdWxkbnQgZ2V0IGhlcmUsIGJ1dCBqdXN0IGluIGNhc2VcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZWNrVmlkZW9SZW5kZXIoaXRlbSkge1xuXG4gICAgY29uc29sZS5sb2coJ3ZpZGVvUmVuZGVyIC0+JywgaXRlbSk7XG4gICAgdGhpcy5zdHJlYW1TZXJ2aWNlLnN0YXR1cyhpdGVtKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnY2hlY2tWaWRlb1JlbmRlcicsIHJlcyk7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBvbkVkaXRJdGVtKCkge1xuICAgIGNvbnNvbGUubG9nKFwiW29uRWRpdEl0ZW1dXCIsIHRoaXMuaXRlbSk7XG4gICAgaWYgKHRoaXMuaXRlbS5jaGFubmVsX2lkKSB7XG4gICAgICB0aGlzLmdsb2JhbC5zd2FsKHtcbiAgICAgICAgICB0eXBlOiBcIndhcm5pbmdcIixcbiAgICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdUaGlzRmVlZENhbk9ubHlCZUVkaXRlZE9uQ2hhbm5lbCcpXG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAvLyAgUHJlcGFyYXIgZmVlZCBwYXJhIGVkaXRhclxuICAgICAgbGV0IGZlZWQ7XG4gICAgICBmZWVkID0gdGhpcy5pdGVtO1xuICAgICAgZGVsZXRlIGZlZWQuY29tbWVudHM7XG4gICAgICBkZWxldGUgZmVlZC5saWtlcztcbiAgXG4gICAgICBmZWVkLmZpbGVzLm1hcChmaWxlID0+IHtcbiAgICAgICAgZmlsZS5uZXcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICBcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICAgIGRhdGE6IGZlZWQsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdtb2RhbC1mZWVkLXB1YmxpY2F0aW9uJ1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBwcmVDb252ZXJ0TnVtYmVyKHZhbHVlKSB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlSXRlbShpdGVtKSB7XG4gICAgdGhpcy5nbG9iYWwuc3dhbCh7XG4gICAgICB0aXRsZTogJ1ZvY8OqIHJlYWxtZW50ZSBkZXNlamEgcmVtb3ZlciBlc3RlIFBvc3Q/JyxcbiAgICAgIHRleHQ6ICdWb2PDqiBuw6NvIHBvZGVyw6EgcmV2ZXJ0ZXIgZXNzYSBhw6fDo28gZGVwb2lzIGRlIGNvbmZpcm1hZG8nLFxuICAgICAgdHlwZTogXCJ3YXJuaW5nXCIsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiU2ltXCIsXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiBcIk7Do29cIlxuICAgIH0pLnRoZW4oYXN5bmMgY29uZmlybSA9PiB7XG4gICAgICBpZiAoY29uZmlybS52YWx1ZSkge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKS5kb2MoaXRlbS5pZCk7XG5cbiAgICAgICAgaWYgKGl0ZW0uZmlsZXMgJiYgaXRlbS5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGl0ZW0uZmlsZXMpIHtcbiAgICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgICAgICAgaWYgKGZpbGUubmFtZSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuZGVsZXRlRmlyZVN0b3JhZ2UoYCR7cGF0aCgpLmltYWdlc30vJHtmaWxlLm5hbWV9YCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZW1vdmVuZG8gdW0gcG9zdCBjb20gaW1hZ2VtIG7Do28gcmVmZXJlbmNpYWRhJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XG4gICAgICAgIGl0ZW0uZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZ2xvYmFsLnRvYXN0KCdQb3N0IHJlbW92aWRvIGNvbSBTdWNlc3NvJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjaGVja0ZpbGVPcmlnaW4oZmlsZSkge1xuXG4gIH1cblxuICBpc1lvdXR1YmUoZmlsZSkge1xuICAgIGNvbnNvbGUubG9nKCdJc1lvdXR1YmUgLT4nLCBmaWxlKTtcbiAgICBpZiAoZmlsZS5pbmNsdWRlcygneW91dHViZScpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0WW91dHViZUlEKHVybCkge1xuICAgIHZhciByZWdFeHAgPSAvXi4qKCh5b3V0dS5iZVxcLyl8KHZcXC8pfChcXC91XFwvXFx3XFwvKXwoZW1iZWRcXC8pfCh3YXRjaFxcPykpXFw/P3Y/PT8oW14jJj9dKikuKi87XG4gICAgdmFyIG1hdGNoID0gdXJsLm1hdGNoKHJlZ0V4cCk7XG4gICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaFs3XS5sZW5ndGggPT0gMTEpID8gbWF0Y2hbN10gOiBmYWxzZTtcbiAgfVxuXG5cbn1cbiJdfQ==
463
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FzYXAtZmVlZC1iZXRhLyIsInNvdXJjZXMiOlsibGliL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFekM7SUF3QkUsMkJBQ1MsYUFBNEIsRUFDNUIsRUFBb0IsRUFDcEIsTUFBYyxFQUNkLE1BQWlCLEVBQ2pCLE9BQXFCLEVBQ3JCLFNBQTJCLEVBQzNCLFNBQXVCO1FBTnZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLE9BQUUsR0FB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a0M7O0lBQ2xDLHNDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RyZWFtLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCB9IGZyb20gJy4uL2ZlZWQtcHVibGljYXRpb24vZmVlZC1tb2RhbC1pdGVtLWVkaXQvZmVlZC1tb2RhbC1pdGVtLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IHBhdGggfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IFN3aXBlckNvcmUsIHsgTmF2aWdhdGlvbiwgUGFnaW5hdGlvbiB9IGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblN3aXBlckNvcmUudXNlKFtOYXZpZ2F0aW9uLCBQYWdpbmF0aW9uXSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mZWVkLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVlZC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL2FzYXAtZmVlZC5iZXRhLmNvbXBvbmVudGUuc2NzcycsICcuL2ZlZWQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTdHJlYW1TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBGZWVkSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBpdGVtO1xuICBASW5wdXQoKSBzZXR0aW5ncztcbiAgQElucHV0KCkgb3duZXI7XG4gIEBPdXRwdXQoKSBpc1Zpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ3ZpZGVvUGxheWVyJywgeyBzdGF0aWM6IHRydWUgfSkgdmlkZW9wbGF5ZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgndmlzaWJsZUNvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgdmlzaWJsZUNvbnRyb2w7XG5cbiAgcHVibGljIGN1cnJlbnRJbmRleDtcbiAgcHVibGljIGltYWdlTG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbWFnZURhdGFMb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIGN1cnJlbnRDYXJyb3VzZWxJbmRleDtcbiAgcHVibGljIGJsdXJCYWNrZ3JvdW5kSW5kZXggPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogNSkgKyAxKTtcbiAgcHVibGljIG9ic2VydmVyO1xuICBwdWJsaWMgdmlzaWJsZVRpbWVyO1xuICBwdWJsaWMgc2hvdFRpbWVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdHJlYW1TZXJ2aWNlOiBTdHJlYW1TZXJ2aWNlLFxuICAgIHB1YmxpYyBkYjogQW5ndWxhckZpcmVzdG9yZSxcbiAgICBwdWJsaWMgZ2xvYmFsOiBHbG9iYWwsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRWaXNpYmlsaXR5Q29udHJvbHMoKTtcbiAgICB0aGlzLml0ZW0ubGlua2lmaWVkVGl0bGUgPSB0aGlzLnNhbml0aXplZExpbmtpZnkodGhpcy5pdGVtLnRpdGxlKTtcblxuICAgIGlmICh0aGlzLml0ZW0uZmlsZXMgJiYgdGhpcy5pdGVtLmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaXRlbS5maWxlcy5tYXAoZmVlZCA9PiB7XG4gICAgICAgIGlmIChmZWVkLnVybCAmJiBmZWVkLnVybC5pbmNsdWRlcygneW91dHViZScpKSB7XG4gICAgICAgICAgZmVlZC5pc1lvdXR1YmUgPSB0cnVlO1xuICAgICAgICAgIGxldCB5b3V0dWJlSUQgPSB0aGlzLmdldFlvdXR1YmVJRChmZWVkLnVybCk7XG4gICAgICAgICAgZmVlZC51cmwgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHt5b3V0dWJlSUR9YDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygnSVRFTSAtPicsIHRoaXMuaXRlbSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMudmlzaWJsZUNvbnRyb2wubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMudmlzaWJsZVRpbWVyKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkVmlzaWJpbGl0eUNvbnRyb2xzKCkge1xuICAgIHRoaXMudmlzaWJsZVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5zaG90VGltZXItLTtcbiAgICAgIGlmICh0aGlzLnNob3RUaW1lciA9PSAwKSB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlLmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnZpc2libGVUaW1lcik7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJvb3RNYXJnaW46ICcwcHgnLFxuICAgICAgdGhyZXNob2xkOiBbMCwgMC4xLCAwLjIsIDAuMywgMC40LCAwLjUsIDAuNiwgMC43LCAwLjgsIDAuOSwgMS4wXVxuICAgIH07XG5cbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzLCBvYnNlcnZlcikgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgdGhpcy5zaG90VGltZXIgPSAtMTtcbiAgICAgICAgdGhpcy5pdGVtLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8gPT0gMSkge1xuICAgICAgICAgIHRoaXMuc2hvdFRpbWVyID0gNTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25sb2FkSW1hZ2UoZXZlbnQpIHtcbiAgICB0aGlzLmltYWdlTG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmltYWdlRGF0YUxvYWRlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgb25FcnJvckltYWdlKGV2ZW50KSB7XG4gIH1cblxuICBwdWJsaWMgcGxheVZpZGVvKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMudmlkZW9wbGF5ZXIpIHtcbiAgICAgIHRoaXMudmlkZW9wbGF5ZXIubmF0aXZlRWxlbWVudC5wbGF5KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNhbml0aXplZExpbmtpZnkoc3RyKSB7XG4gICAgY29uc3Qgc2FuaXRpemVkID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5saW5raWZ5KHN0cikpO1xuICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gIH1cblxuICBwdWJsaWMgbGlua2lmeShzdHIpIHtcbiAgICB2YXIgcmU6IGFueTtcbiAgICByZSA9IFtcbiAgICAgIFwiXFxcXGIoKD86aHR0cHM/fGZ0cCk6Ly9bXlxcXFxzXFxcIic8Pl0rKVxcXFxiXCIsXG4gICAgICBcIlxcXFxiKHd3d1xcXFwuW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxuICAgICAgXCJcXFxcYihcXFxcd1tcXFxcdy4rLV0qQFtcXFxcdy4tXStcXFxcLlthLXpdezIsNn0pXFxcXGJcIixcbiAgICAgIFwiIyhbYS16MC05XSspXCJdO1xuICAgIHJlID0gbmV3IFJlZ0V4cChyZS5qb2luKCd8JyksIFwiZ2lcIik7XG5cbiAgICBpZiAoc3RyKSB7XG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaCwgdXJsLCB3d3csIG1haWwsIHR3aXRsZXIpIHtcbiAgICAgICAgaWYgKHVybClcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyB0YXJnZXQ9J19ibGFuaycgaHJlZj1cXFwiXCIgKyB1cmwgKyBcIlxcXCI+XCIgKyB1cmwgKyBcIjwvYT5cIjtcbiAgICAgICAgaWYgKHd3dylcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJodHRwOi8vXCIgKyB3d3cgKyBcIlxcXCI+XCIgKyB3d3cgKyBcIjwvYT5cIjtcbiAgICAgICAgaWYgKG1haWwpXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgaHJlZj1cXFwibWFpbHRvOi8vXCIgKyBtYWlsICsgXCJcXFwiPlwiICsgbWFpbCArIFwiPC9hPlwiO1xuICAgICAgICBpZiAodHdpdGxlcilcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJwb3J0YWwvc2VhcmNoL1wiICsgZW5jb2RlVVJJQ29tcG9uZW50KCcjJyArIHR3aXRsZXIpICsgXCJcXFwiPiNcIiArIHR3aXRsZXIgKyBcIjwvYT5cIjtcbiAgICAgICAgLy8gcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgaHJlZj1cXFwiI1xcXCI+I1wiICsgdHdpdGxlciArIFwiPC9hPlwiO1xuXG4gICAgICAgIC8vIHNob3VsZG50IGdldCBoZXJlLCBidXQganVzdCBpbiBjYXNlXG4gICAgICAgIHJldHVybiBtYXRjaDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGVja1ZpZGVvUmVuZGVyKGl0ZW0pIHtcblxuICAgIGNvbnNvbGUubG9nKCd2aWRlb1JlbmRlciAtPicsIGl0ZW0pO1xuICAgIHRoaXMuc3RyZWFtU2VydmljZS5zdGF0dXMoaXRlbSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ2NoZWNrVmlkZW9SZW5kZXInLCByZXMpO1xuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgb25FZGl0SXRlbSgpIHtcbiAgICBjb25zb2xlLmxvZyhcIltvbkVkaXRJdGVtXVwiLCB0aGlzLml0ZW0pO1xuICAgIGlmICh0aGlzLml0ZW0uY2hhbm5lbF9pZCkge1xuICAgICAgdGhpcy5nbG9iYWwuc3dhbCh7XG4gICAgICAgICAgdHlwZTogXCJ3YXJuaW5nXCIsXG4gICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnVGhpc0ZlZWRDYW5Pbmx5QmVFZGl0ZWRPbkNoYW5uZWwnKVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgLy8gIFByZXBhcmFyIGZlZWQgcGFyYSBlZGl0YXJcbiAgICAgIGxldCBmZWVkO1xuICAgICAgZmVlZCA9IHRoaXMuaXRlbTtcbiAgICAgIGRlbGV0ZSBmZWVkLmNvbW1lbnRzO1xuICAgICAgZGVsZXRlIGZlZWQubGlrZXM7XG4gIFxuICAgICAgZmVlZC5maWxlcy5tYXAoZmlsZSA9PiB7XG4gICAgICAgIGZpbGUubmV3ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnNjAwcHgnLFxuICAgICAgICBkYXRhOiBmZWVkLFxuICAgICAgICBwYW5lbENsYXNzOiAnbW9kYWwtZmVlZC1wdWJsaWNhdGlvbidcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcHJlQ29udmVydE51bWJlcih2YWx1ZSkge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlbW92ZUl0ZW0oaXRlbSkge1xuICAgIHRoaXMuZ2xvYmFsLnN3YWwoe1xuICAgICAgdGl0bGU6ICdWb2PDqiByZWFsbWVudGUgZGVzZWphIHJlbW92ZXIgZXN0ZSBQb3N0PycsXG4gICAgICB0ZXh0OiAnVm9jw6ogbsOjbyBwb2RlcsOhIHJldmVydGVyIGVzc2EgYcOnw6NvIGRlcG9pcyBkZSBjb25maXJtYWRvJyxcbiAgICAgIHR5cGU6IFwid2FybmluZ1wiLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIlNpbVwiLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogXCJOw6NvXCJcbiAgICB9KS50aGVuKGFzeW5jIGNvbmZpcm0gPT4ge1xuICAgICAgaWYgKGNvbmZpcm0udmFsdWUpIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCkuZG9jKGl0ZW0uaWQpO1xuXG4gICAgICAgIGlmIChpdGVtLmZpbGVzICYmIGl0ZW0uZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBpdGVtLmZpbGVzKSB7XG4gICAgICAgICAgICBpZiAoZmlsZS50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgICAgICAgIGlmIChmaWxlLm5hbWUpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmRlbGV0ZUZpcmVTdG9yYWdlKGAke3BhdGgoKS5pbWFnZXN9LyR7ZmlsZS5uYW1lfWApO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnUmVtb3ZlbmRvIHVtIHBvc3QgY29tIGltYWdlbSBuw6NvIHJlZmVyZW5jaWFkYScsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb2xsZWN0aW9uLmRlbGV0ZSgpO1xuICAgICAgICBpdGVtLmRlbGV0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmdsb2JhbC50b2FzdCgnUG9zdCByZW1vdmlkbyBjb20gU3VjZXNzbycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2hlY2tGaWxlT3JpZ2luKGZpbGUpIHtcblxuICB9XG5cbiAgaXNZb3V0dWJlKGZpbGUpIHtcbiAgICBjb25zb2xlLmxvZygnSXNZb3V0dWJlIC0+JywgZmlsZSk7XG4gICAgaWYgKGZpbGUuaW5jbHVkZXMoJ3lvdXR1YmUnKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFlvdXR1YmVJRCh1cmwpIHtcbiAgICB2YXIgcmVnRXhwID0gL14uKigoeW91dHUuYmVcXC8pfCh2XFwvKXwoXFwvdVxcL1xcd1xcLyl8KGVtYmVkXFwvKXwod2F0Y2hcXD8pKVxcPz92Pz0/KFteIyY/XSopLiovO1xuICAgIHZhciBtYXRjaCA9IHVybC5tYXRjaChyZWdFeHApO1xuICAgIHJldHVybiAobWF0Y2ggJiYgbWF0Y2hbN10ubGVuZ3RoID09IDExKSA/IG1hdGNoWzddIDogZmFsc2U7XG4gIH1cblxuXG59XG4iXX0=
@@ -3,7 +3,7 @@
3
3
  * Generated from: lib/tab-feed/asap-tab-feed.component.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- import { Component, Input, ViewChild } from '@angular/core';
6
+ import { Component, Input, QueryList, ViewChildren } from '@angular/core';
7
7
  import { AsapFeedBetaService } from '../asap-feed-beta.service';
8
8
  import { Global } from 'asap-crud';
9
9
  import { AsapFeedBetaComponent } from '../asap-feed-beta.component';
@@ -134,11 +134,21 @@ var AsapTabFeedComponent = /** @class */ (function () {
134
134
  * @return {?}
135
135
  */
136
136
  function (id) {
137
+ console.log('Chegou evento feedCreated com ID:', id);
138
+ if (this.feeds) {
139
+ this.feeds.forEach((/**
140
+ * @param {?} feed
141
+ * @return {?}
142
+ */
143
+ function (feed) {
144
+ feed.getFeed();
145
+ }));
146
+ }
137
147
  };
138
148
  AsapTabFeedComponent.decorators = [
139
149
  { type: Component, args: [{
140
150
  selector: 'asap-tab-feed',
141
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [hideFilterByMe]=\"true\" [announce]=\"false\" (feedCreated)=\"feed?.onNewFeed($event)\"></feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
151
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication\n [settings]=\"settings\"\n [hideFilterByMe]=\"true\"\n [announce]=\"false\"\n (feedCreated)=\"onNewFeed($event)\">\n</feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
142
152
  styles: [""]
143
153
  }] }
144
154
  ];
@@ -148,7 +158,7 @@ var AsapTabFeedComponent = /** @class */ (function () {
148
158
  { type: AsapFeedBetaService }
149
159
  ]; };
150
160
  AsapTabFeedComponent.propDecorators = {
151
- feed: [{ type: ViewChild, args: ['feed', { static: false },] }],
161
+ feeds: [{ type: ViewChildren, args: [AsapFeedBetaComponent,] }],
152
162
  settings: [{ type: Input }]
153
163
  };
154
164
  return AsapTabFeedComponent;
@@ -156,7 +166,7 @@ var AsapTabFeedComponent = /** @class */ (function () {
156
166
  export { AsapTabFeedComponent };
157
167
  if (false) {
158
168
  /** @type {?} */
159
- AsapTabFeedComponent.prototype.feed;
169
+ AsapTabFeedComponent.prototype.feeds;
160
170
  /** @type {?} */
161
171
  AsapTabFeedComponent.prototype.settings;
162
172
  /** @type {?} */
@@ -166,4 +176,4 @@ if (false) {
166
176
  /** @type {?} */
167
177
  AsapTabFeedComponent.prototype.service;
168
178
  }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC10YWItZmVlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVwRTtJQWFFLDhCQUNTLE1BQWMsRUFDZCxPQUE0QjtRQUQ1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFKOUIsWUFBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBTWxCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7SUFFRCx1Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRUQsMENBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOztnQkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUUvQiwrQ0FBK0M7WUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFD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LEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTsyQkFFbkMsS0FBSzs7SUFrRlIsMkJBQUM7Q0FBQSxBQTNGRCxJQTJGQztTQXRGWSxvQkFBb0I7OztJQUUvQixvQ0FBbUU7O0lBRW5FLHdDQUF1Qjs7SUFFdkIsdUNBQW9COztJQUdsQixzQ0FBcUI7O0lBQ3JCLHVDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBBc2FwRmVlZEJldGFDb21wb25lbnQgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhc2FwLXRhYi1mZWVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtdGFiLWZlZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXNhcFRhYkZlZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnZmVlZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBmZWVkITogQXNhcEZlZWRCZXRhQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBhbnk7XG5cbiAgcHVibGljIGNhblNob3cgPSAtMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZ2xvYmFsOiBHbG9iYWwsXG4gICAgcHVibGljIHNlcnZpY2U6IEFzYXBGZWVkQmV0YVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc29sZS5sb2coXCJbQXNhcFRhYkZlZWRDb21wb25lbnRdXCIsIHRoaXMuc2V0dGluZ3MpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnB1YmxpY2F0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5zZXJ2aWNlLnN0b3JpZXMgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZXR0aW5ncyAmJiB0aGlzLnNldHRpbmdzKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5zZXR0aW5ncy50YWJzO1xuICBcbiAgICAgIC8vIOKchSBTZSBvIGNsaWVudGUgdGVtIGNhbmFsLCBwcmlvcml6YSBvIGNoYW5uZWxcbiAgICAgIGlmICh0YWJzLmNoYW5uZWxfbGlzdCAmJiB0YWJzLmNoYW5uZWxfbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmNoYW5uZWwpO1xuICAgICAgfVxuICAgICAgLy8g4pyFIENhc28gbsOjbyB0ZW5oYSBjYW5hbCwgbWFudMOpbSBhIG9yZGVtIG9yaWdpbmFsXG4gICAgICBlbHNlIGlmICh0YWJzLmFsbEZlZWQpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmFsbEZlZWQpO1xuICAgICAgfSBlbHNlIGlmICh0YWJzLmZlZWQpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmZlZWQpO1xuICAgICAgfSBlbHNlIGlmICh0YWJzLmZlZWRfdXNlcnMpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmZlZWRfdXNlcnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcblxuICBwdWJsaWMgb25DaGFuZ2VUYWIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmVlZExvYWQoZXZlbnQudGFiLnRleHRMYWJlbCk7XG4gIH1cblxuICBwdWJsaWMgZmVlZExvYWQodGFiTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jYW5TaG93ID0gLTE7XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmNoYW5uZWwpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7XG4gICAgICAgICAgc2VhcmNoQnk6ICdjaGFubmVsX2lkJyxcbiAgICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZXR0aW5ncy50YWJzLmNoYW5uZWxfbGlzdC5tYXAoYyA9PiBjLmNoYW5uZWxfaWQpLmpvaW4oJywnKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2FuU2hvdyA9IDA7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgICBpZiAodGFiTmFtZSA9PSB0aGlzLnNldHRpbmdzLnRhYnMuZmVlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5xdWVyeSA9IHtcbiAgICAgICAgICBzZWFyY2hCeTogJ3VzZXJfaW5mby5pZCcsXG4gICAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcbiAgICAgICAgICB0eXBlVmFsdWU6ICdudW1iZXInXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYW5TaG93ID0gMTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICAgIGlmICh0YWJOYW1lID09IHRoaXMuc2V0dGluZ3MudGFicy5mZWVkX3VzZXJzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnF1ZXJ5ID0ge1xuICAgICAgICAgIHNlYXJjaEJ5OiAndXNlcl9pbmZvLmlkJyxcbiAgICAgICAgICBzZWFyY2hWYWx1ZTogJ2FsbCdcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhblNob3cgPSAyO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmFsbEZlZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7fVxuICAgICAgICB0aGlzLmNhblNob3cgPSAzO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXdGZWVkKGlkOiBhbnkpIHtcblxuICB9XG5cbn1cbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC10YWItZmVlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXBFO0lBYUUsOEJBQ1MsTUFBYyxFQUNkLE9BQTRCO1FBRDVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUo5QixZQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFNbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7OztJQUVELHVDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCwwQ0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7O2dCQUMvQixJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBRS9CLCtDQUErQztZQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELElBQUksQ0FB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WUFBQyxVQUFDLElBQUk7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Z0JBL0ZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsbzdFQUE2Qzs7aUJBRTlDOzs7O2dCQVBRLE1BQU07Z0JBRE4sbUJBQW1COzs7d0JBV3pCLFlBQVksU0FBQyxxQkFBcUI7MkJBRWxDLEtBQUs7O0lBeUZSLDJCQUFDO0NBQUEsQUFsR0QsSUFrR0M7U0E3Rlksb0JBQW9COzs7SUFFL0IscUNBQThFOztJQUU5RSx3Q0FBdUI7O0lBRXZCLHVDQUFvQjs7SUFHbEIsc0NBQXFCOztJQUNyQix1Q0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNhcEZlZWRCZXRhU2VydmljZSB9IGZyb20gJy4uL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YUNvbXBvbmVudCB9IGZyb20gJy4uL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FzYXAtdGFiLWZlZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNhcC10YWItZmVlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FzYXAtdGFiLWZlZWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwVGFiRmVlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkcmVuKEFzYXBGZWVkQmV0YUNvbXBvbmVudCkgZmVlZHMhOiBRdWVyeUxpc3Q8QXNhcEZlZWRCZXRhQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBzZXR0aW5nczogYW55O1xuXG4gIHB1YmxpYyBjYW5TaG93ID0gLTE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBBc2FwRmVlZEJldGFTZXJ2aWNlXG4gICkge1xuICAgIGNvbnNvbGUubG9nKFwiW0FzYXBUYWJGZWVkQ29tcG9uZW50XVwiLCB0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VydmljZS5wdWJsaWNhdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMuc2VydmljZS5zdG9yaWVzID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2V0dGluZ3MgJiYgdGhpcy5zZXR0aW5ncykge1xuICAgICAgY29uc3QgdGFicyA9IHRoaXMuc2V0dGluZ3MudGFicztcbiAgXG4gICAgICAvLyDinIUgU2UgbyBjbGllbnRlIHRlbSBjYW5hbCwgcHJpb3JpemEgbyBjaGFubmVsXG4gICAgICBpZiAodGFicy5jaGFubmVsX2xpc3QgJiYgdGFicy5jaGFubmVsX2xpc3QubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZmVlZExvYWQodGFicy5jaGFubmVsKTtcbiAgICAgIH1cbiAgICAgIC8vIOKchSBDYXNvIG7Do28gdGVuaGEgY2FuYWwsIG1hbnTDqW0gYSBvcmRlbSBvcmlnaW5hbFxuICAgICAgZWxzZSBpZiAodGFicy5hbGxGZWVkKSB7XG4gICAgICAgIHRoaXMuZmVlZExvYWQodGFicy5hbGxGZWVkKTtcbiAgICAgIH0gZWxzZSBpZiAodGFicy5mZWVkKSB7XG4gICAgICAgIHRoaXMuZmVlZExvYWQodGFicy5mZWVkKTtcbiAgICAgIH0gZWxzZSBpZiAodGFicy5mZWVkX3VzZXJzKSB7XG4gICAgICAgIHRoaXMuZmVlZExvYWQodGFicy5mZWVkX3VzZXJzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG5cbiAgcHVibGljIG9uQ2hhbmdlVGFiKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZlZWRMb2FkKGV2ZW50LnRhYi50ZXh0TGFiZWwpO1xuICB9XG5cbiAgcHVibGljIGZlZWRMb2FkKHRhYk5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY2FuU2hvdyA9IC0xO1xuICAgIGlmICh0YWJOYW1lID09IHRoaXMuc2V0dGluZ3MudGFicy5jaGFubmVsKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnF1ZXJ5ID0ge1xuICAgICAgICAgIHNlYXJjaEJ5OiAnY2hhbm5lbF9pZCcsXG4gICAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2V0dGluZ3MudGFicy5jaGFubmVsX2xpc3QubWFwKGMgPT4gYy5jaGFubmVsX2lkKS5qb2luKCcsJylcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhblNob3cgPSAwO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmZlZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7XG4gICAgICAgICAgc2VhcmNoQnk6ICd1c2VyX2luZm8uaWQnLFxuICAgICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuaWQsXG4gICAgICAgICAgdHlwZVZhbHVlOiAnbnVtYmVyJ1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2FuU2hvdyA9IDE7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgICBpZiAodGFiTmFtZSA9PSB0aGlzLnNldHRpbmdzLnRhYnMuZmVlZF91c2Vycykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5xdWVyeSA9IHtcbiAgICAgICAgICBzZWFyY2hCeTogJ3VzZXJfaW5mby5pZCcsXG4gICAgICAgICAgc2VhcmNoVmFsdWU6ICdhbGwnXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYW5TaG93ID0gMjtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICAgIGlmICh0YWJOYW1lID09IHRoaXMuc2V0dGluZ3MudGFicy5hbGxGZWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnF1ZXJ5ID0ge31cbiAgICAgICAgdGhpcy5jYW5TaG93ID0gMztcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTmV3RmVlZChpZDogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0NoZWdvdSBldmVudG8gZmVlZENyZWF0ZWQgY29tIElEOicsIGlkKTtcbiAgXG4gICAgaWYgKHRoaXMuZmVlZHMpIHtcbiAgICAgIHRoaXMuZmVlZHMuZm9yRWFjaCgoZmVlZCkgPT4ge1xuICAgICAgICBmZWVkLmdldEZlZWQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcblxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, HostListener, ViewChild, Inject, EventEmitter, Output, ElementRef, Pipe, NgModule } from '@angular/core';
1
+ import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, Input, HostListener, ViewChildren, Inject, EventEmitter, Output, ViewChild, ElementRef, Pipe, NgModule } from '@angular/core';
2
2
  import { HttpClient, HttpRequest, HttpHeaders, HttpParams } from '@angular/common/http';
3
3
  import { AngularFirestore } from '@angular/fire/firestore';
4
4
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
@@ -321,13 +321,11 @@ class AsapFeedBetaComponent {
321
321
  this.publication = this.controlService.publication;
322
322
  this.query = this.controlService.query;
323
323
  }
324
- console.log('Query ->', this.query);
325
324
  this.route.params.subscribe((/**
326
325
  * @param {?} param
327
326
  * @return {?}
328
327
  */
329
328
  param => {
330
- console.log('Params ->', param);
331
329
  if (param) {
332
330
  if (param.feed_id) {
333
331
  this.feedID = param.feed_id;
@@ -374,7 +372,6 @@ class AsapFeedBetaComponent {
374
372
  * @return {?}
375
373
  */
376
374
  getFeed(feed_id = '') {
377
- console.log('[getFeed] Query', this.query, this.filterByMe);
378
375
  this.feeds = null;
379
376
  this.loading = true;
380
377
  this.feedService.getFeed(feed_id, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -383,7 +380,6 @@ class AsapFeedBetaComponent {
383
380
  */
384
381
  (response) => {
385
382
  this.feeds = response.data;
386
- console.log('Feeds', this.feeds);
387
383
  this.paginate = response.pagination;
388
384
  this.loading = false;
389
385
  this.hasFeed = (this.feeds.length > 0);
@@ -393,7 +389,6 @@ class AsapFeedBetaComponent {
393
389
  * @return {?}
394
390
  */
395
391
  getMore() {
396
- console.log('[getMore]', this.paginate.next_document);
397
392
  if (this.paginate.next_document) {
398
393
  this.loading = true;
399
394
  this.feedService.getMoreFeed(5, this.paginate.next_document, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -401,7 +396,6 @@ class AsapFeedBetaComponent {
401
396
  * @return {?}
402
397
  */
403
398
  (response) => {
404
- console.log('[getMore] Got: ', response);
405
399
  response.data.map((/**
406
400
  * @param {?} item
407
401
  * @return {?}
@@ -600,11 +594,20 @@ class AsapFeedBetaComponent {
600
594
  this.filterByMe = filterByMe;
601
595
  this.getFeed();
602
596
  }
597
+ /**
598
+ * @return {?}
599
+ */
600
+ get isScrollDisabled() {
601
+ return this.loading ||
602
+ this.paginate.count >= this.paginate.limit ||
603
+ this.isSinglePost ||
604
+ this.paginate.last_document === this.paginate.next_document;
605
+ }
603
606
  }
604
607
  AsapFeedBetaComponent.decorators = [
605
608
  { type: Component, args: [{
606
609
  selector: 'asap-feed-beta',
607
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
610
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll \n [infiniteScrollDistance]=\"2\" \n [infiniteScrollThrottle]=\"2000\" \n [infiniteScrollDisabled]=\"isScrollDisabled\" \n (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
608
611
  styles: ['./asap-feed.beta.componente.scss']
609
612
  }] }
610
613
  ];
@@ -788,12 +791,22 @@ class AsapTabFeedComponent {
788
791
  * @return {?}
789
792
  */
790
793
  onNewFeed(id) {
794
+ console.log('Chegou evento feedCreated com ID:', id);
795
+ if (this.feeds) {
796
+ this.feeds.forEach((/**
797
+ * @param {?} feed
798
+ * @return {?}
799
+ */
800
+ (feed) => {
801
+ feed.getFeed();
802
+ }));
803
+ }
791
804
  }
792
805
  }
793
806
  AsapTabFeedComponent.decorators = [
794
807
  { type: Component, args: [{
795
808
  selector: 'asap-tab-feed',
796
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [hideFilterByMe]=\"true\" [announce]=\"false\" (feedCreated)=\"feed?.onNewFeed($event)\"></feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
809
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication\n [settings]=\"settings\"\n [hideFilterByMe]=\"true\"\n [announce]=\"false\"\n (feedCreated)=\"onNewFeed($event)\">\n</feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
797
810
  styles: [""]
798
811
  }] }
799
812
  ];
@@ -803,12 +816,12 @@ AsapTabFeedComponent.ctorParameters = () => [
803
816
  { type: AsapFeedBetaService }
804
817
  ];
805
818
  AsapTabFeedComponent.propDecorators = {
806
- feed: [{ type: ViewChild, args: ['feed', { static: false },] }],
819
+ feeds: [{ type: ViewChildren, args: [AsapFeedBetaComponent,] }],
807
820
  settings: [{ type: Input }]
808
821
  };
809
822
  if (false) {
810
823
  /** @type {?} */
811
- AsapTabFeedComponent.prototype.feed;
824
+ AsapTabFeedComponent.prototype.feeds;
812
825
  /** @type {?} */
813
826
  AsapTabFeedComponent.prototype.settings;
814
827
  /** @type {?} */
@@ -1864,8 +1877,8 @@ class FeedItemComponent {
1864
1877
  */
1865
1878
  ngOnInit() {
1866
1879
  this.loadVisibilityControls();
1880
+ this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
1867
1881
  if (this.item.files && this.item.files.length > 0) {
1868
- this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
1869
1882
  this.item.files.map((/**
1870
1883
  * @param {?} feed
1871
1884
  * @return {?}
@@ -5782,7 +5795,6 @@ if (false) {
5782
5795
  * Generated from: lib/asap-feed-beta.module.ts
5783
5796
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5784
5797
  */
5785
- // import { NgAisModule } from 'angular-instantsearch';
5786
5798
  class AsapFeedBetaModule {
5787
5799
  /**
5788
5800
  * @param {?} global