monkey-style-guide 2.0.122 → 2.0.123

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.
@@ -75,7 +75,9 @@ export class MonkeyStyleGuideSnackbarService {
75
75
  this.timeoutBlinkTab = null;
76
76
  this.snackbarElements = new SnackbarElements();
77
77
  this.locationRouter.onUrlChange(() => {
78
- this.closeAll();
78
+ if (this.config && !this.config?.closeOnUrlChange) {
79
+ this.closeAll();
80
+ }
79
81
  });
80
82
  }
81
83
  stopBlinking() {
@@ -214,4 +216,4 @@ MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion
214
216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService, decorators: [{
215
217
  type: Injectable
216
218
  }], ctorParameters: function () { return [{ type: i1.Location }]; } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRIQXhMVSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gIGNvbmZpcm0/OiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgYWN0aW9uOiBGdW5jdGlvbjtcclxuICB9O1xyXG4gIGNhbmNlbD86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTbmFja2JhckNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICB0eXBlPzogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHwgJ2xvYWRpbmcnO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhvcml6b250YWxQb3NpdGlvbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcclxuICBhY3Rpb24/OiBTbmFja2JhckFjdGlvbkNvbmZpZztcclxuICBrZWVwT3Blbj86IGJvb2xlYW47XHJcbiAgYmxpbmtUYWI/OiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBTbmFja2JhckVsZW1lbnRzIHtcclxuICBlbGVtZW50czoge1xyXG4gICAgZWxlbWVudD86IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaW50ZXJ2YWw/OiBhbnk7XHJcbiAgfVtdID0gW107XHJcbiAgbGFzdFNjcm9sbFRvcDogbnVtYmVyID0gMTU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYWRkKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyLCBjYWxsYmFjazogRnVuY3Rpb24sIHZlcnRpY2FsUG9zaXRpb246IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudHMgJiYgdGhpcy5lbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB9XHJcbiAgICBlbGVtZW50LnN0eWxlW3ZlcnRpY2FsUG9zaXRpb25dID0gYCR7dGhpcy5sYXN0U2Nyb2xsVG9wfXB4YDtcclxuXHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xyXG4gICAgICBlbGVtZW50OiBlbGVtZW50LFxyXG4gICAgICBpbnRlcnZhbDogaW50ZXJ2YWwsXHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSB0aGlzLmxhc3RTY3JvbGxUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50LmlkKS5vZmZzZXRIZWlnaHQgKyAxNTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShyZW1vdmVJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCA9PT0gcmVtb3ZlSWQpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50cyA9XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5maWx0ZXIoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkICE9PSBlbGVtZW50LmVsZW1lbnQuaWQpIHx8IFtdO1xyXG4gICAgICBlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lID0gYCR7ZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZX0gZmFkZS1vdXQgaGlkZWA7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9XHJcbiAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgLSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocmVtb3ZlSWQpLm9mZnNldEhlaWdodCArIDE1KTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnOiBTbmFja2JhckNvbmZpZztcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnRzOiBTbmFja2JhckVsZW1lbnRzO1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbGRUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGltZW91dEJsaW5rVGFiID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvblJvdXRlcjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cyA9IG5ldyBTbmFja2JhckVsZW1lbnRzKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uUm91dGVyLm9uVXJsQ2hhbmdlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMkJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUNoQixJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NEhBMUxVLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5jb25zdCBpY29ucyA9IHtcclxuICBzdWNjZXNzOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjdcIiBmaWxsPVwiIzAwODc1QVwiLz5cclxuICAgICAgPHBhdGggZD1cIk0xMSA1TDcgMTFMNCA4LjI3MjczXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8L3N2Zz5gLFxyXG4gIHdhcm5pbmc6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk02Ljg1NDMzIDIuNjM4MTlMMS4xNzk1NyAxMi4wMTE0QzEuMDYyNTcgMTIuMjExOCAxLjAwMDY2IDEyLjQzOTEgMS4wMDAwMSAxMi42NzA2QzAuOTk5MzUgMTIuOTAyMSAxLjA1OTk3IDEzLjEyOTcgMS4xNzU4MyAxMy4zMzA4QzEuMjkxNyAxMy41MzIgMS40NTg3NyAxMy42OTk1IDEuNjYwNDIgMTMuODE2OUMxLjg2MjA3IDEzLjkzNDMgMi4wOTEyOCAxMy45OTc1IDIuMzI1MjQgMTRIMTMuNjc0OEMxMy45MDg3IDEzLjk5NzUgMTQuMTM3OSAxMy45MzQzIDE0LjMzOTYgMTMuODE2OUMxNC41NDEyIDEzLjY5OTUgMTQuNzA4MyAxMy41MzIgMTQuODI0MiAxMy4zMzA4QzE0Ljk0IDEzLjEyOTcgMTUuMDAwNiAxMi45MDIxIDE1IDEyLjY3MDZDMTQuOTk5MyAxMi40MzkxIDE0LjkzNzQgMTIuMjExOCAxNC44MjA0IDEyLjAxMTRMOS4xNDU2NyAyLjYzODE5QzkuMDI2MjMgMi40NDMzNyA4Ljg1ODA2IDIuMjgyMyA4LjY1NzM4IDIuMTcwNTFDOC40NTY3MSAyLjA1ODczIDguMjMwMyAyIDggMkM3Ljc2OTcgMiA3LjU0MzI5IDIuMDU4NzMgNy4zNDI2MiAyLjE3MDUxQzcuMTQxOTQgMi4yODIzIDYuOTczNzcgMi40NDMzNyA2Ljg1NDMzIDIuNjM4MTlaXCIgZmlsbD1cIiNFRkEzMEVcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA2VjEwXCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDEySDguMDA2NjdcIiBzdHJva2U9XCIjMDAwRjFFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBlcnJvcjogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8cGF0aCBkPVwiTTUuMTAyIDFIMTAuODk4TDE1IDUuMTAyVjEwLjg5OEwxMC44OTggMTVINS4xMDJMMSAxMC44OThWNS4xMDJMNS4xMDIgMVpcIiBmaWxsPVwiI0ZBMzgzOFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDUuMzMzMzNWNy45OTk5OVwiIHN0cm9rZT1cIiNGNUZBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMC42NjY3SDguMDA2NjdcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBxdWVzdGlvbjogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8cGF0aCBkPVwiTTguMDAwMDQgMTQuNjY2OEMxMS42ODE5IDE0LjY2NjggMTQuNjY2NyAxMS42ODIxIDE0LjY2NjcgOC4wMDAxNkMxNC42NjY3IDQuMzE4MjYgMTEuNjgxOSAxLjMzMzUgOC4wMDAwNCAxLjMzMzVDNC4zMTgxNCAxLjMzMzUgMS4zMzMzNyA0LjMxODI2IDEuMzMzMzcgOC4wMDAxNkMxLjMzMzM3IDExLjY4MjEgNC4zMTgxNCAxNC42NjY4IDguMDAwMDQgMTQuNjY2OFpcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTYuMDU5OTQgNS45OTk4OUM2LjIxNjY3IDUuNTU0MzQgNi41MjYwNCA1LjE3ODYzIDYuOTMzMjQgNC45MzkzMUM3LjM0MDQ0IDQuNyA3LjgxOTIgNC42MTI1MiA4LjI4NDcyIDQuNjkyMzdDOC43NTAyNCA0Ljc3MjIyIDkuMTcyNDggNS4wMTQyNCA5LjQ3NjY1IDUuMzc1NThDOS43ODA4MyA1LjczNjkxIDkuOTQ3MzEgNi4xOTQyNCA5Ljk0NjYgNi42NjY1NkM5Ljk0NjYgNy45OTk4OSA3Ljk0NjYgOC42NjY1NiA3Ljk0NjYgOC42NjY1NlY5LjQ5OTg5XCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDExLjMzMzVIOC4wMDY2N1wiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8L3N2Zz5gLFxyXG4gIGxvYWRpbmc6IGA8c3ZnIGNsYXNzPVwiY2lyY3VsYXItbG9hZGVyXCIgdmlld0JveD1cIjI1IDI1IDUwIDUwXCIgPlxyXG4gICAgPGNpcmNsZSBjbGFzcz1cImxvYWRlci1wYXRoXCIgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiMjBcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM1NzU3NTdcIiBzdHJva2Utd2lkdGg9XCI1XCIgLz5cclxuICA8L3N2Zz5gLFxyXG59O1xyXG5cclxuaW50ZXJmYWNlIFNuYWNrYmFyQWN0aW9uQ29uZmlnIHtcclxuICBzdHlsZTogJ2xpbmsnIHwgJ2J1dHRvbic7XHJcbiAgY29uZmlybT86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbiAgY2FuY2VsPzoge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGFjdGlvbjogRnVuY3Rpb247XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNuYWNrYmFyQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGhlbWUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdxdWVzdGlvbicgfCAnbG9hZGluZyc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgaG9yaXpvbnRhbFBvc2l0aW9uPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIHZlcnRpY2FsUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nO1xyXG4gIGFjdGlvbj86IFNuYWNrYmFyQWN0aW9uQ29uZmlnO1xyXG4gIGtlZXBPcGVuPzogYm9vbGVhbjtcclxuICBibGlua1RhYj86IGJvb2xlYW47XHJcbiAgY2xvc2VPblVybENoYW5nZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNsYXNzIFNuYWNrYmFyRWxlbWVudHMge1xyXG4gIGVsZW1lbnRzOiB7XHJcbiAgICBlbGVtZW50PzogSFRNTERpdkVsZW1lbnQ7XHJcbiAgICBpbnRlcnZhbD86IGFueTtcclxuICB9W10gPSBbXTtcclxuICBsYXN0U2Nyb2xsVG9wOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBhZGQoZWxlbWVudDogSFRNTERpdkVsZW1lbnQsIGR1cmF0aW9uOiBudW1iZXIsIGNhbGxiYWNrOiBGdW5jdGlvbiwgdmVydGljYWxQb3NpdGlvbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50cyAmJiB0aGlzLmVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIH1cclxuICAgIGVsZW1lbnQuc3R5bGVbdmVydGljYWxQb3NpdGlvbl0gPSBgJHt0aGlzLmxhc3RTY3JvbGxUb3B9cHhgO1xyXG5cclxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBjYWxsYmFjaygpO1xyXG4gICAgfSwgZHVyYXRpb24pO1xyXG5cclxuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XHJcbiAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXHJcbiAgICAgIGludGVydmFsOiBpbnRlcnZhbCxcclxuICAgIH0pO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcclxuICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9IHRoaXMubGFzdFNjcm9sbFRvcCArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQuaWQpLm9mZnNldEhlaWdodCArIDE1O1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHJlbW92ZUlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmZpbmQoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkID09PSByZW1vdmVJZCk7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRzID1cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLmZpbHRlcigoeyBlbGVtZW50OiB7IGlkIH0gfSkgPT4gaWQgIT09IGVsZW1lbnQuZWxlbWVudC5pZCkgfHwgW107XHJcbiAgICAgIGVsZW1lbnQuZWxlbWVudC5jbGFzc05hbWUgPSBgJHtlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lfSBmYWRlLW91dCBoaWRlYDtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID1cclxuICAgICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCAtIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyZW1vdmVJZCkub2Zmc2V0SGVpZ2h0ICsgMTUpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudC5lbGVtZW50KTtcclxuICAgICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUFsbCgpIHtcclxuICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWxlbWVudC5pbnRlcnZhbCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9IDE1O1xyXG4gICAgdGhpcy5lbGVtZW50cyA9IFtdO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb25maWc6IFNuYWNrYmFyQ29uZmlnO1xyXG4gIHByaXZhdGUgc25hY2tiYXJFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudHM6IFNuYWNrYmFyRWxlbWVudHM7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIG9sZFRpdGxlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB0aW1lb3V0QmxpbmtUYWIgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uUm91dGVyOiBMb2NhdGlvbikge1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnRzID0gbmV3IFNuYWNrYmFyRWxlbWVudHMoKTtcclxuICAgIHRoaXMubG9jYXRpb25Sb3V0ZXIub25VcmxDaGFuZ2UoKCkgPT4ge1xyXG4gICAgICBpZih0aGlzLmNvbmZpZyAmJiAhdGhpcy5jb25maWc/LmNsb3NlT25VcmxDaGFuZ2Upe1xyXG4gICAgICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -442,7 +442,10 @@ class MonkeyStyleGuideSnackbarService {
442
442
  this.timeoutBlinkTab = null;
443
443
  this.snackbarElements = new SnackbarElements();
444
444
  this.locationRouter.onUrlChange(() => {
445
- this.closeAll();
445
+ var _a;
446
+ if (this.config && !((_a = this.config) === null || _a === void 0 ? void 0 : _a.closeOnUrlChange)) {
447
+ this.closeAll();
448
+ }
446
449
  });
447
450
  }
448
451
  stopBlinking() {