@symphony-talent/component-library 3.41.0 → 3.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,7 +87,10 @@ export class AdvertiseModalComponent {
87
87
  this.closeButtonClicked.emit();
88
88
  }
89
89
  onPostingBoardChange(selectedBoard) {
90
- this.updateOrderSummary();
90
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
91
+ if (selectedJobBoards > 0) {
92
+ this.updateOrderSummary();
93
+ }
91
94
  }
92
95
  addLineItem(invoiceAreaIndex, selectedBoard) {
93
96
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
@@ -188,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
188
191
  }], keywordSearchChange: [{
189
192
  type: Output
190
193
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFB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LENBQUMsYUFBYSxFQUFFO29CQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDekI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQS9MVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkN6QnBDLHF1TEFvTEE7MkZEM0phLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBSzNCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnksXG4gICAgfTsgXG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdKb2IgQm9hcmRzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0R1cmF0aW9uIEpvYiBCb2FyZHMsIFN1YnRvdGFsIFBlciBKb2I6JyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLW9yZGVyLXJldmlldz48L3N5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gICAgPGRpdiBzZngtcmlnaHQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGFnZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGJvdW5jZS03XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHN5bXBob255LWgyPllvdXIgb3JkZXIgaXMgY29tcGxldGU8L3N5bXBob255LWgyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Y2Nlc3MtaWNvbi1zcGFjaW5nXCI+XG4gICAgICAgICAgICAgIDxzeW1waG9ueS1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3NpLWNvbmZpcm1hdGlvbidcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiJyMwMEQ1NkInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInNTBweCdcIlxuICAgICAgICAgICAgICA+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFB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O3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnksXG4gICAgfTsgXG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdKb2IgQm9hcmRzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0R1cmF0aW9uIEpvYiBCb2FyZHMsIFN1YnRvdGFsIFBlciBKb2I6JyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLW9yZGVyLXJldmlldz48L3N5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gICAgPGRpdiBzZngtcmlnaHQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGFnZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGJvdW5jZS03XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHN5bXBob255LWgyPllvdXIgb3JkZXIgaXMgY29tcGxldGU8L3N5bXBob255LWgyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Y2Nlc3MtaWNvbi1zcGFjaW5nXCI+XG4gICAgICAgICAgICAgIDxzeW1waG9ueS1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3NpLWNvbmZpcm1hdGlvbidcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiJyMwMEQ1NkInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInNTBweCdcIlxuICAgICAgICAgICAgICA+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
@@ -87,7 +87,10 @@ export class AdvertiseModalComponent {
87
87
  this.closeButtonClicked.emit();
88
88
  }
89
89
  onPostingBoardChange(selectedBoard) {
90
- this.updateOrderSummary();
90
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
91
+ if (selectedJobBoards > 0) {
92
+ this.updateOrderSummary();
93
+ }
91
94
  }
92
95
  addLineItem(invoiceAreaIndex, selectedBoard) {
93
96
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
@@ -188,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
188
191
  }], keywordSearchChange: [{
189
192
  type: Output
190
193
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixR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dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnksXG4gICAgfTsgXG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdKb2IgQm9hcmRzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0R1cmF0aW9uIEpvYiBCb2FyZHMsIFN1YnRvdGFsIFBlciBKb2I6JyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLW9yZGVyLXJldmlldz48L3N5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gICAgPGRpdiBzZngtcmlnaHQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGFnZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGJvdW5jZS03XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHN5bXBob255LWgyPllvdXIgb3JkZXIgaXMgY29tcGxldGU8L3N5bXBob255LWgyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Y2Nlc3MtaWNvbi1zcGFjaW5nXCI+XG4gICAgICAgICAgICAgIDxzeW1waG9ueS1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3NpLWNvbmZpcm1hdGlvbidcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiJyMwMEQ1NkInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInNTBweCdcIlxuICAgICAgICAgICAgICA+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ25ELENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUN0QixDQUFDLE1BQU0sQ0FBQztRQUNULElBQUksaUJBQWlCLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixLQUFLLEVBQUUsOENBQThDO1lBQ3JELE9BQU8sRUFDTCxpRUFBaUU7WUFDbkUsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixZQUFZLEVBQUUsZUFBZTtTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixLQUFLLEVBQUUsWUFBWTtZQUNuQixZQUFZLEVBQUUsRUFBRTtZQUNoQixLQUFLLEVBQUUsRUFBUztTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLGVBQWUsR0FBRyxlQUFlLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNsRSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xELGVBQWUsR0FBRyxlQUFlLEdBQUcsT0FBTyxDQUFDO2FBQzdDO1lBQ0QsU0FBUyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxXQUFXLEVBQUUsZUFBZTtZQUM1QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLE9BQU87WUFDakQsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxPQUFPO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQixDQUFDLGFBQTBDO1FBQzdELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUNuRCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQyxNQUFNLENBQUM7UUFDVCxJQUFJLGlCQUFpQixHQUFHLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxXQUFXLENBQ1QsZ0JBQXdCLEVBQ3hCLGFBQTBDO1FBRTFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUM5RCxRQUFRLEVBQUUsYUFBYSxDQUFDLFNBQVM7WUFDakMsU0FBUyxFQUFFLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQseUJBQXlCLENBQUMsZ0JBQXdCO1FBQ2hELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN0RSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pJLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDMUYsT0FBTyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDOUQsQ0FBQztJQUVELG1CQUFtQixDQUFDLG9CQUE0QixFQUFFLGlCQUF5QjtRQUN6RSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDdkUsTUFBTSxDQUFDO1FBRVYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGlCQUFpQixjQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUM3QixZQUFZLGlCQUFpQixHQUFHLG1CQUFtQixPQUFPLENBQUM7UUFFM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUc7WUFDeEIsS0FBSyxFQUFFLGVBQWU7WUFDdEIsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTLEVBQUUsSUFBSSxvQkFBb0IsR0FBRyxpQkFBaUIsRUFBRTtTQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxZQUFZO1lBQ25CLFlBQVksRUFBRTtnQkFDWjtvQkFDRSxTQUFTLEVBQUUsRUFBRTtvQkFDYixLQUFLLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLHdDQUF3Qzt3QkFDbEQsU0FBUyxFQUFFLEVBQUU7cUJBQ2Q7b0JBQ0QsUUFBUSxFQUFFO3dCQUNSLFFBQVEsRUFBRSw4QkFBOEI7d0JBQ3hDLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxRQUFRLGFBQWE7cUJBQzVDO29CQUNELGVBQWUsRUFBRSxNQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQzdCLGlCQUFpQjtpQkFDbEI7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsUUFBUSxFQUFFO3dCQUNSLFFBQVEsRUFBRSxxQkFBcUI7d0JBQy9CLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxRQUFRLGFBQWE7cUJBQzVDO29CQUNELEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsd0NBQXdDO3dCQUNsRCxTQUFTLEVBQUUsRUFBRTtxQkFDZDtvQkFDRCxlQUFlLEVBQUUsTUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUM3QixpQkFBaUI7aUJBQ2xCO2FBQ0Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLGVBQWU7YUFDdkI7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFO29CQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDekI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQXBNVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkN6QnBDLHF1TEFvTEE7MkZEM0phLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBSzNCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnksXG4gICAgfTsgXG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdKb2IgQm9hcmRzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0R1cmF0aW9uIEpvYiBCb2FyZHMsIFN1YnRvdGFsIFBlciBKb2I6JyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLW9yZGVyLXJldmlldz48L3N5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gICAgPGRpdiBzZngtcmlnaHQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGFnZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGJvdW5jZS03XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHN5bXBob255LWgyPllvdXIgb3JkZXIgaXMgY29tcGxldGU8L3N5bXBob255LWgyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Y2Nlc3MtaWNvbi1zcGFjaW5nXCI+XG4gICAgICAgICAgICAgIDxzeW1waG9ueS1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3NpLWNvbmZpcm1hdGlvbidcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiJyMwMEQ1NkInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInNTBweCdcIlxuICAgICAgICAgICAgICA+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
@@ -5163,7 +5163,10 @@ class AdvertiseModalComponent {
5163
5163
  this.closeButtonClicked.emit();
5164
5164
  }
5165
5165
  onPostingBoardChange(selectedBoard) {
5166
- this.updateOrderSummary();
5166
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
5167
+ if (selectedJobBoards > 0) {
5168
+ this.updateOrderSummary();
5169
+ }
5167
5170
  }
5168
5171
  addLineItem(invoiceAreaIndex, selectedBoard) {
5169
5172
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({