ng-easycommerce 0.0.626 → 0.0.628

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.
@@ -29,10 +29,10 @@ export class PriceRangeFilter extends Filter {
29
29
  // Genera los parámetros de la URL en base al rango de precios seleccionado
30
30
  this.toUrlParams = () => {
31
31
  let params = '';
32
- if (this.currentMinPrice !== null) {
32
+ if (this.currentMinPrice !== null && this.currentMinPrice !== this.minPrice) {
33
33
  params += `&price_min=${this.currentMinPrice}`;
34
34
  }
35
- if (this.currentMaxPrice !== null) {
35
+ if (this.currentMaxPrice !== null && this.currentMaxPrice !== this.maxPrice) {
36
36
  params += `&price_max=${this.currentMaxPrice}`;
37
37
  }
38
38
  return params;
@@ -48,4 +48,4 @@ export class PriceRangeFilter extends Filter {
48
48
  this.maxPrice = max;
49
49
  }
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpY2VSYW5nZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2ZpbHRlcnMvUHJpY2VSYW5nZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2xDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBQTVDOztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUUvQixTQUFJLEdBQUcsR0FBZSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRXZDLHFEQUFxRDtRQUNyRCxlQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRSxDQUFDLENBQUE7UUFPRCxtREFBbUQ7UUFDbkQsZ0JBQVcsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFFRCx1REFBdUQ7UUFDdkQscUJBQWdCLEdBQUcsR0FBaUMsRUFBRTtZQUNsRCxPQUFPO2dCQUNILEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUMxQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUTthQUM3QyxDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBRUQsMkVBQTJFO1FBQzNFLGdCQUFXLEdBQUcsR0FBVyxFQUFFO1lBQ3ZCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUVoQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUMvQixNQUFNLElBQUksY0FBYyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDbEQ7WUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUMvQixNQUFNLElBQUksY0FBYyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDbEQ7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUE7UUFFRCxpREFBaUQ7UUFDakQsVUFBSyxHQUFHLEdBQVMsRUFBRTtZQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBdkNHLFlBQVksQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0NBb0NKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vRmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBQcmljZVJhbmdlRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcblxuICAgIG1pblByaWNlOiBudW1iZXIgPSAwO1xuICAgIG1heFByaWNlOiBudW1iZXIgPSAxMDAwO1xuICAgIGN1cnJlbnRNaW5QcmljZTogbnVtYmVyID0gbnVsbDtcbiAgICBjdXJyZW50TWF4UHJpY2U6IG51bWJlciA9IG51bGw7XG5cbiAgICB0eXBlID0gKCk6IEZpbHRlclR5cGUgPT4gJ3ByaWNlX3JhbmdlJztcblxuICAgIC8vIE3DqXRvZG8gcGFyYSBjb25maWd1cmFyIGVsIHJhbmdvIGRlIHByZWNpb3MgaW5pY2lhbFxuICAgIHNldENvbnRlbnQgPSAob3B0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLm1pblByaWNlID0gb3B0aW9ucy5taW5QcmljZSB8fCB0aGlzLm1pblByaWNlO1xuICAgICAgICB0aGlzLm1heFByaWNlID0gb3B0aW9ucy5tYXhQcmljZSB8fCB0aGlzLm1heFByaWNlO1xuICAgICAgICB0aGlzLmN1cnJlbnRNaW5QcmljZSA9IG9wdGlvbnMuY3VycmVudE1pblByaWNlIHx8IHRoaXMubWluUHJpY2U7XG4gICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gb3B0aW9ucy5jdXJyZW50TWF4UHJpY2UgfHwgdGhpcy5tYXhQcmljZTtcbiAgICB9XG5cbiAgICB1cGRhdGVQcmljZXMobWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWluUHJpY2UgPSBtaW47XG4gICAgICAgIHRoaXMubWF4UHJpY2UgPSBtYXg7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBwYXJhIGFjdHVhbGl6YXIgbG9zIHZhbG9yZXMgc2VsZWNjaW9uYWRvc1xuICAgIHNldFNlbGVjdGVkID0gKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRNaW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBtYXg7XG4gICAgfVxuXG4gICAgLy8gUmV0b3JuYSBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zIChyYW5nbyBkZSBwcmVjaW9zKVxuICAgIGdldFNlbGVjdGVkUmFuZ2UgPSAoKTogeyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtaW46IHRoaXMuY3VycmVudE1pblByaWNlIHx8IHRoaXMubWluUHJpY2UsXG4gICAgICAgICAgICBtYXg6IHRoaXMuY3VycmVudE1heFByaWNlIHx8IHRoaXMubWF4UHJpY2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhIGxvcyBwYXLDoW1ldHJvcyBkZSBsYSBVUkwgZW4gYmFzZSBhbCByYW5nbyBkZSBwcmVjaW9zIHNlbGVjY2lvbmFkb1xuICAgIHRvVXJsUGFyYW1zID0gKCk6IHN0cmluZyA9PiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWluUHJpY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHBhcmFtcyArPSBgJnByaWNlX21pbj0ke3RoaXMuY3VycmVudE1pblByaWNlfWA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWF4UHJpY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHBhcmFtcyArPSBgJnByaWNlX21heD0ke3RoaXMuY3VycmVudE1heFByaWNlfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIC8vIFJlc3RhYmxlY2UgZWwgZmlsdHJvIGEgbG9zIHZhbG9yZXMgcG9yIGRlZmVjdG9cbiAgICByZXNldCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSAwO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IHRoaXMubWF4UHJpY2U7XG4gICAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpY2VSYW5nZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2ZpbHRlcnMvUHJpY2VSYW5nZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2xDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBQTVDOztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUUvQixTQUFJLEdBQUcsR0FBZSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRXZDLHFEQUFxRDtRQUNyRCxlQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRSxDQUFDLENBQUE7UUFPRCxtREFBbUQ7UUFDbkQsZ0JBQVcsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFFRCx1REFBdUQ7UUFDdkQscUJBQWdCLEdBQUcsR0FBaUMsRUFBRTtZQUNsRCxPQUFPO2dCQUNILEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUMxQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUTthQUM3QyxDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBRUQsMkVBQTJFO1FBQzNFLGdCQUFXLEdBQUcsR0FBVyxFQUFFO1lBQ3ZCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUVoQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekUsTUFBTSxJQUFJLGNBQWMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQ2xEO1lBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pFLE1BQU0sSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUNsRDtZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQTtRQUVELGlEQUFpRDtRQUNqRCxVQUFLLEdBQUcsR0FBUyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUF2Q0csWUFBWSxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLENBQUM7Q0FvQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9GaWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIFByaWNlUmFuZ2VGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuXG4gICAgbWluUHJpY2U6IG51bWJlciA9IDA7XG4gICAgbWF4UHJpY2U6IG51bWJlciA9IDEwMDA7XG4gICAgY3VycmVudE1pblByaWNlOiBudW1iZXIgPSBudWxsO1xuICAgIGN1cnJlbnRNYXhQcmljZTogbnVtYmVyID0gbnVsbDtcblxuICAgIHR5cGUgPSAoKTogRmlsdGVyVHlwZSA9PiAncHJpY2VfcmFuZ2UnO1xuXG4gICAgLy8gTcOpdG9kbyBwYXJhIGNvbmZpZ3VyYXIgZWwgcmFuZ28gZGUgcHJlY2lvcyBpbmljaWFsXG4gICAgc2V0Q29udGVudCA9IChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMubWluUHJpY2UgPSBvcHRpb25zLm1pblByaWNlIHx8IHRoaXMubWluUHJpY2U7XG4gICAgICAgIHRoaXMubWF4UHJpY2UgPSBvcHRpb25zLm1heFByaWNlIHx8IHRoaXMubWF4UHJpY2U7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gb3B0aW9ucy5jdXJyZW50TWluUHJpY2UgfHwgdGhpcy5taW5QcmljZTtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBvcHRpb25zLmN1cnJlbnRNYXhQcmljZSB8fCB0aGlzLm1heFByaWNlO1xuICAgIH1cblxuICAgIHVwZGF0ZVByaWNlcyhtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG1heDtcbiAgICB9XG5cbiAgICAvLyBNw6l0b2RvIHBhcmEgYWN0dWFsaXphciBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zXG4gICAgc2V0U2VsZWN0ZWQgPSAobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbWluO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG1heDtcbiAgICB9XG5cbiAgICAvLyBSZXRvcm5hIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3MgKHJhbmdvIGRlIHByZWNpb3MpXG4gICAgZ2V0U2VsZWN0ZWRSYW5nZSA9ICgpOiB7IG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciB9ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1pbjogdGhpcy5jdXJyZW50TWluUHJpY2UgfHwgdGhpcy5taW5QcmljZSxcbiAgICAgICAgICAgIG1heDogdGhpcy5jdXJyZW50TWF4UHJpY2UgfHwgdGhpcy5tYXhQcmljZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmEgbG9zIHBhcsOhbWV0cm9zIGRlIGxhIFVSTCBlbiBiYXNlIGFsIHJhbmdvIGRlIHByZWNpb3Mgc2VsZWNjaW9uYWRvXG4gICAgdG9VcmxQYXJhbXMgPSAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaW5QcmljZSAhPT0gbnVsbCAmJiB0aGlzLmN1cnJlbnRNaW5QcmljZSAhPT0gdGhpcy5taW5QcmljZSkge1xuICAgICAgICAgICAgcGFyYW1zICs9IGAmcHJpY2VfbWluPSR7dGhpcy5jdXJyZW50TWluUHJpY2V9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiB0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gdGhpcy5tYXhQcmljZSkge1xuICAgICAgICAgICAgcGFyYW1zICs9IGAmcHJpY2VfbWF4PSR7dGhpcy5jdXJyZW50TWF4UHJpY2V9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgLy8gUmVzdGFibGVjZSBlbCBmaWx0cm8gYSBsb3MgdmFsb3JlcyBwb3IgZGVmZWN0b1xuICAgIHJlc2V0ID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRNaW5QcmljZSA9IDA7XG4gICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gdGhpcy5tYXhQcmljZTtcbiAgICB9XG59XG4iXX0=
@@ -128,6 +128,25 @@ let FiltersEcComponent = class FiltersEcComponent extends ComponentHelper {
128
128
  filter.currentMinPrice = currentMin;
129
129
  }
130
130
  }
131
+ hasAppliedFilters() {
132
+ var _a, _b;
133
+ return _b = (_a = this.filters) === null || _a === void 0 ? void 0 : _a.some((filter) => {
134
+ var _a, _b, _c;
135
+ if (((_b = (_a = filter).type) === null || _b === void 0 ? void 0 : _b.call(_a)) === 'price_range') {
136
+ const minSet = filter.currentMinPrice !== null && filter.currentMinPrice !== 0;
137
+ const maxSet = filter.currentMaxPrice !== null && filter.currentMaxPrice !== filter.maxPrice;
138
+ if (minSet || maxSet) {
139
+ return true;
140
+ }
141
+ }
142
+ return (_c = filter.data) === null || _c === void 0 ? void 0 : _c.some((filterElement) => {
143
+ if (Array.isArray(filterElement.children)) {
144
+ return filterElement.children.some((child) => child.selected);
145
+ }
146
+ return filterElement.selected;
147
+ });
148
+ }), (_b !== null && _b !== void 0 ? _b : false);
149
+ }
131
150
  };
132
151
  FiltersEcComponent.ctorParameters = () => [
133
152
  { type: Constants },
@@ -149,4 +168,4 @@ FiltersEcComponent = __decorate([
149
168
  __param(1, Inject(DOCUMENT))
150
169
  ], FiltersEcComponent);
151
170
  export { FiltersEcComponent };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2ZpbHRlcnMtZWMvZmlsdGVycy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFLGVBQWU7QUFNZixJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFtQixTQUFRLGVBQWU7SUFPbkQsWUFBc0IsTUFBaUIsRUFBMkIsUUFBa0IsRUFBVSxjQUE4QjtRQUN4SCxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBMkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUhySCxXQUFNLEdBQVksSUFBSSxDQUFDO1FBb0M5QixtQkFBbUI7UUFDbkIsd0VBQXdFO1FBQ3hFLHFCQUFxQjtRQUNyQixNQUFNO1FBR04sVUFBSyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDckIsdUJBQXVCO1lBQ3ZCLG1GQUFtRjtZQUNuRiw4RUFBOEU7WUFDOUUsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBcUJGLGFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDWixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMs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LFFBQVEsQ0FBQztpQkFDakM7YUFDSjtZQUNELE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ3ZCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDN0QsSUFBSSxNQUFNLEdBQUcsUUFBUSxHQUFHLFVBQVUsRUFBRTtnQkFDaEMsSUFBSSxlQUFlLEdBQUcsTUFBTSxHQUFHLFFBQVEsQ0FBQztnQkFDeEMsSUFBSSxlQUFlLElBQUksU0FBUyxFQUFFO29CQUM5QixVQUFVLEdBQUcsZUFBZSxDQUFDO2lCQUNoQztxQkFBTTtvQkFDSCxNQUFNLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztpQkFDakM7YUFDSjtZQUNELE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztDQUVKLENBQUE7O1lBM0hpQyxTQUFTO1lBQXFDLFFBQVEsdUJBQTFDLE1BQU0sU0FBQyxRQUFRO1lBQXFELGNBQWM7O0FBTG5IO0lBQVIsS0FBSyxFQUFFO3VEQUFhO0FBQ1o7SUFBUixLQUFLLEVBQUU7bURBQVM7QUFIUixrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixZQUEwQzs7S0FFN0MsQ0FBQztJQVE0QyxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQVBqRCxrQkFBa0IsQ0FrSTlCO1NBbElZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBJbmplY3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL1ByaWNlUmFuZ2VGaWx0ZXInO1xuXG4vKiogQGR5bmFtaWMgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbHRlcnMtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc2V0U2VsZWN0ZWQ7XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBwdWJsaWMgZXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIGZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vY29uc29sZS5sb2coY2hhbmdlc1snZmlsdGVycyddKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmV4cGFuZCA9ICF0aGlzLmNvbnN0cy5tb2JpbGUoKVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIGRlIHByZWNpbyBzZWxlY2Npb25hZG9zXG4gICAgdXBkYXRlUHJpY2VSYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIHByaWNlRmlsdGVyOiBQcmljZVJhbmdlRmlsdGVyKSB7XG4gICAgICAgIHByaWNlRmlsdGVyLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChwcmljZUZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kb3MgcGFyYSBhY3R1YWxpemFyIGxhIGJhcnJhIGRlbCBmaWx0cm8gcG9yIHByZWNpb1xuICAgIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGN1cnJlbnRNaW5QcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWluVmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNaW5QcmljZSA/PyBtaW5QcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKCgobWluVmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmlnaHRQZXJjZW50YWdlKGN1cnJlbnRNYXhQcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWF4VmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNYXhQcmljZSA/PyBtYXhQcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCAtICgobWF4VmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG5cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsdHJvc1wiKS5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAgIC8vICB9O1xuXG5cbiAgICBjbG9zZSA9IChhY2NvcmRpb25faWQpID0+IHtcbiAgICAgICAgLy8gdGhpcy5jb25zdHMubW9iaWxlKClcbiAgICAgICAgLy8gICAgICA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2NvcmRpb25FeGFtcGxlXCIpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAvLyAgICAgIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhY2NvcmRpb25faWQpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIHVuaXF1ZVNlbGVjdGlvbihmaWx0ZXIsIGZpbHRlckNoaWxkKSB7XG4gICAgICAgIC8vIEJ1c2NhciBzaSBoYXkgdW4gZmlsdHJvIGRlIHRpcG8gUHJpY2VSYW5nZUZpbHRlciBlbiBsYSBsaXN0YSBkZSBmaWx0cm9zXG4gICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSB0aGlzLmZpbHRlcnMuZmluZChmID0+IGYgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcblxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xuICAgICAgICAgICAgcHJpY2VSYW5nZUZpbHRlci5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIGZpbHRlci5kYXRhLmZvckVhY2goZmlsdGVyRWxlbWVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChmaWx0ZXJDaGlsZHJlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNjcm9sbFVwID0gKCkgPT4ge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZG9uZGVhIGFsIG3Dumx0aXBsbyBkZSAnc3RlcCcgcmVzcGV0YW5kbyBlbCByZWRvbmRlbyBlbnRlcm86XG4gICAgICogLSBNw61uaW1vOiByZWRvbmRlYSBoYWNpYSBhYmFqby5cbiAgICAgKiAtIE3DoXhpbW86IHJlZG9uZGVhIGhhY2lhIGFycmliYS5cbiAgICAgKi9cbiAgICByb3VuZFRvTmVhcmVzdCh2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHR5cGU6ICdtaW4nIHwgJ21heCcsIGZpbHRlcjogYW55KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ21heCcgJiYgcm91bmRlZCA8IGZpbHRlci5tYXhQcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguY2VpbCh2YWx1ZSAvIHN0ZXApICogc3RlcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWN0dWFsaXphIGxvcyB2YWxvcmVzIGRlbCBmaWx0cm8gcGVybWl0aWVuZG8gcXVlIHVuIGlucHV0IGVtcHVqZSBhbCBvdHJvLlxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlclByaWNlcyh0eXBlOiAnbWluJyB8ICdtYXgnLCB2YWx1ZTogbnVtYmVyLCBmaWx0ZXI6IGFueSwgcHJpY2VHYXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCBnbG9iYWxNaW4gPSBmaWx0ZXIubWluUHJpY2UgPz8gMDtcbiAgICAgICAgY29uc3QgZ2xvYmFsTWF4ID0gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgICAgIGxldCBjdXJyZW50TWluID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA/PyBnbG9iYWxNaW47XG4gICAgICAgIGxldCBjdXJyZW50TWF4ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA/PyBnbG9iYWxNYXg7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICdtaW4nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWluID0gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIGdsb2JhbE1pbiksIGdsb2JhbE1heCk7XG4gICAgICAgICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01heENhbmRpZGF0ZSA9IG5ld01pbiArIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNYXhDYW5kaWRhdGUgPD0gZ2xvYmFsTWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNYXggPSBuZXdNYXhDYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWluID0gZ2xvYmFsTWF4IC0gcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA9IG5ld01pbjtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPSBjdXJyZW50TWF4O1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtYXgnKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWF4ID0gTWF0aC5tYXgoTWF0aC5taW4odmFsdWUsIGdsb2JhbE1heCksIGdsb2JhbE1pbik7XG4gICAgICAgICAgICBpZiAobmV3TWF4IC0gcHJpY2VHYXAgPCBjdXJyZW50TWluKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01pbkNhbmRpZGF0ZSA9IG5ld01heCAtIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNaW5DYW5kaWRhdGUgPj0gZ2xvYmFsTWluKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNaW4gPSBuZXdNaW5DYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWF4ID0gZ2xvYmFsTWluICsgcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IG5ld01heDtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2ZpbHRlcnMtZWMvZmlsdGVycy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFLGVBQWU7QUFNZixJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFtQixTQUFRLGVBQWU7SUFPbkQsWUFBc0IsTUFBaUIsRUFBMkIsUUFBa0IsRUFBVSxjQUE4QjtRQUN4SCxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBMkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUhySCxXQUFNLEdBQVksSUFBSSxDQUFDO1FBb0M5QixtQkFBbUI7UUFDbkIsd0VBQXdFO1FBQ3hFLHFCQUFxQjtRQUNyQixNQUFNO1FBR04sVUFBSyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDckIsdUJBQXVCO1lBQ3ZCLG1GQUFtRjtZQUNuRiw4RUFBOEU7WUFDOUUsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBcUJGLGFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDWixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMs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QU0sQ0FBQyxJQUFJLDBDQUFFLElBQUksQ0FBQyxDQUFDLGFBQWtCLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDdkMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN0RTtnQkFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUM7WUFDbEMsQ0FBQyxFQUFFO1FBQ1AsQ0FBQyx3Q0FBSyxLQUFLLEVBQUM7SUFDaEIsQ0FBQztDQUVKLENBQUE7O1lBOUlpQyxTQUFTO1lBQXFDLFFBQVEsdUJBQTFDLE1BQU0sU0FBQyxRQUFRO1lBQXFELGNBQWM7O0FBTG5IO0lBQVIsS0FBSyxFQUFFO3VEQUFhO0FBQ1o7SUFBUixLQUFLLEVBQUU7bURBQVM7QUFIUixrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixZQUEwQzs7S0FFN0MsQ0FBQztJQVE0QyxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQVBqRCxrQkFBa0IsQ0FxSjlCO1NBckpZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBJbmplY3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL1ByaWNlUmFuZ2VGaWx0ZXInO1xuXG4vKiogQGR5bmFtaWMgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbHRlcnMtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc2V0U2VsZWN0ZWQ7XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBwdWJsaWMgZXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIGZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vY29uc29sZS5sb2coY2hhbmdlc1snZmlsdGVycyddKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmV4cGFuZCA9ICF0aGlzLmNvbnN0cy5tb2JpbGUoKVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIGRlIHByZWNpbyBzZWxlY2Npb25hZG9zXG4gICAgdXBkYXRlUHJpY2VSYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIHByaWNlRmlsdGVyOiBQcmljZVJhbmdlRmlsdGVyKSB7XG4gICAgICAgIHByaWNlRmlsdGVyLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChwcmljZUZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kb3MgcGFyYSBhY3R1YWxpemFyIGxhIGJhcnJhIGRlbCBmaWx0cm8gcG9yIHByZWNpb1xuICAgIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGN1cnJlbnRNaW5QcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWluVmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNaW5QcmljZSA/PyBtaW5QcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKCgobWluVmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmlnaHRQZXJjZW50YWdlKGN1cnJlbnRNYXhQcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWF4VmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNYXhQcmljZSA/PyBtYXhQcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCAtICgobWF4VmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG5cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsdHJvc1wiKS5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAgIC8vICB9O1xuXG5cbiAgICBjbG9zZSA9IChhY2NvcmRpb25faWQpID0+IHtcbiAgICAgICAgLy8gdGhpcy5jb25zdHMubW9iaWxlKClcbiAgICAgICAgLy8gICAgICA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2NvcmRpb25FeGFtcGxlXCIpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAvLyAgICAgIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhY2NvcmRpb25faWQpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIHVuaXF1ZVNlbGVjdGlvbihmaWx0ZXIsIGZpbHRlckNoaWxkKSB7XG4gICAgICAgIC8vIEJ1c2NhciBzaSBoYXkgdW4gZmlsdHJvIGRlIHRpcG8gUHJpY2VSYW5nZUZpbHRlciBlbiBsYSBsaXN0YSBkZSBmaWx0cm9zXG4gICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSB0aGlzLmZpbHRlcnMuZmluZChmID0+IGYgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcblxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xuICAgICAgICAgICAgcHJpY2VSYW5nZUZpbHRlci5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIGZpbHRlci5kYXRhLmZvckVhY2goZmlsdGVyRWxlbWVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChmaWx0ZXJDaGlsZHJlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNjcm9sbFVwID0gKCkgPT4ge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZG9uZGVhIGFsIG3Dumx0aXBsbyBkZSAnc3RlcCcgcmVzcGV0YW5kbyBlbCByZWRvbmRlbyBlbnRlcm86XG4gICAgICogLSBNw61uaW1vOiByZWRvbmRlYSBoYWNpYSBhYmFqby5cbiAgICAgKiAtIE3DoXhpbW86IHJlZG9uZGVhIGhhY2lhIGFycmliYS5cbiAgICAgKi9cbiAgICByb3VuZFRvTmVhcmVzdCh2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHR5cGU6ICdtaW4nIHwgJ21heCcsIGZpbHRlcjogYW55KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ21heCcgJiYgcm91bmRlZCA8IGZpbHRlci5tYXhQcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguY2VpbCh2YWx1ZSAvIHN0ZXApICogc3RlcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWN0dWFsaXphIGxvcyB2YWxvcmVzIGRlbCBmaWx0cm8gcGVybWl0aWVuZG8gcXVlIHVuIGlucHV0IGVtcHVqZSBhbCBvdHJvLlxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlclByaWNlcyh0eXBlOiAnbWluJyB8ICdtYXgnLCB2YWx1ZTogbnVtYmVyLCBmaWx0ZXI6IGFueSwgcHJpY2VHYXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCBnbG9iYWxNaW4gPSBmaWx0ZXIubWluUHJpY2UgPz8gMDtcbiAgICAgICAgY29uc3QgZ2xvYmFsTWF4ID0gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgICAgIGxldCBjdXJyZW50TWluID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA/PyBnbG9iYWxNaW47XG4gICAgICAgIGxldCBjdXJyZW50TWF4ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA/PyBnbG9iYWxNYXg7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICdtaW4nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWluID0gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIGdsb2JhbE1pbiksIGdsb2JhbE1heCk7XG4gICAgICAgICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01heENhbmRpZGF0ZSA9IG5ld01pbiArIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNYXhDYW5kaWRhdGUgPD0gZ2xvYmFsTWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNYXggPSBuZXdNYXhDYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWluID0gZ2xvYmFsTWF4IC0gcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA9IG5ld01pbjtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPSBjdXJyZW50TWF4O1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtYXgnKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWF4ID0gTWF0aC5tYXgoTWF0aC5taW4odmFsdWUsIGdsb2JhbE1heCksIGdsb2JhbE1pbik7XG4gICAgICAgICAgICBpZiAobmV3TWF4IC0gcHJpY2VHYXAgPCBjdXJyZW50TWluKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01pbkNhbmRpZGF0ZSA9IG5ld01heCAtIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNaW5DYW5kaWRhdGUgPj0gZ2xvYmFsTWluKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNaW4gPSBuZXdNaW5DYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWF4ID0gZ2xvYmFsTWluICsgcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IG5ld01heDtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzQXBwbGllZEZpbHRlcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcnM/LnNvbWUoKGZpbHRlcjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGU/LigpID09PSAncHJpY2VfcmFuZ2UnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWluU2V0ID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSAhPT0gbnVsbCAmJiBmaWx0ZXIuY3VycmVudE1pblByaWNlICE9PSAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFNldCA9IGZpbHRlci5jdXJyZW50TWF4UHJpY2UgIT09IG51bGwgJiYgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPT0gZmlsdGVyLm1heFByaWNlO1xuICAgICAgICAgICAgICAgIGlmIChtaW5TZXQgfHwgbWF4U2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlci5kYXRhPy5zb21lKChmaWx0ZXJFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJFbGVtZW50LmNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyRWxlbWVudC5jaGlsZHJlbi5zb21lKChjaGlsZDogYW55KSA9PiBjaGlsZC5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJFbGVtZW50LnNlbGVjdGVkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pID8/IGZhbHNlO1xuICAgIH1cblxufVxuIl19
@@ -80,7 +80,7 @@ let ProductDetailEcComponent = class ProductDetailEcComponent extends ComponentH
80
80
  * @param changeAmount cantidad que se quiere restar.
81
81
  * @param forceMultiple si es true, obliga a que el resultado sea múltiplo de changeAmount.
82
82
  */
83
- this.less = (changeAmount = 1, forceMultiple = false) => {
83
+ this.less = (changeAmount = 1, minimum = 1, forceMultiple = false) => {
84
84
  let newQuantity = this.quantity - changeAmount;
85
85
  if (forceMultiple && changeAmount > 0) {
86
86
  if (this.quantity <= changeAmount) {
@@ -93,9 +93,12 @@ let ProductDetailEcComponent = class ProductDetailEcComponent extends ComponentH
93
93
  newQuantity = changeAmount;
94
94
  }
95
95
  }
96
- if (newQuantity >= 1) {
96
+ if (newQuantity >= minimum) {
97
97
  this.quantity = newQuantity;
98
98
  }
99
+ else {
100
+ this.quantity = minimum;
101
+ }
99
102
  };
100
103
  this.showContact = () => this.show = true;
101
104
  this.hideContact = () => this.show = false;
@@ -187,4 +190,4 @@ ProductDetailEcComponent = __decorate([
187
190
  })
188
191
  ], ProductDetailEcComponent);
189
192
  export { ProductDetailEcComponent };
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0UsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBeUIsU0FBUSxlQUFlO0lBa0J6RCxZQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVB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QUNXLHdCQUF3QixDQW1LcEM7U0FuS1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdC1kZXRhaWwuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1kZXRhaWwtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtQcm9kdWN0RGV0YWlsU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHB1YmxpYyBwcm9kdWN0OiBhbnk7XG4gICAgcHVibGljIG1lZGlhVXJsO1xuICAgIHB1YmxpYyBzaG93ID0gZmFsc2U7XG4gICAgcHVibGljIHF1YW50aXR5ID0gMTtcbiAgICBwdWJsaWMgYnJlYWRjcnVtYiA9IFtdO1xuICAgIHB1YmxpYyBjYXJvdXNlbDogYW55O1xuICAgIHB1YmxpYyBjb2RlID0gbnVsbDtcbiAgICBwdWJsaWMgZm9jdXNJbWFnZTogc3RyaW5nID0gbnVsbFxuICAgIHB1YmxpYyBvd2xPcHRpb25zID0ge31cbiAgICBwdWJsaWMgc2hvd1Jldmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZVByaWNlczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjcmVkaXRBY2NvdW50U2hvd1ByaWNlczogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG5cbiAgICBAVmlld0NoaWxkKCdjb250YWN0JykgY29udGFjdDogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3REZXRhaWxTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHByb3RlY3RlZCBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWV0YTogTWV0YSxcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1lZGlhVXJsID0gdGhpcy5jb25zdHMubWVkaWFVcmwoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XG4gICAgICAgICAgICBsZXQgdmFyaWFudDogYW55ID0gKHRoaXMuYWN0aXZlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd2YXJpYW50JykpO1xuICAgICAgICAgICAgbGV0IGNvZGUgPSBxdWVyeVBhcmFtcy5pZDtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubG9hZFByb2R1Y3QoY29kZSwgdmFyaWFudCk7XG4gICAgICAgICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtcy5pZFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcztcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0QnJlYWRjcnVtYih0aGlzLnByb2R1Y3QuY2F0ZWdvcnkpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb2R1Y3QubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHRoaXMucHJvZHVjdC5uYW1lIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IHRoaXMuZGVsZXRlSFRNTCh0aGlzLnByb2R1Y3QuZGVzY3JpcHRpb24pIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzppbWFnZScsIGNvbnRlbnQ6IHRoaXMuY29uc3RzLm1lZGlhVXJsKCkgKyB0aGlzLnByb2R1Y3QucGljdHVyZXNkZWZhdWx0WzBdIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0eXBlJywgY29udGVudDogJ3Byb2R1Y3QnIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnBpcGUoZmlsdGVyKGRhdGEgPT4gZGF0YSAmJiBkYXRhLmlkICYmIGRhdGEuaWQgIT0gMCkpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChwcm9kdWN0UGFyYW0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCd2aWV3X2l0ZW0nLCB7IC4uLnByb2R1Y3RQYXJhbSwgY3VycmVuY3k6IHRoaXMuY29uc3RzLmN1cnJlbmN5LmNvZGUgfSlcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZUltZ0ZvY3VzKHByb2R1Y3RQYXJhbS5waWN0dXJlc2RlZmF1bHRbMF0pXG4gICAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbENvbmZpZ1NlcnZpY2UpLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jldmlld3MgPSBjaGFubmVsLnNob3dSZXZpZXdzO1xuICAgICAgICAgICAgdGhpcy5oaWRlUHJpY2VzID0gY2hhbm5lbD8uaGlkZVByaWNlcyA/PyBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWRpdEFjY291bnRTaG93UHJpY2VzID0gc2hvd1ByaWNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcblxuICAgIH1cblxuICAgIGRlbGV0ZUhUTUwoY2FkZW5hOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBidXNjYXIgZXRpcXVldGFzIEhUTUxcbiAgICAgICAgY29uc3QgZXhwcmVzaW9uUmVndWxhciA9IC88W14+XSo+L2c7XG4gICAgICAgIC8vIFJlZW1wbGF6YSB0b2RhcyBsYXMgZXRpcXVldGFzIEhUTUwgcG9yIHVuYSBjYWRlbmEgdmFjw61hXG4gICAgICAgIHJldHVybiBjYWRlbmEucmVwbGFjZShleHByZXNpb25SZWd1bGFyLCAnJyk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgIH1cblxuICAgIGFkZFRvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5xdWFudGl0eSA+IDAgJiYgdGhpcy5wcm9kdWN0U2VydmljZS5hZGRUb0NhcnQodGhpcy5xdWFudGl0eSk7XG4gICAgfVxuXG4gICAgYWRkQWxsUHJvZHVjdG9zVG9DYXJ0ID0gKCkgPT4ge1xuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLnByb2R1Y3QucHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50Py5maWx0ZXIocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKS5tYXAocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKVxuICAgICAgICBpdGVtcz8ubGVuZ3RoICYmIHRoaXMuY2FydFNlcnZpY2UuYWRkQWxsVG9DYXJ0KGl0ZW1zKVxuICAgIH1cblxuICAgIHNjcm9sbCgpIHtcbiAgICAgICAgbGV0IGVsID0gdGhpcy5jb250YWN0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGVsLnNjcm9sbEludG9WaWV3KCk7XG4gICAgfVxuXG4gICAgc2F2ZVJlZiA9IChjYXJvdXNlbCkgPT4ge1xuICAgICAgICB0aGlzLmNhcm91c2VsID0gY2Fyb3VzZWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSBzdW1hbmRvbGUgJ3gnIGNvbnRlbmlkby5cbiAgICAgKiBAcGFyYW0gc3RvY2sgbsO6bWVybyBtw6F4aW1vIGRpc3BvbmlibGUgZW4gc3RvY2suXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHN1bWFyLlxuICAgICAqIEBwYXJhbSBmb3JjZU11bHRpcGxlIHNpIGVzIHRydWUsIG9ibGlnYSBhIHF1ZSBlbCByZXN1bHRhZG8gc2VhIG3Dumx0aXBsbyBkZSBjaGFuZ2VBbW91bnQuXG4gICAgICovXG4gICAgcGx1cyA9IChzdG9jaz86IG51bWJlciwgY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHsgICAgICAgIFxuICAgICAgICBsZXQgbmV3UXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgY2hhbmdlQW1vdW50O1xuXG4gICAgICAgIGlmIChmb3JjZU11bHRpcGxlICYmIGNoYW5nZUFtb3VudCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnF1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gTWF0aC5jZWlsKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0b2NrIHx8IG5ld1F1YW50aXR5IDw9IHN0b2NrKSB7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gbmV3UXVhbnRpdHk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHJlc3RhbmRvbGUgJ3gnIGNvbnRlbmlkby5cbiAgICAgKiBAcGFyYW0gY2hhbmdlQW1vdW50IGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgcmVzdGFyLlxuICAgICAqIEBwYXJhbSBmb3JjZU11bHRpcGxlIHNpIGVzIHRydWUsIG9ibGlnYSBhIHF1ZSBlbCByZXN1bHRhZG8gc2VhIG3Dumx0aXBsbyBkZSBjaGFuZ2VBbW91bnQuXG4gICAgICovXG4gICAgbGVzcyA9IChjaGFuZ2VBbW91bnQ6IG51bWJlciA9IDEsIGZvcmNlTXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZSkgPT4geyAgICAgICAgXG4gICAgICAgIGxldCBuZXdRdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSBjaGFuZ2VBbW91bnQ7XG5cbiAgICAgICAgaWYgKGZvcmNlTXVsdGlwbGUgJiYgY2hhbmdlQW1vdW50ID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucXVhbnRpdHkgPD0gY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gTWF0aC5mbG9vcihuZXdRdWFudGl0eSAvIGNoYW5nZUFtb3VudCkgKiBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChuZXdRdWFudGl0eSA8IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5ld1F1YW50aXR5ID49IDEpIHtcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPSBuZXdRdWFudGl0eTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dDb250YWN0ID0gKCkgPT4gdGhpcy5zaG93ID0gdHJ1ZTtcbiAgICBoaWRlQ29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IGZhbHNlO1xuXG4gICAgdGhlcmVJc01vcmVJbmZvID0gKHByb2R1Y3Q6IGFueSkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZiAocHJvZHVjdD8uc3BlY2lhbF9tYXJrICYmIHByb2R1Y3Q/LnNwZWNpYWxfbWFyay5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHByb2R1Y3Q/LnNwZWNpYWxfbWFyaz8uZmluZChzcGVjaWFsX21hcmsgPT4gc3BlY2lhbF9tYXJrLnR5cGUgPT0gJ21vcmVfaW5mbycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgY2hhbmdlSW1nRm9jdXMgPSAoaW1nKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXNJbWFnZSA9IGltZ1xuICAgIH1cbn1cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0UsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBeUIsU0FBUSxlQUFlO0lBa0J6RCxZQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVB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QkFBdUI7UUFDakMsWUFBaUQ7UUFFakQsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7O0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0FxS3BDO1NBcktZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICB9XG5cbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSBzdW1hci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBudW1iZXIsIGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7ICAgICAgICBcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguY2VpbChuZXdRdWFudGl0eSAvIGNoYW5nZUFtb3VudCkgKiBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdG9jayB8fCBuZXdRdWFudGl0eSA8PSBzdG9jaykge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSByZXN0YW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHJlc3Rhci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIGxlc3MgPSAoY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBtaW5pbXVtOiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8PSBjaGFuZ2VBbW91bnQpIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLmZsb29yKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3UXVhbnRpdHkgPj0gbWluaW11bSkge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG1pbmltdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcbiAgICB9XG59XG4iXX0=
@@ -43,10 +43,10 @@ var PriceRangeFilter = /** @class */ (function (_super) {
43
43
  // Genera los parámetros de la URL en base al rango de precios seleccionado
44
44
  _this.toUrlParams = function () {
45
45
  var params = '';
46
- if (_this.currentMinPrice !== null) {
46
+ if (_this.currentMinPrice !== null && _this.currentMinPrice !== _this.minPrice) {
47
47
  params += "&price_min=" + _this.currentMinPrice;
48
48
  }
49
- if (_this.currentMaxPrice !== null) {
49
+ if (_this.currentMaxPrice !== null && _this.currentMaxPrice !== _this.maxPrice) {
50
50
  params += "&price_max=" + _this.currentMaxPrice;
51
51
  }
52
52
  return params;
@@ -65,4 +65,4 @@ var PriceRangeFilter = /** @class */ (function (_super) {
65
65
  return PriceRangeFilter;
66
66
  }(Filter));
67
67
  export { PriceRangeFilter };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpY2VSYW5nZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2ZpbHRlcnMvUHJpY2VSYW5nZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQztJQUFzQyxvQ0FBTTtJQUE1QztRQUFBLHFFQXdEQztRQXRERyxjQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGNBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIscUJBQWUsR0FBVyxJQUFJLENBQUM7UUFDL0IscUJBQWUsR0FBVyxJQUFJLENBQUM7UUFFL0IsVUFBSSxHQUFHLGNBQWtCLE9BQUEsYUFBYSxFQUFiLENBQWEsQ0FBQztRQUV2QyxxREFBcUQ7UUFDckQsZ0JBQVUsR0FBRyxVQUFDLE9BQU87WUFDakIsS0FBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsS0FBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsS0FBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDaEUsS0FBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEUsQ0FBQyxDQUFBO1FBT0QsbURBQW1EO1FBQ25ELGlCQUFXLEdBQUcsVUFBQyxHQUFXLEVBQUUsR0FBVztZQUNuQyxLQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixLQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFFRCx1REFBdUQ7UUFDdkQsc0JBQWdCLEdBQUc7WUFDZixPQUFPO2dCQUNILEdBQUcsRUFBRSxLQUFJLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRO2dCQUMxQyxHQUFHLEVBQUUsS0FBSSxDQUFDLGVBQWUsSUFBSSxLQUFJLENBQUMsUUFBUTthQUM3QyxDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBRUQsMkVBQTJFO1FBQzNFLGlCQUFXLEdBQUc7WUFDVixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFFaEIsSUFBSSxLQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtnQkFDL0IsTUFBTSxJQUFJLGdCQUFjLEtBQUksQ0FBQyxlQUFpQixDQUFDO2FBQ2xEO1lBRUQsSUFBSSxLQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtnQkFDL0IsTUFBTSxJQUFJLGdCQUFjLEtBQUksQ0FBQyxlQUFpQixDQUFDO2FBQ2xEO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFBO1FBRUQsaURBQWlEO1FBQ2pELFdBQUssR0FBRztZQUNKLEtBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLEtBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxDQUFDLENBQUE7O0lBQ0wsQ0FBQztJQXZDRyx1Q0FBWSxHQUFaLFVBQWEsR0FBVyxFQUFFLEdBQVc7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQW9DTCx1QkFBQztBQUFELENBQUMsQUF4REQsQ0FBc0MsTUFBTSxHQXdEM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9GaWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIFByaWNlUmFuZ2VGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuXG4gICAgbWluUHJpY2U6IG51bWJlciA9IDA7XG4gICAgbWF4UHJpY2U6IG51bWJlciA9IDEwMDA7XG4gICAgY3VycmVudE1pblByaWNlOiBudW1iZXIgPSBudWxsO1xuICAgIGN1cnJlbnRNYXhQcmljZTogbnVtYmVyID0gbnVsbDtcblxuICAgIHR5cGUgPSAoKTogRmlsdGVyVHlwZSA9PiAncHJpY2VfcmFuZ2UnO1xuXG4gICAgLy8gTcOpdG9kbyBwYXJhIGNvbmZpZ3VyYXIgZWwgcmFuZ28gZGUgcHJlY2lvcyBpbmljaWFsXG4gICAgc2V0Q29udGVudCA9IChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMubWluUHJpY2UgPSBvcHRpb25zLm1pblByaWNlIHx8IHRoaXMubWluUHJpY2U7XG4gICAgICAgIHRoaXMubWF4UHJpY2UgPSBvcHRpb25zLm1heFByaWNlIHx8IHRoaXMubWF4UHJpY2U7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gb3B0aW9ucy5jdXJyZW50TWluUHJpY2UgfHwgdGhpcy5taW5QcmljZTtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBvcHRpb25zLmN1cnJlbnRNYXhQcmljZSB8fCB0aGlzLm1heFByaWNlO1xuICAgIH1cblxuICAgIHVwZGF0ZVByaWNlcyhtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG1heDtcbiAgICB9XG5cbiAgICAvLyBNw6l0b2RvIHBhcmEgYWN0dWFsaXphciBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zXG4gICAgc2V0U2VsZWN0ZWQgPSAobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbWluO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG1heDtcbiAgICB9XG5cbiAgICAvLyBSZXRvcm5hIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3MgKHJhbmdvIGRlIHByZWNpb3MpXG4gICAgZ2V0U2VsZWN0ZWRSYW5nZSA9ICgpOiB7IG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciB9ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1pbjogdGhpcy5jdXJyZW50TWluUHJpY2UgfHwgdGhpcy5taW5QcmljZSxcbiAgICAgICAgICAgIG1heDogdGhpcy5jdXJyZW50TWF4UHJpY2UgfHwgdGhpcy5tYXhQcmljZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmEgbG9zIHBhcsOhbWV0cm9zIGRlIGxhIFVSTCBlbiBiYXNlIGFsIHJhbmdvIGRlIHByZWNpb3Mgc2VsZWNjaW9uYWRvXG4gICAgdG9VcmxQYXJhbXMgPSAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaW5QcmljZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyYW1zICs9IGAmcHJpY2VfbWluPSR7dGhpcy5jdXJyZW50TWluUHJpY2V9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyYW1zICs9IGAmcHJpY2VfbWF4PSR7dGhpcy5jdXJyZW50TWF4UHJpY2V9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgLy8gUmVzdGFibGVjZSBlbCBmaWx0cm8gYSBsb3MgdmFsb3JlcyBwb3IgZGVmZWN0b1xuICAgIHJlc2V0ID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRNaW5QcmljZSA9IDA7XG4gICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gdGhpcy5tYXhQcmljZTtcbiAgICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpY2VSYW5nZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2ZpbHRlcnMvUHJpY2VSYW5nZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQztJQUFzQyxvQ0FBTTtJQUE1QztRQUFBLHFFQXdEQztRQXRERyxjQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGNBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIscUJBQWUsR0FBVyxJQUFJLENBQUM7UUFDL0IscUJBQWUsR0FBVyxJQUFJLENBQUM7UUFFL0IsVUFBSSxHQUFHLGNBQWtCLE9BQUEsYUFBYSxFQUFiLENBQWEsQ0FBQztRQUV2QyxxREFBcUQ7UUFDckQsZ0JBQVUsR0FBRyxVQUFDLE9BQU87WUFDakIsS0FBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsS0FBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsS0FBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFDaEUsS0FBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEUsQ0FBQyxDQUFBO1FBT0QsbURBQW1EO1FBQ25ELGlCQUFXLEdBQUcsVUFBQyxHQUFXLEVBQUUsR0FBVztZQUNuQyxLQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixLQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFFRCx1REFBdUQ7UUFDdkQsc0JBQWdCLEdBQUc7WUFDZixPQUFPO2dCQUNILEdBQUcsRUFBRSxLQUFJLENBQUMsZUFBZSxJQUFJLEtBQUksQ0FBQyxRQUFRO2dCQUMxQyxHQUFHLEVBQUUsS0FBSSxDQUFDLGVBQWUsSUFBSSxLQUFJLENBQUMsUUFBUTthQUM3QyxDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBRUQsMkVBQTJFO1FBQzNFLGlCQUFXLEdBQUc7WUFDVixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFFaEIsSUFBSSxLQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxLQUFJLENBQUMsZUFBZSxLQUFLLEtBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pFLE1BQU0sSUFBSSxnQkFBYyxLQUFJLENBQUMsZUFBaUIsQ0FBQzthQUNsRDtZQUVELElBQUksS0FBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksS0FBSSxDQUFDLGVBQWUsS0FBSyxLQUFJLENBQUMsUUFBUSxFQUFFO2dCQUN6RSxNQUFNLElBQUksZ0JBQWMsS0FBSSxDQUFDLGVBQWlCLENBQUM7YUFDbEQ7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUE7UUFFRCxpREFBaUQ7UUFDakQsV0FBSyxHQUFHO1lBQ0osS0FBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7WUFDekIsS0FBSSxDQUFDLGVBQWUsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUMsQ0FBQTs7SUFDTCxDQUFDO0lBdkNHLHVDQUFZLEdBQVosVUFBYSxHQUFXLEVBQUUsR0FBVztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBb0NMLHVCQUFDO0FBQUQsQ0FBQyxBQXhERCxDQUFzQyxNQUFNLEdBd0QzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL0ZpbHRlclwiO1xuaW1wb3J0IHsgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2ZpbHRlclwiO1xuXG5leHBvcnQgY2xhc3MgUHJpY2VSYW5nZUZpbHRlciBleHRlbmRzIEZpbHRlciB7XG5cbiAgICBtaW5QcmljZTogbnVtYmVyID0gMDtcbiAgICBtYXhQcmljZTogbnVtYmVyID0gMTAwMDtcbiAgICBjdXJyZW50TWluUHJpY2U6IG51bWJlciA9IG51bGw7XG4gICAgY3VycmVudE1heFByaWNlOiBudW1iZXIgPSBudWxsO1xuXG4gICAgdHlwZSA9ICgpOiBGaWx0ZXJUeXBlID0+ICdwcmljZV9yYW5nZSc7XG5cbiAgICAvLyBNw6l0b2RvIHBhcmEgY29uZmlndXJhciBlbCByYW5nbyBkZSBwcmVjaW9zIGluaWNpYWxcbiAgICBzZXRDb250ZW50ID0gKG9wdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG9wdGlvbnMubWluUHJpY2UgfHwgdGhpcy5taW5QcmljZTtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG9wdGlvbnMubWF4UHJpY2UgfHwgdGhpcy5tYXhQcmljZTtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBvcHRpb25zLmN1cnJlbnRNaW5QcmljZSB8fCB0aGlzLm1pblByaWNlO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG9wdGlvbnMuY3VycmVudE1heFByaWNlIHx8IHRoaXMubWF4UHJpY2U7XG4gICAgfVxuXG4gICAgdXBkYXRlUHJpY2VzKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLm1pblByaWNlID0gbWluO1xuICAgICAgICB0aGlzLm1heFByaWNlID0gbWF4O1xuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3NcbiAgICBzZXRTZWxlY3RlZCA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBtaW47XG4gICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gbWF4O1xuICAgIH1cblxuICAgIC8vIFJldG9ybmEgbG9zIHZhbG9yZXMgc2VsZWNjaW9uYWRvcyAocmFuZ28gZGUgcHJlY2lvcylcbiAgICBnZXRTZWxlY3RlZFJhbmdlID0gKCk6IHsgbWluOiBudW1iZXIsIG1heDogbnVtYmVyIH0gPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWluOiB0aGlzLmN1cnJlbnRNaW5QcmljZSB8fCB0aGlzLm1pblByaWNlLFxuICAgICAgICAgICAgbWF4OiB0aGlzLmN1cnJlbnRNYXhQcmljZSB8fCB0aGlzLm1heFByaWNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIEdlbmVyYSBsb3MgcGFyw6FtZXRyb3MgZGUgbGEgVVJMIGVuIGJhc2UgYWwgcmFuZ28gZGUgcHJlY2lvcyBzZWxlY2Npb25hZG9cbiAgICB0b1VybFBhcmFtcyA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmIHRoaXMuY3VycmVudE1pblByaWNlICE9PSB0aGlzLm1pblByaWNlKSB7XG4gICAgICAgICAgICBwYXJhbXMgKz0gYCZwcmljZV9taW49JHt0aGlzLmN1cnJlbnRNaW5QcmljZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1heFByaWNlICE9PSBudWxsICYmIHRoaXMuY3VycmVudE1heFByaWNlICE9PSB0aGlzLm1heFByaWNlKSB7XG4gICAgICAgICAgICBwYXJhbXMgKz0gYCZwcmljZV9tYXg9JHt0aGlzLmN1cnJlbnRNYXhQcmljZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICAvLyBSZXN0YWJsZWNlIGVsIGZpbHRybyBhIGxvcyB2YWxvcmVzIHBvciBkZWZlY3RvXG4gICAgcmVzZXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gMDtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSB0aGlzLm1heFByaWNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -143,6 +143,25 @@ var FiltersEcComponent = /** @class */ (function (_super) {
143
143
  filter.currentMinPrice = currentMin;
144
144
  }
145
145
  };
146
+ FiltersEcComponent.prototype.hasAppliedFilters = function () {
147
+ var _a, _b;
148
+ return _b = (_a = this.filters) === null || _a === void 0 ? void 0 : _a.some(function (filter) {
149
+ var _a, _b, _c;
150
+ if (((_b = (_a = filter).type) === null || _b === void 0 ? void 0 : _b.call(_a)) === 'price_range') {
151
+ var minSet = filter.currentMinPrice !== null && filter.currentMinPrice !== 0;
152
+ var maxSet = filter.currentMaxPrice !== null && filter.currentMaxPrice !== filter.maxPrice;
153
+ if (minSet || maxSet) {
154
+ return true;
155
+ }
156
+ }
157
+ return (_c = filter.data) === null || _c === void 0 ? void 0 : _c.some(function (filterElement) {
158
+ if (Array.isArray(filterElement.children)) {
159
+ return filterElement.children.some(function (child) { return child.selected; });
160
+ }
161
+ return filterElement.selected;
162
+ });
163
+ }), (_b !== null && _b !== void 0 ? _b : false);
164
+ };
146
165
  FiltersEcComponent.ctorParameters = function () { return [
147
166
  { type: Constants },
148
167
  { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
@@ -165,4 +184,4 @@ var FiltersEcComponent = /** @class */ (function (_super) {
165
184
  return FiltersEcComponent;
166
185
  }(ComponentHelper));
167
186
  export { FiltersEcComponent };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2ZpbHRlcnMtZWMvZmlsdGVycy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxlQUFlO0FBTWY7SUFBd0Msc0NBQWU7SUFPbkQsNEJBQXNCLE1BQWlCLEVBQTJCLFFBQWtCLEVBQVUsY0FBOEI7UUFBNUgsWUFDSSxpQkFBTyxTQUVWO1FBSHFCLFlBQU0sR0FBTixNQUFNLENBQVc7UUFBMkIsY0FBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLG9CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUhySCxZQUFNLEdBQVksSUFBSSxDQUFDO1FBb0M5QixtQkFBbUI7UUFDbkIsd0VBQXdFO1FBQ3hFLHFCQUFxQjtRQUNyQixNQUFNO1FBR04sV0FBSyxHQUFHLFVBQUMsWUFBWTtZQUNqQix1QkFBdUI7WUFDdkIsbUZBQW1GO1lBQ25GLDhFQUE4RTtZQUM5RSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFxQkYsY0FBUSxHQUFHO1lBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsT0FBTyxJ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T25Jbml0LCBJbmplY3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL1ByaWNlUmFuZ2VGaWx0ZXInO1xuXG4vKiogQGR5bmFtaWMgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbHRlcnMtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc2V0U2VsZWN0ZWQ7XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBwdWJsaWMgZXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIGZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vY29uc29sZS5sb2coY2hhbmdlc1snZmlsdGVycyddKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmV4cGFuZCA9ICF0aGlzLmNvbnN0cy5tb2JpbGUoKVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIGRlIHByZWNpbyBzZWxlY2Npb25hZG9zXG4gICAgdXBkYXRlUHJpY2VSYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIHByaWNlRmlsdGVyOiBQcmljZVJhbmdlRmlsdGVyKSB7XG4gICAgICAgIHByaWNlRmlsdGVyLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChwcmljZUZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kb3MgcGFyYSBhY3R1YWxpemFyIGxhIGJhcnJhIGRlbCBmaWx0cm8gcG9yIHByZWNpb1xuICAgIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGN1cnJlbnRNaW5QcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWluVmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNaW5QcmljZSA/PyBtaW5QcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKCgobWluVmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmlnaHRQZXJjZW50YWdlKGN1cnJlbnRNYXhQcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWF4VmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNYXhQcmljZSA/PyBtYXhQcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCAtICgobWF4VmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG5cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsdHJvc1wiKS5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAgIC8vICB9O1xuXG5cbiAgICBjbG9zZSA9IChhY2NvcmRpb25faWQpID0+IHtcbiAgICAgICAgLy8gdGhpcy5jb25zdHMubW9iaWxlKClcbiAgICAgICAgLy8gICAgICA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2NvcmRpb25FeGFtcGxlXCIpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAvLyAgICAgIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhY2NvcmRpb25faWQpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIHVuaXF1ZVNlbGVjdGlvbihmaWx0ZXIsIGZpbHRlckNoaWxkKSB7XG4gICAgICAgIC8vIEJ1c2NhciBzaSBoYXkgdW4gZmlsdHJvIGRlIHRpcG8gUHJpY2VSYW5nZUZpbHRlciBlbiBsYSBsaXN0YSBkZSBmaWx0cm9zXG4gICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSB0aGlzLmZpbHRlcnMuZmluZChmID0+IGYgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcblxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xuICAgICAgICAgICAgcHJpY2VSYW5nZUZpbHRlci5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIGZpbHRlci5kYXRhLmZvckVhY2goZmlsdGVyRWxlbWVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChmaWx0ZXJDaGlsZHJlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNjcm9sbFVwID0gKCkgPT4ge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZG9uZGVhIGFsIG3Dumx0aXBsbyBkZSAnc3RlcCcgcmVzcGV0YW5kbyBlbCByZWRvbmRlbyBlbnRlcm86XG4gICAgICogLSBNw61uaW1vOiByZWRvbmRlYSBoYWNpYSBhYmFqby5cbiAgICAgKiAtIE3DoXhpbW86IHJlZG9uZGVhIGhhY2lhIGFycmliYS5cbiAgICAgKi9cbiAgICByb3VuZFRvTmVhcmVzdCh2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHR5cGU6ICdtaW4nIHwgJ21heCcsIGZpbHRlcjogYW55KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ21heCcgJiYgcm91bmRlZCA8IGZpbHRlci5tYXhQcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguY2VpbCh2YWx1ZSAvIHN0ZXApICogc3RlcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWN0dWFsaXphIGxvcyB2YWxvcmVzIGRlbCBmaWx0cm8gcGVybWl0aWVuZG8gcXVlIHVuIGlucHV0IGVtcHVqZSBhbCBvdHJvLlxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlclByaWNlcyh0eXBlOiAnbWluJyB8ICdtYXgnLCB2YWx1ZTogbnVtYmVyLCBmaWx0ZXI6IGFueSwgcHJpY2VHYXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCBnbG9iYWxNaW4gPSBmaWx0ZXIubWluUHJpY2UgPz8gMDtcbiAgICAgICAgY29uc3QgZ2xvYmFsTWF4ID0gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgICAgIGxldCBjdXJyZW50TWluID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA/PyBnbG9iYWxNaW47XG4gICAgICAgIGxldCBjdXJyZW50TWF4ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA/PyBnbG9iYWxNYXg7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICdtaW4nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWluID0gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIGdsb2JhbE1pbiksIGdsb2JhbE1heCk7XG4gICAgICAgICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01heENhbmRpZGF0ZSA9IG5ld01pbiArIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNYXhDYW5kaWRhdGUgPD0gZ2xvYmFsTWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNYXggPSBuZXdNYXhDYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWluID0gZ2xvYmFsTWF4IC0gcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA9IG5ld01pbjtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPSBjdXJyZW50TWF4O1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtYXgnKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWF4ID0gTWF0aC5tYXgoTWF0aC5taW4odmFsdWUsIGdsb2JhbE1heCksIGdsb2JhbE1pbik7XG4gICAgICAgICAgICBpZiAobmV3TWF4IC0gcHJpY2VHYXAgPCBjdXJyZW50TWluKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01pbkNhbmRpZGF0ZSA9IG5ld01heCAtIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNaW5DYW5kaWRhdGUgPj0gZ2xvYmFsTWluKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNaW4gPSBuZXdNaW5DYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWF4ID0gZ2xvYmFsTWluICsgcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IG5ld01heDtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2ZpbHRlcnMtZWMvZmlsdGVycy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxlQUFlO0FBTWY7SUFBd0Msc0NBQWU7SUFPbkQsNEJBQXNCLE1BQWlCLEVBQTJCLFFBQWtCLEVBQVUsY0FBOEI7UUFBNUgsWUFDSSxpQkFBTyxTQUVWO1FBSHFCLFlBQU0sR0FBTixNQUFNLENBQVc7UUFBMkIsY0FBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLG9CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUhySCxZQUFNLEdBQVksSUFBSSxDQUFDO1FBb0M5QixtQkFBbUI7UUFDbkIsd0VBQXdFO1FBQ3hFLHFCQUFxQjtRQUNyQixNQUFNO1FBR04sV0FBSyxHQUFHLFVBQUMsWUFBWTtZQUNqQix1QkFBdUI7WUFDdkIsbUZBQW1GO1lBQ25GLDhFQUE4RTtZQUM5RSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFxQkYsY0FBUSxHQUFHO1lBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsT0FBTyxJ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Q2Y7YUFDSjtZQUVELGFBQU8sTUFBTSxDQUFDLElBQUksMENBQUUsSUFBSSxDQUFDLFVBQUMsYUFBa0I7Z0JBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ3ZDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBQyxLQUFVLElBQUssT0FBQSxLQUFLLENBQUMsUUFBUSxFQUFkLENBQWMsQ0FBQyxDQUFDO2lCQUN0RTtnQkFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUM7WUFDbEMsQ0FBQyxFQUFFO1FBQ1AsQ0FBQyx3Q0FBSyxLQUFLLEVBQUM7SUFDaEIsQ0FBQzs7Z0JBNUk2QixTQUFTO2dCQUFxQyxRQUFRLHVCQUExQyxNQUFNLFNBQUMsUUFBUTtnQkFBcUQsY0FBYzs7SUFMbkg7UUFBUixLQUFLLEVBQUU7MkRBQWE7SUFDWjtRQUFSLEtBQUssRUFBRTt1REFBUztJQUhSLGtCQUFrQjtRQUw5QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFlBQTBDOztTQUU3QyxDQUFDO1FBUTRDLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO09BUGpELGtCQUFrQixDQXFKOUI7SUFBRCx5QkFBQztDQUFBLEFBckpELENBQXdDLGVBQWUsR0FxSnREO1NBckpZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBJbmplY3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL1ByaWNlUmFuZ2VGaWx0ZXInO1xuXG4vKiogQGR5bmFtaWMgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbHRlcnMtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc2V0U2VsZWN0ZWQ7XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBwdWJsaWMgZXhwYW5kOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIGZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vY29uc29sZS5sb2coY2hhbmdlc1snZmlsdGVycyddKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmV4cGFuZCA9ICF0aGlzLmNvbnN0cy5tb2JpbGUoKVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIGRlIHByZWNpbyBzZWxlY2Npb25hZG9zXG4gICAgdXBkYXRlUHJpY2VSYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIHByaWNlRmlsdGVyOiBQcmljZVJhbmdlRmlsdGVyKSB7XG4gICAgICAgIHByaWNlRmlsdGVyLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChwcmljZUZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kb3MgcGFyYSBhY3R1YWxpemFyIGxhIGJhcnJhIGRlbCBmaWx0cm8gcG9yIHByZWNpb1xuICAgIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGN1cnJlbnRNaW5QcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWluVmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNaW5QcmljZSA/PyBtaW5QcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKCgobWluVmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmlnaHRQZXJjZW50YWdlKGN1cnJlbnRNYXhQcmljZTogbnVtYmVyLCBtaW5QcmljZTogbnVtYmVyLCBtYXhQcmljZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWF4VmFsID0gTWF0aC5tYXgobWluUHJpY2UsIE1hdGgubWluKGN1cnJlbnRNYXhQcmljZSA/PyBtYXhQcmljZSwgbWF4UHJpY2UpKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCAtICgobWF4VmFsIC0gbWluUHJpY2UpIC8gKG1heFByaWNlIC0gbWluUHJpY2UpKSAqIDEwMCwgMTAwKSk7XG4gICAgfVxuXG5cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsdHJvc1wiKS5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAgIC8vICB9O1xuXG5cbiAgICBjbG9zZSA9IChhY2NvcmRpb25faWQpID0+IHtcbiAgICAgICAgLy8gdGhpcy5jb25zdHMubW9iaWxlKClcbiAgICAgICAgLy8gICAgICA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2NvcmRpb25FeGFtcGxlXCIpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAvLyAgICAgIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhY2NvcmRpb25faWQpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIHVuaXF1ZVNlbGVjdGlvbihmaWx0ZXIsIGZpbHRlckNoaWxkKSB7XG4gICAgICAgIC8vIEJ1c2NhciBzaSBoYXkgdW4gZmlsdHJvIGRlIHRpcG8gUHJpY2VSYW5nZUZpbHRlciBlbiBsYSBsaXN0YSBkZSBmaWx0cm9zXG4gICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSB0aGlzLmZpbHRlcnMuZmluZChmID0+IGYgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcblxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xuICAgICAgICAgICAgcHJpY2VSYW5nZUZpbHRlci5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIGZpbHRlci5kYXRhLmZvckVhY2goZmlsdGVyRWxlbWVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChmaWx0ZXJDaGlsZHJlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNjcm9sbFVwID0gKCkgPT4ge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZG9uZGVhIGFsIG3Dumx0aXBsbyBkZSAnc3RlcCcgcmVzcGV0YW5kbyBlbCByZWRvbmRlbyBlbnRlcm86XG4gICAgICogLSBNw61uaW1vOiByZWRvbmRlYSBoYWNpYSBhYmFqby5cbiAgICAgKiAtIE3DoXhpbW86IHJlZG9uZGVhIGhhY2lhIGFycmliYS5cbiAgICAgKi9cbiAgICByb3VuZFRvTmVhcmVzdCh2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHR5cGU6ICdtaW4nIHwgJ21heCcsIGZpbHRlcjogYW55KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ21heCcgJiYgcm91bmRlZCA8IGZpbHRlci5tYXhQcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguY2VpbCh2YWx1ZSAvIHN0ZXApICogc3RlcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xuICAgICAgICAgICAgcm91bmRlZCA9IE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWN0dWFsaXphIGxvcyB2YWxvcmVzIGRlbCBmaWx0cm8gcGVybWl0aWVuZG8gcXVlIHVuIGlucHV0IGVtcHVqZSBhbCBvdHJvLlxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlclByaWNlcyh0eXBlOiAnbWluJyB8ICdtYXgnLCB2YWx1ZTogbnVtYmVyLCBmaWx0ZXI6IGFueSwgcHJpY2VHYXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCBnbG9iYWxNaW4gPSBmaWx0ZXIubWluUHJpY2UgPz8gMDtcbiAgICAgICAgY29uc3QgZ2xvYmFsTWF4ID0gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgICAgIGxldCBjdXJyZW50TWluID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA/PyBnbG9iYWxNaW47XG4gICAgICAgIGxldCBjdXJyZW50TWF4ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA/PyBnbG9iYWxNYXg7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICdtaW4nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWluID0gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIGdsb2JhbE1pbiksIGdsb2JhbE1heCk7XG4gICAgICAgICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01heENhbmRpZGF0ZSA9IG5ld01pbiArIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNYXhDYW5kaWRhdGUgPD0gZ2xvYmFsTWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNYXggPSBuZXdNYXhDYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWluID0gZ2xvYmFsTWF4IC0gcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA9IG5ld01pbjtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPSBjdXJyZW50TWF4O1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtYXgnKSB7XG4gICAgICAgICAgICBsZXQgbmV3TWF4ID0gTWF0aC5tYXgoTWF0aC5taW4odmFsdWUsIGdsb2JhbE1heCksIGdsb2JhbE1pbik7XG4gICAgICAgICAgICBpZiAobmV3TWF4IC0gcHJpY2VHYXAgPCBjdXJyZW50TWluKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld01pbkNhbmRpZGF0ZSA9IG5ld01heCAtIHByaWNlR2FwO1xuICAgICAgICAgICAgICAgIGlmIChuZXdNaW5DYW5kaWRhdGUgPj0gZ2xvYmFsTWluKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRNaW4gPSBuZXdNaW5DYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TWF4ID0gZ2xvYmFsTWluICsgcHJpY2VHYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IG5ld01heDtcbiAgICAgICAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzQXBwbGllZEZpbHRlcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcnM/LnNvbWUoKGZpbHRlcjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGU/LigpID09PSAncHJpY2VfcmFuZ2UnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWluU2V0ID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSAhPT0gbnVsbCAmJiBmaWx0ZXIuY3VycmVudE1pblByaWNlICE9PSAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFNldCA9IGZpbHRlci5jdXJyZW50TWF4UHJpY2UgIT09IG51bGwgJiYgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPT0gZmlsdGVyLm1heFByaWNlO1xuICAgICAgICAgICAgICAgIGlmIChtaW5TZXQgfHwgbWF4U2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlci5kYXRhPy5zb21lKChmaWx0ZXJFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJFbGVtZW50LmNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyRWxlbWVudC5jaGlsZHJlbi5zb21lKChjaGlsZDogYW55KSA9PiBjaGlsZC5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJFbGVtZW50LnNlbGVjdGVkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pID8/IGZhbHNlO1xuICAgIH1cblxufVxuIl19
@@ -107,8 +107,9 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
107
107
  * @param changeAmount cantidad que se quiere restar.
108
108
  * @param forceMultiple si es true, obliga a que el resultado sea múltiplo de changeAmount.
109
109
  */
110
- _this.less = function (changeAmount, forceMultiple) {
110
+ _this.less = function (changeAmount, minimum, forceMultiple) {
111
111
  if (changeAmount === void 0) { changeAmount = 1; }
112
+ if (minimum === void 0) { minimum = 1; }
112
113
  if (forceMultiple === void 0) { forceMultiple = false; }
113
114
  var newQuantity = _this.quantity - changeAmount;
114
115
  if (forceMultiple && changeAmount > 0) {
@@ -122,9 +123,12 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
122
123
  newQuantity = changeAmount;
123
124
  }
124
125
  }
125
- if (newQuantity >= 1) {
126
+ if (newQuantity >= minimum) {
126
127
  _this.quantity = newQuantity;
127
128
  }
129
+ else {
130
+ _this.quantity = minimum;
131
+ }
128
132
  };
129
133
  _this.showContact = function () { return _this.show = true; };
130
134
  _this.hideContact = function () { return _this.show = false; };
@@ -218,4 +222,4 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
218
222
  return ProductDetailEcComponent;
219
223
  }(ComponentHelper));
220
224
  export { ProductDetailEcComponent };
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFrQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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QUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQW1LcEM7SUFBRCwrQkFBQztDQUFBLEFBbktELENBQThDLGVBQWUsR0FtSzVEO1NBbktZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICB9XG5cbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSBzdW1hci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBudW1iZXIsIGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7ICAgICAgICBcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguY2VpbChuZXdRdWFudGl0eSAvIGNoYW5nZUFtb3VudCkgKiBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdG9jayB8fCBuZXdRdWFudGl0eSA8PSBzdG9jaykge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSByZXN0YW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHJlc3Rhci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIGxlc3MgPSAoY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHsgICAgICAgIFxuICAgICAgICBsZXQgbmV3UXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5IC0gY2hhbmdlQW1vdW50O1xuXG4gICAgICAgIGlmIChmb3JjZU11bHRpcGxlICYmIGNoYW5nZUFtb3VudCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnF1YW50aXR5IDw9IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguZmxvb3IobmV3UXVhbnRpdHkgLyBjaGFuZ2VBbW91bnQpICogY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3UXVhbnRpdHkgPCBjaGFuZ2VBbW91bnQpIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdRdWFudGl0eSA+PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gbmV3UXVhbnRpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcbiAgICB9XG59XG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFrQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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Q0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBaEJqQyx3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxZQUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQXFLcEM7SUFBRCwrQkFBQztDQUFBLEFBcktELENBQThDLGVBQWUsR0FxSzVEO1NBcktZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICB9XG5cbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSBzdW1hci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBudW1iZXIsIGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7ICAgICAgICBcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguY2VpbChuZXdRdWFudGl0eSAvIGNoYW5nZUFtb3VudCkgKiBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdG9jayB8fCBuZXdRdWFudGl0eSA8PSBzdG9jaykge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSByZXN0YW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHJlc3Rhci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIGxlc3MgPSAoY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBtaW5pbXVtOiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8PSBjaGFuZ2VBbW91bnQpIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLmZsb29yKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3UXVhbnRpdHkgPj0gbWluaW11bSkge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG1pbmltdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcbiAgICB9XG59XG4iXX0=
@@ -1335,10 +1335,10 @@ class PriceRangeFilter extends Filter {
1335
1335
  // Genera los parámetros de la URL en base al rango de precios seleccionado
1336
1336
  this.toUrlParams = () => {
1337
1337
  let params = '';
1338
- if (this.currentMinPrice !== null) {
1338
+ if (this.currentMinPrice !== null && this.currentMinPrice !== this.minPrice) {
1339
1339
  params += `&price_min=${this.currentMinPrice}`;
1340
1340
  }
1341
- if (this.currentMaxPrice !== null) {
1341
+ if (this.currentMaxPrice !== null && this.currentMaxPrice !== this.maxPrice) {
1342
1342
  params += `&price_max=${this.currentMaxPrice}`;
1343
1343
  }
1344
1344
  return params;
@@ -7979,6 +7979,25 @@ let FiltersEcComponent = class FiltersEcComponent extends ComponentHelper {
7979
7979
  filter.currentMinPrice = currentMin;
7980
7980
  }
7981
7981
  }
7982
+ hasAppliedFilters() {
7983
+ var _a, _b;
7984
+ return _b = (_a = this.filters) === null || _a === void 0 ? void 0 : _a.some((filter) => {
7985
+ var _a, _b, _c;
7986
+ if (((_b = (_a = filter).type) === null || _b === void 0 ? void 0 : _b.call(_a)) === 'price_range') {
7987
+ const minSet = filter.currentMinPrice !== null && filter.currentMinPrice !== 0;
7988
+ const maxSet = filter.currentMaxPrice !== null && filter.currentMaxPrice !== filter.maxPrice;
7989
+ if (minSet || maxSet) {
7990
+ return true;
7991
+ }
7992
+ }
7993
+ return (_c = filter.data) === null || _c === void 0 ? void 0 : _c.some((filterElement) => {
7994
+ if (Array.isArray(filterElement.children)) {
7995
+ return filterElement.children.some((child) => child.selected);
7996
+ }
7997
+ return filterElement.selected;
7998
+ });
7999
+ }), (_b !== null && _b !== void 0 ? _b : false);
8000
+ }
7982
8001
  };
7983
8002
  FiltersEcComponent.ctorParameters = () => [
7984
8003
  { type: Constants },
@@ -9135,7 +9154,7 @@ let ProductDetailEcComponent = class ProductDetailEcComponent extends ComponentH
9135
9154
  * @param changeAmount cantidad que se quiere restar.
9136
9155
  * @param forceMultiple si es true, obliga a que el resultado sea múltiplo de changeAmount.
9137
9156
  */
9138
- this.less = (changeAmount = 1, forceMultiple = false) => {
9157
+ this.less = (changeAmount = 1, minimum = 1, forceMultiple = false) => {
9139
9158
  let newQuantity = this.quantity - changeAmount;
9140
9159
  if (forceMultiple && changeAmount > 0) {
9141
9160
  if (this.quantity <= changeAmount) {
@@ -9148,9 +9167,12 @@ let ProductDetailEcComponent = class ProductDetailEcComponent extends ComponentH
9148
9167
  newQuantity = changeAmount;
9149
9168
  }
9150
9169
  }
9151
- if (newQuantity >= 1) {
9170
+ if (newQuantity >= minimum) {
9152
9171
  this.quantity = newQuantity;
9153
9172
  }
9173
+ else {
9174
+ this.quantity = minimum;
9175
+ }
9154
9176
  };
9155
9177
  this.showContact = () => this.show = true;
9156
9178
  this.hideContact = () => this.show = false;