@skyux/lists 5.0.3 → 5.0.4
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.
- package/bundles/skyux-lists-testing.umd.js +11 -24
- package/bundles/skyux-lists-testing.umd.js.map +1 -1
- package/bundles/skyux-lists.umd.js +145 -140
- package/bundles/skyux-lists.umd.js.map +1 -1
- package/documentation.json +160 -155
- package/esm2015/modules/filter/filter-button.component.js +4 -4
- package/esm2015/modules/filter/filter-inline-item.component.js +2 -2
- package/esm2015/modules/filter/filter-inline.component.js +2 -2
- package/esm2015/modules/filter/filter-summary-item.component.js +4 -4
- package/esm2015/modules/filter/filter-summary.component.js +3 -3
- package/esm2015/modules/filter/filter.module.js +6 -6
- package/esm2015/modules/infinite-scroll/infinite-scroll-dom-adapter.service.js +8 -9
- package/esm2015/modules/infinite-scroll/infinite-scroll.component.js +8 -10
- package/esm2015/modules/infinite-scroll/infinite-scroll.module.js +6 -20
- package/esm2015/modules/paging/paging.component.js +7 -8
- package/esm2015/modules/paging/paging.module.js +5 -9
- package/esm2015/modules/repeater/repeater-adapter.service.js +1 -1
- package/esm2015/modules/repeater/repeater-item-content.component.js +2 -2
- package/esm2015/modules/repeater/repeater-item-context-menu.component.js +2 -2
- package/esm2015/modules/repeater/repeater-item-title.component.js +2 -2
- package/esm2015/modules/repeater/repeater-item.component.js +10 -10
- package/esm2015/modules/repeater/repeater.component.js +16 -15
- package/esm2015/modules/repeater/repeater.module.js +6 -6
- package/esm2015/modules/repeater/repeater.service.js +2 -2
- package/esm2015/modules/shared/sky-lists-resources.module.js +42 -9
- package/esm2015/modules/sort/sort-item.component.js +8 -7
- package/esm2015/modules/sort/sort-menu-heading.component.js +3 -3
- package/esm2015/modules/sort/sort.component.js +6 -10
- package/esm2015/modules/sort/sort.module.js +6 -10
- package/esm2015/modules/sort/sort.service.js +1 -1
- package/esm2015/testing/filter/filter-fixture-button.js +2 -2
- package/esm2015/testing/filter/filter-fixture-summary.js +1 -1
- package/esm2015/testing/filter/filter-testing.module.js +2 -4
- package/esm2015/testing/infinite-scroll/infinite-scroll-fixture.js +1 -1
- package/esm2015/testing/infinite-scroll/infinite-scroll-testing.module.js +2 -4
- package/esm2015/testing/paging/paging-fixture.js +2 -2
- package/esm2015/testing/paging/paging-testing.module.js +2 -4
- package/esm2015/testing/sort/sort-fixture.js +5 -6
- package/esm2015/testing/sort/sort-testing.module.js +4 -10
- package/fesm2015/skyux-lists-testing.js +12 -25
- package/fesm2015/skyux-lists-testing.js.map +1 -1
- package/fesm2015/skyux-lists.js +128 -123
- package/fesm2015/skyux-lists.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@skyux/indicators";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
@@ -56,10 +56,10 @@ export class SkyPagingComponent {
|
|
|
56
56
|
this.setPage(this.currentPage - 1);
|
|
57
57
|
}
|
|
58
58
|
get isPreviousButtonDisabled() {
|
|
59
|
-
return
|
|
59
|
+
return this.currentPage === 1;
|
|
60
60
|
}
|
|
61
61
|
get isNextButtonDisabled() {
|
|
62
|
-
return
|
|
62
|
+
return this.currentPage === this.pageCount;
|
|
63
63
|
}
|
|
64
64
|
getDisplayedPageNumbers(pageCount, maxDisplayedPages, pageNumber) {
|
|
65
65
|
let pageIndex = pageNumber - 1;
|
|
@@ -98,19 +98,18 @@ export class SkyPagingComponent {
|
|
|
98
98
|
this.pageCount = Math.ceil(this.itemCount / this.pageSize);
|
|
99
99
|
}
|
|
100
100
|
setDisplayedPages() {
|
|
101
|
-
this.displayedPages =
|
|
102
|
-
this.getDisplayedPageNumbers(this.pageCount, this.maxPages, this.currentPage);
|
|
101
|
+
this.displayedPages = this.getDisplayedPageNumbers(this.pageCount, this.maxPages, this.currentPage);
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
104
|
SkyPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPagingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
-
SkyPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyPagingComponent, selector: "sky-paging", inputs: { currentPage: "currentPage", itemCount: "itemCount", maxPages: "maxPages", pageSize: "pageSize", pagingLabel: "pagingLabel" }, outputs: { currentPageChange: "currentPageChange" }, usesOnChanges: true, ngImport: i0, template: "<nav
|
|
105
|
+
SkyPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyPagingComponent, selector: "sky-paging", inputs: { currentPage: "currentPage", itemCount: "itemCount", maxPages: "maxPages", pageSize: "pageSize", pagingLabel: "pagingLabel" }, outputs: { currentPageChange: "currentPageChange" }, usesOnChanges: true, ngImport: i0, template: "<nav\n *ngIf=\"pageCount > 1\"\n class=\"sky-paging\"\n [attr.aria-label]=\"pagingLabel || ('skyux_paging_label' | skyLibResources)\"\n>\n <ul>\n <li>\n <button\n class=\"\n sky-btn sky-btn-default sky-paging-btn sky-paging-btn-previous sky-box\n \"\n sky-cmp-id=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_previous' | skyLibResources\"\n [disabled]=\"isPreviousButtonDisabled\"\n (click)=\"previousPage()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"caret-left\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </li>\n <li *ngFor=\"let pageNumber of displayedPages\" class=\"sky-list-paging-link\">\n <button\n class=\"sky-btn sky-btn-default sky-paging-btn sky-box\"\n type=\"button\"\n [attr.aria-current]=\"currentPage === pageNumber ? 'page' : null\"\n [attr.sky-cmp-id]=\"pageNumber\"\n [disabled]=\"currentPage === pageNumber\"\n [ngClass]=\"{ 'sky-paging-current': currentPage === pageNumber }\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button\n class=\"\n sky-btn sky-btn-default sky-paging-btn sky-paging-btn-next sky-box\n \"\n sky-cmp-id=\"next\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_next' | skyLibResources\"\n [disabled]=\"isNextButtonDisabled\"\n (click)=\"nextPage()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"caret-right\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [":host{display:block}ul{margin:15px 0 0;display:inline-block;padding-left:0;border-radius:4px}li{display:inline}.sky-paging-btn{border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-radius:0;background-color:#fff;color:inherit;float:left;margin-left:-1px;padding:4px 10px;text-decoration:none;line-height:1.428571429;font-size:15px;cursor:pointer}.sky-paging-btn.sky-paging-caret{transform:none}.sky-paging-btn.sky-paging-current,.sky-paging-btn.sky-paging-current:disabled,.sky-paging-btn.sky-paging-current[disabled]{background-color:#eeeeef;cursor:default;color:inherit;opacity:1}.sky-paging-btn:hover{background-color:#d4d4d6}.sky-paging-btn:disabled{color:#686c73;cursor:not-allowed;pointer-events:none}.sky-paging-btn.sky-paging-btn-previous,.sky-paging-btn.sky-paging-btn-next{padding-left:8.5px;padding-right:8.5px}:host-context(.sky-theme-modern) .sky-paging-btn{background-color:transparent;border:none;box-shadow:none;border-radius:6px;margin-right:10px;padding:3px 10px}:host-context(.sky-theme-modern) .sky-paging-btn:hover{background-color:transparent;border:solid 1px #1870B8;padding:2px 9px;z-index:1}:host-context(.sky-theme-modern) .sky-paging-btn:active,:host-context(.sky-theme-modern) .sky-paging-btn:focus{border:solid 2px #1870B8;color:#212327;padding:1px 8px}:host-context(.sky-theme-modern) .sky-paging-btn:focus:not(:active){outline:none;box-shadow:0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-paging-current{background-color:#c1e8fb;border:solid 1px #1870B8;padding:2px 9px}.sky-theme-modern .sky-paging-btn{background-color:transparent;border:none;box-shadow:none;border-radius:6px;margin-right:10px;padding:3px 10px}.sky-theme-modern .sky-paging-btn:hover{background-color:transparent;border:solid 1px #1870B8;padding:2px 9px;z-index:1}.sky-theme-modern .sky-paging-btn:active,.sky-theme-modern .sky-paging-btn:focus{border:solid 2px #1870B8;color:#212327;padding:1px 8px}.sky-theme-modern .sky-paging-btn:focus:not(:active){outline:none;box-shadow:0 1px 3px #0000004d}.sky-theme-modern .sky-paging-current{background-color:#c1e8fb;border:solid 1px #1870B8;padding:2px 9px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-btn:active,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-btn:focus{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-current{background-color:#1870b8}.sky-theme-modern.sky-theme-mode-dark .sky-paging-btn:active,.sky-theme-modern.sky-theme-mode-dark .sky-paging-btn:focus{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-paging-current{background-color:#1870b8}\n"], components: [{ type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "skyLibResources": i4.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
107
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPagingComponent, decorators: [{
|
|
108
107
|
type: Component,
|
|
109
108
|
args: [{
|
|
110
109
|
selector: 'sky-paging',
|
|
111
110
|
templateUrl: './paging.component.html',
|
|
112
111
|
styleUrls: ['./paging.component.scss'],
|
|
113
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
112
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
114
113
|
}]
|
|
115
114
|
}], propDecorators: { currentPage: [{
|
|
116
115
|
type: Input
|
|
@@ -125,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
125
124
|
}], currentPageChange: [{
|
|
126
125
|
type: Output
|
|
127
126
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3BhZ2luZy9wYWdpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdHMvc3JjL21vZHVsZXMvcGFnaW5nL3BhZ2luZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXZCLE1BQU0sT0FBTyxrQkFBa0I7SUFOL0I7UUFRRTs7V0FFRztRQUVJLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9COztXQUVHO1FBRUksY0FBUyxHQUFXLENBQUMsQ0FBQztRQUU3Qjs7V0FFRztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBWTdCOztXQUVHO1FBRUksc0JBQWlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckUsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBRW5DLGNBQVMsR0FBVyxDQUFDLENBQUM7S0E4RjlCO0lBNUZRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFVBQWtCO1FBQy9CLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztTQUN0QjthQUFNLElB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QUNsRixDQUFDOztnSEF6SVUsa0JBQWtCO29HQUFsQixrQkFBa0Isb1FDaEIvQixvMkRBMERBOzRGRDFDYSxrQkFBa0I7a0JBTjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBT1EsV0FBVztzQkFEakIsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFXQyxXQUFXO3NCQURqQixLQUFLO2dCQU9DLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGFnaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHBhZ2UgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuIFBhZ2UgbnVtYmVycyBzdGFydCBhdCAxIGFuZCBpbmNyZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGFjcm9zcyBhbGwgcGFnZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbUNvdW50OiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhZ2VzIHRvIGRpc3BsYXkgaW4gdGhlIHBhZ2luYXRpb24gY29udHJvbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhQYWdlczogbnVtYmVyID0gNTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSBwZXIgcGFnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2l6ZTogbnVtYmVyID0gMTA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGxhYmVsIGZvciB0aGUgcGFnaW5hdGlvbiBjb250cm9sIHdoZW4gYW4gYXBwbGljYXRpb24gaW5jbHVkZXNcbiAgICogbXVsdGlwbGUgcGFnaW5nIGNvbXBvbmVudHMgb24gdGhlIHNhbWUgcGFnZS4gVGhlIGxhYmVsIHNob3VsZCBiZSB1bmlxdWUgYW5kIGRlc2NyaXB0aXZlXG4gICAqIHRvIGhlbHAgdXNlcnMgb2YgYXNzaXN0aXZlIHRlY2hub2xvZ3kgZGlmZmVyZW50aWF0ZSBwYWdpbmF0aW9uIGNvbnRyb2xzXG4gICAqIGFuZCB1bmRlcnN0YW5kIHdoYXQgZWFjaCBvbmUgZG9lcy5cbiAgICogQGRlZmF1bHQgUGFnaW5hdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2luZ0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBjaGFuZ2VzIGFuZCBlbWl0cyB0aGUgbmV3IGN1cnJlbnQgcGFnZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY3VycmVudFBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGRpc3BsYXllZFBhZ2VzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgcHVibGljIHBhZ2VDb3VudDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGFnZSh0aGlzLmN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlKHBhZ2VOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1BhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlO1xuXG4gICAgdGhpcy5zZXRQYWdlQ291bnQoKTtcblxuICAgIGlmIChwYWdlTnVtYmVyIDwgMSB8fCB0aGlzLnBhZ2VDb3VudCA8IDEpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIH0gZWxzZSBpZiAocGFnZU51bWJlciA+IHRoaXMucGFnZUNvdW50KSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5wYWdlQ291bnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlTnVtYmVyO1xuICAgIH1cblxuICAgIHRoaXMuc2V0RGlzcGxheWVkUGFnZXMoKTtcblxuICAgIGlmIChwcmV2aW91c1BhZ2UgIT09IHRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRQYWdlKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5jdXJyZW50UGFnZSArIDEpO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5jdXJyZW50UGFnZSAtIDEpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1ByZXZpb3VzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRQYWdlID09PSAxKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNOZXh0QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRQYWdlID09PSB0aGlzLnBhZ2VDb3VudCk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXllZFBhZ2VOdW1iZXJzKFxuICAgIHBhZ2VDb3VudDogbnVtYmVyLFxuICAgIG1heERpc3BsYXllZFBhZ2VzOiBudW1iZXIsXG4gICAgcGFnZU51bWJlcjogbnVtYmVyXG4gICk6IEFycmF5PG51bWJlcj4ge1xuICAgIGxldCBwYWdlSW5kZXggPSBwYWdlTnVtYmVyIC0gMTtcbiAgICBsZXQgcGFnZUJvdW5kcyA9IE1hdGguZmxvb3IobWF4RGlzcGxheWVkUGFnZXMgLyAyKTtcblxuICAgIGxldCB1cHBlckJvdW5kID0gcGFnZUluZGV4ICsgcGFnZUJvdW5kcztcbiAgICBsZXQgbG93ZXJCb3VuZCA9IHBhZ2VJbmRleCAtIHBhZ2VCb3VuZHM7XG4gICAgaWYgKG1heERpc3BsYXllZFBhZ2VzICUgMiAhPT0gMCkge1xuICAgICAgdXBwZXJCb3VuZCArPSAxO1xuICAgIH1cblxuICAgIC8vIFdyYXAgbmVnYXRpdmUgdmFsdWVzIHRvIGluY3JlYXNlIHRoZSB1cHBlcmJvdW5kXG4gICAgaWYgKGxvd2VyQm91bmQgPCAwKSB7XG4gICAgICB1cHBlckJvdW5kIC09IGxvd2VyQm91bmQ7XG4gICAgICBsb3dlckJvdW5kID0gMDtcbiAgICB9XG4gICAgLy8gV3JhcCBvdmVyZmxvdyB0byBkZWNyZWFzZSB0aGUgbG93ZXJib3VuZFxuICAgIGlmICh1cHBlckJvdW5kID4gcGFnZUNvdW50KSB7XG4gICAgICBsb3dlckJvdW5kIC09IHVwcGVyQm91bmQgLSBwYWdlQ291bnQ7XG4gICAgICB1cHBlckJvdW5kID0gcGFnZUNvdW50O1xuICAgIH1cblxuICAgIC8vIElmIGJvdGggYXJlIHRoZSBzYW1lIGlnbm9yZSBldmVyeXRoaW5nIGVsc2UgYW5kIGp1c3QgZGlzcGxheSBpdCBhbGxcbiAgICBpZiAocGFnZUNvdW50IDwgbWF4RGlzcGxheWVkUGFnZXMpIHtcbiAgICAgIGxvd2VyQm91bmQgPSAwO1xuICAgICAgdXBwZXJCb3VuZCA9IHBhZ2VDb3VudDtcbiAgICB9XG5cbiAgICBsZXQgZGlzcGxheWVkUGFnZU51bWJlcnM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gbG93ZXJCb3VuZDsgaSA8IHVwcGVyQm91bmQ7IGkrKykge1xuICAgICAgZGlzcGxheWVkUGFnZU51bWJlcnMucHVzaChpICsgMSk7XG4gICAgfVxuICAgIHJldHVybiBkaXNwbGF5ZWRQYWdlTnVtYmVycztcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGFnZUNvdW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1Db3VudCA9PT0gMCB8fCB0aGlzLnBhZ2VTaXplID09PSAwKSB7XG4gICAgICB0aGlzLnBhZ2VDb3VudCA9IDA7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLmNlaWwodGhpcy5pdGVtQ291bnQgLyB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGlzcGxheWVkUGFnZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRQYWdlcyA9XG4gICAgICB0aGlzLmdldERpc3BsYXllZFBhZ2VOdW1iZXJzKHRoaXMucGFnZUNvdW50LCB0aGlzLm1heFBhZ2VzLCB0aGlzLmN1cnJlbnRQYWdlKTtcbiAgfVxufVxuIiwiPG5hdiAqbmdJZj1cInBhZ2VDb3VudCA+IDFcIlxuICBjbGFzcz1cInNreS1wYWdpbmdcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cInBhZ2luZ0xhYmVsIHx8ICgnc2t5dXhfcGFnaW5nX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcylcIlxuPlxuICA8dWw+XG4gICAgPGxpPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1wYWdpbmctYnRuIHNreS1wYWdpbmctYnRuLXByZXZpb3VzIHNreS1ib3hcIlxuICAgICAgICBza3ktY21wLWlkPVwicHJldmlvdXNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfcGFnaW5nX3ByZXZpb3VzJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgIGljb249XCJjYXJldC1sZWZ0XCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uPVwiY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgcGFnZU51bWJlciBvZiBkaXNwbGF5ZWRQYWdlc1wiXG4gICAgICBjbGFzcz1cInNreS1saXN0LXBhZ2luZy1saW5rXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXBhZ2luZy1idG4gc2t5LWJveFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiKGN1cnJlbnRQYWdlID09PSBwYWdlTnVtYmVyKSA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cInBhZ2VOdW1iZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IHBhZ2VOdW1iZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktcGFnaW5nLWN1cnJlbnQnOiBjdXJyZW50UGFnZSA9PT0gcGFnZU51bWJlciB9XCJcbiAgICAgICAgKGNsaWNrKT1cInNldFBhZ2UocGFnZU51bWJlcilcIlxuICAgICAgPlxuICAgICAgICB7eyBwYWdlTnVtYmVyIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2xpPlxuICAgIDxsaT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktcGFnaW5nLWJ0biBza3ktcGFnaW5nLWJ0bi1uZXh0IHNreS1ib3hcIlxuICAgICAgICBza3ktY21wLWlkPVwibmV4dFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9wYWdpbmdfbmV4dCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgaWNvbj1cImNhcmV0LXJpZ2h0XCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgID48L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3BhZ2luZy9wYWdpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdHMvc3JjL21vZHVsZXMvcGFnaW5nL3BhZ2luZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXZCLE1BQU0sT0FBTyxrQkFBa0I7SUFOL0I7UUFPRTs7V0FFRztRQUVJLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9COztXQUVHO1FBRUksY0FBUyxHQUFXLENBQUMsQ0FBQztRQUU3Qjs7V0FFRztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBWTdCOztXQUVHO1FBRUksc0JBQWlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckUsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBRW5DLGNBQVMsR0FBVyxDQUFDLENBQUM7S0FnRzlCO0lBOUZRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFVBQWtCO1FBQy9CLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztTQUN0QjthQUFNLElB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QUFrQjtvR0FBbEIsa0JBQWtCLG9RQ2hCL0IsZzNEQTJEQTs0RkQzQ2Esa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQU1RLFdBQVc7c0JBRGpCLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBV0MsV0FBVztzQkFEakIsS0FBSztnQkFPQyxpQkFBaUI7c0JBRHZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wYWdpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBwYWdlIG51bWJlciBvZiB0aGUgY3VycmVudCBwYWdlLiBQYWdlIG51bWJlcnMgc3RhcnQgYXQgMSBhbmQgaW5jcmVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBhY3Jvc3MgYWxsIHBhZ2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW1Db3VudDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwYWdlcyB0byBkaXNwbGF5IGluIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2wuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4UGFnZXM6IG51bWJlciA9IDU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHBhZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBsYWJlbCBmb3IgdGhlIHBhZ2luYXRpb24gY29udHJvbCB3aGVuIGFuIGFwcGxpY2F0aW9uIGluY2x1ZGVzXG4gICAqIG11bHRpcGxlIHBhZ2luZyBjb21wb25lbnRzIG9uIHRoZSBzYW1lIHBhZ2UuIFRoZSBsYWJlbCBzaG91bGQgYmUgdW5pcXVlIGFuZCBkZXNjcmlwdGl2ZVxuICAgKiB0byBoZWxwIHVzZXJzIG9mIGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGRpZmZlcmVudGlhdGUgcGFnaW5hdGlvbiBjb250cm9sc1xuICAgKiBhbmQgdW5kZXJzdGFuZCB3aGF0IGVhY2ggb25lIGRvZXMuXG4gICAqIEBkZWZhdWx0IFBhZ2luYXRpb25cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmdMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBjdXJyZW50IHBhZ2UgY2hhbmdlcyBhbmQgZW1pdHMgdGhlIG5ldyBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGN1cnJlbnRQYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBkaXNwbGF5ZWRQYWdlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXG4gIHB1YmxpYyBwYWdlQ291bnQ6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnNldFBhZ2UodGhpcy5jdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZShwYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBsZXQgcHJldmlvdXNQYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcblxuICAgIHRoaXMuc2V0UGFnZUNvdW50KCk7XG5cbiAgICBpZiAocGFnZU51bWJlciA8IDEgfHwgdGhpcy5wYWdlQ291bnQgPCAxKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB9IGVsc2UgaWYgKHBhZ2VOdW1iZXIgPiB0aGlzLnBhZ2VDb3VudCkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMucGFnZUNvdW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZU51bWJlcjtcbiAgICB9XG5cbiAgICB0aGlzLnNldERpc3BsYXllZFBhZ2VzKCk7XG5cbiAgICBpZiAocHJldmlvdXNQYWdlICE9PSB0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5leHRQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGFnZSh0aGlzLmN1cnJlbnRQYWdlICsgMSk7XG4gIH1cblxuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGFnZSh0aGlzLmN1cnJlbnRQYWdlIC0gMSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUHJldmlvdXNCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA9PT0gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNOZXh0QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPT09IHRoaXMucGFnZUNvdW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5ZWRQYWdlTnVtYmVycyhcbiAgICBwYWdlQ291bnQ6IG51bWJlcixcbiAgICBtYXhEaXNwbGF5ZWRQYWdlczogbnVtYmVyLFxuICAgIHBhZ2VOdW1iZXI6IG51bWJlclxuICApOiBBcnJheTxudW1iZXI+IHtcbiAgICBsZXQgcGFnZUluZGV4ID0gcGFnZU51bWJlciAtIDE7XG4gICAgbGV0IHBhZ2VCb3VuZHMgPSBNYXRoLmZsb29yKG1heERpc3BsYXllZFBhZ2VzIC8gMik7XG5cbiAgICBsZXQgdXBwZXJCb3VuZCA9IHBhZ2VJbmRleCArIHBhZ2VCb3VuZHM7XG4gICAgbGV0IGxvd2VyQm91bmQgPSBwYWdlSW5kZXggLSBwYWdlQm91bmRzO1xuICAgIGlmIChtYXhEaXNwbGF5ZWRQYWdlcyAlIDIgIT09IDApIHtcbiAgICAgIHVwcGVyQm91bmQgKz0gMTtcbiAgICB9XG5cbiAgICAvLyBXcmFwIG5lZ2F0aXZlIHZhbHVlcyB0byBpbmNyZWFzZSB0aGUgdXBwZXJib3VuZFxuICAgIGlmIChsb3dlckJvdW5kIDwgMCkge1xuICAgICAgdXBwZXJCb3VuZCAtPSBsb3dlckJvdW5kO1xuICAgICAgbG93ZXJCb3VuZCA9IDA7XG4gICAgfVxuICAgIC8vIFdyYXAgb3ZlcmZsb3cgdG8gZGVjcmVhc2UgdGhlIGxvd2VyYm91bmRcbiAgICBpZiAodXBwZXJCb3VuZCA+IHBhZ2VDb3VudCkge1xuICAgICAgbG93ZXJCb3VuZCAtPSB1cHBlckJvdW5kIC0gcGFnZUNvdW50O1xuICAgICAgdXBwZXJCb3VuZCA9IHBhZ2VDb3VudDtcbiAgICB9XG5cbiAgICAvLyBJZiBib3RoIGFyZSB0aGUgc2FtZSBpZ25vcmUgZXZlcnl0aGluZyBlbHNlIGFuZCBqdXN0IGRpc3BsYXkgaXQgYWxsXG4gICAgaWYgKHBhZ2VDb3VudCA8IG1heERpc3BsYXllZFBhZ2VzKSB7XG4gICAgICBsb3dlckJvdW5kID0gMDtcbiAgICAgIHVwcGVyQm91bmQgPSBwYWdlQ291bnQ7XG4gICAgfVxuXG4gICAgbGV0IGRpc3BsYXllZFBhZ2VOdW1iZXJzOiBBcnJheTxudW1iZXI+ID0gW107XG4gICAgZm9yIChsZXQgaSA9IGxvd2VyQm91bmQ7IGkgPCB1cHBlckJvdW5kOyBpKyspIHtcbiAgICAgIGRpc3BsYXllZFBhZ2VOdW1iZXJzLnB1c2goaSArIDEpO1xuICAgIH1cbiAgICByZXR1cm4gZGlzcGxheWVkUGFnZU51bWJlcnM7XG4gIH1cblxuICBwcml2YXRlIHNldFBhZ2VDb3VudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtQ291bnQgPT09IDAgfHwgdGhpcy5wYWdlU2l6ZSA9PT0gMCkge1xuICAgICAgdGhpcy5wYWdlQ291bnQgPSAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFnZUNvdW50ID0gTWF0aC5jZWlsKHRoaXMuaXRlbUNvdW50IC8gdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldERpc3BsYXllZFBhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkUGFnZXMgPSB0aGlzLmdldERpc3BsYXllZFBhZ2VOdW1iZXJzKFxuICAgICAgdGhpcy5wYWdlQ291bnQsXG4gICAgICB0aGlzLm1heFBhZ2VzLFxuICAgICAgdGhpcy5jdXJyZW50UGFnZVxuICAgICk7XG4gIH1cbn1cbiIsIjxuYXZcbiAgKm5nSWY9XCJwYWdlQ291bnQgPiAxXCJcbiAgY2xhc3M9XCJza3ktcGFnaW5nXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJwYWdpbmdMYWJlbCB8fCAoJ3NreXV4X3BhZ2luZ19sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpXCJcbj5cbiAgPHVsPlxuICAgIDxsaT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJcbiAgICAgICAgICBza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktcGFnaW5nLWJ0biBza3ktcGFnaW5nLWJ0bi1wcmV2aW91cyBza3ktYm94XG4gICAgICAgIFwiXG4gICAgICAgIHNreS1jbXAtaWQ9XCJwcmV2aW91c1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9wYWdpbmdfcHJldmlvdXMnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzUHJldmlvdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjYXJldC1sZWZ0XCI+PC9za3ktaWNvbj5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgaWNvbj1cImNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgID48L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgZGlzcGxheWVkUGFnZXNcIiBjbGFzcz1cInNreS1saXN0LXBhZ2luZy1saW5rXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXBhZ2luZy1idG4gc2t5LWJveFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiY3VycmVudFBhZ2UgPT09IHBhZ2VOdW1iZXIgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSBwYWdlTnVtYmVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LXBhZ2luZy1jdXJyZW50JzogY3VycmVudFBhZ2UgPT09IHBhZ2VOdW1iZXIgfVwiXG4gICAgICAgIChjbGljayk9XCJzZXRQYWdlKHBhZ2VOdW1iZXIpXCJcbiAgICAgID5cbiAgICAgICAge3sgcGFnZU51bWJlciB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGk+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiXG4gICAgICAgICAgc2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXBhZ2luZy1idG4gc2t5LXBhZ2luZy1idG4tbmV4dCBza3ktYm94XG4gICAgICAgIFwiXG4gICAgICAgIHNreS1jbXAtaWQ9XCJuZXh0XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3BhZ2luZ19uZXh0JyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc05leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNhcmV0LXJpZ2h0XCI+PC9za3ktaWNvbj5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
|
|
@@ -16,23 +16,19 @@ SkyPagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
16
16
|
CommonModule,
|
|
17
17
|
SkyIconModule,
|
|
18
18
|
SkyListsResourcesModule,
|
|
19
|
-
SkyThemeModule
|
|
19
|
+
SkyThemeModule,
|
|
20
20
|
]] });
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPagingModule, decorators: [{
|
|
22
22
|
type: NgModule,
|
|
23
23
|
args: [{
|
|
24
|
-
declarations: [
|
|
25
|
-
SkyPagingComponent
|
|
26
|
-
],
|
|
24
|
+
declarations: [SkyPagingComponent],
|
|
27
25
|
imports: [
|
|
28
26
|
CommonModule,
|
|
29
27
|
SkyIconModule,
|
|
30
28
|
SkyListsResourcesModule,
|
|
31
|
-
SkyThemeModule
|
|
29
|
+
SkyThemeModule,
|
|
32
30
|
],
|
|
33
|
-
exports: [
|
|
34
|
-
SkyPagingComponent
|
|
35
|
-
]
|
|
31
|
+
exports: [SkyPagingComponent],
|
|
36
32
|
}]
|
|
37
33
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3BhZ2luZy9wYWdpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVl4RCxNQUFNLE9BQU8sZUFBZTs7NkdBQWYsZUFBZTs4R0FBZixlQUFlLGlCQVRYLGtCQUFrQixhQUUvQixZQUFZO1FBQ1osYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixjQUFjLGFBRU4sa0JBQWtCOzhHQUVqQixlQUFlLFlBUmpCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7WUFDYix1QkFBdUI7WUFDdkIsY0FBYztTQUNmOzRGQUdVLGVBQWU7a0JBVjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5TGlzdHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxpc3RzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lQYWdpbmdDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lQYWdpbmdDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5TGlzdHNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lQYWdpbmdDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdpbmdNb2R1bGUge31cbiJdfQ==
|
|
@@ -65,4 +65,4 @@ SkyRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
|
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyRepeaterAdapterService, decorators: [{
|
|
66
66
|
type: Injectable
|
|
67
67
|
}], ctorParameters: function () { return [{ type: i1.SkyRepeaterService }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdHMvc3JjL21vZHVsZXMvcmVwZWF0ZXIvcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJdkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLFlBQW9CLGVBQW1DO1FBQW5DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtJQUFHLENBQUM7SUFOM0QsSUFBWSx5QkFBeUI7UUFDbkMsT0FBTywyQkFBMkIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUM1RSxDQUFDO0lBTU0sWUFBWSxDQUFDLE9BQWlDO1FBQ25ELElBQUksT0FBTyxZQUFZLFVBQVUsRUFBRTtZQUNqQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQW1CO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxPQUFvQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQW9CLEVBQUUsR0FBRyxHQUFHLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUU3QixJQUFJLEdBQUcsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxZQUFZLENBQUMsT0FBb0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQsSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUU7WUFDdEMsT0FBTztTQUNSO1FBRUQsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sUUFBUSxDQUNkLE9BQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLFFBQWdCO1FBRWhCLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV6RCxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDOUMsSUFBSSxDQUFDLHlCQUF5QixDQUMvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRVosV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXJELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDOzt1SEFoRlUseUJBQXlCOzJIQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5UmVwZWF0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXBlYXRlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVJlcGVhdGVyQWRhcHRlclNlcnZpY2Uge1xuICBwcml2YXRlIGdldCByZXBlYXRlckl0ZW1Hcm91cFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcuc2t5LXJlcGVhdGVyLWl0ZW0tZ3JvdXAtJyArIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnJlcGVhdGVyR3JvdXBJZDtcbiAgfVxuXG4gIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcGVhdGVyU2VydmljZTogU2t5UmVwZWF0ZXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmb2N1c0VsZW1lbnQoZWxlbWVudDogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB7XG4gICAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXBlYXRlckhvc3QoaG9zdFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuaG9zdCA9IGhvc3RSZWY7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVwZWF0ZXJJdGVtSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFJlcGVhdGVySXRlbUFycmF5KCkuaW5kZXhPZihlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlSXRlbVVwKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB0b3AgPSBmYWxzZSwgc3RlcHMgPSAxKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0UmVwZWF0ZXJJdGVtSW5kZXgoZWxlbWVudCk7XG5cbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbmV3SW5kZXggPSBpbmRleCAtIHN0ZXBzO1xuXG4gICAgaWYgKHRvcCB8fCBuZXdJbmRleCA8IDApIHtcbiAgICAgIG5ld0luZGV4ID0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb3ZlSXRlbShlbGVtZW50LCBpbmRleCwgbmV3SW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG1vdmVJdGVtRG93bihlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcHMgPSAxKTogbnVtYmVyIHtcbiAgICBjb25zdCBpdGVtQXJyYXkgPSB0aGlzLmdldFJlcGVhdGVySXRlbUFycmF5KCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFJlcGVhdGVySXRlbUluZGV4KGVsZW1lbnQpO1xuXG4gICAgaWYgKGluZGV4ID09PSBpdGVtQXJyYXkubGVuZ3RoIC0gc3RlcHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbmV3SW5kZXggPSBpbmRleCArIHN0ZXBzO1xuXG4gICAgcmV0dXJuIHRoaXMubW92ZUl0ZW0oZWxlbWVudCwgaW5kZXgsIG5ld0luZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUl0ZW0oXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgb2xkSW5kZXg6IG51bWJlcixcbiAgICBuZXdJbmRleDogbnVtYmVyXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgcmVwZWF0ZXJEaXY6IEhUTUxFbGVtZW50ID1cbiAgICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktcmVwZWF0ZXInKTtcblxuICAgIHJlcGVhdGVyRGl2LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIGNvbnN0IG5leHRTaWJsaW5nID0gcmVwZWF0ZXJEaXYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIHRoaXMucmVwZWF0ZXJJdGVtR3JvdXBTZWxlY3RvclxuICAgIClbbmV3SW5kZXhdO1xuXG4gICAgcmVwZWF0ZXJEaXYuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIG5leHRTaWJsaW5nKTtcbiAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5yZW9yZGVySXRlbShvbGRJbmRleCwgbmV3SW5kZXgpO1xuXG4gICAgcmV0dXJuIG5ld0luZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gYXJyYXkgb2YgdGhlIGltbWVkaWF0ZSByZXBlYXRlciBpdGVtIGRlc2NlbmRhbnRzLiBFeGNsdWRlcyBuZXN0ZWQgcmVwZWF0ZXIgaXRlbXMuXG4gICAqL1xuICBwcml2YXRlIGdldFJlcGVhdGVySXRlbUFycmF5KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnJlcGVhdGVySXRlbUdyb3VwU2VsZWN0b3IpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -11,7 +11,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'sky-repeater-item-content',
|
|
14
|
-
templateUrl: './repeater-item-content.component.html'
|
|
14
|
+
templateUrl: './repeater-item-content.component.html',
|
|
15
15
|
}]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItaXRlbS1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLWl0ZW0tY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0cy9zcmMvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sK0JBQStCOzs2SEFBL0IsK0JBQStCO2lIQUEvQiwrQkFBK0IsaUVDVDVDLDZCQUNBOzRGRFFhLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUsd0NBQXdDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGNvbnRlbnQgdGV4dCB3aGVuIHRoZSByZXBlYXRlciBpcyBleHBhbmRlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBlYXRlci1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lSZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -14,7 +14,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{
|
|
16
16
|
selector: 'sky-repeater-item-context-menu',
|
|
17
|
-
templateUrl: './repeater-item-context-menu.component.html'
|
|
17
|
+
templateUrl: './repeater-item-context-menu.component.html',
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdHMvc3JjL21vZHVsZXMvcmVwZWF0ZXIvcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdHMvc3JjL21vZHVsZXMvcmVwZWF0ZXIvcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7OztHQUdHO0FBS0gsMEJBQTBCO0FBQzFCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8sbUNBQW1DOztpSUFBbkMsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsc0VDWmhELDZCQUNBOzRGRFdhLG1DQUFtQztrQkFOL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUsNkNBQTZDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFdyYXBzIGFuZCBzdHlsZXMgYVxuICogW2Bza3l1eC1kcm9wZG93bmAgY29tcG9uZW50XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXBvcG92ZXJzL2RvY3MvZHJvcGRvd24pLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxufSlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKiBDb2RlIGNvdmVyYWdlIGhhdmluZyBwcm9ibGVtcyB3aXRoIG5vIHN0YXRlbWVudHMgaW4gY2xhc3NlcyAqL1xuZXhwb3J0IGNsYXNzIFNreVJlcGVhdGVySXRlbUNvbnRleHRNZW51Q29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -11,7 +11,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'sky-repeater-item-title',
|
|
14
|
-
templateUrl: './repeater-item-title.component.html'
|
|
14
|
+
templateUrl: './repeater-item-title.component.html',
|
|
15
15
|
}]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItaXRlbS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0cy9zcmMvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci1pdGVtLXRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLWl0ZW0tdGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sNkJBQTZCOzsySEFBN0IsNkJBQTZCOytHQUE3Qiw2QkFBNkIsK0RDVDFDLDZCQUNBOzRGRFFhLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsc0NBQXNDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgaGVhZGVyIGluc2lkZSB0aGUgcmVwZWF0ZXIgaXRlbS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXJlcGVhdGVyLWl0ZW0tdGl0bGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0ZXItaXRlbS10aXRsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlcGVhdGVySXRlbVRpdGxlQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { skyAnimationSlide } from '@skyux/animations';
|
|
3
3
|
import { forkJoin as observableForkJoin, Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -64,8 +64,7 @@ export class SkyRepeaterItemComponent {
|
|
|
64
64
|
this._isSelected = false;
|
|
65
65
|
this.slideForExpanded(false);
|
|
66
66
|
// tslint:disable-next-line: deprecation
|
|
67
|
-
observableForkJoin(this.resourceService.getString('skyux_repeater_item_reorder_cancel'), this.resourceService.getString('skyux_repeater_item_reorder_finish'), this.resourceService.getString('skyux_repeater_item_reorder_instructions'), this.resourceService.getString('skyux_repeater_item_reorder_operation'), this.resourceService.getString('skyux_repeater_item_reorder_moved'))
|
|
68
|
-
.subscribe((translatedStrings) => {
|
|
67
|
+
observableForkJoin(this.resourceService.getString('skyux_repeater_item_reorder_cancel'), this.resourceService.getString('skyux_repeater_item_reorder_finish'), this.resourceService.getString('skyux_repeater_item_reorder_instructions'), this.resourceService.getString('skyux_repeater_item_reorder_operation'), this.resourceService.getString('skyux_repeater_item_reorder_moved')).subscribe((translatedStrings) => {
|
|
69
68
|
this.reorderCancelText = translatedStrings[0];
|
|
70
69
|
this.reorderFinishText = translatedStrings[1];
|
|
71
70
|
this.reorderStateDescription = translatedStrings[2];
|
|
@@ -202,7 +201,8 @@ export class SkyRepeaterItemComponent {
|
|
|
202
201
|
if (this.keyboardReorderingEnabled) {
|
|
203
202
|
this.keyboardReorderingEnabled = false;
|
|
204
203
|
this.revertReorderSteps();
|
|
205
|
-
this.reorderButtonLabel =
|
|
204
|
+
this.reorderButtonLabel =
|
|
205
|
+
this.reorderCancelText + ' ' + this.reorderInstructions;
|
|
206
206
|
this.adapterService.focusElement(event.target);
|
|
207
207
|
event.preventDefault();
|
|
208
208
|
event.stopPropagation();
|
|
@@ -292,8 +292,7 @@ export class SkyRepeaterItemComponent {
|
|
|
292
292
|
this.reorderState = this.reorderStateDescription;
|
|
293
293
|
}
|
|
294
294
|
else {
|
|
295
|
-
this.reorderState =
|
|
296
|
-
`${this.reorderFinishText} ${this.reorderCurrentIndex + 1} ${this.reorderInstructions}`;
|
|
295
|
+
this.reorderState = `${this.reorderFinishText} ${this.reorderCurrentIndex + 1} ${this.reorderInstructions}`;
|
|
297
296
|
}
|
|
298
297
|
}
|
|
299
298
|
revertReorderSteps() {
|
|
@@ -311,7 +310,8 @@ export class SkyRepeaterItemComponent {
|
|
|
311
310
|
.subscribe(() => {
|
|
312
311
|
this.hasItemContent = this.repeaterItemContentComponents.length > 0;
|
|
313
312
|
/* istanbul ignore next */
|
|
314
|
-
this.isCollapsible =
|
|
313
|
+
this.isCollapsible =
|
|
314
|
+
this.hasItemContent && this.repeaterService.expandMode !== 'none';
|
|
315
315
|
/* istanbul ignore else */
|
|
316
316
|
if (this.repeaterService.expandMode === 'single') {
|
|
317
317
|
this.repeaterService.onItemCollapseStateChange(this);
|
|
@@ -320,7 +320,7 @@ export class SkyRepeaterItemComponent {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
SkyRepeaterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: i1.SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
323
|
-
SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n role=\"option\"\n tabindex=\"0\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n (keydown)=\"onItemKeyDown($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content\n select=\"sky-inline-delete\"\n ></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template\n #skyRepeaterItemLeft\n>\n <div\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-repeater-item-reorder-assistive-text\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{reorderState}}\n </span>\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"reorderButtonLabel\"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon\n icon=\"arrows-v\"\n ></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"'skyux_repeater_item_checkbox_label' | skyLibResources\"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content\n select=\"sky-repeater-item-context-menu\"\n ></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #skyRepeaterItemRight\n>\n <div\n class=\"sky-repeater-item-right\"\n #itemHeaderRef\n >\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n >\n <ng-content\n select=\"sky-repeater-item-title\"\n ></ng-content>\n </div>\n <button *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_repeater_item_reorder_top_label' | skyLibResources\"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon\n icon=\"arrow-circle-up\"\n ></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\"\n class=\"sky-repeater-item-chevron\"\n >\n <sky-chevron\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"isExpanded\"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n >\n <ng-content\n select=\"sky-repeater-item-content\"\n ></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-reorder-assistive-text{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], components: [{ type: i4.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ2, selector: "sky-chevron", inputs: ["direction", "disabled"], outputs: ["directionChange"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
|
|
323
|
+
SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n role=\"option\"\n tabindex=\"0\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n (keydown)=\"onItemKeyDown($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-repeater-item-reorder-assistive-text\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"reorderButtonLabel\"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"'skyux_repeater_item_checkbox_label' | skyLibResources\"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_repeater_item_reorder_top_label' | skyLibResources\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"isExpanded\"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-reorder-assistive-text{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], components: [{ type: i4.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ2, selector: "sky-chevron", inputs: ["direction", "disabled"], outputs: ["directionChange"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
|
|
324
324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
|
|
325
325
|
type: Component,
|
|
326
326
|
args: [{
|
|
@@ -328,7 +328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
328
328
|
styleUrls: ['./repeater-item.component.scss'],
|
|
329
329
|
templateUrl: './repeater-item.component.html',
|
|
330
330
|
animations: [skyAnimationSlide],
|
|
331
|
-
encapsulation: ViewEncapsulation.None
|
|
331
|
+
encapsulation: ViewEncapsulation.None,
|
|
332
332
|
}]
|
|
333
333
|
}], ctorParameters: function () { return [{ type: i1.SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i3.SkyLibResourcesService }]; }, propDecorators: { inlineFormConfig: [{
|
|
334
334
|
type: Input
|
|
@@ -376,4 +376,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
376
376
|
type: ContentChildren,
|
|
377
377
|
args: [SkyRepeaterItemContentComponent]
|
|
378
378
|
}] } });
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0cy9zcmMvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFlM0IsT0FBTyxFQUNMLFFBQVEsSUFBSSxrQkFBa0IsRUFDOUIsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBTXhCLE9BQU8sRUFDTCwrQkFBK0IsRUFDaEMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQU1oRCxJQUFJLGFBQWEsR0FBVyxDQUFDLENBQUM7QUFFOUI7O0dBRUc7QUFRSCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0xuQyxZQUNVLGVBQW1DLEVBQ25DLGNBQWlDLEVBQ2pDLGNBQXlDLEVBQ3pDLFVBQXNCLEVBQ3RCLGVBQXVDO1FBSnZDLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBQ3pDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUs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QUFVO3NCQURqQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXJDLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUl6QyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXhDLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUlsQyw2QkFBNkI7c0JBRHBDLGVBQWU7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBza3lBbmltYXRpb25TbGlkZVxufSBmcm9tICdAc2t5dXgvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIFNreUNoZWNrYm94Q2hhbmdlXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBTa3lJbmxpbmVGb3JtQ2xvc2VBcmdzLFxuICBTa3lJbmxpbmVGb3JtQ29uZmlnXG59IGZyb20gJ0Bza3l1eC9pbmxpbmUtZm9ybSc7XG5cbmltcG9ydCB7XG4gIGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbixcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5UmVwZWF0ZXJBZGFwdGVyU2VydmljZVxufSBmcm9tICcuL3JlcGVhdGVyLWFkYXB0ZXIuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVJlcGVhdGVySXRlbUNvbnRlbnRDb21wb25lbnRcbn0gZnJvbSAnLi9yZXBlYXRlci1pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5UmVwZWF0ZXJJdGVtQ29udGV4dE1lbnVDb21wb25lbnRcbn0gZnJvbSAnLi9yZXBlYXRlci1pdGVtLWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lSZXBlYXRlclNlcnZpY2Vcbn0gZnJvbSAnLi9yZXBlYXRlci5zZXJ2aWNlJztcblxubGV0IG5leHRDb250ZW50SWQ6IG51bWJlciA9IDA7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbmRpdmlkdWFsIHJlcGVhdGVyIGl0ZW0uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1yZXBlYXRlci1pdGVtJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwZWF0ZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25TbGlkZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2t5UmVwZWF0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgYnV0dG9ucyB0byBkaXNwbGF5IG9uIGFuIGlubGluZSBmb3JtXG4gICAqIHdpdGhpbiB0aGUgcmVwZWF0ZXIuIFRoaXMgcHJvcGVydHkgYWNjZXB0c1xuICAgKiBbYSBgU2t5SW5saW5lRm9ybUNvbmZpZ2Agb2JqZWN0XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaW5saW5lLWZvcm0jc2t5aW5saW5lZm9ybWNvbmZpZy1wcm9wZXJ0aWVzKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmxpbmVGb3JtQ29uZmlnOiBTa3lJbmxpbmVGb3JtQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgW2FuIEFuZ3VsYXIgYFRlbXBsYXRlUmVmYF0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL1RlbXBsYXRlUmVmKSB0byB1c2VcbiAgICogYXMgYSB0ZW1wbGF0ZSB0byBpbnN0YW50aWF0ZSBhbiBpbmxpbmUgZm9ybSB3aXRoaW4gdGhlIHJlcGVhdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlubGluZUZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlcGVhdGVyIGl0ZW0gaXMgZXhwYW5kZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNFeHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudXBkYXRlRm9yRXhwYW5kZWQodmFsdWUsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0V4cGFuZGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByZXBlYXRlciBpdGVtJ3MgY2hlY2tib3ggaXMgc2VsZWN0ZWQuXG4gICAqIFdoZW4gdXNlcnMgc2VsZWN0IHRoZSByZXBlYXRlciBpdGVtLCB0aGUgc3BlY2lmaWVkIHByb3BlcnR5IG9uIHlvdXIgbW9kZWwgaXMgdXBkYXRlZCBhY2NvcmRpbmdseS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNTZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5faXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5faXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5pc1NlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5faXNTZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1NlbGVjdGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSByZXBlYXRlciBpdGVtLlxuICAgKiBUaGUgcmVwZWF0ZXIgY29tcG9uZW50J3MgYHJlb3JkZXJhYmxlYCBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW9yZGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGEgY2hlY2tib3ggaW4gdGhlIGxlZnQgb2YgdGhlIHJlcGVhdGVyIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGFuIGlubGluZSBmb3JtIHdpdGhpbiB0aGUgcmVwZWF0ZXIuXG4gICAqIFVzZXJzIGNhbiB0b2dnbGUgYmV0d2VlbiBkaXNwbGF5aW5nIGFuZCBoaWRpbmcgdGhlIGlubGluZSBmb3JtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dJbmxpbmVGb3JtOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBvYmplY3QgdGhhdCB0aGUgcmVwZWF0ZXIgY29tcG9uZW50IHJldHVybnMgZm9yIHRoaXMgcmVwZWF0ZXIgaXRlbVxuICAgKiB3aGVuIHRoZSBgb3JkZXJDaGFuZ2VgIGV2ZW50IGZpcmVzLiBUaGlzIGlzIHJlcXVpcmVkXG4gICAqIGlmIHlvdSBzZXQgdGhlIGByZW9yZGVyYWJsZWAgcHJvcGVydHkgdG8gYHRydWVgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhZzogYW55O1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGNvbGxhcHNlIHRoZSByZXBlYXRlciBpdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2xsYXBzZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBleHBhbmQgdGhlIHJlcGVhdGVyIGl0ZW0uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGV4cGFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcmVwZWF0ZXIgaW5jbHVkZXMgYW4gaW5saW5lIGZvcm0gYW5kIHVzZXJzIGNsb3NlIGl0LiBUaGlzIGV2ZW50IGVtaXRzXG4gICAqIFthIGBTa3lJbmxpbmVGb3JtQ2xvc2VBcmdzYCB0eXBlXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaW5saW5lLWZvcm0jc2t5aW5saW5lZm9ybWNsb3NlYXJncy1wcm9wZXJ0aWVzKS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW5saW5lRm9ybUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lJbmxpbmVGb3JtQ2xvc2VBcmdzPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBvciBjbGVhciB0aGUgY2hlY2tib3ggZm9yIHRoZSByZXBlYXRlciBpdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2t5UmVwZWF0ZXJJdGVtQ29udGV4dE1lbnVDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgY29udGV4dE1lbnU6IEVsZW1lbnRSZWY7XG5cbiAgcHVibGljIGNvbnRlbnRJZDogc3RyaW5nID0gYHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQtJHsrK25leHRDb250ZW50SWR9YDtcblxuICBwdWJsaWMgaGFzSXRlbUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2V0IGlzQ29sbGFwc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNpYmxlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5faXNDb2xsYXBzaWJsZSA9IHZhbHVlO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9yRXhwYW5kZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ29sbGFwc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2libGU7XG4gIH1cblxuICBwdWJsaWMga2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZW9yZGVyQnV0dG9uTGFiZWw6IHN0cmluZztcblxuICBwdWJsaWMgcmVvcmRlclN0YXRlOiBzdHJpbmc7XG5cbiAgcHVibGljIHNsaWRlRGlyZWN0aW9uOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCByZXBlYXRlckdyb3VwQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3NreS1yZXBlYXRlci1pdGVtLWdyb3VwLScgKyB0aGlzLnJlcGVhdGVyU2VydmljZS5yZXBlYXRlckdyb3VwSWQ7XG4gIH1cblxuICBAVmlld0NoaWxkKCdncmFiSGFuZGxlJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgZ3JhYkhhbmRsZTogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdpdGVtQ29udGVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIGl0ZW1Db250ZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2l0ZW1IZWFkZXJSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBpdGVtSGVhZGVyUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2l0ZW1SZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBpdGVtUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5UmVwZWF0ZXJJdGVtQ29udGVudENvbXBvbmVudClcbiAgcHJpdmF0ZSByZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50czogUXVlcnlMaXN0PFNreVJlcGVhdGVySXRlbUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZW9yZGVyQ2FuY2VsVGV4dDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVvcmRlckN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVvcmRlckZpbmlzaFRleHQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlb3JkZXJJbnN0cnVjdGlvbnM6IHN0cmluZztcblxuICBwcml2YXRlIHJlb3JkZXJNb3ZlZFRleHQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlb3JkZXJTdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZW9yZGVyU3RlcHM6IG51bWJlcjtcblxuICBwcml2YXRlIF9pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pc0V4cGFuZGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXBlYXRlclNlcnZpY2U6IFNreVJlcGVhdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGFkYXB0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlc291cmNlU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNsaWRlRm9yRXhwYW5kZWQoZmFsc2UpO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxuICAgIG9ic2VydmFibGVGb3JrSm9pbihcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfcmVwZWF0ZXJfaXRlbV9yZW9yZGVyX2NhbmNlbCcpLFxuICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9yZXBlYXRlcl9pdGVtX3Jlb3JkZXJfZmluaXNoJyksXG4gICAgICB0aGlzLnJlc291cmNlU2VydmljZS5nZXRTdHJpbmcoJ3NreXV4X3JlcGVhdGVyX2l0ZW1fcmVvcmRlcl9pbnN0cnVjdGlvbnMnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfcmVwZWF0ZXJfaXRlbV9yZW9yZGVyX29wZXJhdGlvbicpLFxuICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9yZXBlYXRlcl9pdGVtX3Jlb3JkZXJfbW92ZWQnKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKCh0cmFuc2xhdGVkU3RyaW5nczogc3RyaW5nW10pID0+IHtcbiAgICAgIHRoaXMucmVvcmRlckNhbmNlbFRleHQgPSB0cmFuc2xhdGVkU3RyaW5nc1swXTtcbiAgICAgIHRoaXMucmVvcmRlckZpbmlzaFRleHQgPSB0cmFuc2xhdGVkU3RyaW5nc1sxXTtcbiAgICAgIHRoaXMucmVvcmRlclN0YXRlRGVzY3JpcHRpb24gPSB0cmFuc2xhdGVkU3RyaW5nc1syXTtcbiAgICAgIHRoaXMucmVvcmRlckluc3RydWN0aW9ucyA9IHRyYW5zbGF0ZWRTdHJpbmdzWzNdO1xuICAgICAgdGhpcy5yZW9yZGVyTW92ZWRUZXh0ID0gdHJhbnNsYXRlZFN0cmluZ3NbNF07XG5cbiAgICAgIHRoaXMucmVvcmRlckJ1dHRvbkxhYmVsID0gdGhpcy5yZW9yZGVySW5zdHJ1Y3Rpb25zO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnJlZ2lzdGVySXRlbSh0aGlzKTtcbiAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5hY3RpdmVJdGVtQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFNreVJlcGVhdGVySXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdJc0FjdGl2ZVZhbHVlID0gdGhpcyA9PT0gaXRlbTtcbiAgICAgICAgaWYgKG5ld0lzQWN0aXZlVmFsdWUgIT09IHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICB0aGlzLmlzQWN0aXZlID0gbmV3SXNBY3RpdmVWYWx1ZTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzSXRlbUNvbnRlbnQgPSB0aGlzLnJlcGVhdGVySXRlbUNvbnRlbnRDb21wb25lbnRzLmxlbmd0aCA+IDA7XG4gICAgdGhpcy51cGRhdGVFeHBhbmRPbkNvbnRlbnRDaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxhcHNlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5leHBhbmQuY29tcGxldGUoKTtcbiAgICB0aGlzLmlubGluZUZvcm1DbG9zZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnVucmVnaXN0ZXJJdGVtKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhlYWRlckNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ29sbGFwc2libGUpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9yRXhwYW5kZWQoIXRoaXMuaXNFeHBhbmRlZCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZXZyb25EaXJlY3Rpb25DaGFuZ2UoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZvckV4cGFuZGVkKGRpcmVjdGlvbiA9PT0gJ3VwJywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25SZXBlYXRlckl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIC8vIE9ubHkgYWN0aXZhdGUgaXRlbSBpZiBjbGlja2luZyBvbiB0aGUgdGl0bGUsIGNvbnRlbnQsIG9yIHBhcmVudCBpdGVtIGRpdi5cbiAgICAvLyBUaGlzIHdpbGwgYXZvaWQgYWNjaWRlbnRhbCBhY3RpdmF0aW9ucyB3aGVuIGNsaWNraW5nIGluc2lkZSBpbnRlcmFjdGl2ZSBlbGVtZW50cyBsaWtlXG4gICAgLy8gdGhlIGV4cGFuZC9jb2xsYXBzZSBjaGV2cm9uLCBkcm9wZG93biwgaW5saW5lLWRlbGV0ZSwgZXRjLi4uXG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5pdGVtUmVmLm5hdGl2ZUVsZW1lbnQgfHxcbiAgICAgICAgdGhpcy5pdGVtQ29udGVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgdGhpcy5pdGVtSGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2UuYWN0aXZhdGVJdGVtKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGb3JFeHBhbmRlZCh2YWx1ZTogYm9vbGVhbiwgYW5pbWF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ29sbGFwc2libGUgPT09IGZhbHNlICYmIHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgU2V0dGluZyBpc0V4cGFuZGVkIHRvIGZhbHNlIHdoZW4gdGhlIHJlcGVhdGVyIGl0ZW0gaXMgbm90IGNvbGxhcHNpYmxlXG4gICAgICAgIHdpbGwgaGF2ZSBubyBlZmZlY3QuYFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzRXhwYW5kZWQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9pc0V4cGFuZGVkID0gdmFsdWU7XG5cbiAgICAgIGlmICh0aGlzLl9pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kLmVtaXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2UuZW1pdCgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5vbkl0ZW1Db2xsYXBzZVN0YXRlQ2hhbmdlKHRoaXMpO1xuICAgICAgdGhpcy5zbGlkZUZvckV4cGFuZGVkKGFuaW1hdGUpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DaGVja2JveENoYW5nZSh2YWx1ZTogU2t5Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSB2YWx1ZS5jaGVja2VkO1xuICB9XG5cbiAgcHVibGljIG9uSW5saW5lRm9ybUNsb3NlKGlubGluZUZvcm1DbG9zZUFyZ3M6IFNreUlubGluZUZvcm1DbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLmlubGluZUZvcm1DbG9zZS5lbWl0KGlubGluZUZvcm1DbG9zZUFyZ3MpO1xuICB9XG5cbiAgcHVibGljIG1vdmVUb1RvcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLm1vdmVJdGVtVXAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIHRoaXMuYWRhcHRlclNlcnZpY2UuZm9jdXNFbGVtZW50KDxIVE1MRWxlbWVudD4gZXZlbnQudGFyZ2V0KTtcbiAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5yZWdpc3Rlck9yZGVyQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgb25SZW9yZGVySGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICBjYXNlICdlbnRlcic6XG4gICAgICAgICAgdGhpcy5rZXlib2FyZFRvZ2dsZVJlb3JkZXIoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmV2ZXJ0UmVvcmRlclN0ZXBzKCk7XG4gICAgICAgICAgICB0aGlzLnJlb3JkZXJCdXR0b25MYWJlbCA9IHRoaXMucmVvcmRlckNhbmNlbFRleHQgKyAnICcgKyB0aGlzLnJlb3JkZXJJbnN0cnVjdGlvbnM7XG4gICAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmZvY3VzRWxlbWVudCg8SFRNTEVsZW1lbnQ+IGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2Fycm93dXAnOlxuICAgICAgICAgIGlmICh0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMua2V5Ym9hcmRSZW9yZGVyVXAoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnJlZ2lzdGVyT3JkZXJDaGFuZ2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMua2V5Ym9hcmRSZW9yZGVyRG93bigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2UucmVnaXN0ZXJPcmRlckNoYW5nZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdhcnJvd2xlZnQnOlxuICAgICAgICBjYXNlICdhcnJvd3JpZ2h0JzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25SZW9yZGVySGFuZGxlQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZXZlcnRSZW9yZGVyU3RlcHMoKTtcbiAgICB0aGlzLnJlb3JkZXJCdXR0b25MYWJlbCA9IHRoaXMucmVvcmRlckluc3RydWN0aW9ucztcbiAgICB0aGlzLnJlb3JkZXJTdGF0ZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgICAgICAgIC8vIFNwYWNlL2VudGVyIHNob3VsZCBuZXZlciBleGVjdXRlIHVubGVzcyBmb2N1c2VkIG9uIHRoZSBwYXJlbnQgaXRlbSBlbGVtZW50LlxuICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IHRoaXMuaXRlbVJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9ICF0aGlzLmlzU2VsZWN0ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5hY3RpdmF0ZUl0ZW0odGhpcyk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2xpZGVGb3JFeHBhbmRlZChhbmltYXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zbGlkZURpcmVjdGlvbiA9IHRoaXMuaXNFeHBhbmRlZCA/ICdkb3duJyA6ICd1cCc7XG4gIH1cblxuICBwcml2YXRlIGtleWJvYXJkUmVvcmRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMucmVvcmRlckN1cnJlbnRJbmRleCA9IHRoaXMuYWRhcHRlclNlcnZpY2UubW92ZUl0ZW1VcCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5yZW9yZGVyU3RlcHMtLTtcbiAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmZvY3VzRWxlbWVudCh0aGlzLmdyYWJIYW5kbGUpO1xuICAgIHRoaXMua2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZCA9IHRydWU7XG4gICAgdGhpcy5yZW9yZGVyQnV0dG9uTGFiZWwgPSBgJHt0aGlzLnJlb3JkZXJNb3ZlZFRleHR9ICR7dGhpcy5yZW9yZGVyQ3VycmVudEluZGV4ICsgMX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlib2FyZFJlb3JkZXJEb3duKCk6IHZvaWQge1xuICAgIHRoaXMucmVvcmRlckN1cnJlbnRJbmRleCA9IHRoaXMuYWRhcHRlclNlcnZpY2UubW92ZUl0ZW1Eb3duKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlb3JkZXJTdGVwcysrO1xuICAgIHRoaXMuYWRhcHRlclNlcnZpY2UuZm9jdXNFbGVtZW50KHRoaXMuZ3JhYkhhbmRsZSk7XG4gICAgdGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLnJlb3JkZXJCdXR0b25MYWJlbCA9IGAke3RoaXMucmVvcmRlck1vdmVkVGV4dH0gJHt0aGlzLnJlb3JkZXJDdXJyZW50SW5kZXggKyAxfWA7XG4gIH1cblxuICBwcml2YXRlIGtleWJvYXJkVG9nZ2xlUmVvcmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSAhdGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkO1xuICAgIHRoaXMucmVvcmRlclN0ZXBzID0gMDtcblxuICAgIGlmICh0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucmVvcmRlclN0YXRlID0gdGhpcy5yZW9yZGVyU3RhdGVEZXNjcmlwdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW9yZGVyU3RhdGUgPVxuICAgICAgICBgJHt0aGlzLnJlb3JkZXJGaW5pc2hUZXh0fSAke3RoaXMucmVvcmRlckN1cnJlbnRJbmRleCArIDF9ICR7dGhpcy5yZW9yZGVySW5zdHJ1Y3Rpb25zfWA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXZlcnRSZW9yZGVyU3RlcHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVvcmRlclN0ZXBzIDwgMCkge1xuICAgICAgdGhpcy5hZGFwdGVyU2VydmljZS5tb3ZlSXRlbURvd24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIE1hdGguYWJzKHRoaXMucmVvcmRlclN0ZXBzKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlb3JkZXJTdGVwcyA+IDApIHtcbiAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2UubW92ZUl0ZW1VcCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZmFsc2UsIHRoaXMucmVvcmRlclN0ZXBzKTtcbiAgICB9XG4gICAgdGhpcy5yZXBlYXRlclNlcnZpY2UucmVnaXN0ZXJPcmRlckNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVFeHBhbmRPbkNvbnRlbnRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50cy5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmhhc0l0ZW1Db250ZW50ID0gdGhpcy5yZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSB0aGlzLmhhc0l0ZW1Db250ZW50ICYmIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgIT09ICdub25lJztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2Uub25JdGVtQ29sbGFwc2VTdGF0ZUNoYW5nZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbSBza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIlxuICByb2xlPVwib3B0aW9uXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktcmVwZWF0ZXItaXRlbS1hY3RpdmUnOiBpc0FjdGl2ZSxcbiAgICAnc2t5LXJlcGVhdGVyLWl0ZW0tY29sbGFwc2libGUnOiBpc0NvbGxhcHNpYmxlLFxuICAgICdza3ktcmVwZWF0ZXItaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWRcbiAgfVwiXG4gIChjbGljayk9XCJvblJlcGVhdGVySXRlbUNsaWNrKCRldmVudClcIlxuICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlEb3duKCRldmVudClcIlxuICAjaXRlbVJlZlxuPlxuICA8ZGl2ICNpbmxpbmVEZWxldGU+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgIHNlbGVjdD1cInNreS1pbmxpbmUtZGVsZXRlXCJcbiAgICA+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5saW5lRm9ybVRlbXBsYXRlXCI+XG4gICAgPHNreS1pbmxpbmUtZm9ybVxuICAgICAgW2NvbmZpZ109XCJpbmxpbmVGb3JtQ29uZmlnXCJcbiAgICAgIFtzaG93Rm9ybV09XCJzaG93SW5saW5lRm9ybVwiXG4gICAgICBbdGVtcGxhdGVdPVwiaW5saW5lRm9ybVRlbXBsYXRlXCJcbiAgICAgIChjbG9zZSk9XCJvbklubGluZUZvcm1DbG9zZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2t5UmVwZWF0ZXJJdGVtTGVmdFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNreVJlcGVhdGVySXRlbVJpZ2h0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9za3ktaW5saW5lLWZvcm0+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5saW5lRm9ybVRlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNreVJlcGVhdGVySXRlbUxlZnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2t5UmVwZWF0ZXJJdGVtUmlnaHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlXG4gICNza3lSZXBlYXRlckl0ZW1MZWZ0XG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLWxlZnRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJhYmxlXCI+XG4gICAgICA8c3BhblxuICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLXJlb3JkZXItYXNzaXN0aXZlLXRleHRcIlxuICAgICAgICBbaWRdPVwiY29udGVudElkICsgJy1yZW9yZGVyLXN0YXRlJ1wiXG4gICAgICA+XG4gICAgICAgIHt7cmVvcmRlclN0YXRlfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS10aWxlLXRvb2xzLWNvbnRyb2wgc2t5LXJlcGVhdGVyLWl0ZW0tZ3JhYi1oYW5kbGVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZW9yZGVyQnV0dG9uTGFiZWxcIlxuICAgICAgICAoYmx1cik9XCJvblJlb3JkZXJIYW5kbGVCbHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvblJlb3JkZXJIYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICAjZ3JhYkhhbmRsZVxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICBpY29uPVwiYXJyb3dzLXZcIlxuICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxza3ktY2hlY2tib3hcbiAgICAgICpuZ0lmPVwic2VsZWN0YWJsZVwiXG4gICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLWNoZWNrYm94XCJcbiAgICAgIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIlxuICAgICAgW2xhYmVsXT1cIidza3l1eF9yZXBlYXRlcl9pdGVtX2NoZWNrYm94X2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvc2t5LWNoZWNrYm94PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXJlcGVhdGVyLWl0ZW0tY29udGV4dC1tZW51XCJcbiAgICAgIFtoaWRkZW5dPVwiY29udGV4dE1lbnVFbC5jaGlsZHJlbi5sZW5ndGggPT09IDBcIlxuICAgICAgI2NvbnRleHRNZW51RWxcbiAgICA+XG4gICAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJza3ktcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnVcIlxuICAgICAgPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI3NreVJlcGVhdGVySXRlbVJpZ2h0XG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLXJpZ2h0XCJcbiAgICAjaXRlbUhlYWRlclJlZlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1oZWFkZXJcIlxuICAgICAgW2hpZGRlbl09XCJ0aXRsZVJlZi5jaGlsZHJlbi5sZW5ndGggPT09IDBcIlxuICAgICAgKGNsaWNrKT1cImhlYWRlckNsaWNrKClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS10aXRsZSBza3ktZW1waGFzaXplZFwiXG4gICAgICAgICN0aXRsZVJlZlxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgIHNlbGVjdD1cInNreS1yZXBlYXRlci1pdGVtLXRpdGxlXCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInJlb3JkZXJhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktcmVwZWF0ZXItaXRlbS1yZW9yZGVyLXRvcFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9yZXBlYXRlcl9pdGVtX3Jlb3JkZXJfdG9wX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChjbGljayk9XCJtb3ZlVG9Ub3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgIGljb249XCJhcnJvdy1jaXJjbGUtdXBcIlxuICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAge3sgJ3NreXV4X3JlcGVhdGVyX2l0ZW1fcmVvcmRlcl90b3AnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc0NvbGxhcHNpYmxlXCJcbiAgICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1jaGV2cm9uXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1jaGV2cm9uXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJjb250ZW50SWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgW2RpcmVjdGlvbl09XCJpc0V4cGFuZGVkID8gJ3VwJyA6ICdkb3duJ1wiXG4gICAgICAgICAgKGRpcmVjdGlvbkNoYW5nZSk9XCJjaGV2cm9uRGlyZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWNoZXZyb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gVXNlZCBmb3Igd2hlbiB0aGUgY2hldnJvbiBpcyBoaWRkZW4gdG8gZW5zdXJlIHRoYXQgdGhlIHJpZ2h0IHNpZGUgaXMgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBsZWZ0Li0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiFpc0NvbGxhcHNpYmxlICYmICFjb250ZXh0TWVudVwiXG4gICAgICAgIGNsYXNzPVwic2t5LXJlcGVhdGVyLWl0ZW0tY2hldnJvbi1wbGFjZWhvbGRlclwiXG4gICAgICA+PC9kaXY+XG4gICAgICA8IS0tIFVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJpZ2h0IHNpZGUgaXMgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBsZWZ0Li0tPlxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRleHRNZW51XCJcbiAgICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1jaGV2cm9uLXBsYWNlaG9sZGVyLXdpdGgtY29udGV4dFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1jb250ZW50XCJcbiAgICAgIFtpZF09XCJjb250ZW50SWRcIlxuICAgICAgW0Bza3lBbmltYXRpb25TbGlkZV09XCJzbGlkZURpcmVjdGlvblwiXG4gICAgICAjaXRlbUNvbnRlbnRSZWZcbiAgICA+XG4gICAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJza3ktcmVwZWF0ZXItaXRlbS1jb250ZW50XCJcbiAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0cy9zcmMvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3RzL3NyYy9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVd0RCxPQUFPLEVBQUUsUUFBUSxJQUFJLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQUk3RixJQUFJLGFBQWEsR0FBVyxDQUFDLENBQUM7QUFFOUI7O0dBRUc7QUFRSCxNQUFNLE9BQU8sd0JBQXdCO0lBaUxuQyxZQUNVLGVBQW1DLEVBQ25DLGNBQWlDLEVBQ2pDLGNBQXlDLEVBQ3pDLFVBQXNCLEVBQ3RCLGVBQXVDO1FBSnZDLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBQ3pDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FB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QUFPO2dCQU1aLFVBQVU7c0JBRGpCLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJckMsY0FBYztzQkFEckIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXpDLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJeEMsT0FBTztzQkFEZCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSWxDLDZCQUE2QjtzQkFEcEMsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBza3lBbmltYXRpb25TbGlkZSB9IGZyb20gJ0Bza3l1eC9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBTa3lJbmxpbmVGb3JtQ2xvc2VBcmdzLFxuICBTa3lJbmxpbmVGb3JtQ29uZmlnLFxufSBmcm9tICdAc2t5dXgvaW5saW5lLWZvcm0nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lSZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9yZXBlYXRlci1pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5UmVwZWF0ZXJJdGVtQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3JlcGVhdGVyLWl0ZW0tY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVJlcGVhdGVyU2VydmljZSB9IGZyb20gJy4vcmVwZWF0ZXIuc2VydmljZSc7XG5cbmxldCBuZXh0Q29udGVudElkOiBudW1iZXIgPSAwO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW5kaXZpZHVhbCByZXBlYXRlciBpdGVtLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcmVwZWF0ZXItaXRlbScsXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbc2t5QW5pbWF0aW9uU2xpZGVdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGJ1dHRvbnMgdG8gZGlzcGxheSBvbiBhbiBpbmxpbmUgZm9ybVxuICAgKiB3aXRoaW4gdGhlIHJlcGVhdGVyLiBUaGlzIHByb3BlcnR5IGFjY2VwdHNcbiAgICogW2EgYFNreUlubGluZUZvcm1Db25maWdgIG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2lubGluZS1mb3JtI3NreWlubGluZWZvcm1jb25maWctcHJvcGVydGllcykuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5saW5lRm9ybUNvbmZpZzogU2t5SW5saW5lRm9ybUNvbmZpZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIFthbiBBbmd1bGFyIGBUZW1wbGF0ZVJlZmBdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9UZW1wbGF0ZVJlZikgdG8gdXNlXG4gICAqIGFzIGEgdGVtcGxhdGUgdG8gaW5zdGFudGlhdGUgYW4gaW5saW5lIGZvcm0gd2l0aGluIHRoZSByZXBlYXRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmxpbmVGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByZXBlYXRlciBpdGVtIGlzIGV4cGFuZGVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzRXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVwZGF0ZUZvckV4cGFuZGVkKHZhbHVlLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNFeHBhbmRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVwZWF0ZXIgaXRlbSdzIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxuICAgKiBXaGVuIHVzZXJzIHNlbGVjdCB0aGUgcmVwZWF0ZXIgaXRlbSwgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eSBvbiB5b3VyIG1vZGVsIGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2lzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX2lzU2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuX2lzU2VsZWN0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTZWxlY3RlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgcmVwZWF0ZXIgaXRlbS5cbiAgICogVGhlIHJlcGVhdGVyIGNvbXBvbmVudCdzIGByZW9yZGVyYWJsZWAgcHJvcGVydHkgbXVzdCBhbHNvIGJlIHNldCB0byBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVvcmRlcmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzcGxheSBhIGNoZWNrYm94IGluIHRoZSBsZWZ0IG9mIHRoZSByZXBlYXRlciBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzcGxheSBhbiBpbmxpbmUgZm9ybSB3aXRoaW4gdGhlIHJlcGVhdGVyLlxuICAgKiBVc2VycyBjYW4gdG9nZ2xlIGJldHdlZW4gZGlzcGxheWluZyBhbmQgaGlkaW5nIHRoZSBpbmxpbmUgZm9ybS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93SW5saW5lRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gb2JqZWN0IHRoYXQgdGhlIHJlcGVhdGVyIGNvbXBvbmVudCByZXR1cm5zIGZvciB0aGlzIHJlcGVhdGVyIGl0ZW1cbiAgICogd2hlbiB0aGUgYG9yZGVyQ2hhbmdlYCBldmVudCBmaXJlcy4gVGhpcyBpcyByZXF1aXJlZFxuICAgKiBpZiB5b3Ugc2V0IHRoZSBgcmVvcmRlcmFibGVgIHByb3BlcnR5IHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWc6IGFueTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjb2xsYXBzZSB0aGUgcmVwZWF0ZXIgaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgZXhwYW5kIHRoZSByZXBlYXRlciBpdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBleHBhbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHJlcGVhdGVyIGluY2x1ZGVzIGFuIGlubGluZSBmb3JtIGFuZCB1c2VycyBjbG9zZSBpdC4gVGhpcyBldmVudCBlbWl0c1xuICAgKiBbYSBgU2t5SW5saW5lRm9ybUNsb3NlQXJnc2AgdHlwZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2lubGluZS1mb3JtI3NreWlubGluZWZvcm1jbG9zZWFyZ3MtcHJvcGVydGllcykuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGlubGluZUZvcm1DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5SW5saW5lRm9ybUNsb3NlQXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3Qgb3IgY2xlYXIgdGhlIGNoZWNrYm94IGZvciB0aGUgcmVwZWF0ZXIgaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNTZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAQ29udGVudENoaWxkKFNreVJlcGVhdGVySXRlbUNvbnRleHRNZW51Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGNvbnRleHRNZW51OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBjb250ZW50SWQ6IHN0cmluZyA9IGBza3ktcmVwZWF0ZXItaXRlbS1jb250ZW50LSR7KytuZXh0Q29udGVudElkfWA7XG5cbiAgcHVibGljIGhhc0l0ZW1Db250ZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNldCBpc0NvbGxhcHNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzaWJsZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lzQ29sbGFwc2libGUgPSB2YWx1ZTtcblxuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvckV4cGFuZGVkKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NvbGxhcHNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0NvbGxhcHNpYmxlO1xuICB9XG5cbiAgcHVibGljIGtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcmVvcmRlckJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlb3JkZXJTdGF0ZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBzbGlkZURpcmVjdGlvbjogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgcmVwZWF0ZXJHcm91cENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdza3ktcmVwZWF0ZXItaXRlbS1ncm91cC0nICsgdGhpcy5yZXBlYXRlclNlcnZpY2UucmVwZWF0ZXJHcm91cElkO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZ3JhYkhhbmRsZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIGdyYWJIYW5kbGU6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnaXRlbUNvbnRlbnRSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBpdGVtQ29udGVudFJlZjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdpdGVtSGVhZGVyUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgaXRlbUhlYWRlclJlZjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdpdGVtUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgaXRlbVJlZjogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkcmVuKFNreVJlcGVhdGVySXRlbUNvbnRlbnRDb21wb25lbnQpXG4gIHByaXZhdGUgcmVwZWF0ZXJJdGVtQ29udGVudENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lSZXBlYXRlckl0ZW1Db250ZW50Q29tcG9uZW50PjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVvcmRlckNhbmNlbFRleHQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlb3JkZXJDdXJyZW50SW5kZXg6IG51bWJlcjtcblxuICBwcml2YXRlIHJlb3JkZXJGaW5pc2hUZXh0OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZW9yZGVySW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZW9yZGVyTW92ZWRUZXh0OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZW9yZGVyU3RhdGVEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVvcmRlclN0ZXBzOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfaXNDb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfaXNFeHBhbmRlZCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfaXNTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVwZWF0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBhZGFwdGVyU2VydmljZTogU2t5UmVwZWF0ZXJBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZXNvdXJjZVNlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zbGlkZUZvckV4cGFuZGVkKGZhbHNlKTtcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGVwcmVjYXRpb25cbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oXG4gICAgICB0aGlzLnJlc291cmNlU2VydmljZS5nZXRTdHJpbmcoJ3NreXV4X3JlcGVhdGVyX2l0ZW1fcmVvcmRlcl9jYW5jZWwnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfcmVwZWF0ZXJfaXRlbV9yZW9yZGVyX2ZpbmlzaCcpLFxuICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfcmVwZWF0ZXJfaXRlbV9yZW9yZGVyX2luc3RydWN0aW9ucydcbiAgICAgICksXG4gICAgICB0aGlzLnJlc291cmNlU2VydmljZS5nZXRTdHJpbmcoJ3NreXV4X3JlcGVhdGVyX2l0ZW1fcmVvcmRlcl9vcGVyYXRpb24nKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfcmVwZWF0ZXJfaXRlbV9yZW9yZGVyX21vdmVkJylcbiAgICApLnN1YnNjcmliZSgodHJhbnNsYXRlZFN0cmluZ3M6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aGlzLnJlb3JkZXJDYW5jZWxUZXh0ID0gdHJhbnNsYXRlZFN0cmluZ3NbMF07XG4gICAgICB0aGlzLnJlb3JkZXJGaW5pc2hUZXh0ID0gdHJhbnNsYXRlZFN0cmluZ3NbMV07XG4gICAgICB0aGlzLnJlb3JkZXJTdGF0ZURlc2NyaXB0aW9uID0gdHJhbnNsYXRlZFN0cmluZ3NbMl07XG4gICAgICB0aGlzLnJlb3JkZXJJbnN0cnVjdGlvbnMgPSB0cmFuc2xhdGVkU3RyaW5nc1szXTtcbiAgICAgIHRoaXMucmVvcmRlck1vdmVkVGV4dCA9IHRyYW5zbGF0ZWRTdHJpbmdzWzRdO1xuXG4gICAgICB0aGlzLnJlb3JkZXJCdXR0b25MYWJlbCA9IHRoaXMucmVvcmRlckluc3RydWN0aW9ucztcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5yZWdpc3Rlckl0ZW0odGhpcyk7XG4gICAgdGhpcy5yZXBlYXRlclNlcnZpY2UuYWN0aXZlSXRlbUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmV3SXNBY3RpdmVWYWx1ZSA9IHRoaXMgPT09IGl0ZW07XG4gICAgICAgIGlmIChuZXdJc0FjdGl2ZVZhbHVlICE9PSB0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IG5ld0lzQWN0aXZlVmFsdWU7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzSXRlbUNvbnRlbnQgPSB0aGlzLnJlcGVhdGVySXRlbUNvbnRlbnRDb21wb25lbnRzLmxlbmd0aCA+IDA7XG4gICAgdGhpcy51cGRhdGVFeHBhbmRPbkNvbnRlbnRDaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxhcHNlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5leHBhbmQuY29tcGxldGUoKTtcbiAgICB0aGlzLmlubGluZUZvcm1DbG9zZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnVucmVnaXN0ZXJJdGVtKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhlYWRlckNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ29sbGFwc2libGUpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9yRXhwYW5kZWQoIXRoaXMuaXNFeHBhbmRlZCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZXZyb25EaXJlY3Rpb25DaGFuZ2UoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZvckV4cGFuZGVkKGRpcmVjdGlvbiA9PT0gJ3VwJywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25SZXBlYXRlckl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIC8vIE9ubHkgYWN0aXZhdGUgaXRlbSBpZiBjbGlja2luZyBvbiB0aGUgdGl0bGUsIGNvbnRlbnQsIG9yIHBhcmVudCBpdGVtIGRpdi5cbiAgICAvLyBUaGlzIHdpbGwgYXZvaWQgYWNjaWRlbnRhbCBhY3RpdmF0aW9ucyB3aGVuIGNsaWNraW5nIGluc2lkZSBpbnRlcmFjdGl2ZSBlbGVtZW50cyBsaWtlXG4gICAgLy8gdGhlIGV4cGFuZC9jb2xsYXBzZSBjaGV2cm9uLCBkcm9wZG93biwgaW5saW5lLWRlbGV0ZSwgZXRjLi4uXG4gICAgaWYgKFxuICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzLml0ZW1SZWYubmF0aXZlRWxlbWVudCB8fFxuICAgICAgdGhpcy5pdGVtQ29udGVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgIHRoaXMuaXRlbUhlYWRlclJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICApIHtcbiAgICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmFjdGl2YXRlSXRlbSh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRm9yRXhwYW5kZWQodmFsdWU6IGJvb2xlYW4sIGFuaW1hdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNpYmxlID09PSBmYWxzZSAmJiB2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFNldHRpbmcgaXNFeHBhbmRlZCB0byBmYWxzZSB3aGVuIHRoZSByZXBlYXRlciBpdGVtIGlzIG5vdCBjb2xsYXBzaWJsZVxuICAgICAgICB3aWxsIGhhdmUgbm8gZWZmZWN0LmBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pc0V4cGFuZGVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5faXNFeHBhbmRlZCA9IHZhbHVlO1xuXG4gICAgICBpZiAodGhpcy5faXNFeHBhbmRlZCkge1xuICAgICAgICB0aGlzLmV4cGFuZC5lbWl0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbGxhcHNlLmVtaXQoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2Uub25JdGVtQ29sbGFwc2VTdGF0ZUNoYW5nZSh0aGlzKTtcbiAgICAgIHRoaXMuc2xpZGVGb3JFeHBhbmRlZChhbmltYXRlKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2hlY2tib3hDaGFuZ2UodmFsdWU6IFNreUNoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdmFsdWUuY2hlY2tlZDtcbiAgfVxuXG4gIHB1YmxpYyBvbklubGluZUZvcm1DbG9zZShpbmxpbmVGb3JtQ2xvc2VBcmdzOiBTa3lJbmxpbmVGb3JtQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5pbmxpbmVGb3JtQ2xvc2UuZW1pdChpbmxpbmVGb3JtQ2xvc2VBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlVG9Ub3AoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hZGFwdGVyU2VydmljZS5tb3ZlSXRlbVVwKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKTtcbiAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmZvY3VzRWxlbWVudCg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KTtcbiAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5yZWdpc3Rlck9yZGVyQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgb25SZW9yZGVySGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICBjYXNlICdlbnRlcic6XG4gICAgICAgICAgdGhpcy5rZXlib2FyZFRvZ2dsZVJlb3JkZXIoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmV2ZXJ0UmVvcmRlclN0ZXBzKCk7XG4gICAgICAgICAgICB0aGlzLnJlb3JkZXJCdXR0b25MYWJlbCA9XG4gICAgICAgICAgICAgIHRoaXMucmVvcmRlckNhbmNlbFRleHQgKyAnICcgKyB0aGlzLnJlb3JkZXJJbnN0cnVjdGlvbnM7XG4gICAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmZvY3VzRWxlbWVudCg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5rZXlib2FyZFJlb3JkZXJVcCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2UucmVnaXN0ZXJPcmRlckNoYW5nZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5rZXlib2FyZFJlb3JkZXJEb3duKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnJlcGVhdGVyU2VydmljZS5yZWdpc3Rlck9yZGVyQ2hhbmdlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgIGNhc2UgJ2Fycm93cmlnaHQnOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblJlb3JkZXJIYW5kbGVCbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJldmVydFJlb3JkZXJTdGVwcygpO1xuICAgIHRoaXMucmVvcmRlckJ1dHRvbkxhYmVsID0gdGhpcy5yZW9yZGVySW5zdHJ1Y3Rpb25zO1xuICAgIHRoaXMucmVvcmRlclN0YXRlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIG9uSXRlbUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgICAgICAgLy8gU3BhY2UvZW50ZXIgc2hvdWxkIG5ldmVyIGV4ZWN1dGUgdW5sZXNzIGZvY3VzZWQgb24gdGhlIHBhcmVudCBpdGVtIGVsZW1lbnQuXG4gICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5pdGVtUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gIXRoaXMuaXNTZWxlY3RlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmFjdGl2YXRlSXRlbSh0aGlzKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzbGlkZUZvckV4cGFuZGVkKGFuaW1hdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNsaWRlRGlyZWN0aW9uID0gdGhpcy5pc0V4cGFuZGVkID8gJ2Rvd24nIDogJ3VwJztcbiAgfVxuXG4gIHByaXZhdGUga2V5Ym9hcmRSZW9yZGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZW9yZGVyQ3VycmVudEluZGV4ID0gdGhpcy5hZGFwdGVyU2VydmljZS5tb3ZlSXRlbVVwKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICAgIHRoaXMucmVvcmRlclN0ZXBzLS07XG4gICAgdGhpcy5hZGFwdGVyU2VydmljZS5mb2N1c0VsZW1lbnQodGhpcy5ncmFiSGFuZGxlKTtcbiAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMucmVvcmRlckJ1dHRvbkxhYmVsID0gYCR7dGhpcy5yZW9yZGVyTW92ZWRUZXh0fSAke1xuICAgICAgdGhpcy5yZW9yZGVyQ3VycmVudEluZGV4ICsgMVxuICAgIH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlib2FyZFJlb3JkZXJEb3duKCk6IHZvaWQge1xuICAgIHRoaXMucmVvcmRlckN1cnJlbnRJbmRleCA9IHRoaXMuYWRhcHRlclNlcnZpY2UubW92ZUl0ZW1Eb3duKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICAgIHRoaXMucmVvcmRlclN0ZXBzKys7XG4gICAgdGhpcy5hZGFwdGVyU2VydmljZS5mb2N1c0VsZW1lbnQodGhpcy5ncmFiSGFuZGxlKTtcbiAgICB0aGlzLmtleWJvYXJkUmVvcmRlcmluZ0VuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMucmVvcmRlckJ1dHRvbkxhYmVsID0gYCR7dGhpcy5yZW9yZGVyTW92ZWRUZXh0fSAke1xuICAgICAgdGhpcy5yZW9yZGVyQ3VycmVudEluZGV4ICsgMVxuICAgIH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlib2FyZFRvZ2dsZVJlb3JkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkID0gIXRoaXMua2V5Ym9hcmRSZW9yZGVyaW5nRW5hYmxlZDtcbiAgICB0aGlzLnJlb3JkZXJTdGVwcyA9IDA7XG5cbiAgICBpZiAodGhpcy5rZXlib2FyZFJlb3JkZXJpbmdFbmFibGVkKSB7XG4gICAgICB0aGlzLnJlb3JkZXJTdGF0ZSA9IHRoaXMucmVvcmRlclN0YXRlRGVzY3JpcHRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVvcmRlclN0YXRlID0gYCR7dGhpcy5yZW9yZGVyRmluaXNoVGV4dH0gJHtcbiAgICAgICAgdGhpcy5yZW9yZGVyQ3VycmVudEluZGV4ICsgMVxuICAgICAgfSAke3RoaXMucmVvcmRlckluc3RydWN0aW9uc31gO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmV2ZXJ0UmVvcmRlclN0ZXBzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlb3JkZXJTdGVwcyA8IDApIHtcbiAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2UubW92ZUl0ZW1Eb3duKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgTWF0aC5hYnModGhpcy5yZW9yZGVyU3RlcHMpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZW9yZGVyU3RlcHMgPiAwKSB7XG4gICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLm1vdmVJdGVtVXAoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgdGhpcy5yZW9yZGVyU3RlcHNcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLnJlZ2lzdGVyT3JkZXJDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRXhwYW5kT25Db250ZW50Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucmVwZWF0ZXJJdGVtQ29udGVudENvbXBvbmVudHMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYXNJdGVtQ29udGVudCA9IHRoaXMucmVwZWF0ZXJJdGVtQ29udGVudENvbXBvbmVudHMubGVuZ3RoID4gMDtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID1cbiAgICAgICAgICB0aGlzLmhhc0l0ZW1Db250ZW50ICYmIHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgIT09ICdub25lJztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMucmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgdGhpcy5yZXBlYXRlclNlcnZpY2Uub25JdGVtQ29sbGFwc2VTdGF0ZUNoYW5nZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbSBza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIlxuICByb2xlPVwib3B0aW9uXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktcmVwZWF0ZXItaXRlbS1hY3RpdmUnOiBpc0FjdGl2ZSxcbiAgICAnc2t5LXJlcGVhdGVyLWl0ZW0tY29sbGFwc2libGUnOiBpc0NvbGxhcHNpYmxlLFxuICAgICdza3ktcmVwZWF0ZXItaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWRcbiAgfVwiXG4gIChjbGljayk9XCJvblJlcGVhdGVySXRlbUNsaWNrKCRldmVudClcIlxuICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlEb3duKCRldmVudClcIlxuICAjaXRlbVJlZlxuPlxuICA8ZGl2ICNpbmxpbmVEZWxldGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWlubGluZS1kZWxldGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmxpbmVGb3JtVGVtcGxhdGVcIj5cbiAgICA8c2t5LWlubGluZS1mb3JtXG4gICAgICBbY29uZmlnXT1cImlubGluZUZvcm1Db25maWdcIlxuICAgICAgW3Nob3dGb3JtXT1cInNob3dJbmxpbmVGb3JtXCJcbiAgICAgIFt0ZW1wbGF0ZV09XCJpbmxpbmVGb3JtVGVtcGxhdGVcIlxuICAgICAgKGNsb3NlKT1cIm9uSW5saW5lRm9ybUNsb3NlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJza3lSZXBlYXRlckl0ZW1MZWZ0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2t5UmVwZWF0ZXJJdGVtUmlnaHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NreS1pbmxpbmUtZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbmxpbmVGb3JtVGVtcGxhdGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2t5UmVwZWF0ZXJJdGVtTGVmdFwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJza3lSZXBlYXRlckl0ZW1SaWdodFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NreVJlcGVhdGVySXRlbUxlZnQ+XG4gIDxkaXYgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1sZWZ0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJhYmxlXCI+XG4gICAgICA8c3BhblxuICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLXJlb3JkZXItYXNzaXN0aXZlLXRleHRcIlxuICAgICAgICBbaWRdPVwiY29udGVudElkICsgJy1yZW9yZGVyLXN0YXRlJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IHJlb3JkZXJTdGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRpbGUtdG9vbHMtY29udHJvbCBza3ktcmVwZWF0ZXItaXRlbS1ncmFiLWhhbmRsZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlb3JkZXJCdXR0b25MYWJlbFwiXG4gICAgICAgIChibHVyKT1cIm9uUmVvcmRlckhhbmRsZUJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uUmVvcmRlckhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgICNncmFiSGFuZGxlXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiBpY29uPVwiYXJyb3dzLXZcIj48L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHNreS1jaGVja2JveFxuICAgICAgKm5nSWY9XCJzZWxlY3RhYmxlXCJcbiAgICAgIGNsYXNzPVwic2t5LXJlcGVhdGVyLWl0ZW0tY2hlY2tib3hcIlxuICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiXG4gICAgICBbbGFiZWxdPVwiJ3NreXV4X3JlcGVhdGVyX2l0ZW1fY2hlY2tib3hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9za3ktY2hlY2tib3g+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1jb250ZXh0LW1lbnVcIlxuICAgICAgW2hpZGRlbl09XCJjb250ZXh0TWVudUVsLmNoaWxkcmVuLmxlbmd0aCA9PT0gMFwiXG4gICAgICAjY29udGV4dE1lbnVFbFxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1yZXBlYXRlci1pdGVtLWNvbnRleHQtbWVudVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NreVJlcGVhdGVySXRlbVJpZ2h0PlxuICA8ZGl2IGNsYXNzPVwic2t5LXJlcGVhdGVyLWl0ZW0tcmlnaHRcIiAjaXRlbUhlYWRlclJlZj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLWhlYWRlclwiXG4gICAgICBbaGlkZGVuXT1cInRpdGxlUmVmLmNoaWxkcmVuLmxlbmd0aCA9PT0gMFwiXG4gICAgICAoY2xpY2spPVwiaGVhZGVyQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLXRpdGxlIHNreS1lbXBoYXNpemVkXCIgI3RpdGxlUmVmPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktcmVwZWF0ZXItaXRlbS10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInJlb3JkZXJhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktcmVwZWF0ZXItaXRlbS1yZW9yZGVyLXRvcFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICdza3l1eF9yZXBlYXRlcl9pdGVtX3Jlb3JkZXJfdG9wX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICBcIlxuICAgICAgICAoY2xpY2spPVwibW92ZVRvVG9wKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImFycm93LWNpcmNsZS11cFwiPjwvc2t5LWljb24+XG4gICAgICAgIHt7ICdza3l1eF9yZXBlYXRlcl9pdGVtX3Jlb3JkZXJfdG9wJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNDb2xsYXBzaWJsZVwiIGNsYXNzPVwic2t5LXJlcGVhdGVyLWl0ZW0tY2hldnJvblwiPlxuICAgICAgICA8c2t5LWNoZXZyb25cbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbnRlbnRJZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgICAgICAgICBbZGlyZWN0aW9uXT1cImlzRXhwYW5kZWQgPyAndXAnIDogJ2Rvd24nXCJcbiAgICAgICAgICAoZGlyZWN0aW9uQ2hhbmdlKT1cImNoZXZyb25EaXJlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktY2hldnJvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBVc2VkIGZvciB3aGVuIHRoZSBjaGV2cm9uIGlzIGhpZGRlbiB0byBlbnN1cmUgdGhhdCB0aGUgcmlnaHQgc2lkZSBpcyB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGxlZnQuLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIWlzQ29sbGFwc2libGUgJiYgIWNvbnRleHRNZW51XCJcbiAgICAgICAgY2xhc3M9XCJza3ktcmVwZWF0ZXItaXRlbS1jaGV2cm9uLXBsYWNlaG9sZGVyXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDwhLS0gVXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgcmlnaHQgc2lkZSBpcyB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGxlZnQuLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29udGV4dE1lbnVcIlxuICAgICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLWNoZXZyb24tcGxhY2Vob2xkZXItd2l0aC1jb250ZXh0XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnRcIlxuICAgICAgW2lkXT1cImNvbnRlbnRJZFwiXG4gICAgICBbQHNreUFuaW1hdGlvblNsaWRlXT1cInNsaWRlRGlyZWN0aW9uXCJcbiAgICAgICNpdGVtQ29udGVudFJlZlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|