rm-image-slider 17.1.3 → 17.3.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.
@@ -243,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
243
243
  type: HostListener,
244
244
  args: ['document:keyup', ['$event']]
245
245
  }] } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWxpZ2h0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JtLWltYWdlLXNsaWRlci9zcmMvbGliL3NsaWRlci1saWdodGJveC9zbGlkZXItbGlnaHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm0taW1hZ2Utc2xpZGVyL3NyYy9saWIvc2xpZGVyLWxpZ2h0Ym94L3NsaWRlci1saWdodGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUlULE1BQU0sRUFHTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFHbEcsTUFBTSxpQ0FBaUMsR0FBRyxlQUFlLEVBQ3ZELGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDO0FBUzFELE1BQU0sT0FBTyx1QkFBdUI7SUEwQmxDLElBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELElBQ0ksSUFBSSxDQUFDLFlBQXFCO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxD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WSxtYkFBRSwwQkFBMEI7OzJGQUl2Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDOzswQkEyRmhELE1BQU07MkJBQUMsUUFBUTt5Q0FuRTJCLFdBQVc7c0JBQXZELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFM0MsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl2QyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUYsVUFBVTtzQkFEYixLQUFLO2dCQVFGLElBQUk7c0JBRFAsS0FBSztnQkFVRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRixjQUFjO3NCQURqQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU16QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgSW5qZWN0LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFNsaWRlckN1c3RvbUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2xpZGVyLWN1c3RvbS1pbWFnZS9zbGlkZXItY3VzdG9tLWltYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltYWdlT2JqZWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlJztcclxuXHJcbmNvbnN0IExJR0hUQk9YX05FWFRfQVJST1dfQ0xJQ0tfTUVTU0FHRSA9ICdsaWdodGJveCBuZXh0JyxcclxuICBMSUdIVEJPWF9QUkVWX0FSUk9XX0NMSUNLX01FU1NBR0UgPSAnbGlnaHRib3ggcHJldmlvdXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbGlkZXItbGlnaHRib3gnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2xpZGVyQ3VzdG9tSW1hZ2VDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXItbGlnaHRib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zbGlkZXItbGlnaHRib3guY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlkZXJMaWdodGJveENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIHRvdGFsSW1hZ2VzOiBudW1iZXIgPSAwO1xyXG4gIG5leHRJbWFnZUluZGV4OiBudW1iZXIgPSAtMTtcclxuICBwb3B1cFdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XHJcbiAgaW1hZ2VGdWxsc2NyZWVuVmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxpZ2h0Ym94UHJldkRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsaWdodGJveE5leHREaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGVmZmVjdFN0eWxlOiBzdHJpbmcgPSAnbm9uZSc7XHJcbiAgc3BlZWQ6IG51bWJlciA9IDE7IC8vIGRlZmF1bHQgc3BlZWQgaW4gc2Vjb25kXHJcbiAgdGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gIGN1cnJlbnRJbWFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICAvLyBmb3Igc3dpcGUgZXZlbnRcclxuICBwcml2YXRlIHN3aXBlTGlnaHRib3hJbWdDb29yZD86IFtudW1iZXIsIG51bWJlcl07XHJcbiAgcHJpdmF0ZSBzd2lwZUxpZ2h0Ym94SW1nVGltZT86IG51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbGlnaHRib3hEaXYnLCB7IHN0YXRpYzogZmFsc2UgfSkgbGlnaHRib3hEaXYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2xpZ2h0Ym94SW1hZ2VEaXYnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBsaWdodGJveEltYWdlRGl2ITogRWxlbWVudFJlZjtcclxuXHJcbiAgLy8gQElucHV0c1xyXG4gIEBJbnB1dCgpIGltYWdlczogQXJyYXk8SW1hZ2VPYmplY3Q+ID0gW107XHJcbiAgQElucHV0KClcclxuICBzZXQgaW1hZ2VJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBpbmRleCA+IC0xICYmIGluZGV4IDwgdGhpcy5pbWFnZXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPSBpbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMubmV4dFByZXZEaXNhYmxlKCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNob3codmlzaWFibGVGbGFnOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmltYWdlRnVsbHNjcmVlblZpZXcgPSB2aXNpYWJsZUZsYWc7XHJcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJyc7XHJcbiAgICBpZiAodmlzaWFibGVGbGFnID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcclxuICAgICAgLy8gdGhpcy5nZXRJbWFnZURhdGEoKTtcclxuICAgICAgdGhpcy5zZXRQb3B1cFNsaWRlcldpZHRoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHZpZGVvQXV0b1BsYXk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246IHN0cmluZyA9ICdsdHInO1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25TaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZXQgYW5pbWF0aW9uU3BlZWQoZGF0YTogbnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ251bWJlcicgJiYgZGF0YSA+PSAwLjEgJiYgZGF0YSA8PSA1KSB7XHJcbiAgICAgIHRoaXMuc3BlZWQgPSBkYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBpbmZpbml0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFycm93S2V5TW92ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1ZpZGVvQ29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvLyBAT3V0cHV0XHJcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHByZXZJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBuZXh0SW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lZmZlY3RTdHlsZSA9ICdub25lJztcclxuICAgIHRoaXMuc2V0UG9wdXBTbGlkZXJXaWR0aCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LmtleSAmJiB0aGlzLmFycm93S2V5TW92ZSkge1xyXG4gICAgICBpZiAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdhcnJvd3JpZ2h0Jykge1xyXG4gICAgICAgIHRoaXMubmV4dEltYWdlTGlnaHRib3goKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnYXJyb3dsZWZ0Jykge1xyXG4gICAgICAgIHRoaXMucHJldkltYWdlTGlnaHRib3goKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnZXNjYXBlJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2VMaWdodGJveCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlc2V0U3RhdGUoKTtcclxuICB9XHJcblxyXG4gIHNldFBvcHVwU2xpZGVyV2lkdGgoKSB7XHJcbiAgICBpZiAod2luZG93ICYmIHdpbmRvdy5pbm5lcldpZHRoKSB7XHJcbiAgICAgIHRoaXMucG9wdXBXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICB0aGlzLnRvdGFsSW1hZ2VzID0gdGhpcy5pbWFnZXMubGVuZ3RoO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdHlwZW9mIHRoaXMuY3VycmVudEltYWdlSW5kZXggPT09ICdudW1iZXInICYmXHJcbiAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubWFyZ2luTGVmdCA9IC0xICogdGhpcy5wb3B1cFdpZHRoICogdGhpcy5jdXJyZW50SW1hZ2VJbmRleDtcclxuICAgICAgICB0aGlzLmdldEltYWdlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMubmV4dFByZXZEaXNhYmxlKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSwgNTAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VMaWdodGJveCgpIHtcclxuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJldkltYWdlTGlnaHRib3goKSB7XHJcbiAgICB0aGlzLmVmZmVjdFN0eWxlID0gYGFsbCAke3RoaXMuc3BlZWR9cyBlYXNlLWluLW91dGA7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+IDAgJiYgIXRoaXMubGlnaHRib3hQcmV2RGlzYWJsZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4LS07XHJcbiAgICAgIHRoaXMucHJldkltYWdlLmVtaXQoTElHSFRCT1hfUFJFVl9BUlJPV19DTElDS19NRVNTQUdFKTtcclxuICAgICAgdGhpcy5tYXJnaW5MZWZ0ID0gLTEgKiB0aGlzLnBvcHVwV2lkdGggKiB0aGlzLmN1cnJlbnRJbWFnZUluZGV4O1xyXG4gICAgICB0aGlzLmdldEltYWdlRGF0YSgpO1xyXG4gICAgICB0aGlzLm5leHRQcmV2RGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dEltYWdlTGlnaHRib3goKSB7XHJcbiAgICB0aGlzLmVmZmVjdFN0eWxlID0gYGFsbCAke3RoaXMuc3BlZWR9cyBlYXNlLWluLW91dGA7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPCB0aGlzLmltYWdlcy5sZW5ndGggLSAxICYmXHJcbiAgICAgICF0aGlzLmxpZ2h0Ym94TmV4dERpc2FibGVcclxuICAgICkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4Kys7XHJcbiAgICAgIHRoaXMubmV4dEltYWdlLmVtaXQoTElHSFRCT1hfTkVYVF9BUlJPV19DTElDS19NRVNTQUdFKTtcclxuICAgICAgdGhpcy5tYXJnaW5MZWZ0ID0gLTEgKiB0aGlzLnBvcHVwV2lkdGggKiB0aGlzLmN1cnJlbnRJbWFnZUluZGV4O1xyXG4gICAgICB0aGlzLmdldEltYWdlRGF0YSgpO1xyXG4gICAgICB0aGlzLm5leHRQcmV2RGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dFByZXZEaXNhYmxlKCkge1xyXG4gICAgdGhpcy5saWdodGJveE5leHREaXNhYmxlID0gdHJ1ZTtcclxuICAgIHRoaXMubGlnaHRib3hQcmV2RGlzYWJsZSA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hcHBseUJ1dHRvbkRpc2FibGVDb25kaXRpb24oKTtcclxuICAgIH0sIHRoaXMuc3BlZWQgKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIGFwcGx5QnV0dG9uRGlzYWJsZUNvbmRpdGlvbigpIHtcclxuICAgIHRoaXMubGlnaHRib3hOZXh0RGlzYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saWdodGJveFByZXZEaXNhYmxlID0gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuaW5maW5pdGUgJiYgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+PSB0aGlzLmltYWdlcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMubGlnaHRib3hOZXh0RGlzYWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuaW5maW5pdGUgJiYgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA8PSAwKSB7XHJcbiAgICAgIHRoaXMubGlnaHRib3hQcmV2RGlzYWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZURhdGEoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuaW1hZ2VzICYmXHJcbiAgICAgIHRoaXMuaW1hZ2VzLmxlbmd0aCAmJlxyXG4gICAgICB0eXBlb2YgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9PT0gJ251bWJlcicgJiZcclxuICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMuaW1hZ2VzW3RoaXMuY3VycmVudEltYWdlSW5kZXhdICYmXHJcbiAgICAgICh0aGlzLmltYWdlc1t0aGlzLmN1cnJlbnRJbWFnZUluZGV4XVsnaW1hZ2UnXSB8fFxyXG4gICAgICAgIHRoaXMuaW1hZ2VzW3RoaXMuY3VycmVudEltYWdlSW5kZXhdWyd2aWRlbyddKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmltYWdlc1t0aGlzLmN1cnJlbnRJbWFnZUluZGV4XVsndGl0bGUnXSB8fCAnJztcclxuICAgICAgdGhpcy50b3RhbEltYWdlcyA9IHRoaXMuaW1hZ2VzLmxlbmd0aDtcclxuICAgICAgZm9yIChjb25zdCBpZnJhbWVJIGluIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylbaWZyYW1lSV0gJiZcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2lmcmFtZUldLmNvbnRlbnRXaW5kb3cgJiZcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2lmcmFtZUldLmNvbnRlbnRXaW5kb3dcclxuICAgICAgICAgICAgLnBvc3RNZXNzYWdlXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50XHJcbiAgICAgICAgICAgIC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylcclxuICAgICAgICAgICAgW2lmcmFtZUldLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgJ3tcImV2ZW50XCI6XCJjb21tYW5kXCIsXCJmdW5jXCI6XCJwYXVzZVZpZGVvXCIsXCJhcmdzXCI6XCJcIn0nLFxyXG4gICAgICAgICAgICAgICcqJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBmb3IgKGNvbnN0IHZpZGVvSSBpbiB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVt2aWRlb0ldICYmXHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpW3ZpZGVvSV0ucGF1c2VcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbdmlkZW9JXS5wYXVzZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRTdGF0ZSgpIHtcclxuICAgIHRoaXMuaW1hZ2VzID0gW107XHJcbiAgfVxyXG5cclxuICBzd2lwZUxpZ2h0Ym94SW1nKGU6IFRvdWNoRXZlbnQsIHdoZW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY29vcmQ6IFtudW1iZXIsIG51bWJlcl0gPSBbXHJcbiAgICAgIGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVgsXHJcbiAgICAgIGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVksXHJcbiAgICBdO1xyXG4gICAgY29uc3QgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGlmICh3aGVuID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHRoaXMuc3dpcGVMaWdodGJveEltZ0Nvb3JkID0gY29vcmQ7XHJcbiAgICAgIHRoaXMuc3dpcGVMaWdodGJveEltZ1RpbWUgPSB0aW1lO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgd2hlbiA9PT0gJ2VuZCcgJiZcclxuICAgICAgdGhpcy5zd2lwZUxpZ2h0Ym94SW1nQ29vcmQgJiZcclxuICAgICAgdGhpcy5zd2lwZUxpZ2h0Ym94SW1nVGltZVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IFtcclxuICAgICAgICBjb29yZFswXSAtIHRoaXMuc3dpcGVMaWdodGJveEltZ0Nvb3JkWzBdLFxyXG4gICAgICAgIGNvb3JkWzFdIC0gdGhpcy5zd2lwZUxpZ2h0Ym94SW1nQ29vcmRbMV0sXHJcbiAgICAgIF07XHJcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGltZSAtIHRoaXMuc3dpcGVMaWdodGJveEltZ1RpbWU7XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZHVyYXRpb24gPCAxMDAwICYmIC8vXHJcbiAgICAgICAgTWF0aC5hYnMoZGlyZWN0aW9uWzBdKSA+IDMwICYmIC8vIExvbmcgZW5vdWdoXHJcbiAgICAgICAgTWF0aC5hYnMoZGlyZWN0aW9uWzBdKSA+IE1hdGguYWJzKGRpcmVjdGlvblsxXSAqIDMpXHJcbiAgICAgICkge1xyXG4gICAgICAgIC8vIEhvcml6b250YWwgZW5vdWdoXHJcbiAgICAgICAgaWYgKGRpcmVjdGlvblswXSA8IDApIHtcclxuICAgICAgICAgIHRoaXMubmV4dEltYWdlTGlnaHRib3goKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5wcmV2SW1hZ2VMaWdodGJveCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiaW1hZ2VGdWxsc2NyZWVuVmlld1wiIGNsYXNzPVwibmctaW1hZ2UtZnVsbHNjcmVlbi12aWV3XCI+XHJcbiAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LXdyYXBwZXJcIj5cclxuICAgIDxhIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VMaWdodGJveCgpXCI+PC9hPlxyXG4gICAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWRpdlwiICNsaWdodGJveERpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cInNob3dMb2FkaW5nXCIgY2xhc3M9XCJwcmUtbG9hZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1ubWwtc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLW1haW5cIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiBtYXJnaW5MZWZ0ICsgJ3B4JywgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJytpbWFnZXMubGVuZ3RoKycsMWZyKScsICd0cmFuc2l0aW9uJzogZWZmZWN0U3R5bGV9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IHBvcHVwV2lkdGggKyAncHgnfVwiICpuZ0Zvcj1cImxldCBpbWcgb2YgaW1hZ2VzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cIiduZy1saWdodGJveC1pbWFnZS0nICsgaVwiICh0b3VjaHN0YXJ0KT1cInN3aXBlTGlnaHRib3hJbWcoJGV2ZW50LCAnc3RhcnQnKVwiXHJcbiAgICAgICAgICAodG91Y2hlbmQpPVwic3dpcGVMaWdodGJveEltZygkZXZlbnQsICdlbmQnKVwiICNsaWdodGJveEltYWdlRGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLW91dHNpZGVcIiAoY2xpY2spPVwiIWltZz8udmlkZW8gJiYgY2xvc2VMaWdodGJveCgpXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y3VzdG9tLWltZyBbaW1hZ2VVcmxdPVwiaW1nPy5pbWFnZSB8fCBpbWc/LnZpZGVvXCIgW2lzVmlkZW9dPVwiISEoaW1nPy5wb3N0ZXJJbWFnZSB8fCBpbWc/LnZpZGVvKVwiXHJcbiAgICAgICAgICAgIFtjdXJyZW50SW1hZ2VJbmRleF09XCJjdXJyZW50SW1hZ2VJbmRleFwiIFtpbWFnZUluZGV4XT1cImlcIiBbc3BlZWRdPVwic3BlZWRcIlxyXG4gICAgICAgICAgICBbdmlkZW9BdXRvUGxheV09XCJ2aWRlb0F1dG9QbGF5ICYmIGkgPT0gY3VycmVudEltYWdlSW5kZXhcIiBbc2hvd1ZpZGVvQ29udHJvbHNdPVwic2hvd1ZpZGVvQ29udHJvbHMgPyAxIDogMFwiXHJcbiAgICAgICAgICAgIFthbHRdPVwiaW1nPy5hbHQgfHwgaW1nPy50aXRsZSB8fCAnJ1wiIFt0aXRsZV09XCJpbWc/LnRpdGxlIHx8IGltZz8uYWx0IHx8ICcnXCIgW3Nob3dWaWRlb109XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIj5cclxuICAgICAgICAgIDwvY3VzdG9tLWltZz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgW2Rpcl09XCJkaXJlY3Rpb25cIiBbbmdDbGFzc109XCJ7J3Nob3cnOiB0aXRsZSwgJ2hpZGUnOiAhdGl0bGV9XCIgY2xhc3M9XCJjYXB0aW9uXCI+e3sgdGl0bGUgfX08L2Rpdj5cclxuICAgICAgPGEgKm5nSWY9XCJpbWFnZXMubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZSc6IGxpZ2h0Ym94UHJldkRpc2FibGV9XCIgY2xhc3M9XCJwcmV2IGljb25zIHByZXYtaWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cInByZXZJbWFnZUxpZ2h0Ym94KClcIj4mbHNhcXVvOzwvYT5cclxuICAgICAgPGEgKm5nSWY9XCJpbWFnZXMubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZSc6IGxpZ2h0Ym94TmV4dERpc2FibGV9XCIgY2xhc3M9XCJuZXh0IGljb25zIG5leHQtaWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRJbWFnZUxpZ2h0Ym94KClcIj4mcnNhcXVvOzwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJwYWdpbmF0aW9uU2hvd1wiIGNsYXNzPVwicG9wdXAtcGFnaW5hdGlvblwiPnt7Y3VycmVudEltYWdlSW5kZXggKyAxfX0gb2Yge3t0b3RhbEltYWdlc319PC9kaXY+XHJcbjwvZGl2PiJdfQ==
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWxpZ2h0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JtLWltYWdlLXNsaWRlci9zcmMvbGliL3NsaWRlci1saWdodGJveC9zbGlkZXItbGlnaHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm0taW1hZ2Utc2xpZGVyL3NyYy9saWIvc2xpZGVyLWxpZ2h0Ym94L3NsaWRlci1saWdodGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUlULE1BQU0sRUFHTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFFbEcsTUFBTSxpQ0FBaUMsR0FBRyxlQUFlLEVBQ3ZELGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDO0FBb0IxRCxNQUFNLE9BQU8sdUJBQXVCO0lBMEJsQyxJQUNJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxZQUFxQjtRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEs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QVksbWJBQUUsMEJBQTBCOzsyRkFJdkMsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQzs7MEJBMkZoRCxNQUFNOzJCQUFDLFFBQVE7eUNBbkUyQixXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRTNDLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJdkMsTUFBTTtzQkFBZCxLQUFLO2dCQUVGLFVBQVU7c0JBRGIsS0FBSztnQkFRRixJQUFJO3NCQURQLEtBQUs7Z0JBVUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUYsY0FBYztzQkFEakIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBR1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNekMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIEluamVjdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBTbGlkZXJDdXN0b21JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3NsaWRlci1jdXN0b20taW1hZ2Uvc2xpZGVyLWN1c3RvbS1pbWFnZS5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgTElHSFRCT1hfTkVYVF9BUlJPV19DTElDS19NRVNTQUdFID0gJ2xpZ2h0Ym94IG5leHQnLFxyXG4gIExJR0hUQk9YX1BSRVZfQVJST1dfQ0xJQ0tfTUVTU0FHRSA9ICdsaWdodGJveCBwcmV2aW91cyc7XHJcblxyXG5pbnRlcmZhY2UgSW1hZ2VPYmplY3Qge1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHRodW1iSW1hZ2U/OiBzdHJpbmc7XHJcbiAgYWx0Pzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIG9yZGVyPzogbnVtYmVyO1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgcG9zdGVySW1hZ2U/OiBzdHJpbmc7XHJcbiAgdmlkZW8/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2xpZGVyLWxpZ2h0Ym94JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNsaWRlckN1c3RvbUltYWdlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLWxpZ2h0Ym94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2xpZGVyLWxpZ2h0Ym94LmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyTGlnaHRib3hDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuICB0b3RhbEltYWdlczogbnVtYmVyID0gMDtcclxuICBuZXh0SW1hZ2VJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcG9wdXBXaWR0aDogbnVtYmVyID0gMTIwMDtcclxuICBtYXJnaW5MZWZ0OiBudW1iZXIgPSAwO1xyXG4gIGltYWdlRnVsbHNjcmVlblZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsaWdodGJveFByZXZEaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbGlnaHRib3hOZXh0RGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBlZmZlY3RTdHlsZTogc3RyaW5nID0gJ25vbmUnO1xyXG4gIHNwZWVkOiBudW1iZXIgPSAxOyAvLyBkZWZhdWx0IHNwZWVkIGluIHNlY29uZFxyXG4gIHRpdGxlOiBzdHJpbmcgPSAnJztcclxuICBjdXJyZW50SW1hZ2VJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgLy8gZm9yIHN3aXBlIGV2ZW50XHJcbiAgcHJpdmF0ZSBzd2lwZUxpZ2h0Ym94SW1nQ29vcmQ/OiBbbnVtYmVyLCBudW1iZXJdO1xyXG4gIHByaXZhdGUgc3dpcGVMaWdodGJveEltZ1RpbWU/OiBudW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xpZ2h0Ym94RGl2JywgeyBzdGF0aWM6IGZhbHNlIH0pIGxpZ2h0Ym94RGl2ITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdsaWdodGJveEltYWdlRGl2JywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgbGlnaHRib3hJbWFnZURpdiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8vIEBJbnB1dHNcclxuICBASW5wdXQoKSBpbWFnZXM6IEFycmF5PEltYWdlT2JqZWN0PiA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGltYWdlSW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQgJiYgaW5kZXggPiAtMSAmJiBpbmRleCA8IHRoaXMuaW1hZ2VzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5leHRQcmV2RGlzYWJsZSgpO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBzaG93KHZpc2lhYmxlRmxhZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pbWFnZUZ1bGxzY3JlZW5WaWV3ID0gdmlzaWFibGVGbGFnO1xyXG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICcnO1xyXG4gICAgaWYgKHZpc2lhYmxlRmxhZyA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XHJcbiAgICAgIC8vIHRoaXMuZ2V0SW1hZ2VEYXRhKCk7XHJcbiAgICAgIHRoaXMuc2V0UG9wdXBTbGlkZXJXaWR0aCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSB2aWRlb0F1dG9QbGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlyZWN0aW9uOiBzdHJpbmcgPSAnbHRyJztcclxuICBASW5wdXQoKSBwYWdpbmF0aW9uU2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGFuaW1hdGlvblNwZWVkKGRhdGE6IG51bWJlcikge1xyXG4gICAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdudW1iZXInICYmIGRhdGEgPj0gMC4xICYmIGRhdGEgPD0gNSkge1xyXG4gICAgICB0aGlzLnNwZWVkID0gZGF0YTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgaW5maW5pdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhcnJvd0tleU1vdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dWaWRlb0NvbnRyb2xzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLy8gQE91dHB1dFxyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwcmV2SW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgbmV4dEltYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZWZmZWN0U3R5bGUgPSAnbm9uZSc7XHJcbiAgICB0aGlzLnNldFBvcHVwU2xpZGVyV2lkdGgoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC5rZXkgJiYgdGhpcy5hcnJvd0tleU1vdmUpIHtcclxuICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnYXJyb3dyaWdodCcpIHtcclxuICAgICAgICB0aGlzLm5leHRJbWFnZUxpZ2h0Ym94KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2Fycm93bGVmdCcpIHtcclxuICAgICAgICB0aGlzLnByZXZJbWFnZUxpZ2h0Ym94KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2VzY2FwZScpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTGlnaHRib3goKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5yZXNldFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3B1cFNsaWRlcldpZHRoKCkge1xyXG4gICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuaW5uZXJXaWR0aCkge1xyXG4gICAgICB0aGlzLnBvcHVwV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgdGhpcy50b3RhbEltYWdlcyA9IHRoaXMuaW1hZ2VzLmxlbmd0aDtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHR5cGVvZiB0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID09PSAnbnVtYmVyJyAmJlxyXG4gICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggIT09IHVuZGVmaW5lZFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm1hcmdpbkxlZnQgPSAtMSAqIHRoaXMucG9wdXBXaWR0aCAqIHRoaXMuY3VycmVudEltYWdlSW5kZXg7XHJcbiAgICAgICAgdGhpcy5nZXRJbWFnZURhdGEoKTtcclxuICAgICAgICB0aGlzLm5leHRQcmV2RGlzYWJsZSgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sIDUwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlTGlnaHRib3goKSB7XHJcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByZXZJbWFnZUxpZ2h0Ym94KCkge1xyXG4gICAgdGhpcy5lZmZlY3RTdHlsZSA9IGBhbGwgJHt0aGlzLnNwZWVkfXMgZWFzZS1pbi1vdXRgO1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEltYWdlSW5kZXggPiAwICYmICF0aGlzLmxpZ2h0Ym94UHJldkRpc2FibGUpIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleC0tO1xyXG4gICAgICB0aGlzLnByZXZJbWFnZS5lbWl0KExJR0hUQk9YX1BSRVZfQVJST1dfQ0xJQ0tfTUVTU0FHRSk7XHJcbiAgICAgIHRoaXMubWFyZ2luTGVmdCA9IC0xICogdGhpcy5wb3B1cFdpZHRoICogdGhpcy5jdXJyZW50SW1hZ2VJbmRleDtcclxuICAgICAgdGhpcy5nZXRJbWFnZURhdGEoKTtcclxuICAgICAgdGhpcy5uZXh0UHJldkRpc2FibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRJbWFnZUxpZ2h0Ym94KCkge1xyXG4gICAgdGhpcy5lZmZlY3RTdHlsZSA9IGBhbGwgJHt0aGlzLnNwZWVkfXMgZWFzZS1pbi1vdXRgO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4IDwgdGhpcy5pbWFnZXMubGVuZ3RoIC0gMSAmJlxyXG4gICAgICAhdGhpcy5saWdodGJveE5leHREaXNhYmxlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCsrO1xyXG4gICAgICB0aGlzLm5leHRJbWFnZS5lbWl0KExJR0hUQk9YX05FWFRfQVJST1dfQ0xJQ0tfTUVTU0FHRSk7XHJcbiAgICAgIHRoaXMubWFyZ2luTGVmdCA9IC0xICogdGhpcy5wb3B1cFdpZHRoICogdGhpcy5jdXJyZW50SW1hZ2VJbmRleDtcclxuICAgICAgdGhpcy5nZXRJbWFnZURhdGEoKTtcclxuICAgICAgdGhpcy5uZXh0UHJldkRpc2FibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRQcmV2RGlzYWJsZSgpIHtcclxuICAgIHRoaXMubGlnaHRib3hOZXh0RGlzYWJsZSA9IHRydWU7XHJcbiAgICB0aGlzLmxpZ2h0Ym94UHJldkRpc2FibGUgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwbHlCdXR0b25EaXNhYmxlQ29uZGl0aW9uKCk7XHJcbiAgICB9LCB0aGlzLnNwZWVkICogMTAwMCk7XHJcbiAgfVxyXG5cclxuICBhcHBseUJ1dHRvbkRpc2FibGVDb25kaXRpb24oKSB7XHJcbiAgICB0aGlzLmxpZ2h0Ym94TmV4dERpc2FibGUgPSBmYWxzZTtcclxuICAgIHRoaXMubGlnaHRib3hQcmV2RGlzYWJsZSA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLmluZmluaXRlICYmIHRoaXMuY3VycmVudEltYWdlSW5kZXggPj0gdGhpcy5pbWFnZXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICB0aGlzLmxpZ2h0Ym94TmV4dERpc2FibGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmluZmluaXRlICYmIHRoaXMuY3VycmVudEltYWdlSW5kZXggPD0gMCkge1xyXG4gICAgICB0aGlzLmxpZ2h0Ym94UHJldkRpc2FibGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VEYXRhKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmltYWdlcyAmJlxyXG4gICAgICB0aGlzLmltYWdlcy5sZW5ndGggJiZcclxuICAgICAgdHlwZW9mIHRoaXMuY3VycmVudEltYWdlSW5kZXggPT09ICdudW1iZXInICYmXHJcbiAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0aGlzLmltYWdlc1t0aGlzLmN1cnJlbnRJbWFnZUluZGV4XSAmJlxyXG4gICAgICAodGhpcy5pbWFnZXNbdGhpcy5jdXJyZW50SW1hZ2VJbmRleF1bJ2ltYWdlJ10gfHxcclxuICAgICAgICB0aGlzLmltYWdlc1t0aGlzLmN1cnJlbnRJbWFnZUluZGV4XVsndmlkZW8nXSlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5pbWFnZXNbdGhpcy5jdXJyZW50SW1hZ2VJbmRleF1bJ3RpdGxlJ10gfHwgJyc7XHJcbiAgICAgIHRoaXMudG90YWxJbWFnZXMgPSB0aGlzLmltYWdlcy5sZW5ndGg7XHJcbiAgICAgIGZvciAoY29uc3QgaWZyYW1lSSBpbiB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2lmcmFtZUldICYmXHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVtpZnJhbWVJXS5jb250ZW50V2luZG93ICYmXHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVtpZnJhbWVJXS5jb250ZW50V2luZG93XHJcbiAgICAgICAgICAgIC5wb3N0TWVzc2FnZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudFxyXG4gICAgICAgICAgICAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpXHJcbiAgICAgICAgICAgIFtpZnJhbWVJXS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICd7XCJldmVudFwiOlwiY29tbWFuZFwiLFwiZnVuY1wiOlwicGF1c2VWaWRlb1wiLFwiYXJnc1wiOlwiXCJ9JyxcclxuICAgICAgICAgICAgICAnKidcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCB2aWRlb0kgaW4gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbdmlkZW9JXSAmJlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVt2aWRlb0ldLnBhdXNlXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpW3ZpZGVvSV0ucGF1c2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0U3RhdGUoKSB7XHJcbiAgICB0aGlzLmltYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc3dpcGVMaWdodGJveEltZyhlOiBUb3VjaEV2ZW50LCB3aGVuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvb3JkOiBbbnVtYmVyLCBudW1iZXJdID0gW1xyXG4gICAgICBlLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYLFxyXG4gICAgICBlLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZLFxyXG4gICAgXTtcclxuICAgIGNvbnN0IHRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICBpZiAod2hlbiA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICB0aGlzLnN3aXBlTGlnaHRib3hJbWdDb29yZCA9IGNvb3JkO1xyXG4gICAgICB0aGlzLnN3aXBlTGlnaHRib3hJbWdUaW1lID0gdGltZTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIHdoZW4gPT09ICdlbmQnICYmXHJcbiAgICAgIHRoaXMuc3dpcGVMaWdodGJveEltZ0Nvb3JkICYmXHJcbiAgICAgIHRoaXMuc3dpcGVMaWdodGJveEltZ1RpbWVcclxuICAgICkge1xyXG4gICAgICBjb25zdCBkaXJlY3Rpb24gPSBbXHJcbiAgICAgICAgY29vcmRbMF0gLSB0aGlzLnN3aXBlTGlnaHRib3hJbWdDb29yZFswXSxcclxuICAgICAgICBjb29yZFsxXSAtIHRoaXMuc3dpcGVMaWdodGJveEltZ0Nvb3JkWzFdLFxyXG4gICAgICBdO1xyXG4gICAgICBjb25zdCBkdXJhdGlvbiA9IHRpbWUgLSB0aGlzLnN3aXBlTGlnaHRib3hJbWdUaW1lO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIGR1cmF0aW9uIDwgMTAwMCAmJiAvL1xyXG4gICAgICAgIE1hdGguYWJzKGRpcmVjdGlvblswXSkgPiAzMCAmJiAvLyBMb25nIGVub3VnaFxyXG4gICAgICAgIE1hdGguYWJzKGRpcmVjdGlvblswXSkgPiBNYXRoLmFicyhkaXJlY3Rpb25bMV0gKiAzKVxyXG4gICAgICApIHtcclxuICAgICAgICAvLyBIb3Jpem9udGFsIGVub3VnaFxyXG4gICAgICAgIGlmIChkaXJlY3Rpb25bMF0gPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5leHRJbWFnZUxpZ2h0Ym94KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucHJldkltYWdlTGlnaHRib3goKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImltYWdlRnVsbHNjcmVlblZpZXdcIiBjbGFzcz1cIm5nLWltYWdlLWZ1bGxzY3JlZW4tdmlld1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJsaWdodGJveC13cmFwcGVyXCI+XHJcbiAgICA8YSBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cImNsb3NlTGlnaHRib3goKVwiPjwvYT5cclxuICAgIDxkaXYgY2xhc3M9XCJsaWdodGJveC1kaXZcIiAjbGlnaHRib3hEaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93TG9hZGluZ1wiIGNsYXNzPVwicHJlLWxvYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbm1sLXNwaW5uZXJcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaWdodGJveC1pbWFnZS1tYWluXCJcclxuICAgICAgICBbbmdTdHlsZV09XCJ7J21hcmdpbi1sZWZ0JzogbWFyZ2luTGVmdCArICdweCcsICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnOiAncmVwZWF0KCcraW1hZ2VzLmxlbmd0aCsnLDFmciknLCAndHJhbnNpdGlvbic6IGVmZmVjdFN0eWxlfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWdodGJveC1pbWFnZVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBwb3B1cFdpZHRoICsgJ3B4J31cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIGltYWdlczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICBbYXR0ci5pZF09XCInbmctbGlnaHRib3gtaW1hZ2UtJyArIGlcIiAodG91Y2hzdGFydCk9XCJzd2lwZUxpZ2h0Ym94SW1nKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgICAgKHRvdWNoZW5kKT1cInN3aXBlTGlnaHRib3hJbWcoJGV2ZW50LCAnZW5kJylcIiAjbGlnaHRib3hJbWFnZURpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1vdXRzaWRlXCIgKGNsaWNrKT1cIiFpbWc/LnZpZGVvICYmIGNsb3NlTGlnaHRib3goKVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGN1c3RvbS1pbWcgW2ltYWdlVXJsXT1cImltZz8uaW1hZ2UgfHwgaW1nPy52aWRlb1wiIFtpc1ZpZGVvXT1cIiEhKGltZz8ucG9zdGVySW1hZ2UgfHwgaW1nPy52aWRlbylcIlxyXG4gICAgICAgICAgICBbY3VycmVudEltYWdlSW5kZXhdPVwiY3VycmVudEltYWdlSW5kZXhcIiBbaW1hZ2VJbmRleF09XCJpXCIgW3NwZWVkXT1cInNwZWVkXCJcclxuICAgICAgICAgICAgW3ZpZGVvQXV0b1BsYXldPVwidmlkZW9BdXRvUGxheSAmJiBpID09IGN1cnJlbnRJbWFnZUluZGV4XCIgW3Nob3dWaWRlb0NvbnRyb2xzXT1cInNob3dWaWRlb0NvbnRyb2xzID8gMSA6IDBcIlxyXG4gICAgICAgICAgICBbYWx0XT1cImltZz8uYWx0IHx8IGltZz8udGl0bGUgfHwgJydcIiBbdGl0bGVdPVwiaW1nPy50aXRsZSB8fCBpbWc/LmFsdCB8fCAnJ1wiIFtzaG93VmlkZW9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCI+XHJcbiAgICAgICAgICA8L2N1c3RvbS1pbWc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IFtkaXJdPVwiZGlyZWN0aW9uXCIgW25nQ2xhc3NdPVwieydzaG93JzogdGl0bGUsICdoaWRlJzogIXRpdGxlfVwiIGNsYXNzPVwiY2FwdGlvblwiPnt7IHRpdGxlIH19PC9kaXY+XHJcbiAgICAgIDxhICpuZ0lmPVwiaW1hZ2VzLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGUnOiBsaWdodGJveFByZXZEaXNhYmxlfVwiIGNsYXNzPVwicHJldiBpY29ucyBwcmV2LWljb25cIlxyXG4gICAgICAgIChjbGljayk9XCJwcmV2SW1hZ2VMaWdodGJveCgpXCI+JmxzYXF1bzs8L2E+XHJcbiAgICAgIDxhICpuZ0lmPVwiaW1hZ2VzLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGUnOiBsaWdodGJveE5leHREaXNhYmxlfVwiIGNsYXNzPVwibmV4dCBpY29ucyBuZXh0LWljb25cIlxyXG4gICAgICAgIChjbGljayk9XCJuZXh0SW1hZ2VMaWdodGJveCgpXCI+JnJzYXF1bzs8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwicGFnaW5hdGlvblNob3dcIiBjbGFzcz1cInBvcHVwLXBhZ2luYXRpb25cIj57e2N1cnJlbnRJbWFnZUluZGV4ICsgMX19IG9mIHt7dG90YWxJbWFnZXN9fTwvZGl2PlxyXG48L2Rpdj4iXX0=