igniteui-angular 15.1.30 → 15.1.31
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/esm2020/lib/action-strip/action-strip.component.mjs +3 -3
- package/esm2020/lib/action-strip/grid-actions/grid-action-button.component.mjs +3 -3
- package/esm2020/lib/banner/banner.component.mjs +8 -8
- package/esm2020/lib/card/card.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel.component.mjs +7 -7
- package/esm2020/lib/combo/combo-dropdown.component.mjs +3 -3
- package/esm2020/lib/combo/combo.common.mjs +5 -5
- package/esm2020/lib/combo/combo.component.mjs +3 -3
- package/esm2020/lib/combo/combo.directives.mjs +2 -2
- package/esm2020/lib/core/navigation/directives.mjs +3 -3
- package/esm2020/lib/date-common/calendar-container/calendar-container.component.mjs +3 -3
- package/esm2020/lib/date-picker/date-picker.component.mjs +7 -7
- package/esm2020/lib/date-range-picker/date-range-picker.component.mjs +6 -6
- package/esm2020/lib/dialog/dialog.component.mjs +5 -5
- package/esm2020/lib/directives/button/button.directive.mjs +8 -8
- package/esm2020/lib/directives/ripple/ripple.directive.mjs +6 -6
- package/esm2020/lib/directives/tooltip/tooltip-target.directive.mjs +7 -9
- package/esm2020/lib/directives/tooltip/tooltip.directive.mjs +2 -2
- package/esm2020/lib/drop-down/drop-down.component.mjs +3 -3
- package/esm2020/lib/expansion-panel/expansion-panel.component.mjs +4 -4
- package/esm2020/lib/grids/column-actions/column-actions.component.mjs +3 -3
- package/esm2020/lib/grids/common/crud.service.mjs +2 -2
- package/esm2020/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-header.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-search.component.mjs +3 -3
- package/esm2020/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
- package/esm2020/lib/grids/grid/grid.component.mjs +3 -3
- package/esm2020/lib/grids/grid-base.directive.mjs +4 -4
- package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +3 -3
- package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +3 -3
- package/esm2020/lib/query-builder/query-builder.component.mjs +3 -3
- package/esm2020/lib/simple-combo/simple-combo.component.mjs +3 -3
- package/esm2020/lib/snackbar/snackbar.component.mjs +4 -4
- package/esm2020/lib/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2020/lib/time-picker/time-picker.component.mjs +6 -5
- package/esm2020/lib/toast/toast.component.mjs +2 -2
- package/esm2020/lib/tree/tree-node/tree-node.component.mjs +4 -4
- package/fesm2015/igniteui-angular.mjs +117 -118
- package/fesm2015/igniteui-angular.mjs.map +1 -1
- package/fesm2020/igniteui-angular.mjs +117 -118
- package/fesm2020/igniteui-angular.mjs.map +1 -1
- package/lib/banner/banner.component.d.ts +5 -5
- package/lib/card/card.component.d.ts +2 -2
- package/lib/carousel/carousel.component.d.ts +6 -6
- package/lib/combo/combo.common.d.ts +4 -4
- package/lib/combo/combo.directives.d.ts +1 -1
- package/lib/core/navigation/directives.d.ts +2 -2
- package/lib/date-picker/date-picker.component.d.ts +4 -4
- package/lib/date-range-picker/date-range-picker.component.d.ts +3 -3
- package/lib/dialog/dialog.component.d.ts +4 -4
- package/lib/directives/button/button.directive.d.ts +7 -7
- package/lib/directives/ripple/ripple.directive.d.ts +6 -6
- package/lib/directives/tooltip/tooltip-target.directive.d.ts +6 -8
- package/lib/directives/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/expansion-panel/expansion-panel.component.d.ts +3 -3
- package/lib/grids/common/crud.service.d.ts +1 -1
- package/lib/grids/grid-base.directive.d.ts +3 -3
- package/lib/snackbar/snackbar.component.d.ts +1 -1
- package/lib/time-picker/time-picker.component.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/tree/tree-node/tree-node.component.d.ts +3 -3
- package/migrations/common/UpdateChanges.js +1 -1
- package/package.json +1 -1
|
@@ -231,10 +231,10 @@ export class IgxActionStripComponent extends DisplayDensityBase {
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
IgxActionStripComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxActionStripComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: DisplayDensityToken, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
-
IgxActionStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxActionStripComponent, selector: "igx-action-strip", inputs: { context: "context", hidden: "hidden", resourceStrings: "resourceStrings" }, host: { properties: { "style.display": "this.display", "class": "this.hostClasses" } }, queries: [{ propertyName: "_menuItems", predicate: IgxActionStripMenuItemDirective }, { propertyName: "actionButtons", predicate: IgxGridActionsBaseDirective }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: i3.IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "directive", type: i4.IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: i5.IgxToggleActionDirective, selector: "[igxToggleAction]", inputs: ["overlaySettings", "igxToggleOutlet", "igxToggleAction"], exportAs: ["toggle-action"] }, { kind: "directive", type: i6.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i7.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i8.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
234
|
+
IgxActionStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxActionStripComponent, selector: "igx-action-strip", inputs: { context: "context", hidden: "hidden", resourceStrings: "resourceStrings" }, host: { properties: { "style.display": "this.display", "class": "this.hostClasses" } }, queries: [{ propertyName: "_menuItems", predicate: IgxActionStripMenuItemDirective }, { propertyName: "actionButtons", predicate: IgxGridActionsBaseDirective }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n type=\"button\"\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: i3.IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "directive", type: i4.IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: i5.IgxToggleActionDirective, selector: "[igxToggleAction]", inputs: ["overlaySettings", "igxToggleOutlet", "igxToggleAction"], exportAs: ["toggle-action"] }, { kind: "directive", type: i6.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i7.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i8.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
235
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxActionStripComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
|
-
args: [{ selector: 'igx-action-strip', template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n" }]
|
|
237
|
+
args: [{ selector: 'igx-action-strip', template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n type=\"button\"\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n" }]
|
|
238
238
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
239
239
|
type: Optional
|
|
240
240
|
}, {
|
|
@@ -262,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
262
262
|
type: HostBinding,
|
|
263
263
|
args: ['class']
|
|
264
264
|
}] } });
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBRWYsU0FBUyxFQUtaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7QUFLekYsTUFBTSxPQUFPLCtCQUErQjtJQUN4QyxZQUNXLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUNwQyxDQUFDOzs0SEFISSwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQU1ILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFnQzNEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDVyxNQUFNLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtB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REFVL0IsMkJBQTJCLHNKQ3hGaEQsaW9DQStCQTsyRkQ0QmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGtCQUFrQjs7MEJBaUh2QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs0RUFqR3BDLE9BQU87c0JBRGIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixlQUFlO3VCQUFDLCtCQUErQjtnQkFXekMsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBYWpDLE1BQU07c0JBRGhCLEtBQUs7Z0JBZ0JLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBcUNDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxVQUFVO2dCQThDUixPQUFPO3NCQURsQixXQUFXO3VCQUFDLGVBQWU7Z0JBU2hCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlCYXNlLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9hY3Rpb24tc3RyaXAtcmVzb3VyY2VzJztcbmltcG9ydCB7IEN1cnJlbnRSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuLi9jb3JlL2kxOG4vcmVzb3VyY2VzJztcbmltcG9ydCB7IElneERyb3BEb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcC1kb3duL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgQ2xvc2VTY3JvbGxTdHJhdGVneSwgT3ZlcmxheVNldHRpbmdzIH0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2dyaWQtYWN0aW9ucy9ncmlkLWFjdGlvbnMtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hBY3Rpb25TdHJpcE1lbnVJdGVtXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PlxuICAgICkgeyB9XG59XG5cbi8qKlxuICogQWN0aW9uIFN0cmlwIHByb3ZpZGVzIHRlbXBsYXRhYmxlIGFyZWEgZm9yIG9uZSBvciBtb3JlIGFjdGlvbnMuXG4gKlxuICogQGlneE1vZHVsZSBJZ3hBY3Rpb25TdHJpcE1vZHVsZVxuICpcbiAqIEBpZ3hUaGVtZSBpZ3gtYWN0aW9uLXN0cmlwLXRoZW1lXG4gKlxuICogQGlneEtleXdvcmRzIGFjdGlvbiwgc3RyaXAsIGFjdGlvblN0cmlwLCBwaW5uaW5nLCBlZGl0aW5nXG4gKlxuICogQGlneEdyb3VwIERhdGEgRW50cnkgJiBEaXNwbGF5XG4gKlxuICogQHJlbWFya3NcbiAqIFRoZSBJZ25pdGUgVUkgQWN0aW9uIFN0cmlwIGlzIGEgY29udGFpbmVyLCBvdmVybGF5aW5nIGl0cyBwYXJlbnQgY29udGFpbmVyLFxuICogYW5kIGRpc3BsYXlpbmcgYWN0aW9uIGJ1dHRvbnMgd2l0aCBhY3Rpb24gYXBwbGljYWJsZSB0byB0aGUgcGFyZW50IGNvbXBvbmVudCB0aGUgc3RyaXAgaXMgaW5zdGFudGlhdGVkIG9yIHNob3duIGZvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGlneC1hY3Rpb24tc3RyaXAgI2FjdGlvblN0cmlwPlxuICogICAgIDxpZ3gtaWNvbiAoY2xpY2spPVwiZG9Tb21lQWN0aW9uKClcIj48L2lneC1pY29uPlxuICogPC9pZ3gtYWN0aW9uLXN0cmlwPlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1hY3Rpb24tc3RyaXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIElneEFjdGlvblN0cmlwQ29tcG9uZW50IGV4dGVuZHMgRGlzcGxheURlbnNpdHlCYXNlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY29udGV4dCBvZiBhbiBhY3Rpb24gc3RyaXAuXG4gICAgICogVGhlIGNvbnRleHQgc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIGEgQENvbXBvbmVudCwgdGhhdCBoYXMgZWxlbWVudCBwcm9wZXJ0eS5cbiAgICAgKiBUaGlzIGVsZW1lbnQgd2lsbCBiZSB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGFjdGlvbiBzdHJpcC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYWN0aW9uLXN0cmlwIFtjb250ZXh0XT1cImNlbGxcIj48L2lneC1hY3Rpb24tc3RyaXA+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGV4dDogYW55O1xuICAgIC8qKlxuICAgICAqIE1lbnUgSXRlbXMgQ29udGVudENoaWxkcmVuIGluc2lkZSB0aGUgQWN0aW9uIFN0cmlwXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihJZ3hBY3Rpb25TdHJpcE1lbnVJdGVtRGlyZWN0aXZlKVxuICAgIHB1YmxpYyBfbWVudUl0ZW1zOiBRdWVyeUxpc3Q8SWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZT47XG5cblxuICAgIC8qKlxuICAgICAqIEFjdGlvbkJ1dHRvbiBhcyBDb250ZW50Q2hpbGRyZW4gaW5zaWRlIHRoZSBBY3Rpb24gU3RyaXBcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKElneEdyaWRBY3Rpb25zQmFzZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgYWN0aW9uQnV0dG9uczogUXVlcnlMaXN0PElneEdyaWRBY3Rpb25zQmFzZURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXQgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEFjdGlvbiBTdHJpcC5cbiAgICAgKiBDb3VsZCBiZSB1c2VkIHRvIHNldCBpZiB0aGUgQWN0aW9uIFN0cmlwIHdpbGwgYmUgaW5pdGlhbGx5IGhpZGRlbi5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWFjdGlvbi1zdHJpcCBbaGlkZGVuXT1cImZhbHNlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGhpZGRlbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9oaWRkZW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGRlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlc291cmNlU3RyaW5ncyh2YWx1ZTogSUFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncyB7XG4gICAgICAgIGlmICghdGhpcy5fcmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBDdXJyZW50UmVzb3VyY2VTdHJpbmdzLkFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVN0cmluZ3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSBvciBub3QgdGhlIEFjdGlvbiBTdHJpcCBiYXNlZCBvbiBpZiBpdCBpcyBhIG1lbnUuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgIHB1YmxpYyBnZXQgaGlkZU9uUm93TGVhdmUoKTogYm9vbGVhbntcbiAgICAgICAgaWYodGhpcy5tZW51Lml0ZW1zLmxlbmd0aCA9PT0gMCl7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfWVsc2UgaWYodGhpcy5tZW51Lml0ZW1zLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgaWYodGhpcy5tZW51LmNvbGxhcHNlZCl7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIG1lbnVcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bicpXG4gICAgcHVibGljIG1lbnU6IElneERyb3BEb3duQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciBtZW51IG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbWVudU92ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0geyBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSB9O1xuXG4gICAgcHJpdmF0ZSBfaGlkZGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcmVzb3VyY2VTdHJpbmdzO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoX2Rpc3BsYXlEZW5zaXR5T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtcyBsaXN0LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbWVudUl0ZW1zKCkge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmFzTWVudUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBidXR0b24uYnV0dG9ucztcbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4udG9BcnJheSgpLmZvckVhY2goeCA9PiBhY3Rpb25zLnB1c2goeCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbLi4uIHRoaXMuX21lbnVJdGVtcy50b0FycmF5KCksIC4uLmFjdGlvbnNdO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5IG9mIHRoZSBjdXJyZW50IGBJZ3hBY3Rpb25TdHJpcGBcbiAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICAgcHJpdmF0ZSBnZXQgZGlzcGxheSgpOiBzdHJpbmcge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbiA/ICdub25lJyA6ICdmbGV4JztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBIb3N0IGBhdHRyLmNsYXNzYCBiaW5kaW5nLlxuICAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgIHByaXZhdGUgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgICBsZXQgaG9zdENsYXNzID0gdGhpcy5nZXRDb21wb25lbnREZW5zaXR5Q2xhc3MoJ2lneC1hY3Rpb24tc3RyaXAnKTtcbiAgICAgICAgIGlmIChob3N0Q2xhc3MgIT09ICdpZ3gtYWN0aW9uLXN0cmlwJykge1xuICAgICAgICAgICAgIC8vIGFjdGlvbiBzdHJpcCByZXF1aXJlcyB0aGUgYmFzZSBjbGFzcyB0byBiZSBhbHdheXMgcHJlc2VudDpcbiAgICAgICAgICAgICBob3N0Q2xhc3MgPSBgaWd4LWFjdGlvbi1zdHJpcCAke2hvc3RDbGFzc31gO1xuICAgICAgICAgfVxuICAgICAgICAgcmV0dXJuIGhvc3RDbGFzcztcbiAgICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBidXR0b24uc3RyaXAgPSB0aGlzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3Rpb25CdXR0b25zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICAgICAgYnV0dG9uLnN0cmlwID0gdGhpcztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZW51LnNlbGVjdGlvbkNoYW5naW5nLnN1YnNjcmliZSgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSAoJGV2ZW50Lm5ld1NlbGVjdGlvbiBhcyBhbnkpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGxldCBhbGxCdXR0b25zID0gW107XG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChhY3Rpb25CdXR0b25zID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uQnV0dG9ucy5hc01lbnVJdGVtcykge1xuICAgICAgICAgICAgICAgICAgICBhbGxCdXR0b25zID0gWy4uLmFsbEJ1dHRvbnMsIC4uLmFjdGlvbkJ1dHRvbnMuYnV0dG9ucy50b0FycmF5KCldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgYnV0dG9uID0gYWxsQnV0dG9ucy5maW5kKHggPT4gbmV3U2VsZWN0aW9uLmNvbnRhaW5zKHguY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICAgICAgICAgIGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICBidXR0b24uYWN0aW9uQ2xpY2suZW1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93aW5nIHRoZSBBY3Rpb24gU3RyaXAgYW5kIGFwcGVuZGluZyBpdCB0aGUgc3BlY2lmaWVkIGNvbnRleHQgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZXh0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5hY3Rpb25TdHJpcC5zaG93KHJvdyk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNob3coY29udGV4dD86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGVuIHNob3duIGZvciBkaWZmZXJlbnQgY29udGV4dCBtYWtlIHN1cmUgdGhlIG1lbnUgd29uJ3Qgc3RheSBvcGVuZWRcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAhPT0gY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRleHQuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLl92aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGluZyB0aGUgQWN0aW9uIFN0cmlwIGFuZCByZW1vdmluZyBpdCBmcm9tIGl0cyBjdXJyZW50IGNvbnRleHQgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuYWN0aW9uU3RyaXAuaGlkZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGRlbiA9IHRydWU7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250ZXh0LmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5fdmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgdGhlIG1lbnUgaWYgb3BlbmVkXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnUgJiYgIXRoaXMubWVudS5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiaWd4LWFjdGlvbi1zdHJpcF9fYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50ICNjb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaWd4QnV0dG9uPVwiaWNvblwiXG4gICAgICAgICAgICBpZ3hSaXBwbGVcbiAgICAgICAgICAgIFtpZ3hUb2dnbGVBY3Rpb25dPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgW292ZXJsYXlTZXR0aW5nc109XCJtZW51T3ZlcmxheVNldHRpbmdzXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInJlc291cmNlU3RyaW5ncy5pZ3hfYWN0aW9uX3N0cmlwX2J1dHRvbl9tb3JlX3RpdGxlXCJcbiAgICAgICAgICAgIFtpZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uXT1cImRyb3Bkb3duXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlneC1pY29uPm1vcmVfdmVydDwvaWd4LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxpZ3gtZHJvcC1kb3duICNkcm9wZG93biBbZGlzcGxheURlbnNpdHldPVwiZGlzcGxheURlbnNpdHlcIj5cbiAgICAgICAgPGlneC1kcm9wLWRvd24taXRlbVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaWd4LWFjdGlvbi1zdHJpcF9fbWVudS1pdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlneC1kcm9wLWRvd25fX2l0ZW0tdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICA8L2lneC1kcm9wLWRvd24+XG48L2Rpdj5cbiJdfQ==
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBRWYsU0FBUyxFQUtaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7QUFLekYsTUFBTSxPQUFPLCtCQUErQjtJQUN4QyxZQUNXLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUNwQyxDQUFDOzs0SEFISSwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOztBQU9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQU1ILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFnQzNEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDVyxNQUFNLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtB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REFVL0IsMkJBQTJCLHNKQ3hGaEQsOHBDQWdDQTsyRkQyQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGtCQUFrQjs7MEJBaUh2QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs0RUFqR3BDLE9BQU87c0JBRGIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixlQUFlO3VCQUFDLCtCQUErQjtnQkFXekMsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBYWpDLE1BQU07c0JBRGhCLEtBQUs7Z0JBZ0JLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBcUNDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxVQUFVO2dCQThDUixPQUFPO3NCQURsQixXQUFXO3VCQUFDLGVBQWU7Z0JBU2hCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlCYXNlLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9hY3Rpb24tc3RyaXAtcmVzb3VyY2VzJztcbmltcG9ydCB7IEN1cnJlbnRSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuLi9jb3JlL2kxOG4vcmVzb3VyY2VzJztcbmltcG9ydCB7IElneERyb3BEb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcC1kb3duL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgQ2xvc2VTY3JvbGxTdHJhdGVneSwgT3ZlcmxheVNldHRpbmdzIH0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2dyaWQtYWN0aW9ucy9ncmlkLWFjdGlvbnMtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hBY3Rpb25TdHJpcE1lbnVJdGVtXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PlxuICAgICkgeyB9XG59XG5cbi8qKlxuICogQWN0aW9uIFN0cmlwIHByb3ZpZGVzIHRlbXBsYXRhYmxlIGFyZWEgZm9yIG9uZSBvciBtb3JlIGFjdGlvbnMuXG4gKlxuICogQGlneE1vZHVsZSBJZ3hBY3Rpb25TdHJpcE1vZHVsZVxuICpcbiAqIEBpZ3hUaGVtZSBpZ3gtYWN0aW9uLXN0cmlwLXRoZW1lXG4gKlxuICogQGlneEtleXdvcmRzIGFjdGlvbiwgc3RyaXAsIGFjdGlvblN0cmlwLCBwaW5uaW5nLCBlZGl0aW5nXG4gKlxuICogQGlneEdyb3VwIERhdGEgRW50cnkgJiBEaXNwbGF5XG4gKlxuICogQHJlbWFya3NcbiAqIFRoZSBJZ25pdGUgVUkgQWN0aW9uIFN0cmlwIGlzIGEgY29udGFpbmVyLCBvdmVybGF5aW5nIGl0cyBwYXJlbnQgY29udGFpbmVyLFxuICogYW5kIGRpc3BsYXlpbmcgYWN0aW9uIGJ1dHRvbnMgd2l0aCBhY3Rpb24gYXBwbGljYWJsZSB0byB0aGUgcGFyZW50IGNvbXBvbmVudCB0aGUgc3RyaXAgaXMgaW5zdGFudGlhdGVkIG9yIHNob3duIGZvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGlneC1hY3Rpb24tc3RyaXAgI2FjdGlvblN0cmlwPlxuICogICAgIDxpZ3gtaWNvbiAoY2xpY2spPVwiZG9Tb21lQWN0aW9uKClcIj48L2lneC1pY29uPlxuICogPC9pZ3gtYWN0aW9uLXN0cmlwPlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1hY3Rpb24tc3RyaXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIElneEFjdGlvblN0cmlwQ29tcG9uZW50IGV4dGVuZHMgRGlzcGxheURlbnNpdHlCYXNlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY29udGV4dCBvZiBhbiBhY3Rpb24gc3RyaXAuXG4gICAgICogVGhlIGNvbnRleHQgc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIGEgQENvbXBvbmVudCwgdGhhdCBoYXMgZWxlbWVudCBwcm9wZXJ0eS5cbiAgICAgKiBUaGlzIGVsZW1lbnQgd2lsbCBiZSB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGFjdGlvbiBzdHJpcC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYWN0aW9uLXN0cmlwIFtjb250ZXh0XT1cImNlbGxcIj48L2lneC1hY3Rpb24tc3RyaXA+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGV4dDogYW55O1xuICAgIC8qKlxuICAgICAqIE1lbnUgSXRlbXMgQ29udGVudENoaWxkcmVuIGluc2lkZSB0aGUgQWN0aW9uIFN0cmlwXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihJZ3hBY3Rpb25TdHJpcE1lbnVJdGVtRGlyZWN0aXZlKVxuICAgIHB1YmxpYyBfbWVudUl0ZW1zOiBRdWVyeUxpc3Q8SWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZT47XG5cblxuICAgIC8qKlxuICAgICAqIEFjdGlvbkJ1dHRvbiBhcyBDb250ZW50Q2hpbGRyZW4gaW5zaWRlIHRoZSBBY3Rpb24gU3RyaXBcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKElneEdyaWRBY3Rpb25zQmFzZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgYWN0aW9uQnV0dG9uczogUXVlcnlMaXN0PElneEdyaWRBY3Rpb25zQmFzZURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXQgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEFjdGlvbiBTdHJpcC5cbiAgICAgKiBDb3VsZCBiZSB1c2VkIHRvIHNldCBpZiB0aGUgQWN0aW9uIFN0cmlwIHdpbGwgYmUgaW5pdGlhbGx5IGhpZGRlbi5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWFjdGlvbi1zdHJpcCBbaGlkZGVuXT1cImZhbHNlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGhpZGRlbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9oaWRkZW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGRlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlc291cmNlU3RyaW5ncyh2YWx1ZTogSUFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncyB7XG4gICAgICAgIGlmICghdGhpcy5fcmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBDdXJyZW50UmVzb3VyY2VTdHJpbmdzLkFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVN0cmluZ3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSBvciBub3QgdGhlIEFjdGlvbiBTdHJpcCBiYXNlZCBvbiBpZiBpdCBpcyBhIG1lbnUuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgIHB1YmxpYyBnZXQgaGlkZU9uUm93TGVhdmUoKTogYm9vbGVhbntcbiAgICAgICAgaWYodGhpcy5tZW51Lml0ZW1zLmxlbmd0aCA9PT0gMCl7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfWVsc2UgaWYodGhpcy5tZW51Lml0ZW1zLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgaWYodGhpcy5tZW51LmNvbGxhcHNlZCl7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIG1lbnVcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bicpXG4gICAgcHVibGljIG1lbnU6IElneERyb3BEb3duQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciBtZW51IG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbWVudU92ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0geyBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSB9O1xuXG4gICAgcHJpdmF0ZSBfaGlkZGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcmVzb3VyY2VTdHJpbmdzO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoX2Rpc3BsYXlEZW5zaXR5T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtcyBsaXN0LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbWVudUl0ZW1zKCkge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmFzTWVudUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBidXR0b24uYnV0dG9ucztcbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4udG9BcnJheSgpLmZvckVhY2goeCA9PiBhY3Rpb25zLnB1c2goeCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbLi4uIHRoaXMuX21lbnVJdGVtcy50b0FycmF5KCksIC4uLmFjdGlvbnNdO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5IG9mIHRoZSBjdXJyZW50IGBJZ3hBY3Rpb25TdHJpcGBcbiAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICAgcHJpdmF0ZSBnZXQgZGlzcGxheSgpOiBzdHJpbmcge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbiA/ICdub25lJyA6ICdmbGV4JztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBIb3N0IGBhdHRyLmNsYXNzYCBiaW5kaW5nLlxuICAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgIHByaXZhdGUgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgICBsZXQgaG9zdENsYXNzID0gdGhpcy5nZXRDb21wb25lbnREZW5zaXR5Q2xhc3MoJ2lneC1hY3Rpb24tc3RyaXAnKTtcbiAgICAgICAgIGlmIChob3N0Q2xhc3MgIT09ICdpZ3gtYWN0aW9uLXN0cmlwJykge1xuICAgICAgICAgICAgIC8vIGFjdGlvbiBzdHJpcCByZXF1aXJlcyB0aGUgYmFzZSBjbGFzcyB0byBiZSBhbHdheXMgcHJlc2VudDpcbiAgICAgICAgICAgICBob3N0Q2xhc3MgPSBgaWd4LWFjdGlvbi1zdHJpcCAke2hvc3RDbGFzc31gO1xuICAgICAgICAgfVxuICAgICAgICAgcmV0dXJuIGhvc3RDbGFzcztcbiAgICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBidXR0b24uc3RyaXAgPSB0aGlzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3Rpb25CdXR0b25zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICAgICAgYnV0dG9uLnN0cmlwID0gdGhpcztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZW51LnNlbGVjdGlvbkNoYW5naW5nLnN1YnNjcmliZSgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSAoJGV2ZW50Lm5ld1NlbGVjdGlvbiBhcyBhbnkpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGxldCBhbGxCdXR0b25zID0gW107XG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChhY3Rpb25CdXR0b25zID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uQnV0dG9ucy5hc01lbnVJdGVtcykge1xuICAgICAgICAgICAgICAgICAgICBhbGxCdXR0b25zID0gWy4uLmFsbEJ1dHRvbnMsIC4uLmFjdGlvbkJ1dHRvbnMuYnV0dG9ucy50b0FycmF5KCldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgYnV0dG9uID0gYWxsQnV0dG9ucy5maW5kKHggPT4gbmV3U2VsZWN0aW9uLmNvbnRhaW5zKHguY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICAgICAgICAgIGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICBidXR0b24uYWN0aW9uQ2xpY2suZW1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93aW5nIHRoZSBBY3Rpb24gU3RyaXAgYW5kIGFwcGVuZGluZyBpdCB0aGUgc3BlY2lmaWVkIGNvbnRleHQgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZXh0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5hY3Rpb25TdHJpcC5zaG93KHJvdyk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNob3coY29udGV4dD86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGVuIHNob3duIGZvciBkaWZmZXJlbnQgY29udGV4dCBtYWtlIHN1cmUgdGhlIG1lbnUgd29uJ3Qgc3RheSBvcGVuZWRcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAhPT0gY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRleHQuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLl92aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGluZyB0aGUgQWN0aW9uIFN0cmlwIGFuZCByZW1vdmluZyBpdCBmcm9tIGl0cyBjdXJyZW50IGNvbnRleHQgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuYWN0aW9uU3RyaXAuaGlkZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGRlbiA9IHRydWU7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250ZXh0LmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5fdmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgdGhlIG1lbnUgaWYgb3BlbmVkXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnUgJiYgIXRoaXMubWVudS5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiaWd4LWFjdGlvbi1zdHJpcF9fYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50ICNjb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBpZ3hCdXR0b249XCJpY29uXCJcbiAgICAgICAgICAgIGlneFJpcHBsZVxuICAgICAgICAgICAgW2lneFRvZ2dsZUFjdGlvbl09XCJkcm9wZG93blwiXG4gICAgICAgICAgICBbb3ZlcmxheVNldHRpbmdzXT1cIm1lbnVPdmVybGF5U2V0dGluZ3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicmVzb3VyY2VTdHJpbmdzLmlneF9hY3Rpb25fc3RyaXBfYnV0dG9uX21vcmVfdGl0bGVcIlxuICAgICAgICAgICAgW2lneERyb3BEb3duSXRlbU5hdmlnYXRpb25dPVwiZHJvcGRvd25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aWd4LWljb24+bW9yZV92ZXJ0PC9pZ3gtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGlneC1kcm9wLWRvd24gI2Ryb3Bkb3duIFtkaXNwbGF5RGVuc2l0eV09XCJkaXNwbGF5RGVuc2l0eVwiPlxuICAgICAgICA8aWd4LWRyb3AtZG93bi1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJpZ3gtYWN0aW9uLXN0cmlwX19tZW51LWl0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWd4LWRyb3AtZG93bl9faXRlbS10ZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udGVtcGxhdGVSZWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgIDwvaWd4LWRyb3AtZG93bj5cbjwvZGl2PlxuIl19
|
|
@@ -42,10 +42,10 @@ export class IgxGridActionButtonComponent {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
IgxGridActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxGridActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
-
IgxGridActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxGridActionButtonComponent, selector: "igx-grid-action-button", inputs: { asMenuItem: "asMenuItem", iconName: "iconName", classNames: "classNames", iconSet: "iconSet", labelText: "labelText" }, outputs: { actionClick: "actionClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "templateRef", first: true, predicate: ["menuItemTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!asMenuItem\">\n <button [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]
|
|
45
|
+
IgxGridActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxGridActionButtonComponent, selector: "igx-grid-action-button", inputs: { asMenuItem: "asMenuItem", iconName: "iconName", classNames: "classNames", iconSet: "iconSet", labelText: "labelText" }, outputs: { actionClick: "actionClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "templateRef", first: true, predicate: ["menuItemTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!asMenuItem\">\n <button type=\"button\" [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]=\"containerClass\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i3.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i4.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxGridActionButtonComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'igx-grid-action-button', template: "<ng-container *ngIf=\"!asMenuItem\">\n <button [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]
|
|
48
|
+
args: [{ selector: 'igx-grid-action-button', template: "<ng-container *ngIf=\"!asMenuItem\">\n <button type=\"button\" [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]=\"containerClass\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>\n" }]
|
|
49
49
|
}], propDecorators: { container: [{
|
|
50
50
|
type: ViewChild,
|
|
51
51
|
args: ['container']
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
65
65
|
}], labelText: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvZ3JpZC1hY3Rpb25zL2dyaWQtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvYWN0aW9uLXN0cmlwL2dyaWQtYWN0aW9ucy9ncmlkLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU0zRyxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBVUk7Ozs7Ozs7V0FPRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQVcvQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxLQUFLLENBQUM7S0FnRDdCO0lBbENHLHdCQUF3QjtJQUN4QixJQUFXLGNBQWM7UUFDckIsT0FBTyxnQ0FBZ0MsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQWNEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVksQ0FBQyxLQUFLO1FBQ3JCLElBQUksS0FBSyxFQUFFO1lBQ1AsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7O3lIQTVFUSw0QkFBNEI7NkdBQTVCLDRCQUE0QixtYkNOekMsNnhCQWdCQTsyRkRWYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksd0JBQXdCOzhCQU8zQixTQUFTO3NCQURmLFNBQVM7dUJBQUMsV0FBVztnQkFZZixXQUFXO3NCQURqQixNQUFNO2dCQVVBLFdBQVc7c0JBRGpCLFNBQVM7dUJBQUMsa0JBQWtCO2dCQU90QixVQUFVO3NCQURoQixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQVlDLE9BQU87c0JBRGIsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtZ3JpZC1hY3Rpb24tYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2dyaWQtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBJZ3hHcmlkQWN0aW9uQnV0dG9uQ29tcG9uZW50IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpXG4gICAgcHVibGljIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiAgPGlneC1ncmlkLWFjdGlvbi1idXR0b24gKGFjdGlvbkNsaWNrKT1cInN0YXJ0RWRpdCgkZXZlbnQpXCI+PC9pZ3gtZ3JpZC1hY3Rpb24tYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgdGVtcGxhdGUuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnbWVudUl0ZW1UZW1wbGF0ZScpXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBidXR0b24gYWN0aW9uIGlzIHJlbmRlcmVkIGluIG1lbnUgYW5kIHNob3VsZCBjb250YWluZXIgdGV4dCBsYWJlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhc01lbnVJdGVtID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgaW4gdGhlIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQWRkaXRpb25hbCBNZW51IGl0ZW0gY29udGFpbmVyIGVsZW1lbnQgY2xhc3Nlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbGFzc05hbWVzOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IGNvbnRhaW5lckNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnaWd4LWFjdGlvbi1zdHJpcF9fbWVudS1idXR0b24gJyArICh0aGlzLmNsYXNzTmFtZXMgfHwgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBpY29uIHNldC4gVXNlZCBpbiBjYXNlIHRoZSBpY29uIGlzIGZyb20gYSBkaWZmZXJlbnQgaWNvbiBzZXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvblNldDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgb2YgdGhlIGxhYmVsLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVDbGljayhldmVudCkge1xuICAgICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJldmVudEV2ZW50KGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhc01lbnVJdGVtXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3RpdGxlXT1cImxhYmVsVGV4dFwiIGlneEJ1dHRvbj1cImljb25cIiBpZ3hSaXBwbGUgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAobW91c2Vkb3duKT1cInByZXZlbnRFdmVudCgkZXZlbnQpXCI+XG4gICAgICAgIDxpZ3gtaWNvbiAqbmdJZj1cImljb25TZXRcIiBbZmFtaWx5XT1cImljb25TZXRcIiBbbmFtZV09XCJpY29uTmFtZVwiPnt7aWNvbk5hbWV9fTwvaWd4LWljb24+XG4gICAgICAgIDxpZ3gtaWNvbiAqbmdJZj1cIiFpY29uU2V0XCIgPnt7aWNvbk5hbWV9fTwvaWd4LWljb24+XG4gICAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNtZW51SXRlbVRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhc01lbnVJdGVtXCI+XG4gICAgICAgIDxkaXYgI2NvbnRhaW5lciBbY2xhc3NOYW1lXT1cImNvbnRhaW5lckNsYXNzXCI+XG4gICAgICAgICAgICA8aWd4LWljb24gKm5nSWY9XCJpY29uU2V0XCIgW2ZhbWlseV09XCJpY29uU2V0XCIgW25hbWVdPVwiaWNvbk5hbWVcIj57e2ljb25OYW1lfX08L2lneC1pY29uPlxuICAgICAgICAgICAgPGlneC1pY29uICpuZ0lmPVwiIWljb25TZXRcIiA+e3tpY29uTmFtZX19PC9pZ3gtaWNvbj5cbiAgICAgICAgICAgIDxsYWJlbCBpZ3hMYWJlbD57e2xhYmVsVGV4dH19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -24,8 +24,8 @@ import * as i5 from "../directives/ripple/ripple.directive";
|
|
|
24
24
|
* <igx-banner #banner>
|
|
25
25
|
* Our privacy settings have changed.
|
|
26
26
|
* <igx-banner-actions>
|
|
27
|
-
* <button igxButton="raised">Read More</button>
|
|
28
|
-
* <button igxButton="raised">Accept and Continue</button>
|
|
27
|
+
* <button type="button" igxButton="raised">Read More</button>
|
|
28
|
+
* <button type="button" igxButton="raised">Accept and Continue</button>
|
|
29
29
|
* </igx-banner-actions>
|
|
30
30
|
* </igx-banner>
|
|
31
31
|
* ```
|
|
@@ -158,7 +158,7 @@ export class IgxBannerComponent {
|
|
|
158
158
|
* <igx-banner #banner>
|
|
159
159
|
* ...
|
|
160
160
|
* </igx-banner>
|
|
161
|
-
* <button (click)="banner.open()">Open Banner</button>
|
|
161
|
+
* <button type="button" (click)="banner.open()">Open Banner</button>
|
|
162
162
|
* ```
|
|
163
163
|
*/
|
|
164
164
|
open(event) {
|
|
@@ -186,7 +186,7 @@ export class IgxBannerComponent {
|
|
|
186
186
|
* <igx-banner #banner>
|
|
187
187
|
* ...
|
|
188
188
|
* </igx-banner>
|
|
189
|
-
* <button (click)="banner.close()">Close Banner</button>
|
|
189
|
+
* <button type="button" (click)="banner.close()">Close Banner</button>
|
|
190
190
|
* ```
|
|
191
191
|
*/
|
|
192
192
|
close(event) {
|
|
@@ -214,7 +214,7 @@ export class IgxBannerComponent {
|
|
|
214
214
|
* <igx-banner #banner>
|
|
215
215
|
* ...
|
|
216
216
|
* </igx-banner>
|
|
217
|
-
* <button (click)="banner.toggle()">Toggle Banner</button>
|
|
217
|
+
* <button type="button" (click)="banner.toggle()">Toggle Banner</button>
|
|
218
218
|
* ```
|
|
219
219
|
*/
|
|
220
220
|
toggle(event) {
|
|
@@ -235,10 +235,10 @@ export class IgxBannerComponent {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
IgxBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxBannerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
238
|
-
IgxBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxBannerComponent, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n
|
|
238
|
+
IgxBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxBannerComponent, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: i3.IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: i4.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: i5.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
239
239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxBannerComponent, decorators: [{
|
|
240
240
|
type: Component,
|
|
241
|
-
args: [{ selector: 'igx-banner', template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n
|
|
241
|
+
args: [{ selector: 'igx-banner', template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n" }]
|
|
242
242
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { bannerIcon: [{
|
|
243
243
|
type: ContentChild,
|
|
244
244
|
args: [IgxIconComponent]
|
|
@@ -283,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
283
283
|
imports: [CommonModule, IgxExpansionPanelModule, IgxIconModule, IgxButtonModule, IgxRippleModule]
|
|
284
284
|
}]
|
|
285
285
|
}] });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVloRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBK0QzQixjQUFjO0lBQ2QsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtC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aUJBNVBmLGtCQUFrQixFQXdQUSx5QkFBeUIsYUFFbEQsWUFBWSxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxhQTFQdkYsa0JBQWtCLEVBeVBHLHlCQUF5Qjs2R0FHOUMsZUFBZSxZQUZkLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWU7MkZBRXZGLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLENBQUM7b0JBQzdELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHlCQUF5QixDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7aUJBQ3BHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hFeHBhbnNpb25QYW5lbE1vZHVsZSB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwubW9kdWxlJztcbmltcG9ydCB7IElneEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4SWNvbk1vZHVsZSwgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBJVG9nZ2xlVmlldyB9IGZyb20gJy4uL2NvcmUvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBJZ3hCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IElneFJpcHBsZU1vZHVsZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4QmFubmVyQWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vYmFubmVyLmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC90b2dnbGUtYW5pbWF0aW9uLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmFubmVyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL2Jhbm5lci1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ3VycmVudFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiAxMi4xLjAuIFRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgYmFubmVyLCB1c2UgYG93bmVyYCBpbnN0ZWFkXG4gICAgICovXG4gICAgYmFubmVyOiBJZ3hCYW5uZXJDb21wb25lbnQ7XG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJDYW5jZWxFdmVudEFyZ3MgZXh0ZW5kcyBCYW5uZXJFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBCYW5uZXIqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYmFubmVyLmh0bWwpXG4gKlxuICogVGhlIElnbml0ZSBVSSBCYW5uZXIgcHJvdmlkZXMgYSBoaWdobHkgdGVtcGxhdGUtYWJsZSBhbmQgZWFzeSB0byB1c2UgYmFubmVyIHRoYXQgY2FuIGJlIHNob3duIGluIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAqICAgT3VyIHByaXZhY3kgc2V0dGluZ3MgaGF2ZSBjaGFuZ2VkLlxuICogIDxpZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwicmFpc2VkXCI+UmVhZCBNb3JlPC9idXR0b24+XG4gKiAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwicmFpc2VkXCI+QWNjZXB0IGFuZCBDb250aW51ZTwvYnV0dG9uPlxuICogIDwvaWd4LWJhbm5lci1hY3Rpb25zPlxuICogPC9pZ3gtYmFubmVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICdiYW5uZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIElneEJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIElUb2dnbGVWaWV3IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChJZ3hJY29uQ29tcG9uZW50KVxuICAgIHB1YmxpYyBiYW5uZXJJY29uOiBJZ3hJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogRmlyZXMgYWZ0ZXIgdGhlIGJhbm5lciBzaG93cyB1cFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlT3BlbmVkKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKG9wZW5lZCk9XCJoYW5kbGVPcGVuZWQoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBiZWZvcmUgdGhlIGJhbm5lciBzaG93cyB1cFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlT3BlbmluZyhldmVudCkge1xuICAgICAqICAuLi5cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyIChvcGVuaW5nKT1cImhhbmRsZU9wZW5pbmcoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmluZyA9IG5ldyBFdmVudEVtaXR0ZXI8QmFubmVyQ2FuY2VsRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogRmlyZXMgYWZ0ZXIgdGhlIGJhbm5lciBoaWRlc1xuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlQ2xvc2VkKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKGNsb3NlZCk9XCJoYW5kbGVDbG9zZWQoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBiZWZvcmUgdGhlIGJhbm5lciBoaWRlc1xuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlQ2xvc2luZyhldmVudCkge1xuICAgICAqICAuLi5cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyIChjbG9zaW5nKT1cImhhbmRsZUNsb3NpbmcoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xvc2luZyA9IG5ldyBFdmVudEVtaXR0ZXI8QmFubmVyQ2FuY2VsRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgZ2V0IHVzZURlZmF1bHRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9iYW5uZXJBY3Rpb25UZW1wbGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSBiYW5uZXIgb3Blbi9jbG9zZSBtZXRob2RzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBjdXJyZW50QW5pbWF0aW9uczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3MgPSBiYW5uZXIuYW5pbWF0aW9uU2V0dGluZ3NcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYW5pbWF0aW9uU2V0dGluZ3MoKTogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uU2V0dGluZ3MgPyB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA6IHRoaXMuX2V4cGFuc2lvblBhbmVsLmFuaW1hdGlvblNldHRpbmdzO1xuICAgIH1cblxuICAgICAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVzb3VyY2VTdHJpbmdzKHZhbHVlOiBJQmFubmVyUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElCYW5uZXJSZXNvdXJjZVN0cmluZ3Mge1xuICAgICAgICBpZiAoIXRoaXMuX3Jlc291cmNlU3RyaW5ncykge1xuICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gQ3VycmVudFJlc291cmNlU3RyaW5ncy5CYW5uZXJSZXNvdXJjZVN0cmluZ3M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU3RyaW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSBiYW5uZXIgb3Blbi9jbG9zZSBtZXRob2RzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGltcG9ydCB7IHNsaWRlSW5MZWZ0LCBzbGlkZU91dFJpZ2h0IH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICogLi4uXG4gICAgICogYmFubmVyLmFuaW1hdGlvblNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyA9IHsgb3BlbkFuaW1hdGlvbjogc2xpZGVJbkxlZnQsIGNsb3NlQW5pbWF0aW9uOiBzbGlkZU91dFJpZ2h0IH07XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBhbmltYXRpb25TZXR0aW5ncyhzZXR0aW5nczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB3aGV0aGVyIGJhbm5lciBpcyBjb2xsYXBzZWRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGJhbm5lci5jb2xsYXBzZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbnNpb25QYW5lbC5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbmF0aXZlIGVsZW1lbnQgb2YgdGhlIGJhbm5lciBjb21wb25lbnRcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGNvbnN0IG15QmFubmVyRWxlbWVudDogSFRNTEVsZW1lbnQgPSBiYW5uZXIuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWJhbm5lci1ob3N0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICAgIHB1YmxpYyBnZXQgZGlzcGxheVN0eWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZCA/ICcnIDogJ2Jsb2NrJztcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdleHBhbnNpb25QYW5lbCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfZXhwYW5zaW9uUGFuZWw6IElneEV4cGFuc2lvblBhbmVsQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChJZ3hCYW5uZXJBY3Rpb25zRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgX2Jhbm5lckFjdGlvblRlbXBsYXRlOiBJZ3hCYW5uZXJBY3Rpb25zRGlyZWN0aXZlO1xuXG4gICAgcHJpdmF0ZSBfYmFubmVyRXZlbnQ6IEJhbm5lckV2ZW50QXJncztcbiAgICBwcml2YXRlIF9hbmltYXRpb25TZXR0aW5nczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3M7XG4gICAgcHJpdmF0ZSBfcmVzb3VyY2VTdHJpbmdzO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7IH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBiYW5uZXJcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgbXlCYW5uZXIub3BlbigpO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyICNiYW5uZXI+XG4gICAgICogLi4uXG4gICAgICogPC9pZ3gtYmFubmVyPlxuICAgICAqIDxidXR0b24gKGNsaWNrKT1cImJhbm5lci5vcGVuKClcIj5PcGVuIEJhbm5lcjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3Qgb3BlbmluZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KG9wZW5pbmdBcmdzKTtcbiAgICAgICAgaWYgKG9wZW5pbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLm9wZW4oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgYmFubmVyXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIG15QmFubmVyLmNsb3NlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiAoY2xpY2spPVwiYmFubmVyLmNsb3NlKClcIj5DbG9zZSBCYW5uZXI8L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICB0aGlzLl9iYW5uZXJFdmVudCA9IHsgYmFubmVyOiB0aGlzLCBvd25lcjogdGhpcywgZXZlbnR9O1xuICAgICAgICBjb25zdCBjbG9zaW5nQXJnczogQmFubmVyQ2FuY2VsRXZlbnRBcmdzID0ge1xuICAgICAgICAgICAgYmFubmVyOiB0aGlzLFxuICAgICAgICAgICAgb3duZXI6IHRoaXMsXG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIGNhbmNlbDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoY2xvc2luZ0FyZ3MpO1xuICAgICAgICBpZiAoY2xvc2luZ0FyZ3MuY2FuY2VsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZXhwYW5zaW9uUGFuZWwuY2xvc2UoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgdGhlIGJhbm5lclxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBteUJhbm5lci50b2dnbGUoKTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAjYmFubmVyPlxuICAgICAqIC4uLlxuICAgICAqIDwvaWd4LWJhbm5lcj5cbiAgICAgKiA8YnV0dG9uIChjbGljayk9XCJiYW5uZXIudG9nZ2xlKClcIj5Ub2dnbGUgQmFubmVyPC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgb25FeHBhbnNpb25QYW5lbE9wZW4oKSB7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5fYmFubmVyRXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG9uRXhwYW5zaW9uUGFuZWxDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCh0aGlzLl9iYW5uZXJFdmVudCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hCYW5uZXJDb21wb25lbnQsIElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtJZ3hCYW5uZXJDb21wb25lbnQsIElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmVdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElneEV4cGFuc2lvblBhbmVsTW9kdWxlLCBJZ3hJY29uTW9kdWxlLCBJZ3hCdXR0b25Nb2R1bGUsIElneFJpcHBsZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4QmFubmVyTW9kdWxlIHsgfVxuIiwiPGlneC1leHBhbnNpb24tcGFuZWwgI2V4cGFuc2lvblBhbmVsIFthbmltYXRpb25TZXR0aW5nc109XCJhbmltYXRpb25TZXR0aW5nc1wiIChjb250ZW50Q29sbGFwc2VkKT1cIm9uRXhwYW5zaW9uUGFuZWxDbG9zZSgpXCIgKGNvbnRlbnRFeHBhbmRlZCk9XCJvbkV4cGFuc2lvblBhbmVsT3BlbigpXCJcbiAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cImNvbGxhcHNlZFwiPlxuICAgIDxpZ3gtZXhwYW5zaW9uLXBhbmVsLWJvZHk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpZ3gtYmFubmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWd4LWJhbm5lcl9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYW5uZXJJY29uXCIgY2xhc3M9XCJpZ3gtYmFubmVyX19pbGx1c3RyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWd4LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpZ3gtYmFubmVyX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZ3gtYmFubmVyX19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VEZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwiZmxhdFwiIGlneFJpcHBsZSAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJlc291cmNlU3RyaW5ncy5pZ3hfYmFubmVyX2J1dHRvbl9kaXNtaXNzIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdXNlRGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpZ3gtYmFubmVyLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaWd4LWV4cGFuc2lvbi1wYW5lbC1ib2R5PlxuPC9pZ3gtZXhwYW5zaW9uLXBhbmVsPlxuIl19
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVloRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBK0QzQixjQUFjO0lBQ2QsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtC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aUJBNVBmLGtCQUFrQixFQXdQUSx5QkFBeUIsYUFFbEQsWUFBWSxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxhQTFQdkYsa0JBQWtCLEVBeVBHLHlCQUF5Qjs2R0FHOUMsZUFBZSxZQUZkLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWU7MkZBRXZGLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLENBQUM7b0JBQzdELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHlCQUF5QixDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7aUJBQ3BHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hFeHBhbnNpb25QYW5lbE1vZHVsZSB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwubW9kdWxlJztcbmltcG9ydCB7IElneEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4SWNvbk1vZHVsZSwgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBJVG9nZ2xlVmlldyB9IGZyb20gJy4uL2NvcmUvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBJZ3hCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IElneFJpcHBsZU1vZHVsZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4QmFubmVyQWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vYmFubmVyLmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC90b2dnbGUtYW5pbWF0aW9uLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmFubmVyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL2Jhbm5lci1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ3VycmVudFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiAxMi4xLjAuIFRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgYmFubmVyLCB1c2UgYG93bmVyYCBpbnN0ZWFkXG4gICAgICovXG4gICAgYmFubmVyOiBJZ3hCYW5uZXJDb21wb25lbnQ7XG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJDYW5jZWxFdmVudEFyZ3MgZXh0ZW5kcyBCYW5uZXJFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBCYW5uZXIqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYmFubmVyLmh0bWwpXG4gKlxuICogVGhlIElnbml0ZSBVSSBCYW5uZXIgcHJvdmlkZXMgYSBoaWdobHkgdGVtcGxhdGUtYWJsZSBhbmQgZWFzeSB0byB1c2UgYmFubmVyIHRoYXQgY2FuIGJlIHNob3duIGluIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAqICAgT3VyIHByaXZhY3kgc2V0dGluZ3MgaGF2ZSBjaGFuZ2VkLlxuICogIDxpZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbj1cInJhaXNlZFwiPlJlYWQgTW9yZTwvYnV0dG9uPlxuICogICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b249XCJyYWlzZWRcIj5BY2NlcHQgYW5kIENvbnRpbnVlPC9idXR0b24+XG4gKiAgPC9pZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiA8L2lneC1iYW5uZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtYmFubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Jhbm5lci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4QmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgSVRvZ2dsZVZpZXcge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKElneEljb25Db21wb25lbnQpXG4gICAgcHVibGljIGJhbm5lckljb246IElneEljb25Db21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBhZnRlciB0aGUgYmFubmVyIHNob3dzIHVwXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVPcGVuZWQoZXZlbnQpIHtcbiAgICAgKiAgLi4uXG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAob3BlbmVkKT1cImhhbmRsZU9wZW5lZCgkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhbm5lckV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVzIGJlZm9yZSB0aGUgYmFubmVyIHNob3dzIHVwXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVPcGVuaW5nKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKG9wZW5pbmcpPVwiaGFuZGxlT3BlbmluZygkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJDYW5jZWxFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBhZnRlciB0aGUgYmFubmVyIGhpZGVzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVDbG9zZWQoZXZlbnQpIHtcbiAgICAgKiAgLi4uXG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAoY2xvc2VkKT1cImhhbmRsZUNsb3NlZCgkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhbm5lckV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVzIGJlZm9yZSB0aGUgYmFubmVyIGhpZGVzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVDbG9zaW5nKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKGNsb3NpbmcpPVwiaGFuZGxlQ2xvc2luZygkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJDYW5jZWxFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBnZXQgdXNlRGVmYXVsdFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX2Jhbm5lckFjdGlvblRlbXBsYXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIGJhbm5lciBvcGVuL2Nsb3NlIG1ldGhvZHNcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGN1cnJlbnRBbmltYXRpb25zOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyA9IGJhbm5lci5hbmltYXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhbmltYXRpb25TZXR0aW5ncygpOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA/IHRoaXMuX2FuaW1hdGlvblNldHRpbmdzIDogdGhpcy5fZXhwYW5zaW9uUGFuZWwuYW5pbWF0aW9uU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAqIEdldHMvU2V0cyB0aGUgcmVzb3VyY2Ugc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogQnkgZGVmYXVsdCBpdCB1c2VzIEVOIHJlc291cmNlcy5cbiAgICAgKi9cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElCYW5uZXJSZXNvdXJjZVN0cmluZ3MpIHtcbiAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fcmVzb3VyY2VTdHJpbmdzLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvdXJjZVN0cmluZ3MoKTogSUJhbm5lclJlc291cmNlU3RyaW5ncyB7XG4gICAgICAgIGlmICghdGhpcy5fcmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBDdXJyZW50UmVzb3VyY2VTdHJpbmdzLkJhbm5lclJlc291cmNlU3RyaW5ncztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTdHJpbmdzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIGJhbm5lciBvcGVuL2Nsb3NlIG1ldGhvZHNcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogaW1wb3J0IHsgc2xpZGVJbkxlZnQsIHNsaWRlT3V0UmlnaHQgfSBmcm9tICdpZ25pdGV1aS1hbmd1bGFyJztcbiAgICAgKiAuLi5cbiAgICAgKiBiYW5uZXIuYW5pbWF0aW9uU2V0dGluZ3M6IFRvZ2dsZUFuaW1hdGlvblNldHRpbmdzID0geyBvcGVuQW5pbWF0aW9uOiBzbGlkZUluTGVmdCwgY2xvc2VBbmltYXRpb246IHNsaWRlT3V0UmlnaHQgfTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGFuaW1hdGlvblNldHRpbmdzKHNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncykge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA9IHNldHRpbmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHdoZXRoZXIgYmFubmVyIGlzIGNvbGxhcHNlZFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGlzQ29sbGFwc2VkOiBib29sZWFuID0gYmFubmVyLmNvbGxhcHNlZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGNvbGxhcHNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuc2lvblBhbmVsLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBuYXRpdmUgZWxlbWVudCBvZiB0aGUgYmFubmVyIGNvbXBvbmVudFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgY29uc3QgbXlCYW5uZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IGJhbm5lci5lbGVtZW50O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtYmFubmVyLWhvc3QnO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gICAgcHVibGljIGdldCBkaXNwbGF5U3R5bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gJycgOiAnYmxvY2snO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2V4cGFuc2lvblBhbmVsJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIF9leHBhbnNpb25QYW5lbDogSWd4RXhwYW5zaW9uUGFuZWxDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmUpXG4gICAgcHJpdmF0ZSBfYmFubmVyQWN0aW9uVGVtcGxhdGU6IElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmU7XG5cbiAgICBwcml2YXRlIF9iYW5uZXJFdmVudDogQmFubmVyRXZlbnRBcmdzO1xuICAgIHByaXZhdGUgX2FuaW1hdGlvblNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncztcbiAgICBwcml2YXRlIF9yZXNvdXJjZVN0cmluZ3M7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIGJhbm5lclxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBteUJhbm5lci5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci5vcGVuKClcIj5PcGVuIEJhbm5lcjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3Qgb3BlbmluZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KG9wZW5pbmdBcmdzKTtcbiAgICAgICAgaWYgKG9wZW5pbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLm9wZW4oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgYmFubmVyXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIG15QmFubmVyLmNsb3NlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci5jbG9zZSgpXCI+Q2xvc2UgQmFubmVyPC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3QgY2xvc2luZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2xvc2luZy5lbWl0KGNsb3NpbmdBcmdzKTtcbiAgICAgICAgaWYgKGNsb3NpbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHRoZSBiYW5uZXJcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgbXlCYW5uZXIudG9nZ2xlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci50b2dnbGUoKVwiPlRvZ2dsZSBCYW5uZXI8L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgdG9nZ2xlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBvbkV4cGFuc2lvblBhbmVsT3BlbigpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLl9iYW5uZXJFdmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgb25FeHBhbnNpb25QYW5lbENsb3NlKCkge1xuICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KHRoaXMuX2Jhbm5lckV2ZW50KTtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0lneEJhbm5lckNvbXBvbmVudCwgSWd4QmFubmVyQWN0aW9uc0RpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW0lneEJhbm5lckNvbXBvbmVudCwgSWd4QmFubmVyQWN0aW9uc0RpcmVjdGl2ZV0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWd4RXhwYW5zaW9uUGFuZWxNb2R1bGUsIElneEljb25Nb2R1bGUsIElneEJ1dHRvbk1vZHVsZSwgSWd4UmlwcGxlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hCYW5uZXJNb2R1bGUgeyB9XG4iLCI8aWd4LWV4cGFuc2lvbi1wYW5lbCAjZXhwYW5zaW9uUGFuZWwgW2FuaW1hdGlvblNldHRpbmdzXT1cImFuaW1hdGlvblNldHRpbmdzXCIgKGNvbnRlbnRDb2xsYXBzZWQpPVwib25FeHBhbnNpb25QYW5lbENsb3NlKClcIiAoY29udGVudEV4cGFuZGVkKT1cIm9uRXhwYW5zaW9uUGFuZWxPcGVuKClcIlxuICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgYXJpYS1saXZlPVwicG9saXRlXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwiY29sbGFwc2VkXCI+XG4gICAgPGlneC1leHBhbnNpb24tcGFuZWwtYm9keT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlneC1iYW5uZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZ3gtYmFubmVyX19tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJhbm5lckljb25cIiBjbGFzcz1cImlneC1iYW5uZXJfX2lsbHVzdHJhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpZ3gtaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1iYW5uZXJfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlneC1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlRGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbj1cImZsYXRcIiBpZ3hSaXBwbGUgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJlc291cmNlU3RyaW5ncy5pZ3hfYmFubmVyX2J1dHRvbl9kaXNtaXNzIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdXNlRGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlneC1iYW5uZXItYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2lneC1leHBhbnNpb24tcGFuZWwtYm9keT5cbjwvaWd4LWV4cGFuc2lvbi1wYW5lbD5cbiJdfQ==
|
|
@@ -232,8 +232,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
232
232
|
* <h5 igxCardHeaderSubtitle>{{subtitle}}</h5>
|
|
233
233
|
* </igx-card-header>
|
|
234
234
|
* <igx-card-actions>
|
|
235
|
-
* <button igxButton igxRipple>Share</button>
|
|
236
|
-
* <button igxButton igxRipple>Play Album</button>
|
|
235
|
+
* <button type="button" igxButton igxRipple>Share</button>
|
|
236
|
+
* <button type="button" igxButton igxRipple>Play Album</button>
|
|
237
237
|
* </igx-card-actions>
|
|
238
238
|
* </igx-card>
|
|
239
239
|
* ```
|
|
@@ -460,4 +460,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
460
460
|
imports: [CommonModule, IgxButtonModule]
|
|
461
461
|
}]
|
|
462
462
|
}] });
|
|
463
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFJWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLSSx3QkFBd0I7UUFFakIsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBRXBDOzs7Ozs7OztXQVFHO1FBSUksVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV0Qjs7Ozs7Ozs7V0FRRztRQUdJLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFdkI7O1dBRUc7UUFHSSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOztrSEF0Q1kscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOzhCQUlVLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBZTdCLEtBQUs7c0JBSFgsV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLO2dCQWNDLE1BQU07c0JBRlosV0FBVzt1QkFBQyxjQUFjOztzQkFDMUIsS0FBSztnQkFRQyxJQUFJO3NCQUZWLFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUs7O0FBSVY7O0dBRUc7QUFLSCxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBS0ksd0JBQXdCO1FBRWpCLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztRQUVwQzs7Ozs7Ozs7V0FRRztRQUdJLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FDM0I7O21IQWpCWSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpTkN6RW5DLHVaQWNBOzJGRDJEYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0ksaUJBQWlCOzhCQU1wQixRQUFRO3NCQURkLFdBQVc7dUJBQUMsdUJBQXVCO2dCQWM3QixRQUFRO3NCQUZkLFdBQVc7dUJBQUMsaUNBQWlDOztzQkFDN0MsS0FBSzs7QUFJVjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQzs7QUFHRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sMkJBQTJCO0lBSHhDO1FBSUksd0JBQXdCO1FBRWpCLGFBQVEsR0FBRyx5QkFBeUIsQ0FBQztLQUMvQzs7d0hBSlksMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQzs4QkFJVSxRQUFRO3NCQURkLFdBQVc7dUJBQUMsOEJBQThCOztBQUkvQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sOEJBQThCO0lBSDNDO1FBSUksd0JBQXdCO1FBRWpCLGFBQVEsR0FBRywyQkFBMkIsQ0FBQztLQUNqRDs7MkhBSlksOEJBQThCOytHQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFIMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO2lCQUN0Qzs4QkFJVSxRQUFRO3NCQURkLFdBQVc7dUJBQUMsaUNBQWlDOztBQUdsRDs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7SUFKcEM7UUFLSSx3QkFBd0I7UUFFakIsYUFBUSxHQUFHLGtCQUFrQixDQUFDO0tBQ3hDOztvSEFKWSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7OEJBSVUsUUFBUTtzQkFEZCxXQUFXO3VCQUFDLHdCQUF3Qjs7QUFJekM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBS0k7Ozs7Ozs7O1dBUUc7UUFHSSxTQUFJLEdBQUcsUUFBUSxDQUFDO0tBQzFCOzttSEFiWSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7OEJBYVUsSUFBSTtzQkFGVixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLOztBQUlWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztJQUM5QixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtDQUN2QixDQUFDLENBQUM7QUFPSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBS0k7Ozs7Ozs7Ozs7O1dBV0c7UUFHSSxPQUFFLEdBQUcsWUFBWSxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBRXBDOzs7Ozs7OztXQVFHO1FBR0ksU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUV0Qjs7Ozs7Ozs7O1dBU0c7UUFHSSxTQUFJLEdBQXlCLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFVekQ7Ozs7Ozs7OztXQVNHO1FBR0ksZUFBVSxHQUFHLEtBQUssQ0FBQztLQUM3QjtJQXJCRzs7T0FFRztJQUNILElBQ1csY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDOzs2R0FsRFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0IseVVFek03Qiw2QkFDQTsyRkZ3TWEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNJLFVBQVU7OEJBa0JiLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFjQyxJQUFJO3NCQUZWLFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUs7Z0JBZUMsSUFBSTtzQkFGVixXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQzVCLEtBQUs7Z0JBT0ssY0FBYztzQkFEeEIsV0FBVzt1QkFBQywwQkFBMEI7Z0JBaUJoQyxVQUFVO3NCQUZoQixXQUFXO3VCQUFDLDRCQUE0Qjs7c0JBQ3hDLEtBQUs7O0FBSVYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQyxDQUFDO0FBR0g7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBd0JoQzs7O09BR0c7SUFDSCxJQUNXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBa0JELFlBQXlELElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBaEQvRTs7Ozs7Ozs7OztXQVVHO1FBR0ksV0FBTSxHQUFrQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7UUFFMUU7OztXQUdHO1FBR0ksYUFBUSxHQUFHLEtBQUssQ0FBQztRQVd4Qjs7Ozs7Ozs7O1dBU0c7UUFHSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWYsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFFcUQsQ0FBQztJQUVwRjs7O09BR0c7SUFDSSxXQUFXLENBQUMsT0FBc0I7UUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUM3QjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUFBLENBQUM7SUFDTixDQUFDOztvSEF2RVEsdUJBQXVCLGtCQWlEQSxnQkFBZ0I7d0dBakR2Qyx1QkFBdUIsMlhHMVJwQyxtV0FTQTsyRkhpUmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUVJLGtCQUFrQjs7MEJBb0RmLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzRDQW5DekMsTUFBTTtzQkFGWixXQUFXO3VCQUFDLHdCQUF3Qjs7c0JBQ3BDLEtBQUs7Z0JBU0MsUUFBUTtzQkFGZCxXQUFXO3VCQUFDLGtDQUFrQzs7c0JBQzlDLEtBQUs7Z0JBUUssZUFBZTtzQkFEekIsV0FBVzt1QkFBQyxpQ0FBaUM7Z0JBaUJ2QyxPQUFPO3NCQUZiLFdBQVc7dUJBQUMsaUNBQWlDOztzQkFDN0MsS0FBSzs7QUE4QlY7O0dBRUc7QUEwQkgsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkF2TGIsZ0JBQWdCLEVBaEloQixzQkFBc0IsRUEvQ3RCLHFCQUFxQixFQTJHckIsdUJBQXVCLEVBcUp2Qix1QkFBdUIsRUF4SXZCLHNCQUFzQixFQXRDdEIsMkJBQTJCLEVBYTNCLDhCQUE4QixFQXRCOUIseUJBQXlCLGFBMlJ4QixZQUFZLEVBQUUsZUFBZSxhQXJMOUIsZ0JBQWdCLEVBaEloQixzQkFBc0IsRUEvQ3RCLHFCQUFxQixFQTJHckIsdUJBQXVCLEVBcUp2Qix1QkFBdUIsRUF4SXZCLHNCQUFzQixFQXRDdEIsMkJBQTJCLEVBYTNCLDhCQUE4QixFQXRCOUIseUJBQXlCOzJHQTZSekIsYUFBYSxZQUZaLFlBQVksRUFBRSxlQUFlOzJGQUU5QixhQUFhO2tCQXpCekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIElneENhcmRNZWRpYSBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIG1lZGlhIHNlY3Rpb24uXG4gKiBVc2UgaXQgdG8gd3JhcCBpbWFnZXMgYW5kIHZpZGVvcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLW1lZGlhJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkTWVkaWFEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmRfX21lZGlhJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmRfX21lZGlhJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGB3aWR0aGAgYW5kIGBtaW4td2lkdGhgIHN0eWxlIHByb3BlcnR5XG4gICAgICogb2YgdGhlIG1lZGlhIGNvbnRhaW5lci4gSWYgbm90IHByb3ZpZGVkIGl0IHdpbGwgYmUgc2V0IHRvIGBhdXRvYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1tZWRpYSB3aWR0aD1cIjMwMHB4XCI+PC9pZ3gtY2FyZC1tZWRpYT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgd2lkdGggPSAnYXV0byc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSBgaGVpZ2h0YCBzdHlsZSBwcm9wZXJ0eSBvZiB0aGUgbWVkaWEgY29udGFpbmVyLlxuICAgICAqIElmIG5vdCBwcm92aWRlZCBpdCB3aWxsIGJlIHNldCB0byBgYXV0b2AuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtbWVkaWEgaGVpZ2h0PVwiNTAlXCI+PC9pZ3gtY2FyZC1tZWRpYT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVpZ2h0ID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgbWVkaWEgY29udGFpbmVyLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2ltZyc7XG59XG5cbi8qKlxuICogSWd4Q2FyZEhlYWRlciBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIGhlYWRlclxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJkLWhlYWRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXInKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1oZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgbGF5b3V0IHN0eWxlIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgaGVhZGVyIGVsZW1lbnRzKHRodW1ibmFpbCBhbmQgdGl0bGUvc3VidGl0bGUpIGFyZSBhbGlnbmVkIGhvcml6b250YWxseS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1oZWFkZXIgW3ZlcnRpY2FsXT1cInRydWVcIj48L2lneC1jYXJkLWhlYWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlci0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG59XG5cbi8qKlxuICogSWd4Q2FyZFRodW1ibmFpbCBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIHRodW1ibmFpbCBzZWN0aW9uLlxuICogVXNlIGl0IHRvIHdyYXAgYW55dGhpbmcgeW91IHdhbnQgdG8gYmUgdXNlZCBhcyBhIHRodW1ibmFpbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Q2FyZFRodW1ibmFpbF0nXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRUaHVtYm5haWxEaXJlY3RpdmUgeyB9XG5cbi8qKlxuICogaWd4Q2FyZEhlYWRlclRpdGxlIGlzIHVzZWQgdG8gZGVub3RlIHRoZSBoZWFkZXIgdGl0bGUgaW4gYSBjYXJkLlxuICogVXNlIGl0IHRvIHRhZyB0ZXh0IG5vZGVzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hDYXJkSGVhZGVyVGl0bGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkSGVhZGVyVGl0bGVEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtaGVhZGVyX190aXRsZScpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkX19oZWFkZXJfX3RpdGxlJztcbn1cblxuLyoqXG4gKiBpZ3hDYXJkSGVhZGVyU3VidGl0bGUgaXMgdXNlZCB0byBkZW5vdGUgdGhlIGhlYWRlciBzdWJ0aXRsZSBpbiBhIGNhcmQuXG4gKiBVc2UgaXQgdG8gdGFnIHRleHQgbm9kZXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneENhcmRIZWFkZXJTdWJ0aXRsZV0nXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmQtaGVhZGVyX19zdWJ0aXRsZSc7XG59XG4vKipcbiAqIElneENhcmRDb250ZW50IGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgY29udGVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWNvbnRlbnQnXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRDb250ZW50RGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWNvbnRlbnQnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1jb250ZW50Jztcbn1cblxuLyoqXG4gKiBJZ3hDYXJkRm9vdGVyIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgZm9vdGVyXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdpZ3gtY2FyZC1mb290ZXInXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRGb290ZXJEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgcm9sZWAgYXR0cmlidXRlIG9mIHRoZSBjYXJkIGZvb3Rlci5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGZvb3RlcmAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtZm9vdGVyIHJvbGU9XCJmb290ZXJcIj48L2lneC1jYXJkLWZvb3Rlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdmb290ZXInO1xufVxuXG4vKipcbiAqIENhcmQgcHJvdmlkZXMgYSB3YXkgdG8gZGlzcGxheSBvcmdhbml6ZWQgY29udGVudCBpbiBhcHBlYWxpbmcgd2F5LlxuICpcbiAqIEBpZ3hNb2R1bGUgSWd4Q2FyZE1vZHVsZVxuICpcbiAqIEBpZ3hUaGVtZSBpZ3gtY2FyZC10aGVtZSwgaWd4LWljb24tdGhlbWUsIGlneC1idXR0b24tdGhlbWVcbiAqXG4gKiBAaWd4S2V5d29yZHMgY2FyZCwgYnV0dG9uLCBhdmF0YXIsIGljb25cbiAqXG4gKiBAaWd4R3JvdXAgTGF5b3V0c1xuICpcbiAqIEByZW1hcmtzXG4gKiBUaGUgSWduaXRlIFVJIENhcmQgc2VydmVzIGFzIGEgY29udGFpbmVyIHRoYXQgYWxsb3dzIGN1c3RvbSBjb250ZW50IHRvIGJlIG9yZ2FuaXplZCBpbiBhbiBhcHBlYWxpbmcgd2F5LiBUaGVyZSBhcmVcbiAqIGZpdmUgc2VjdGlvbnMgaW4gYSBjYXJkIHRoYXQgeW91IGNhbiB1c2UgdG8gb3JnYW5pemUgeW91ciBjb250ZW50LiBUaGVzZSBhcmUgaGVhZGVyLCBtZWRpYSwgY29udGVudCwgYWN0aW9ucywgYW5kIGZvb3Rlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGlneC1jYXJkPlxuICogICA8aWd4LWNhcmQtaGVhZGVyPlxuICogICAgIDxoMyBpZ3hDYXJkSGVhZGVyVGl0bGU+e3t0aXRsZX19PC9oMz5cbiAqICAgICA8aDUgaWd4Q2FyZEhlYWRlclN1YnRpdGxlPnt7c3VidGl0bGV9fTwvaDU+XG4gKiAgIDwvaWd4LWNhcmQtaGVhZGVyPlxuICogICA8aWd4LWNhcmQtYWN0aW9ucz5cbiAqICAgICAgIDxidXR0b24gaWd4QnV0dG9uIGlneFJpcHBsZT5TaGFyZTwvYnV0dG9uPlxuICogICAgICAgPGJ1dHRvbiBpZ3hCdXR0b24gaWd4UmlwcGxlPlBsYXkgQWxidW08L2J1dHRvbj5cbiAqICAgPC9pZ3gtY2FyZC1hY3Rpb25zPlxuICogPC9pZ3gtY2FyZD5cbiAqIGBgYFxuICovXG5cbmV4cG9ydCBjb25zdCBJZ3hDYXJkVHlwZSA9IG1rZW51bSh7XG4gICAgRUxFVkFURUQ6ICdlbGV2YXRlZCcsXG4gICAgT1VUTElORUQ6ICdvdXRsaW5lZCdcbn0pO1xuZXhwb3J0IHR5cGUgSWd4Q2FyZFR5cGUgPSAodHlwZW9mIElneENhcmRUeXBlKVtrZXlvZiB0eXBlb2YgSWd4Q2FyZFR5cGVdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NhcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgY2FyZC5cbiAgICAgKiBJZiBub3Qgc2V0LCBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtY2FyZC0wXCJgO1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIGlkID0gXCJteS1maXJzdC1jYXJkXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGNhcmRJZCA9ICB0aGlzLmNhcmQuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtY2FyZC0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmFsdWUgb2YgdGhlIGByb2xlYCBhdHRyaWJ1dGUgb2YgdGhlIGNhcmQuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgc2V0IHRvIGBncm91cGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgcm9sZT1cImdyb3VwXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdncm91cCc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHR5cGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGVsZXZhdGVkYC4gWW91IGNhbiBtYWtlIHRoZSBjYXJkIHVzZSB0aGVcbiAgICAgKiBvdXRsaW5lZCBzdHlsZSBieSBzZXR0aW5nIHRoZSB2YWx1ZSB0byBgb3V0bGluZWRgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIHR5cGU9XCJvdXRsaW5lZFwiPjwvaWd4LWNhcmQ+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHlwZTogSWd4Q2FyZFR5cGUgfCBzdHJpbmcgPSBJZ3hDYXJkVHlwZS5FTEVWQVRFRDtcblxuICAgIC8qKlxuICAgICAqIEEgZ2V0dGVyIHdoaWNoIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlIGNhcmQgdHlwZSBpcyBgb3V0bGluZWRgLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtLW91dGxpbmVkJylcbiAgICBwdWJsaWMgZ2V0IGlzT3V0bGluZWRDYXJkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBJZ3hDYXJkVHlwZS5PVVRMSU5FRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYGhvcml6b250YWxgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBTZXR0aW5nIHRoaXMgdG8gYHRydWVgIHdpbGwgbWFrZSB0aGUgZGlmZmVyZW50IGNhcmQgc2VjdGlvbnMgYWxpZ24gaG9yaXpvbnRhbGx5LFxuICAgICAqIGVzc2VudGlhbGx5IGZsaXBwaW5nIHRoZSBjYXJkIHRvIHRoZSBzaWRlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIFtob3Jpem9udGFsXT1cInRydWVcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtLWhvcml6b250YWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvcml6b250YWwgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IElneENhcmRBY3Rpb25zTGF5b3V0ID0gbWtlbnVtKHtcbiAgICBTVEFSVDogJ3N0YXJ0JyxcbiAgICBKVVNUSUZZOiAnanVzdGlmeSdcbn0pO1xuZXhwb3J0IHR5cGUgSWd4Q2FyZEFjdGlvbnNMYXlvdXQgPSAodHlwZW9mIElneENhcmRBY3Rpb25zTGF5b3V0KVtrZXlvZiB0eXBlb2YgSWd4Q2FyZEFjdGlvbnNMYXlvdXRdO1xuXG4vKipcbiAqIElneENhcmRBY3Rpb25zIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgYWN0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkQWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSBsYXlvdXQgc3R5bGUgb2YgdGhlIGFjdGlvbnMuXG4gICAgICogWW91IGNhbiBqdXN0aWZ5IHRoZSBlbGVtZW50cyBzbG90dGVkIGluIHRoZSBpZ3gtY2FyZC1hY3Rpb24gY29udGFpbmVyXG4gICAgICogc28gdGhhdCB0aGV5IGFyZSBwb3NpdGlvbmVkIGVxdWFsbHkgZnJvbSBvbmUgYW5vdGhlciB0YWtpbmcgdXAgYWxsIHRoZVxuICAgICAqIHNwYWNlIGF2YWlsYWJsZSBhbG9uZyB0aGUgY2FyZCBhY3Rpb25zIGF4aXMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtYWN0aW9ucyBsYXlvdXQ9XCJqdXN0aWZ5XCI+PC9pZ3gtY2FyZC1hY3Rpb25zPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtYWN0aW9ucycpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGF5b3V0OiBJZ3hDYXJkQWN0aW9uc0xheW91dCB8IHN0cmluZyA9IElneENhcmRBY3Rpb25zTGF5b3V0LlNUQVJUO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmVydGljYWwgYXR0cmlidXRlIG9mIHRoZSBhY3Rpb25zLlxuICAgICAqIFdoZW4gc2V0IHRvIGB0cnVlYCB0aGUgYWN0aW9ucyB3aWxsIGJlIGxheWVkIG91dCB2ZXJ0aWNhbGx5LlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtYWN0aW9ucy0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBIGdldHRlciB0aGF0IHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGxheW91dCBoYXMgYmVlblxuICAgICAqIHNldCB0byBganVzdGlmeWAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zLS1qdXN0aWZ5JylcbiAgICBwdWJsaWMgZ2V0IGlzSnVzdGlmeUxheW91dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSBJZ3hDYXJkQWN0aW9uc0xheW91dC5KVVNUSUZZO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTUuMS4wLlxuICAgICAqIFxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHJldmVyc2VzIHRoZSBvcmRlciBvZiB0aGUgYnV0dG9ucyBpbiB0aGUgYWN0aW9ucyBhcmVhLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLWFjdGlvbnMgW3JldmVyc2VdPVwidHJ1ZVwiPjwvaWd4LWNhcmQtYWN0aW9ucz5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMtLXJldmVyc2UnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJldmVyc2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaXNWZXJ0aWNhbFNldCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChJZ3hDYXJkQ29tcG9uZW50KSBwdWJsaWMgY2FyZDogSWd4Q2FyZENvbXBvbmVudCkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1ZlcnRpY2FsU2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZlcnRpY2FsU2V0ICYmIHRoaXMuY2FyZC5ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBJZ3hDYXJkQ29tcG9uZW50LFxuICAgICAgICBJZ3hDYXJkSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBJZ3hDYXJkTWVkaWFEaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgSWd4Q2FyZEZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZEhlYWRlclRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRUaHVtYm5haWxEaXJlY3RpdmUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIElneENhcmRDb21wb25lbnQsXG4gICAgICAgIElneENhcmRIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIElneENhcmRNZWRpYURpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZENvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBJZ3hDYXJkRm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkSGVhZGVyVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZFRodW1ibmFpbERpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElneEJ1dHRvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZE1vZHVsZSB7IH1cbiIsIjxkaXYgY2xhc3M9XCJpZ3gtY2FyZC1oZWFkZXJfX3RodW1ibmFpbFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlneC1hdmF0YXIsIGlneC1jYXJkLW1lZGlhLCBbaWd4Q2FyZFRodW1ibmFpbF1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImlneC1jYXJkLWhlYWRlcl9fdGl0bGVzXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiXG4gICAgICAgIFtpZ3hDYXJkSGVhZGVyVGl0bGVdLFxuICAgICAgICBbaWd4Q2FyZEhlYWRlclN1YnRpdGxlXSxcbiAgICAgICAgLmlneC1jYXJkLWhlYWRlcl9fdGl0bGUsXG4gICAgICAgIC5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlXCI+XG4gICAgPC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiIsIjxkaXYgI2J1dHRvbnMgY2xhc3M9XCJpZ3gtY2FyZC1hY3Rpb25zX19zdGFydFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpZ3hTdGFydF0sIFtpZ3hCdXR0b25dOm5vdChbaWd4QnV0dG9uPSdpY29uJ10pOm5vdChbaWd4RW5kXSlcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG48ZGl2IGNsYXNzPVwiaWd4LWNhcmQtYWN0aW9uc19fZW5kXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEVuZF0sIFtpZ3hCdXR0b249J2ljb24nXTpub3QoW2lneFN0YXJ0XSksIGlneC1pY29uOm5vdChbaWd4U3RhcnRdKVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
463
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFJWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLSSx3QkFBd0I7UUFFakIsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBRXBDOzs7Ozs7OztXQVFHO1FBSUksVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV0Qjs7Ozs7Ozs7V0FRRztRQUdJLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFdkI7O1dBRUc7UUFHSSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOztrSEF0Q1kscUJBQXFCO3NHQUFyQixx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LDhCQUE4QixFQXRCOUIseUJBQXlCLGFBMlJ4QixZQUFZLEVBQUUsZUFBZSxhQXJMOUIsZ0JBQWdCLEVBaEloQixzQkFBc0IsRUEvQ3RCLHFCQUFxQixFQTJHckIsdUJBQXVCLEVBcUp2Qix1QkFBdUIsRUF4SXZCLHNCQUFzQixFQXRDdEIsMkJBQTJCLEVBYTNCLDhCQUE4QixFQXRCOUIseUJBQXlCOzJHQTZSekIsYUFBYSxZQUZaLFlBQVksRUFBRSxlQUFlOzJGQUU5QixhQUFhO2tCQXpCekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIElneENhcmRNZWRpYSBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIG1lZGlhIHNlY3Rpb24uXG4gKiBVc2UgaXQgdG8gd3JhcCBpbWFnZXMgYW5kIHZpZGVvcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLW1lZGlhJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkTWVkaWFEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmRfX21lZGlhJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmRfX21lZGlhJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGB3aWR0aGAgYW5kIGBtaW4td2lkdGhgIHN0eWxlIHByb3BlcnR5XG4gICAgICogb2YgdGhlIG1lZGlhIGNvbnRhaW5lci4gSWYgbm90IHByb3ZpZGVkIGl0IHdpbGwgYmUgc2V0IHRvIGBhdXRvYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1tZWRpYSB3aWR0aD1cIjMwMHB4XCI+PC9pZ3gtY2FyZC1tZWRpYT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgd2lkdGggPSAnYXV0byc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSBgaGVpZ2h0YCBzdHlsZSBwcm9wZXJ0eSBvZiB0aGUgbWVkaWEgY29udGFpbmVyLlxuICAgICAqIElmIG5vdCBwcm92aWRlZCBpdCB3aWxsIGJlIHNldCB0byBgYXV0b2AuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtbWVkaWEgaGVpZ2h0PVwiNTAlXCI+PC9pZ3gtY2FyZC1tZWRpYT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVpZ2h0ID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgbWVkaWEgY29udGFpbmVyLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2ltZyc7XG59XG5cbi8qKlxuICogSWd4Q2FyZEhlYWRlciBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIGhlYWRlclxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJkLWhlYWRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXInKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1oZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgbGF5b3V0IHN0eWxlIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgaGVhZGVyIGVsZW1lbnRzKHRodW1ibmFpbCBhbmQgdGl0bGUvc3VidGl0bGUpIGFyZSBhbGlnbmVkIGhvcml6b250YWxseS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1oZWFkZXIgW3ZlcnRpY2FsXT1cInRydWVcIj48L2lneC1jYXJkLWhlYWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlci0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG59XG5cbi8qKlxuICogSWd4Q2FyZFRodW1ibmFpbCBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIHRodW1ibmFpbCBzZWN0aW9uLlxuICogVXNlIGl0IHRvIHdyYXAgYW55dGhpbmcgeW91IHdhbnQgdG8gYmUgdXNlZCBhcyBhIHRodW1ibmFpbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Q2FyZFRodW1ibmFpbF0nXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRUaHVtYm5haWxEaXJlY3RpdmUgeyB9XG5cbi8qKlxuICogaWd4Q2FyZEhlYWRlclRpdGxlIGlzIHVzZWQgdG8gZGVub3RlIHRoZSBoZWFkZXIgdGl0bGUgaW4gYSBjYXJkLlxuICogVXNlIGl0IHRvIHRhZyB0ZXh0IG5vZGVzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hDYXJkSGVhZGVyVGl0bGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkSGVhZGVyVGl0bGVEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtaGVhZGVyX190aXRsZScpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkX19oZWFkZXJfX3RpdGxlJztcbn1cblxuLyoqXG4gKiBpZ3hDYXJkSGVhZGVyU3VidGl0bGUgaXMgdXNlZCB0byBkZW5vdGUgdGhlIGhlYWRlciBzdWJ0aXRsZSBpbiBhIGNhcmQuXG4gKiBVc2UgaXQgdG8gdGFnIHRleHQgbm9kZXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneENhcmRIZWFkZXJTdWJ0aXRsZV0nXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmQtaGVhZGVyX19zdWJ0aXRsZSc7XG59XG4vKipcbiAqIElneENhcmRDb250ZW50IGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgY29udGVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWNvbnRlbnQnXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRDb250ZW50RGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWNvbnRlbnQnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1jb250ZW50Jztcbn1cblxuLyoqXG4gKiBJZ3hDYXJkRm9vdGVyIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgZm9vdGVyXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdpZ3gtY2FyZC1mb290ZXInXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRGb290ZXJEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgcm9sZWAgYXR0cmlidXRlIG9mIHRoZSBjYXJkIGZvb3Rlci5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGZvb3RlcmAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtZm9vdGVyIHJvbGU9XCJmb290ZXJcIj48L2lneC1jYXJkLWZvb3Rlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdmb290ZXInO1xufVxuXG4vKipcbiAqIENhcmQgcHJvdmlkZXMgYSB3YXkgdG8gZGlzcGxheSBvcmdhbml6ZWQgY29udGVudCBpbiBhcHBlYWxpbmcgd2F5LlxuICpcbiAqIEBpZ3hNb2R1bGUgSWd4Q2FyZE1vZHVsZVxuICpcbiAqIEBpZ3hUaGVtZSBpZ3gtY2FyZC10aGVtZSwgaWd4LWljb24tdGhlbWUsIGlneC1idXR0b24tdGhlbWVcbiAqXG4gKiBAaWd4S2V5d29yZHMgY2FyZCwgYnV0dG9uLCBhdmF0YXIsIGljb25cbiAqXG4gKiBAaWd4R3JvdXAgTGF5b3V0c1xuICpcbiAqIEByZW1hcmtzXG4gKiBUaGUgSWduaXRlIFVJIENhcmQgc2VydmVzIGFzIGEgY29udGFpbmVyIHRoYXQgYWxsb3dzIGN1c3RvbSBjb250ZW50IHRvIGJlIG9yZ2FuaXplZCBpbiBhbiBhcHBlYWxpbmcgd2F5LiBUaGVyZSBhcmVcbiAqIGZpdmUgc2VjdGlvbnMgaW4gYSBjYXJkIHRoYXQgeW91IGNhbiB1c2UgdG8gb3JnYW5pemUgeW91ciBjb250ZW50LiBUaGVzZSBhcmUgaGVhZGVyLCBtZWRpYSwgY29udGVudCwgYWN0aW9ucywgYW5kIGZvb3Rlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGlneC1jYXJkPlxuICogICA8aWd4LWNhcmQtaGVhZGVyPlxuICogICAgIDxoMyBpZ3hDYXJkSGVhZGVyVGl0bGU+e3t0aXRsZX19PC9oMz5cbiAqICAgICA8aDUgaWd4Q2FyZEhlYWRlclN1YnRpdGxlPnt7c3VidGl0bGV9fTwvaDU+XG4gKiAgIDwvaWd4LWNhcmQtaGVhZGVyPlxuICogICA8aWd4LWNhcmQtYWN0aW9ucz5cbiAqICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbiBpZ3hSaXBwbGU+U2hhcmU8L2J1dHRvbj5cbiAqICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbiBpZ3hSaXBwbGU+UGxheSBBbGJ1bTwvYnV0dG9uPlxuICogICA8L2lneC1jYXJkLWFjdGlvbnM+XG4gKiA8L2lneC1jYXJkPlxuICogYGBgXG4gKi9cblxuZXhwb3J0IGNvbnN0IElneENhcmRUeXBlID0gbWtlbnVtKHtcbiAgICBFTEVWQVRFRDogJ2VsZXZhdGVkJyxcbiAgICBPVVRMSU5FRDogJ291dGxpbmVkJ1xufSk7XG5leHBvcnQgdHlwZSBJZ3hDYXJkVHlwZSA9ICh0eXBlb2YgSWd4Q2FyZFR5cGUpW2tleW9mIHR5cGVvZiBJZ3hDYXJkVHlwZV07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSBjYXJkLlxuICAgICAqIElmIG5vdCBzZXQsIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC1jYXJkLTBcImA7XG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgaWQgPSBcIm15LWZpcnN0LWNhcmRcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgY2FyZElkID0gIHRoaXMuY2FyZC5pZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYGlneC1jYXJkLSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGdyb3VwYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZCByb2xlPVwiZ3JvdXBcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2dyb3VwJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgdHlwZWAgYXR0cmlidXRlIG9mIHRoZSBjYXJkLlxuICAgICAqIEJ5IGRlZmF1bHQgdGhlIHZhbHVlIGlzIHNldCB0byBgZWxldmF0ZWRgLiBZb3UgY2FuIG1ha2UgdGhlIGNhcmQgdXNlIHRoZVxuICAgICAqIG91dGxpbmVkIHN0eWxlIGJ5IHNldHRpbmcgdGhlIHZhbHVlIHRvIGBvdXRsaW5lZGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgdHlwZT1cIm91dGxpbmVkXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBJZ3hDYXJkVHlwZSB8IHN0cmluZyA9IElneENhcmRUeXBlLkVMRVZBVEVEO1xuXG4gICAgLyoqXG4gICAgICogQSBnZXR0ZXIgd2hpY2ggd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgY2FyZCB0eXBlIGlzIGBvdXRsaW5lZGAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC0tb3V0bGluZWQnKVxuICAgIHB1YmxpYyBnZXQgaXNPdXRsaW5lZENhcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IElneENhcmRUeXBlLk9VVExJTkVEO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgaG9yaXpvbnRhbGAgYXR0cmlidXRlIG9mIHRoZSBjYXJkLlxuICAgICAqIFNldHRpbmcgdGhpcyB0byBgdHJ1ZWAgd2lsbCBtYWtlIHRoZSBkaWZmZXJlbnQgY2FyZCBzZWN0aW9ucyBhbGlnbiBob3Jpem9udGFsbHksXG4gICAgICogZXNzZW50aWFsbHkgZmxpcHBpbmcgdGhlIGNhcmQgdG8gdGhlIHNpZGUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgW2hvcml6b250YWxdPVwidHJ1ZVwiPjwvaWd4LWNhcmQ+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC0taG9yaXpvbnRhbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaG9yaXpvbnRhbCA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgSWd4Q2FyZEFjdGlvbnNMYXlvdXQgPSBta2VudW0oe1xuICAgIFNUQVJUOiAnc3RhcnQnLFxuICAgIEpVU1RJRlk6ICdqdXN0aWZ5J1xufSk7XG5leHBvcnQgdHlwZSBJZ3hDYXJkQWN0aW9uc0xheW91dCA9ICh0eXBlb2YgSWd4Q2FyZEFjdGlvbnNMYXlvdXQpW2tleW9mIHR5cGVvZiBJZ3hDYXJkQWN0aW9uc0xheW91dF07XG5cbi8qKlxuICogSWd4Q2FyZEFjdGlvbnMgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBhY3Rpb25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaWd4LWNhcmQtYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJkLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRBY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGxheW91dCBzdHlsZSBvZiB0aGUgYWN0aW9ucy5cbiAgICAgKiBZb3UgY2FuIGp1c3RpZnkgdGhlIGVsZW1lbnRzIHNsb3R0ZWQgaW4gdGhlIGlneC1jYXJkLWFjdGlvbiBjb250YWluZXJcbiAgICAgKiBzbyB0aGF0IHRoZXkgYXJlIHBvc2l0aW9uZWQgZXF1YWxseSBmcm9tIG9uZSBhbm90aGVyIHRha2luZyB1cCBhbGwgdGhlXG4gICAgICogc3BhY2UgYXZhaWxhYmxlIGFsb25nIHRoZSBjYXJkIGFjdGlvbnMgYXhpcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1hY3Rpb25zIGxheW91dD1cImp1c3RpZnlcIj48L2lneC1jYXJkLWFjdGlvbnM+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYXlvdXQ6IElneENhcmRBY3Rpb25zTGF5b3V0IHwgc3RyaW5nID0gSWd4Q2FyZEFjdGlvbnNMYXlvdXQuU1RBUlQ7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2ZXJ0aWNhbCBhdHRyaWJ1dGUgb2YgdGhlIGFjdGlvbnMuXG4gICAgICogV2hlbiBzZXQgdG8gYHRydWVgIHRoZSBhY3Rpb25zIHdpbGwgYmUgbGF5ZWQgb3V0IHZlcnRpY2FsbHkuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zLS12ZXJ0aWNhbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmVydGljYWwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEEgZ2V0dGVyIHRoYXQgcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgbGF5b3V0IGhhcyBiZWVuXG4gICAgICogc2V0IHRvIGBqdXN0aWZ5YC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMtLWp1c3RpZnknKVxuICAgIHB1YmxpYyBnZXQgaXNKdXN0aWZ5TGF5b3V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09IElneENhcmRBY3Rpb25zTGF5b3V0LkpVU1RJRlk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgaW4gdmVyc2lvbiAxNS4xLjAuXG4gICAgICogXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgcmV2ZXJzZXMgdGhlIG9yZGVyIG9mIHRoZSBidXR0b25zIGluIHRoZSBhY3Rpb25zIGFyZWEuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtYWN0aW9ucyBbcmV2ZXJzZV09XCJ0cnVlXCI+PC9pZ3gtY2FyZC1hY3Rpb25zPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtYWN0aW9ucy0tcmV2ZXJzZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmV2ZXJzZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc1ZlcnRpY2FsU2V0ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KElneENhcmRDb21wb25lbnQpIHB1YmxpYyBjYXJkOiBJZ3hDYXJkQ29tcG9uZW50KSB7IH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgaWYgKHByb3AgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVmVydGljYWxTZXQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmVydGljYWxTZXQgJiYgdGhpcy5jYXJkLmhvcml6b250YWwpIHtcbiAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSB0cnVlO1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIElneENhcmRDb21wb25lbnQsXG4gICAgICAgIElneENhcmRIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIElneENhcmRNZWRpYURpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZENvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBJZ3hDYXJkRm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkSGVhZGVyVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZFRodW1ibmFpbERpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgSWd4Q2FyZENvbXBvbmVudCxcbiAgICAgICAgSWd4Q2FyZEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgSWd4Q2FyZE1lZGlhRGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIElneENhcmRGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIElneENhcmRIZWFkZXJUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgSWd4Q2FyZEhlYWRlclN1YnRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBJZ3hDYXJkVGh1bWJuYWlsRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWd4QnV0dG9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkTW9kdWxlIHsgfVxuIiwiPGRpdiBjbGFzcz1cImlneC1jYXJkLWhlYWRlcl9fdGh1bWJuYWlsXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWd4LWF2YXRhciwgaWd4LWNhcmQtbWVkaWEsIFtpZ3hDYXJkVGh1bWJuYWlsXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiaWd4LWNhcmQtaGVhZGVyX190aXRsZXNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJcbiAgICAgICAgW2lneENhcmRIZWFkZXJUaXRsZV0sXG4gICAgICAgIFtpZ3hDYXJkSGVhZGVyU3VidGl0bGVdLFxuICAgICAgICAuaWd4LWNhcmQtaGVhZGVyX190aXRsZSxcbiAgICAgICAgLmlneC1jYXJkLWhlYWRlcl9fc3VidGl0bGVcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIiwiPGRpdiAjYnV0dG9ucyBjbGFzcz1cImlneC1jYXJkLWFjdGlvbnNfX3N0YXJ0XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneFN0YXJ0XSwgW2lneEJ1dHRvbl06bm90KFtpZ3hCdXR0b249J2ljb24nXSk6bm90KFtpZ3hFbmRdKVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxkaXYgY2xhc3M9XCJpZ3gtY2FyZC1hY3Rpb25zX19lbmRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWd4RW5kXSwgW2lneEJ1dHRvbj0naWNvbiddOm5vdChbaWd4U3RhcnRdKSwgaWd4LWljb246bm90KFtpZ3hTdGFydF0pXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|