@skyux/layout 9.21.2 → 10.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +722 -722
- package/esm2022/lib/modules/action-button/action-button-adapter-service.mjs +5 -5
- package/esm2022/lib/modules/action-button/action-button-container.component.mjs +6 -6
- package/esm2022/lib/modules/action-button/action-button-details.component.mjs +3 -3
- package/esm2022/lib/modules/action-button/action-button-header.component.mjs +3 -3
- package/esm2022/lib/modules/action-button/action-button-icon.component.mjs +5 -5
- package/esm2022/lib/modules/action-button/action-button.component.mjs +6 -6
- package/esm2022/lib/modules/action-button/action-button.module.mjs +4 -4
- package/esm2022/lib/modules/back-to-top/back-to-top-adapter.service.mjs +5 -5
- package/esm2022/lib/modules/back-to-top/back-to-top.component.mjs +3 -3
- package/esm2022/lib/modules/back-to-top/back-to-top.directive.mjs +5 -5
- package/esm2022/lib/modules/back-to-top/back-to-top.module.mjs +4 -4
- package/esm2022/lib/modules/box/box-content.component.mjs +3 -3
- package/esm2022/lib/modules/box/box-controls.component.mjs +3 -3
- package/esm2022/lib/modules/box/box-header.component.mjs +3 -3
- package/esm2022/lib/modules/box/box.component.mjs +3 -3
- package/esm2022/lib/modules/box/box.module.mjs +4 -4
- package/esm2022/lib/modules/card/card-actions.component.mjs +3 -3
- package/esm2022/lib/modules/card/card-content.component.mjs +3 -3
- package/esm2022/lib/modules/card/card-title.component.mjs +3 -3
- package/esm2022/lib/modules/card/card.component.mjs +5 -5
- package/esm2022/lib/modules/card/card.module.mjs +4 -4
- package/esm2022/lib/modules/definition-list/definition-list-content.component.mjs +3 -3
- package/esm2022/lib/modules/definition-list/definition-list-heading.component.mjs +3 -3
- package/esm2022/lib/modules/definition-list/definition-list-label.component.mjs +4 -4
- package/esm2022/lib/modules/definition-list/definition-list-value.component.mjs +4 -4
- package/esm2022/lib/modules/definition-list/definition-list.component.mjs +5 -5
- package/esm2022/lib/modules/definition-list/definition-list.module.mjs +4 -4
- package/esm2022/lib/modules/definition-list/definition-list.service.mjs +3 -3
- package/esm2022/lib/modules/description-list/description-list-adapter-service.mjs +5 -5
- package/esm2022/lib/modules/description-list/description-list-content.component.mjs +3 -3
- package/esm2022/lib/modules/description-list/description-list-description.component.mjs +6 -6
- package/esm2022/lib/modules/description-list/description-list-term.component.mjs +3 -3
- package/esm2022/lib/modules/description-list/description-list.component.mjs +5 -5
- package/esm2022/lib/modules/description-list/description-list.module.mjs +4 -4
- package/esm2022/lib/modules/description-list/description-list.service.mjs +3 -3
- package/esm2022/lib/modules/fluid-grid/column.component.mjs +4 -4
- package/esm2022/lib/modules/fluid-grid/fluid-grid.component.mjs +3 -3
- package/esm2022/lib/modules/fluid-grid/fluid-grid.module.mjs +4 -4
- package/esm2022/lib/modules/fluid-grid/row.component.mjs +3 -3
- package/esm2022/lib/modules/format/format.component.mjs +4 -4
- package/esm2022/lib/modules/format/format.module.mjs +4 -4
- package/esm2022/lib/modules/inline-delete/inline-delete-adapter.service.mjs +5 -5
- package/esm2022/lib/modules/inline-delete/inline-delete.component.mjs +5 -5
- package/esm2022/lib/modules/inline-delete/inline-delete.module.mjs +4 -4
- package/esm2022/lib/modules/page/page-theme-adapter.service.mjs +6 -6
- package/esm2022/lib/modules/page/page.component.mjs +5 -5
- package/esm2022/lib/modules/page/page.module.mjs +4 -4
- package/esm2022/lib/modules/page-summary/page-summary-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/page-summary/page-summary-alert.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-content.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-image.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-key-info.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-status.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-subtitle.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary-title.component.mjs +3 -3
- package/esm2022/lib/modules/page-summary/page-summary.component.mjs +5 -5
- package/esm2022/lib/modules/page-summary/page-summary.module.mjs +4 -4
- package/esm2022/lib/modules/shared/sky-layout-resources.module.mjs +4 -4
- package/esm2022/lib/modules/text-expand/text-expand-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/text-expand/text-expand-modal.component.mjs +5 -5
- package/esm2022/lib/modules/text-expand/text-expand.component.mjs +5 -5
- package/esm2022/lib/modules/text-expand/text-expand.module.mjs +4 -4
- package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +5 -5
- package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.module.mjs +4 -4
- package/esm2022/lib/modules/toolbar/toolbar-item.component.mjs +3 -3
- package/esm2022/lib/modules/toolbar/toolbar-section.component.mjs +3 -3
- package/esm2022/lib/modules/toolbar/toolbar-view-actions.component.mjs +3 -3
- package/esm2022/lib/modules/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/lib/modules/toolbar/toolbar.module.mjs +4 -4
- package/esm2022/testing/action-button-fixture.mjs +1 -1
- package/esm2022/testing/card-fixture.mjs +1 -1
- package/fesm2022/skyux-layout-testing.mjs.map +1 -1
- package/fesm2022/skyux-layout.mjs +253 -253
- package/fesm2022/skyux-layout.mjs.map +1 -1
- package/package.json +16 -16
|
@@ -255,8 +255,8 @@ export class SkyTextExpandComponent {
|
|
|
255
255
|
this.isExpanded = expanding;
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i2.SkyModalService }, { token: i3.SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyTextExpandComponent, selector: "sky-text-expand", inputs: { expandModalTitle: "expandModalTitle", maxExpandedLength: "maxExpandedLength", maxExpandedNewlines: "maxExpandedNewlines", maxLength: "maxLength", text: "text", truncateNewlines: "truncateNewlines" }, providers: [SkyTextExpandAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "textEl", first: true, predicate: ["text"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
260
260
|
trigger('expansionAnimation', [
|
|
261
261
|
transition(':enter', []),
|
|
262
262
|
state('true', style({
|
|
@@ -271,7 +271,7 @@ export class SkyTextExpandComponent {
|
|
|
271
271
|
]),
|
|
272
272
|
] }); }
|
|
273
273
|
}
|
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
|
|
275
275
|
type: Component,
|
|
276
276
|
args: [{ animations: [
|
|
277
277
|
trigger('expansionAnimation', [
|
|
@@ -287,7 +287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
287
287
|
transition('void => *', []),
|
|
288
288
|
]),
|
|
289
289
|
], selector: 'sky-text-expand', providers: [SkyTextExpandAdapterService], template: "<div\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
|
|
290
|
-
}], ctorParameters:
|
|
290
|
+
}], ctorParameters: () => [{ type: i1.SkyLibResourcesService }, { type: i2.SkyModalService }, { type: i3.SkyTextExpandAdapterService }], propDecorators: { expandModalTitle: [{
|
|
291
291
|
type: Input
|
|
292
292
|
}], maxExpandedLength: [{
|
|
293
293
|
type: Input
|
|
@@ -312,4 +312,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
312
312
|
static: true,
|
|
313
313
|
}]
|
|
314
314
|
}] } });
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFNUU7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUE4QmYsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQzs7Ozs7T0FLRztJQUNILElBQ1csaUJBQWlCLENBQUMsS0FBeUI7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FB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QUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsaUJBQWlCLGFBR2hCLENBQUMsMkJBQTJCLENBQUM7cUxBUWpDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFVSyxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBcUJLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFxQkssU0FBUztzQkFEbkIsS0FBSztnQkFrQkssSUFBSTtzQkFEZCxLQUFLO2dCQWNDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFtQkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxNQUFNO3NCQUpoQixTQUFTO3VCQUFDLE1BQU0sRUFBRTt3QkFDakIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1tb2RhbC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEF1dG8taW5jcmVtZW50aW5nIGludGVnZXIgdXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgaWRzIGZvciB0ZXh0IGV4cGFuZCBjb21wb25lbnRzLlxuICovXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdleHBhbnNpb25BbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3RydWUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAne3t0cmFuc2l0aW9uSGVpZ2h0fX1weCcsXG4gICAgICAgIH0pLFxuICAgICAgICB7IHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiAwIH0gfSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2ZhbHNlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCdmYWxzZSA9PiB0cnVlJywgYW5pbWF0ZSgnMjUwbXMgZWFzZScpKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtdKSxcbiAgICBdKSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1leHBhbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWV4cGFuZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgdG8gZGlzcGxheSB3aGVuIHRoZSBjb21wb25lbnQgZXhwYW5kcyB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwuXG4gICAqIEBkZWZhdWx0IFwiRXhwYW5kZWQgdmlld1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwYW5kTW9kYWxUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIHRvIGRpc3BsYXkgaW5saW5lIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBsaW5rXG4gICAqIHRvIGV4cGFuZCB0aGUgZnVsbCB0ZXh0LiBJZiB0aGUgdGV4dCBleGNlZWRzIHRoaXMgbGltaXQsIHRoZW4gdGhlIGNvbXBvbmVudCBleHBhbmRzXG4gICAqIHRoZSBmdWxsIHRleHQgaW4gYSBtb2RhbCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCA2MDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4RXhwYW5kZWRMZW5ndGgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jX21heEV4cGFuZGVkTGVuZ3RoID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZExlbmd0aCA9IDYwMDtcbiAgICB9XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4RXhwYW5kZWRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX21heEV4cGFuZGVkTGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuZXdsaW5lIGNoYXJhY3RlcnMgdG8gZGlzcGxheSBpbmxpbmUgd2hlbiB1c2VycyBzZWxlY3RcbiAgICogdGhlIGxpbmsgdG8gZXhwYW5kIHRoZSBmdWxsIHRleHQuIElmIHRoZSB0ZXh0IGV4Y2VlZHMgdGhpcyBsaW1pdCwgdGhlblxuICAgKiB0aGUgY29tcG9uZW50IGV4cGFuZHMgdGhlIGZ1bGwgdGV4dCBpbiBhIG1vZGFsIHZpZXcgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXhFeHBhbmRlZE5ld2xpbmVzKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gMjtcbiAgICB9XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4RXhwYW5kZWROZXdsaW5lcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWF4RXhwYW5kZWROZXdsaW5lcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSB0ZXh0LlxuICAgKiBUbyBhdm9pZCB0cnVuY2F0aW5nIHRleHQgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQsIHRoZSBjb21wb25lbnQgbG9va3MgZm9yIGEgc3BhY2VcbiAgICogaW4gdGhlIDEwIGNoYXJhY3RlcnMgYmVmb3JlIHRoZSBsYXN0IGNoYXJhY3Rlci5cbiAgICogQGRlZmF1bHQgMjAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heExlbmd0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfbWF4TGVuZ3RoID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhMZW5ndGggPSAyMDA7XG4gICAgfVxuICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heExlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWF4TGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0ZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGV4dCA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuI3NldHVwKHRoaXMuI190ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcGxhY2UgbmV3bGluZSBjaGFyYWN0ZXJzIGluIHRydW5jYXRlZCB0ZXh0IHdpdGggc3BhY2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRydW5jYXRlTmV3bGluZXMgPSB0cnVlO1xuXG4gIHB1YmxpYyBidXR0b25UZXh0ID0gJyc7XG5cbiAgcHVibGljIGNvbnRlbnRTZWN0aW9uSWQgPSBgc2t5LXRleHQtZXhwYW5kLWNvbnRlbnQtJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBleHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGlzTW9kYWwgPSBmYWxzZTtcblxuICBwdWJsaWMgdHJhbnNpdGlvbkhlaWdodCA9IDE7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgY29udGFpbmVyRWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndGV4dCcsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHNldCB0ZXh0RWwodmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGV4dEVsID0gdmFsdWU7XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEVsKCk6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dEVsO1xuICB9XG5cbiAgI2NvbGxhcHNlZFRleHQgPSAnJztcblxuICAjbmV3bGluZUNvdW50ID0gMDtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcblxuICAjc2VlTGVzc1RleHQgPSAnJztcblxuICAjdGV4dFRvU2hvdyA9ICcnO1xuXG4gICNfbWF4RXhwYW5kZWRMZW5ndGggPSA2MDA7XG5cbiAgI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gMjtcblxuICAjX21heExlbmd0aCA9IDIwMDtcblxuICAjX3RleHQgPSAnJztcblxuICAjX3RleHRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZTtcbiAgI3RleHRFeHBhbmRBZGFwdGVyOiBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIG1vZGFsU3ZjOiBTa3lNb2RhbFNlcnZpY2UsXG4gICAgdGV4dEV4cGFuZEFkYXB0ZXI6IFNreVRleHRFeHBhbmRBZGFwdGVyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jcmVzb3VyY2VzID0gcmVzb3VyY2VzO1xuICAgIHRoaXMuI21vZGFsU3ZjID0gbW9kYWxTdmM7XG4gICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIgPSB0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0RXhwYW5kKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTW9kYWwpIHtcbiAgICAgIC8vIE1vZGFsIFZpZXdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50LCBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMuZXhwYW5kTW9kYWxUaXRsZSxcbiAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIFZpZXdcbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI2FuaW1hdGVUZXh0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYW5pbWF0ZVRleHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV4dEVsICYmIHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGUgY29ycmVjdCB0ZXh0IGlzIGRpc3BsYXllZFxuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIC8vIFNldCBoZWlnaHQgYmFjayB0byBhdXRvIHNvIHRoZSBicm93c2VyIGNhbiBjaGFuZ2UgdGhlIGhlaWdodCBhcyBuZWVkZWQgd2l0aCB3aW5kb3cgY2hhbmdlc1xuICAgICAgICAgIHRoaXMuI3RleHRFeHBhbmRBZGFwdGVyLnJlbW92ZUNvbnRhaW5lck1heEhlaWdodCh0aGlzLmNvbnRhaW5lckVsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghdGhpcy5leHBhbmRNb2RhbFRpdGxlKSB7XG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgICAgICAuZ2V0U3RyaW5nKCdza3l1eF90ZXh0X2V4cGFuZF9tb2RhbF90aXRsZScpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5leHBhbmRNb2RhbFRpdGxlID0gcmVzb3VyY2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjc2V0dXAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbmV3bGluZUNvdW50ID0gdGhpcy4jZ2V0TmV3bGluZUNvdW50KHZhbHVlKTtcbiAgICAgIHRoaXMuI2NvbGxhcHNlZFRleHQgPSB0aGlzLiNnZXRUcnVuY2F0ZWRUZXh0KHZhbHVlLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICBpZiAodGhpcy4jY29sbGFwc2VkVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTW9kYWwgPVxuICAgICAgICAgIHRoaXMuI25ld2xpbmVDb3VudCA+IHRoaXMubWF4RXhwYW5kZWROZXdsaW5lcyB8fFxuICAgICAgICAgIHRoaXMudGV4dC5sZW5ndGggPiB0aGlzLm1heEV4cGFuZGVkTGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiN0ZXh0VG9TaG93ID0gdGhpcy4jY29sbGFwc2VkVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9ICcnO1xuICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnRleHRFbCkge1xuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG4gICAgfVxuICB9XG5cbiAgI2dldE5ld2xpbmVDb3VudCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdmFsdWUubWF0Y2goL1xcbi9naSk7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgcmV0dXJuIG1hdGNoZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgI2dldFRydW5jYXRlZFRleHQodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgaWYgKHRoaXMudHJ1bmNhdGVOZXdsaW5lcykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXG4rL2dpLCAnICcpO1xuICAgIH1cbiAgICAvLyBKdW1wIGFoZWFkIG9uZSBjaGFyYWN0ZXIgYW5kIHNlZSBpZiBpdCdzIGEgc3BhY2UsIGFuZCBpZiBpdCBpc24ndCxcbiAgICAvLyBiYWNrIHVwIHRvIHRoZSBmaXJzdCBzcGFjZSBhbmQgYnJlYWsgdGhlcmUgc28gYSB3b3JkIGRvZXNuJ3QgZ2V0IGN1dFxuICAgIC8vIGluIGhhbGYuXG4gICAgaWYgKGxlbmd0aCA8IHZhbHVlLmxlbmd0aCkge1xuICAgICAgZm9yIChpID0gbGVuZ3RoOyBpID4gbGVuZ3RoIC0gMTA7IGktLSkge1xuICAgICAgICBpZiAoL1xccy8udGVzdCh2YWx1ZS5jaGFyQXQoaSkpKSB7XG4gICAgICAgICAgbGVuZ3RoID0gaTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIGxlbmd0aCk7XG4gIH1cblxuICAjYW5pbWF0ZVRleHQoZXhwYW5kaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWwgJiYgdGhpcy50ZXh0RWwpIHtcbiAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgICBpZiAoZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9IHRoaXMudGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jY29sbGFwc2VkVGV4dCk7XG4gICAgICAgIHRoaXMuI3RleHRUb1Nob3cgPSB0aGlzLiNjb2xsYXBzZWRUZXh0O1xuICAgICAgfVxuICAgICAgdGhpcy5idXR0b25UZXh0ID0gZXhwYW5kaW5nID8gdGhpcy4jc2VlTGVzc1RleHQgOiB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgIC8vIE1lYXN1cmUgdGhlIG5ldyBoZWlnaHQgc28gd2UgY2FuIGFuaW1hdGUgdG8gaXQuXG4gICAgICBjb25zdCBuZXdIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgICAgdGhpcy50cmFuc2l0aW9uSGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgICAgLy8gQWx3YXlzIHNob3cgYWxsIHRleHQgd2hpbGUgYW5pbWF0aW5nIHNvIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBzbW9vdGguIFRoZSBhbmltYXRpb24gY2FsbGJhY2sgd2lsbCBzZXQgdGhpcyBiYWNrIGlmIG5lZWRlZC5cbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGV4cGFuZGluZztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgIHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiB0cmFuc2l0aW9uSGVpZ2h0IH1cbiAgfVwiXG4gIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1jb250YWluZXJcIlxuICAjY29udGFpbmVyXG4+XG4gIDxzcGFuIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXRleHRcIiBbaWRdPVwiY29udGVudFNlY3Rpb25JZFwiICN0ZXh0Pjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJza3ktdGV4dC1leHBhbmQtZWxsaXBzaXNcIiAqbmdJZj1cIiFpc0V4cGFuZGVkICYmIGV4cGFuZGFibGVcIlxuICAgID4uLi5cbiAgPC9zcGFuPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rLWlubGluZSBza3ktdGV4dC1leHBhbmQtc2VlLW1vcmVcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNNb2RhbCA/IHVuZGVmaW5lZCA6ICEhaXNFeHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc01vZGFsID8gdW5kZWZpbmVkIDogY29udGVudFNlY3Rpb25JZFwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpc01vZGFsID8gJ2RpYWxvZycgOiB1bmRlZmluZWRcIlxuICAgIChjbGljayk9XCJ0ZXh0RXhwYW5kKClcIlxuICA+XG4gICAge3sgYnV0dG9uVGV4dCB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFNUU7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUE4QmYsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQzs7Ozs7T0FLRztJQUNILElBQ1csaUJBQWlCLENBQUMsS0FBeUI7UUFDcEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMs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d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9VLE1BQU07c0JBSmhCLFNBQVM7dUJBQUMsTUFBTSxFQUFFO3dCQUNqQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgZm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3RleHQtZXhwYW5kLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTS1lfVEVYVF9FWFBBTkRfTU9EQUxfQ09OVEVYVCB9IGZyb20gJy4vdGV4dC1leHBhbmQtbW9kYWwtY29udGV4dC10b2tlbic7XG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQXV0by1pbmNyZW1lbnRpbmcgaW50ZWdlciB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZHMgZm9yIHRleHQgZXhwYW5kIGNvbXBvbmVudHMuXG4gKi9cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2V4cGFuc2lvbkFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtdKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAndHJ1ZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICd7e3RyYW5zaXRpb25IZWlnaHR9fXB4JyxcbiAgICAgICAgfSksXG4gICAgICAgIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IDAgfSB9LFxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnZmFsc2UnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAne3t0cmFuc2l0aW9uSGVpZ2h0fX1weCcsXG4gICAgICAgIH0pLFxuICAgICAgICB7IHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiAwIH0gfSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd0cnVlID0+IGZhbHNlJywgYW5pbWF0ZSgnMjUwbXMgZWFzZScpKSxcbiAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlID0+IHRydWUnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW10pLFxuICAgIF0pLFxuICBdLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWV4cGFuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWV4cGFuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZXhwYW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVRleHRFeHBhbmRBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRleHRFeHBhbmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgLyoqXG4gICAqIFRoZSB0aXRsZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNvbXBvbmVudCBleHBhbmRzIHRoZSBmdWxsIHRleHQgaW4gYSBtb2RhbC5cbiAgICogQGRlZmF1bHQgXCJFeHBhbmRlZCB2aWV3XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBleHBhbmRNb2RhbFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZXh0IGNoYXJhY3RlcnMgdG8gZGlzcGxheSBpbmxpbmUgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGxpbmtcbiAgICogdG8gZXhwYW5kIHRoZSBmdWxsIHRleHQuIElmIHRoZSB0ZXh0IGV4Y2VlZHMgdGhpcyBsaW1pdCwgdGhlbiB0aGUgY29tcG9uZW50IGV4cGFuZHNcbiAgICogdGhlIGZ1bGwgdGV4dCBpbiBhIG1vZGFsIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IDYwMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXhFeHBhbmRlZExlbmd0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfbWF4RXhwYW5kZWRMZW5ndGggPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX21heEV4cGFuZGVkTGVuZ3RoID0gNjAwO1xuICAgIH1cbiAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhFeHBhbmRlZExlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWF4RXhwYW5kZWRMZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIG5ld2xpbmUgY2hhcmFjdGVycyB0byBkaXNwbGF5IGlubGluZSB3aGVuIHVzZXJzIHNlbGVjdFxuICAgKiB0aGUgbGluayB0byBleHBhbmQgdGhlIGZ1bGwgdGV4dC4gSWYgdGhlIHRleHQgZXhjZWVkcyB0aGlzIGxpbWl0LCB0aGVuXG4gICAqIHRoZSBjb21wb25lbnQgZXhwYW5kcyB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwgdmlldyBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEV4cGFuZGVkTmV3bGluZXModmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jX21heEV4cGFuZGVkTmV3bGluZXMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX21heEV4cGFuZGVkTmV3bGluZXMgPSAyO1xuICAgIH1cbiAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhFeHBhbmRlZE5ld2xpbmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhFeHBhbmRlZE5ld2xpbmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIHRvIGRpc3BsYXkgYmVmb3JlIHRydW5jYXRpbmcgdGhlIHRleHQuXG4gICAqIFRvIGF2b2lkIHRydW5jYXRpbmcgdGV4dCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCwgdGhlIGNvbXBvbmVudCBsb29rcyBmb3IgYSBzcGFjZVxuICAgKiBpbiB0aGUgMTAgY2hhcmFjdGVycyBiZWZvcmUgdGhlIGxhc3QgY2hhcmFjdGVyLlxuICAgKiBAZGVmYXVsdCAyMDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4TGVuZ3RoKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19tYXhMZW5ndGggPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX21heExlbmd0aCA9IDIwMDtcbiAgICB9XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhMZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gdHJ1bmNhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRleHQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190ZXh0ID0gdmFsdWUgPz8gJyc7XG4gICAgdGhpcy4jc2V0dXAodGhpcy4jX3RleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI190ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVwbGFjZSBuZXdsaW5lIGNoYXJhY3RlcnMgaW4gdHJ1bmNhdGVkIHRleHQgd2l0aCBzcGFjZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHJ1bmNhdGVOZXdsaW5lcyA9IHRydWU7XG5cbiAgcHVibGljIGJ1dHRvblRleHQgPSAnJztcblxuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGV4cGFuZGFibGUgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNNb2RhbCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBjb250YWluZXJFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0ZXh0Jywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgc2V0IHRleHRFbCh2YWx1ZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190ZXh0RWwgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXh0RWwoKTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190ZXh0RWw7XG4gIH1cblxuICAjY29sbGFwc2VkVGV4dCA9ICcnO1xuXG4gICNuZXdsaW5lQ291bnQgPSAwO1xuXG4gICNzZWVNb3JlVGV4dCA9ICcnO1xuXG4gICNzZWVMZXNzVGV4dCA9ICcnO1xuXG4gICN0ZXh0VG9TaG93ID0gJyc7XG5cbiAgI19tYXhFeHBhbmRlZExlbmd0aCA9IDYwMDtcblxuICAjX21heEV4cGFuZGVkTmV3bGluZXMgPSAyO1xuXG4gICNfbWF4TGVuZ3RoID0gMjAwO1xuXG4gICNfdGV4dCA9ICcnO1xuXG4gICNfdGV4dEVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNyZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG4gICNtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlO1xuICAjdGV4dEV4cGFuZEFkYXB0ZXI6IFNreVRleHRFeHBhbmRBZGFwdGVyU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZSxcbiAgICB0ZXh0RXhwYW5kQWRhcHRlcjogU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jbW9kYWxTdmMgPSBtb2RhbFN2YztcbiAgICB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlciA9IHRleHRFeHBhbmRBZGFwdGVyO1xuICB9XG5cbiAgcHVibGljIHRleHRFeHBhbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNNb2RhbCkge1xuICAgICAgLy8gTW9kYWwgVmlld1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy4jbW9kYWxTdmMub3BlbihTa3lUZXh0RXhwYW5kTW9kYWxDb21wb25lbnQsIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTS1lfVEVYVF9FWFBBTkRfTU9EQUxfQ09OVEVYVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgIGhlYWRlcjogdGhpcy5leHBhbmRNb2RhbFRpdGxlLFxuICAgICAgICAgICAgICB0ZXh0OiB0aGlzLnRleHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOb3JtYWwgVmlld1xuICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy4jYW5pbWF0ZVRleHQodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNhbmltYXRlVGV4dChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFuaW1hdGlvbkVuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZXh0RWwgJiYgdGhpcy5jb250YWluZXJFbCkge1xuICAgICAgLy8gRW5zdXJlIHRoZSBjb3JyZWN0IHRleHQgaXMgZGlzcGxheWVkXG4gICAgICB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLiN0ZXh0VG9TaG93KTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lckVsKSB7XG4gICAgICAgICAgLy8gU2V0IGhlaWdodCBiYWNrIHRvIGF1dG8gc28gdGhlIGJyb3dzZXIgY2FuIGNoYW5nZSB0aGUgaGVpZ2h0IGFzIG5lZWRlZCB3aXRoIHdpbmRvdyBjaGFuZ2VzXG4gICAgICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIucmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KHRoaXMuY29udGFpbmVyRWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIG9ic2VydmFibGVGb3JrSm9pbihbXG4gICAgICB0aGlzLiNyZXNvdXJjZXMuZ2V0U3RyaW5nKCdza3l1eF90ZXh0X2V4cGFuZF9zZWVfbW9yZScpLFxuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX2xlc3MnKSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlcykgPT4ge1xuICAgICAgICB0aGlzLiNzZWVNb3JlVGV4dCA9IHJlc291cmNlc1swXTtcbiAgICAgICAgdGhpcy4jc2VlTGVzc1RleHQgPSByZXNvdXJjZXNbMV07XG4gICAgICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmV4cGFuZE1vZGFsVGl0bGUpIHtcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNcbiAgICAgICAgICAgIC5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX21vZGFsX3RpdGxlJylcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmV4cGFuZE1vZGFsVGl0bGUgPSByZXNvdXJjZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNzZXR1cCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNuZXdsaW5lQ291bnQgPSB0aGlzLiNnZXROZXdsaW5lQ291bnQodmFsdWUpO1xuICAgICAgdGhpcy4jY29sbGFwc2VkVGV4dCA9IHRoaXMuI2dldFRydW5jYXRlZFRleHQodmFsdWUsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIGlmICh0aGlzLiNjb2xsYXBzZWRUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuaXNNb2RhbCA9XG4gICAgICAgICAgdGhpcy4jbmV3bGluZUNvdW50ID4gdGhpcy5tYXhFeHBhbmRlZE5ld2xpbmVzIHx8XG4gICAgICAgICAgdGhpcy50ZXh0Lmxlbmd0aCA+IHRoaXMubWF4RXhwYW5kZWRMZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuI3RleHRUb1Nob3cgPSB0aGlzLiNjb2xsYXBzZWRUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN0ZXh0VG9TaG93ID0gJyc7XG4gICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGV4dEVsKSB7XG4gICAgICB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLiN0ZXh0VG9TaG93KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0TmV3bGluZUNvdW50KHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZS5tYXRjaCgvXFxuL2dpKTtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICByZXR1cm4gbWF0Y2hlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICAjZ2V0VHJ1bmNhdGVkVGV4dCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IGk6IG51bWJlcjtcbiAgICBpZiAodGhpcy50cnVuY2F0ZU5ld2xpbmVzKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZ2ksICcgJyk7XG4gICAgfVxuICAgIC8vIEp1bXAgYWhlYWQgb25lIGNoYXJhY3RlciBhbmQgc2VlIGlmIGl0J3MgYSBzcGFjZSwgYW5kIGlmIGl0IGlzbid0LFxuICAgIC8vIGJhY2sgdXAgdG8gdGhlIGZpcnN0IHNwYWNlIGFuZCBicmVhayB0aGVyZSBzbyBhIHdvcmQgZG9lc24ndCBnZXQgY3V0XG4gICAgLy8gaW4gaGFsZi5cbiAgICBpZiAobGVuZ3RoIDwgdmFsdWUubGVuZ3RoKSB7XG4gICAgICBmb3IgKGkgPSBsZW5ndGg7IGkgPiBsZW5ndGggLSAxMDsgaS0tKSB7XG4gICAgICAgIGlmICgvXFxzLy50ZXN0KHZhbHVlLmNoYXJBdChpKSkpIHtcbiAgICAgICAgICBsZW5ndGggPSBpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgbGVuZ3RoKTtcbiAgfVxuXG4gICNhbmltYXRlVGV4dChleHBhbmRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJFbCAmJiB0aGlzLnRleHRFbCkge1xuICAgICAgY29uc3QgYWRhcHRlciA9IHRoaXMuI3RleHRFeHBhbmRBZGFwdGVyO1xuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJFbDtcbiAgICAgIGlmIChleHBhbmRpbmcpIHtcbiAgICAgICAgYWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLnRleHQpO1xuICAgICAgICB0aGlzLiN0ZXh0VG9TaG93ID0gdGhpcy50ZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLiNjb2xsYXBzZWRUZXh0KTtcbiAgICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9IHRoaXMuI2NvbGxhcHNlZFRleHQ7XG4gICAgICB9XG4gICAgICB0aGlzLmJ1dHRvblRleHQgPSBleHBhbmRpbmcgPyB0aGlzLiNzZWVMZXNzVGV4dCA6IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgLy8gTWVhc3VyZSB0aGUgbmV3IGhlaWdodCBzbyB3ZSBjYW4gYW5pbWF0ZSB0byBpdC5cbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGFkYXB0ZXIuZ2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lcik7XG4gICAgICB0aGlzLnRyYW5zaXRpb25IZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICAvLyBBbHdheXMgc2hvdyBhbGwgdGV4dCB3aGlsZSBhbmltYXRpbmcgc28gdGhhdCB0aGUgYW5pbWF0aW9uIGlzIHNtb290aC4gVGhlIGFuaW1hdGlvbiBjYWxsYmFjayB3aWxsIHNldCB0aGlzIGJhY2sgaWYgbmVlZGVkLlxuICAgICAgaWYgKCFleHBhbmRpbmcpIHtcbiAgICAgICAgYWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLnRleHQpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZXhwYW5kaW5nO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbQGV4cGFuc2lvbkFuaW1hdGlvbl09XCJ7XG4gICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICB9XCJcbiAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4gIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLWNvbnRhaW5lclwiXG4gICNjb250YWluZXJcbj5cbiAgPHNwYW4gY2xhc3M9XCJza3ktdGV4dC1leHBhbmQtdGV4dFwiIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCIgI3RleHQ+PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1lbGxpcHNpc1wiICpuZ0lmPVwiIWlzRXhwYW5kZWQgJiYgZXhwYW5kYWJsZVwiXG4gICAgPi4uLlxuICA8L3NwYW4+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc01vZGFsID8gdW5kZWZpbmVkIDogISFpc0V4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzTW9kYWwgPyB1bmRlZmluZWQgOiBjb250ZW50U2VjdGlvbklkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImlzTW9kYWwgPyAnZGlhbG9nJyA6IHVuZGVmaW5lZFwiXG4gICAgKGNsaWNrKT1cInRleHRFeHBhbmQoKVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { SkyTextExpandComponent } from './text-expand.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class SkyTextExpandModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandModule, declarations: [SkyTextExpandComponent], imports: [CommonModule], exports: [SkyTextExpandComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandModule, imports: [CommonModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [SkyTextExpandComponent],
|
|
@@ -23,10 +23,10 @@ export class SkyTextExpandRepeaterAdapterService {
|
|
|
23
23
|
removeContainerMaxHeight(containerEl) {
|
|
24
24
|
this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
|
|
30
30
|
type: Injectable
|
|
31
|
-
}], ctorParameters:
|
|
31
|
+
}], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
|
|
32
32
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxTQUFTLENBQVk7SUFFckIsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBaUI7UUFDL0IsT0FBUSxLQUFLLENBQUMsYUFBNkIsQ0FBQyxnQkFBZ0IsQ0FDMUQsZ0NBQWdDLENBQ04sQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFpQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFdBQXVCO1FBQy9DLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUVNLHdCQUF3QixDQUFDLFdBQXVCO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs4R0EzQlUsbUNBQW1DO2tIQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW1zKGVsUmVmOiBFbGVtZW50UmVmKTogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiAoZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICcuc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW0nLFxuICAgICkgYXMgTm9kZUxpc3RPZjxIVE1MRWxlbWVudD47XG4gIH1cblxuICBwdWJsaWMgaGlkZUl0ZW0oaXRlbTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpdGVtLCAnZGlzcGxheScsICdub25lJyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0l0ZW0oaXRlbTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVTdHlsZShpdGVtLCAnZGlzcGxheScpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRhaW5lckhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNvbnRhaW5lck1heEhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZVN0eWxlKGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQsICdtYXgtaGVpZ2h0Jyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -166,8 +166,8 @@ export class SkyTextExpandRepeaterComponent {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ElementRef }, { token: i2.SkyTextExpandRepeaterAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [":host{display:block}.sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;margin-top:var(--sky-compat-text-expand-repeater-margin-top, 0)}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
171
171
|
trigger('expansionAnimation', [
|
|
172
172
|
transition(':enter', []),
|
|
173
173
|
state('true', style({
|
|
@@ -182,7 +182,7 @@ export class SkyTextExpandRepeaterComponent {
|
|
|
182
182
|
]),
|
|
183
183
|
] }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
|
|
186
186
|
type: Component,
|
|
187
187
|
args: [{ animations: [
|
|
188
188
|
trigger('expansionAnimation', [
|
|
@@ -198,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
198
198
|
transition('void => *', []),
|
|
199
199
|
]),
|
|
200
200
|
], selector: 'sky-text-expand-repeater', providers: [SkyTextExpandRepeaterAdapterService], template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [":host{display:block}.sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;margin-top:var(--sky-compat-text-expand-repeater-margin-top, 0)}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"] }]
|
|
201
|
-
}], ctorParameters:
|
|
201
|
+
}], ctorParameters: () => [{ type: i1.SkyLibResourcesService }, { type: i0.ElementRef }, { type: i2.SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
202
202
|
type: Input
|
|
203
203
|
}], itemTemplate: [{
|
|
204
204
|
type: Input
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
213
213
|
static: false,
|
|
214
214
|
}]
|
|
215
215
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUc3Rjs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQThCZixNQUFNLE9BQU8sOEJBQThCO0lBQ3pDOztPQUVHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBd0I7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIscUVBQXFFO1FBQ3JFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFnQkQ7O09BRUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUF5QjtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBU0QsWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBTTtJQVFsQixVQUFVLENBQXNDO0lBRWhELE1BQU0sQ0FBb0I7SUFDMUIsVUFBVSxDQUFxQjtJQUUvQixVQUFVLENBQXlCO0lBQ25DLE1BQU0sQ0FBYTtJQUNuQiwwQkFBMEIsQ0FBc0M7SUFDaEUsZUFBZSxDQUFvQjtJQUVuQyxZQUNFLFNBQWlDLEVBQ2pDLEtBQWlCLEVBQ2pCLHlCQUE4RCxFQUM5RCxjQUFpQztRQW5EbkM7OztXQUdHO1FBRUksY0FBUyxHQUNkLFdBQVcsQ0FBQztRQWVQLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxvQ0FBb0MsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUdsRSxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFFNUIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUF3QmhCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQywwQkFBMEIsR0FBRyx5QkFBeUIsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixrQkFBa0IsQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQztTQUN4RCxDQUFDO2FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDckM7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFlBQVk7UUFDakIseUlBQXlJO1FBQ3pJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtRQUVELGdLQUFnSztRQUNoSyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQiw2RkFBNkY7Z0JBQzdGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FDdEQsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbkI7WUFDRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDckM7WUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNkLHVEQUF1RDtnQkFDdkQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWlDO1FBQ3RDLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNwQixJQUFJLENBQUMsZ0JBQWdCO3dCQUNuQixJQUFJLENBQUMsMEJBQTBCLENBQUMsa0JBQWtCLENBQ2hELElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7aUJBQ0w7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO2FBQzdCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlEO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlEO1NBQ0Y7SUFDSCxDQUFDOzhHQWhNVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qix5SkFGOUIsQ0FBQyxtQ0FBbUMsQ0FBQywrR0EyRHhDLFVBQVUsNkJDbEhwQiwwdERBMERBLGc1QkQ1QmM7WUFDVixPQUFPLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztvQkFDSixTQUFTLEVBQUUsd0JBQXdCO2lCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQztnQkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztvQkFDSixTQUFTLEVBQUUsd0JBQXdCO2lCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQztnQkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2FBQzVCLENBQUM7U0FDSDs7MkZBTVUsOEJBQThCO2tCQTVCMUMsU0FBUztpQ0FDSTt3QkFDVixPQUFPLENBQUMsb0JBQW9CLEVBQUU7NEJBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDOzRCQUN4QixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsMEJBQTBCLGFBR3pCLENBQUMsbUNBQW1DLENBQUM7d05BT3JDLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZFJlcGVhdGVyTGlzdFN0eWxlVHlwZSB9IGZyb20gJy4vdHlwZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS10eXBlJztcblxuLyoqXG4gKiBBdXRvLWluY3JlbWVudGluZyBpbnRlZ2VyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBmb3IgdGV4dCBleHBhbmQgcmVwZWF0ZXIgY29tcG9uZW50cy5cbiAqL1xubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW10pLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0cnVlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdmYWxzZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICd7e3RyYW5zaXRpb25IZWlnaHR9fXB4JyxcbiAgICAgICAgfSksXG4gICAgICAgIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IDAgfSB9LFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RydWUgPT4gZmFsc2UnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXSksXG4gICAgXSksXG4gIF0sXG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLXJlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhID0gdmFsdWU7XG5cbiAgICAvLyBXYWl0IGZvciB0aGUgZG9tIHRvIHJlbmRlciB0aGUgbmV3IGl0ZW1zIGJhc2VkIG9uIHRoZSB1cGRhdGVkIGRhdGFcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2h0bWxJdGVtcyA9IHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuZ2V0SXRlbXModGhpcy4jZWxSZWYpO1xuICAgICAgdGhpcy4jc2V0dXAodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IGFueVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGZvciBpdGVtcyBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGUgb2YgYnVsbGV0IHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcInVub3JkZXJlZFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGlzdFN0eWxlOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJMaXN0U3R5bGVUeXBlIHwgdW5kZWZpbmVkID1cbiAgICAndW5vcmRlcmVkJztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSBsaXN0LiBJZiBub3Qgc3VwcGxpZWQsIGFsbCBpdGVtcyBhcmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEl0ZW1zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4SXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhJdGVtcygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbWF4SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNodG1sSXRlbXM6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNfZGF0YTogYW55W10gfCB1bmRlZmluZWQ7XG4gICNfbWF4SXRlbXM6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyID0gdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVMZXNzVGV4dDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIGFsbCBpdGVtcyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gYXJlIGhpZGRlbi4gVGhpcyBpcyBiZWNhdXNlIHdlIG5lZWQgdGhlbSBzaG93biBkdXJpbmcgdGhlIGFuaW1hdGlvbiB3aW5kb3cgZm9yIHZpc3VhbCBwdXJwb3Nlcy5cbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy4jaGlkZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzZXQgdGltZW91dCBpcyBuZWVkZWQgYXMgdGhlIGBhbmltYXRpb25FbmRgIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgYW5ndWxhciBhbmltYXRpb24gY2FsbGJhY2sgcHJpb3IgdG8gdGhlIGFuaW1hdGlvbiBzZXR0aW5nIHRoZSBzdHlsZSBvbiB0aGUgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgLy8gU2V0IGhlaWdodCBiYWNrIHRvIGF1dG8gc28gdGhlIGJyb3dzZXIgY2FuIGNoYW5nZSB0aGUgaGVpZ2h0IGFzIG5lZWRlZCB3aXRoIHdpbmRvdyBjaGFuZ2VzXG4gICAgICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIucmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KFxuICAgICAgICAgIHRoaXMuY29udGFpbmVyRWwsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVwZWF0ZXJFeHBhbmQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuI2FuaW1hdGVSZXBlYXRlcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYW5pbWF0ZVJlcGVhdGVyKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAjYW5pbWF0ZVJlcGVhdGVyKGV4cGFuZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgaWYgKGV4cGFuZGluZykge1xuICAgICAgICB0aGlzLiNzaG93SXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gYWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyKTtcbiAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9IG5ld0hlaWdodDtcbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTGVzc1RleHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWV4cGFuZGluZykge1xuICAgICAgICAvLyBTaG93IGFsbCBpdGVtcyBkdXJpbmcgYW5pbWF0aW9uIGZvciB2aXN1YWwgcHVycG9zZXMuXG4gICAgICAgIHRoaXMuI3Nob3dJdGVtcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZXhwYW5kaW5nO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cCh2YWx1ZTogQXJyYXk8dW5rbm93bj4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIGlmICh0aGlzLm1heEl0ZW1zICYmIGxlbmd0aCA+IHRoaXMubWF4SXRlbXMpIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9XG4gICAgICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChcbiAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJFbCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjaGlkZUl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNodG1sSXRlbXMgJiYgdGhpcy5tYXhJdGVtcykge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLiNodG1sSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5oaWRlSXRlbSh0aGlzLiNodG1sSXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzaG93SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2h0bWxJdGVtcyAmJiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5tYXhJdGVtczsgaSA8IHRoaXMuI2h0bWxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLnNob3dJdGVtKHRoaXMuI2h0bWxJdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyXCI+XG4gIDx1bFxuICAgICpuZ0lmPVwibGlzdFN0eWxlICE9PSAnb3JkZXJlZCdcIlxuICAgIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWNvbnRhaW5lclwiXG4gICAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgICBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogdHJhbnNpdGlvbkhlaWdodCB9XG4gICAgfVwiXG4gICAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4gICAgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS1ub25lJzogbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gICAgI2NvbnRhaW5lclxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L3VsPlxuICA8b2xcbiAgICAqbmdJZj1cImxpc3RTdHlsZSA9PT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtAZXhwYW5zaW9uQW5pbWF0aW9uXT1cIntcbiAgICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICAgIH1cIlxuICAgIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvb2w+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIWlzRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudFNlY3Rpb25JZFwiXG4gICAgKGNsaWNrKT1cInJlcGVhdGVyRXhwYW5kKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItc2VlLW1vcmUtbGlzdC1zdHlsZS1ub25lJzpcbiAgICAgICAgbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbVRlbXBsYXRlPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW1cIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUc3Rjs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQThCZixNQUFNLE9BQU8sOEJBQThCO0lBQ3pDOztPQUVHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBd0I7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIscUVBQXFFO1FBQ3JFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FB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LEVBQUU7NEJBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDOzRCQUN4QixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsMEJBQTBCLGFBR3pCLENBQUMsbUNBQW1DLENBQUM7c01BT3JDLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZFJlcGVhdGVyTGlzdFN0eWxlVHlwZSB9IGZyb20gJy4vdHlwZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS10eXBlJztcblxuLyoqXG4gKiBBdXRvLWluY3JlbWVudGluZyBpbnRlZ2VyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBmb3IgdGV4dCBleHBhbmQgcmVwZWF0ZXIgY29tcG9uZW50cy5cbiAqL1xubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW10pLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0cnVlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdmYWxzZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICd7e3RyYW5zaXRpb25IZWlnaHR9fXB4JyxcbiAgICAgICAgfSksXG4gICAgICAgIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IDAgfSB9LFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RydWUgPT4gZmFsc2UnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXSksXG4gICAgXSksXG4gIF0sXG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLXJlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhID0gdmFsdWU7XG5cbiAgICAvLyBXYWl0IGZvciB0aGUgZG9tIHRvIHJlbmRlciB0aGUgbmV3IGl0ZW1zIGJhc2VkIG9uIHRoZSB1cGRhdGVkIGRhdGFcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2h0bWxJdGVtcyA9IHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuZ2V0SXRlbXModGhpcy4jZWxSZWYpO1xuICAgICAgdGhpcy4jc2V0dXAodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IGFueVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGZvciBpdGVtcyBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGUgb2YgYnVsbGV0IHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcInVub3JkZXJlZFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGlzdFN0eWxlOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJMaXN0U3R5bGVUeXBlIHwgdW5kZWZpbmVkID1cbiAgICAndW5vcmRlcmVkJztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSBsaXN0LiBJZiBub3Qgc3VwcGxpZWQsIGFsbCBpdGVtcyBhcmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEl0ZW1zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4SXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhJdGVtcygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbWF4SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNodG1sSXRlbXM6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNfZGF0YTogYW55W10gfCB1bmRlZmluZWQ7XG4gICNfbWF4SXRlbXM6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyID0gdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVMZXNzVGV4dDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIGFsbCBpdGVtcyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gYXJlIGhpZGRlbi4gVGhpcyBpcyBiZWNhdXNlIHdlIG5lZWQgdGhlbSBzaG93biBkdXJpbmcgdGhlIGFuaW1hdGlvbiB3aW5kb3cgZm9yIHZpc3VhbCBwdXJwb3Nlcy5cbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy4jaGlkZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzZXQgdGltZW91dCBpcyBuZWVkZWQgYXMgdGhlIGBhbmltYXRpb25FbmRgIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgYW5ndWxhciBhbmltYXRpb24gY2FsbGJhY2sgcHJpb3IgdG8gdGhlIGFuaW1hdGlvbiBzZXR0aW5nIHRoZSBzdHlsZSBvbiB0aGUgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgLy8gU2V0IGhlaWdodCBiYWNrIHRvIGF1dG8gc28gdGhlIGJyb3dzZXIgY2FuIGNoYW5nZSB0aGUgaGVpZ2h0IGFzIG5lZWRlZCB3aXRoIHdpbmRvdyBjaGFuZ2VzXG4gICAgICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIucmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KFxuICAgICAgICAgIHRoaXMuY29udGFpbmVyRWwsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVwZWF0ZXJFeHBhbmQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuI2FuaW1hdGVSZXBlYXRlcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYW5pbWF0ZVJlcGVhdGVyKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAjYW5pbWF0ZVJlcGVhdGVyKGV4cGFuZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgaWYgKGV4cGFuZGluZykge1xuICAgICAgICB0aGlzLiNzaG93SXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gYWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyKTtcbiAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9IG5ld0hlaWdodDtcbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTGVzc1RleHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWV4cGFuZGluZykge1xuICAgICAgICAvLyBTaG93IGFsbCBpdGVtcyBkdXJpbmcgYW5pbWF0aW9uIGZvciB2aXN1YWwgcHVycG9zZXMuXG4gICAgICAgIHRoaXMuI3Nob3dJdGVtcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZXhwYW5kaW5nO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cCh2YWx1ZTogQXJyYXk8dW5rbm93bj4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIGlmICh0aGlzLm1heEl0ZW1zICYmIGxlbmd0aCA+IHRoaXMubWF4SXRlbXMpIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9XG4gICAgICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChcbiAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJFbCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjaGlkZUl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNodG1sSXRlbXMgJiYgdGhpcy5tYXhJdGVtcykge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLiNodG1sSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5oaWRlSXRlbSh0aGlzLiNodG1sSXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzaG93SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2h0bWxJdGVtcyAmJiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5tYXhJdGVtczsgaSA8IHRoaXMuI2h0bWxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLnNob3dJdGVtKHRoaXMuI2h0bWxJdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyXCI+XG4gIDx1bFxuICAgICpuZ0lmPVwibGlzdFN0eWxlICE9PSAnb3JkZXJlZCdcIlxuICAgIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWNvbnRhaW5lclwiXG4gICAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgICBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogdHJhbnNpdGlvbkhlaWdodCB9XG4gICAgfVwiXG4gICAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4gICAgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS1ub25lJzogbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gICAgI2NvbnRhaW5lclxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L3VsPlxuICA8b2xcbiAgICAqbmdJZj1cImxpc3RTdHlsZSA9PT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtAZXhwYW5zaW9uQW5pbWF0aW9uXT1cIntcbiAgICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICAgIH1cIlxuICAgIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvb2w+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIWlzRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudFNlY3Rpb25JZFwiXG4gICAgKGNsaWNrKT1cInJlcGVhdGVyRXhwYW5kKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItc2VlLW1vcmUtbGlzdC1zdHlsZS1ub25lJzpcbiAgICAgICAgbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbVRlbXBsYXRlPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW1cIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -4,11 +4,11 @@ import { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module'
|
|
|
4
4
|
import { SkyTextExpandRepeaterComponent } from './text-expand-repeater.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class SkyTextExpandRepeaterModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, declarations: [SkyTextExpandRepeaterComponent], imports: [SkyLayoutResourcesModule, CommonModule], exports: [SkyTextExpandRepeaterComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, imports: [SkyLayoutResourcesModule, CommonModule] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [SkyTextExpandRepeaterComponent],
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* Specifies a container for an item in the toolbar.
|
|
5
5
|
*/
|
|
6
6
|
export class SkyToolbarItemComponent {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarItemComponent, selector: "sky-toolbar-item", ngImport: i0, template: "<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n", styles: [".sky-toolbar-item{margin-right:5px;margin-bottom:5px}:host-context(.sky-theme-modern) .sky-toolbar-item{margin-bottom:0;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-item{margin-bottom:0;margin-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarItemComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'sky-toolbar-item', template: "<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n", styles: [".sky-toolbar-item{margin-right:5px;margin-bottom:5px}:host-context(.sky-theme-modern) .sky-toolbar-item{margin-bottom:0;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-item{margin-bottom:0;margin-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }]
|
|
13
13
|
}] });
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* Specifies a section to group items within the toolbar. The section displays items in a separate horizontal row.
|
|
5
5
|
*/
|
|
6
6
|
export class SkyToolbarSectionComponent {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarSectionComponent, selector: "sky-toolbar-section", ngImport: i0, template: "<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: [".sky-toolbar-section{display:flex;flex-wrap:nowrap;padding:5px 10px 0;min-height:49px;align-items:center;position:relative;overflow-x:auto}.sky-toolbar-section-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern) .sky-toolbar-section{padding:10px 0}.sky-theme-modern .sky-toolbar-section{padding:10px 0}\n"] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarSectionComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'sky-toolbar-section', template: "<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: [".sky-toolbar-section{display:flex;flex-wrap:nowrap;padding:5px 10px 0;min-height:49px;align-items:center;position:relative;overflow-x:auto}.sky-toolbar-section-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern) .sky-toolbar-section{padding:10px 0}.sky-theme-modern .sky-toolbar-section{padding:10px 0}\n"] }]
|
|
13
13
|
}] });
|
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* the view of the content container. This includes simple filters and view switchers.
|
|
6
6
|
*/
|
|
7
7
|
export class SkyToolbarViewActionsComponent {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarViewActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarViewActionsComponent, selector: "sky-toolbar-view-actions", ngImport: i0, template: "<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n", styles: [":host{margin-left:auto}.sky-toolbar-view-actions{display:flex;align-items:center;margin-bottom:5px}.sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions{margin-bottom:0}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-view-actions{margin-bottom:0}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarViewActionsComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-toolbar-view-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n", styles: [":host{margin-left:auto}.sky-toolbar-view-actions{display:flex;align-items:center;margin-bottom:5px}.sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions{margin-bottom:0}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-view-actions{margin-bottom:0}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }]
|
|
14
14
|
}] });
|
|
@@ -24,10 +24,10 @@ export class SkyToolbarComponent {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
#contentInfoProvider;
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarComponent, selector: "sky-toolbar", inputs: { listDescriptor: "listDescriptor" }, providers: [SkyContentInfoProvider], queries: [{ propertyName: "sectionComponents", predicate: SkyToolbarSectionComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: ["sky-toolbar+:host .sky-toolbar-container{border-top:none}.sky-toolbar-container{min-height:49px;background-color:#fff;padding:5px 10px 0;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;display:flex;flex-wrap:wrap;align-items:center;position:relative}.sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #cdcfd2}.sky-toolbar-container:not(.sky-toolbar-sectioned){flex-wrap:nowrap}.sky-toolbar-sectioned{display:block;padding:0}.sky-toolbar-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#fcfcfc}:host-context(.sky-theme-modern.sky-theme-mode-dark .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#121212}:host-context(.sky-theme-modern) .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}:host-context(.sky-theme-modern) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}:host-context(.sky-theme-modern) .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}:host-context(.sky-theme-modern) .sky-toolbar-sectioned{padding:0}.sky-theme-modern .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}.sky-theme-modern .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}.sky-theme-modern .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}.sky-theme-modern .sky-toolbar-sectioned{padding:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{ selector: 'sky-toolbar', providers: [SkyContentInfoProvider], template: "<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: ["sky-toolbar+:host .sky-toolbar-container{border-top:none}.sky-toolbar-container{min-height:49px;background-color:#fff;padding:5px 10px 0;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;display:flex;flex-wrap:wrap;align-items:center;position:relative}.sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #cdcfd2}.sky-toolbar-container:not(.sky-toolbar-sectioned){flex-wrap:nowrap}.sky-toolbar-sectioned{display:block;padding:0}.sky-toolbar-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#fcfcfc}:host-context(.sky-theme-modern.sky-theme-mode-dark .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#121212}:host-context(.sky-theme-modern) .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}:host-context(.sky-theme-modern) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}:host-context(.sky-theme-modern) .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}:host-context(.sky-theme-modern) .sky-toolbar-sectioned{padding:0}.sky-theme-modern .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}.sky-theme-modern .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}.sky-theme-modern .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}.sky-theme-modern .sky-toolbar-sectioned{padding:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}\n"] }]
|
|
33
33
|
}], propDecorators: { sectionComponents: [{
|
|
@@ -6,17 +6,17 @@ import { SkyToolbarViewActionsComponent } from './toolbar-view-actions.component
|
|
|
6
6
|
import { SkyToolbarComponent } from './toolbar.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class SkyToolbarModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, declarations: [SkyToolbarComponent,
|
|
11
11
|
SkyToolbarItemComponent,
|
|
12
12
|
SkyToolbarSectionComponent,
|
|
13
13
|
SkyToolbarViewActionsComponent], imports: [CommonModule], exports: [SkyToolbarComponent,
|
|
14
14
|
SkyToolbarItemComponent,
|
|
15
15
|
SkyToolbarSectionComponent,
|
|
16
16
|
SkyToolbarViewActionsComponent] }); }
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, imports: [CommonModule] }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
declarations: [
|
|
@@ -45,4 +45,4 @@ export class SkyActionButtonFixture {
|
|
|
45
45
|
.triggerEventHandler('click', {});
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9hY3Rpb24tYnV0dG9uLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYTthQUN4RSxTQUFTLENBQUM7UUFFYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakQsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5QixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFlO0lBRXZCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULG1CQUFtQixDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUTthQUNWLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDbkMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGFjdGlvbiBidXR0b24gY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBY3Rpb25CdXR0b25GaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gYnV0dG9uJ3MgY3VycmVudCBoZWFkZXIgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGVhZGVyVGV4dCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktYWN0aW9uLWJ1dHRvbi1oZWFkZXInKSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGJ1dHRvbidzIGN1cnJlbnQgZGV0YWlscyB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGdldCBkZXRhaWxzVGV4dCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1hY3Rpb24tYnV0dG9uLWRldGFpbHMnKSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGJ1dHRvbidzIGN1cnJlbnQgaWNvbiB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldCBpY29uVHlwZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuZmEuc2t5LWljb24nKSkubmF0aXZlRWxlbWVudFxuICAgICAgLmNsYXNzTGlzdDtcblxuICAgIGZvciAobGV0IGkgPSAwLCBuID0gY2xhc3NMaXN0Lmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgY29uc3QgY2xzID0gY2xhc3NMaXN0Lml0ZW0oaSk7XG5cbiAgICAgIGlmIChjbHMuaW5kZXhPZignZmEtJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGNscy5zdWJzdHIoMyk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWFjdGlvbi1idXR0b24nLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBhY3Rpb24gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFjdGlvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuI2RlYnVnRWxcbiAgICAgIC5xdWVyeShCeS5jc3MoJy5za3ktYWN0aW9uLWJ1dHRvbicpKVxuICAgICAgLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xuICB9XG59XG4iXX0=
|
|
@@ -62,4 +62,4 @@ export class SkyCardFixture {
|
|
|
62
62
|
return this.#debugEl.query(By.css('.sky-card-check .sky-checkbox-wrapper input'));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9jYXJkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBQ3pCOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsUUFBUTtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFlO0lBRXZCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUTthQUNWLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7YUFDM0QsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUN4QixFQUFFLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBhdmF0YXIgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDYXJkRml4dHVyZSB7XG4gIC8qKlxuICAgKiBUaGUgY2FyZCdzIGN1cnJlbnQgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRpdGxlVGV4dCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1jYXJkLXRpdGxlJykpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNhcmQncyBjdXJyZW50IGNvbnRlbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29udGVudFRleHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChcbiAgICAgIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCdza3ktY2FyZC1jb250ZW50JykpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgdXNlciBjYW4gc2VsZWN0IHRoZSBjYXJkLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWNhcmQtY2hlY2snKSk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgY2FyZCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuICBJZiB0aGUgY2FyZFxuICAgKiBpcyBub3Qgc2VsZWN0YWJsZSwgYW4gZXJyb3IgaXMgdGhyb3duLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy4jZ2V0Q2hlY2tJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5jaGVja2VkO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGNhcmQgaXMgbm90IHNlbGVjdGFibGUuJyk7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1jYXJkJyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGNhcmQuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy4jY2xpY2tDaGVja0xhYmVsRWwoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIHRoZSBjYXJkLlxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNjbGlja0NoZWNrTGFiZWxFbCgpO1xuICAgIH1cbiAgfVxuXG4gICNjbGlja0NoZWNrTGFiZWxFbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkZWJ1Z0VsXG4gICAgICAucXVlcnkoQnkuY3NzKCcuc2t5LWNhcmQtY2hlY2sgbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXInKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAjZ2V0Q2hlY2tJbnB1dEVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoXG4gICAgICBCeS5jc3MoJy5za3ktY2FyZC1jaGVjayAuc2t5LWNoZWNrYm94LXdyYXBwZXIgaW5wdXQnKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|