@datarailsshared/datarailsshared 1.5.314 → 1.5.315
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/assets/styles/mixins.scss +11 -8
- package/assets/styles/vars.scss +1 -1
- package/datarailsshared-datarailsshared-1.5.315.tgz +0 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +4 -6
- package/esm2022/lib/date-tags/date-tag.component.mjs +3 -3
- package/esm2022/lib/date-tags/date-tag.module.mjs +5 -19
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +12 -10
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +7 -10
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +5 -6
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +2 -2
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +3 -9
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion.module.mjs +1 -1
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +3 -3
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +3 -7
- package/esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs +1 -2
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +3 -3
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +6 -22
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +4 -4
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +3 -3
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +5 -12
- package/esm2022/lib/dr-chat/chat.component.mjs +6 -5
- package/esm2022/lib/dr-chat/chat.module.mjs +4 -21
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +3 -3
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +3 -3
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +2 -2
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +6 -6
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +3 -4
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +23 -25
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +2 -2
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +4 -18
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +3 -4
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +2 -4
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +8 -5
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +8 -5
- package/esm2022/lib/dr-dialog/dialog.module.mjs +6 -31
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +2 -2
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +3 -3
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +29 -20
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +5 -5
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +7 -7
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +7 -32
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +2 -2
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +4 -4
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +5 -13
- package/esm2022/lib/dr-error/dr-error.component.mjs +3 -3
- package/esm2022/lib/dr-error/dr-error.module.mjs +5 -15
- package/esm2022/lib/dr-inputs/button/button.component.mjs +3 -3
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +5 -11
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +8 -8
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +10 -11
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +4 -8
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +11 -12
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +31 -24
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +3 -3
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +5 -7
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +17 -17
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +2 -2
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +3 -3
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +5 -3
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +17 -20
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +4 -4
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +5 -11
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +6 -12
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +6 -12
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +10 -12
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +16 -14
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +3 -11
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +1 -1
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +11 -15
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +6 -6
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +5 -15
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +6 -8
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +3 -3
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +3 -3
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +2 -2
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +5 -24
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +16 -12
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +1 -1
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +9 -4
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +3 -5
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +4 -6
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +4 -5
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +6 -31
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +9 -10
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +5 -18
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +10 -10
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +1 -1
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +3 -2
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +4 -4
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +5 -7
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +3 -3
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +1 -1
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +4 -5
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +4 -5
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +5 -7
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +4 -9
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +3 -7
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +8 -4
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +7 -19
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +11 -11
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +4 -4
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +7 -25
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +11 -9
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +3 -3
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +7 -7
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +3 -3
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +2 -2
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +3 -3
- package/esm2022/lib/list-tags/list-tag.component.mjs +4 -4
- package/esm2022/lib/list-tags/list-tag.module.mjs +5 -18
- package/esm2022/lib/models/chat.mjs +6 -4
- package/esm2022/lib/models/constants.mjs +17 -22
- package/esm2022/lib/models/datePicker.mjs +2 -2
- package/esm2022/lib/models/dropdown.mjs +1 -1
- package/esm2022/lib/models/feedback.mjs +1 -2
- package/esm2022/lib/models/serverTags.mjs +1 -1
- package/esm2022/lib/models/toastr.mjs +1 -1
- package/esm2022/lib/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.module.mjs +5 -10
- package/esm2022/lib/utils/dr-shared-utils.mjs +1 -1
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +538 -849
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +4 -4
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +1 -1
- package/lib/models/chat.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -2
- package/datarailsshared-datarailsshared-1.5.314.tgz +0 -0
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class TooltipProcessDefaultComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
}
|
|
4
|
+
constructor() { }
|
|
6
5
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipProcessDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipProcessDefaultComponent, selector: "dr-tooltip-process-default", inputs: { text: "text" }, ngImport: i0, template: `
|
|
8
|
-
<div class="container" [innerHTML]="text"></div>
|
|
9
|
-
`, isInline: true, styles: [".container{width:auto;max-width:388px;text-align:start;font-size:14px;line-height:22px;padding:10px 12px;color:#151b3f;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;border:1px solid #C3C4CE}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipProcessDefaultComponent, selector: "dr-tooltip-process-default", inputs: { text: "text" }, ngImport: i0, template: ` <div class="container" [innerHTML]="text"></div> `, isInline: true, styles: [".container{width:auto;max-width:388px;text-align:start;font-size:14px;line-height:22px;padding:10px 12px;color:#151b3f;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;border:1px solid #c3c4ce}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
7
|
}
|
|
11
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipProcessDefaultComponent, decorators: [{
|
|
12
9
|
type: Component,
|
|
13
|
-
args: [{ selector: 'dr-tooltip-process-default', template: `
|
|
14
|
-
<div class="container" [innerHTML]="text"></div>
|
|
15
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{width:auto;max-width:388px;text-align:start;font-size:14px;line-height:22px;padding:10px 12px;color:#151b3f;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;border:1px solid #C3C4CE}\n"] }]
|
|
10
|
+
args: [{ selector: 'dr-tooltip-process-default', template: ` <div class="container" [innerHTML]="text"></div> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{width:auto;max-width:388px;text-align:start;font-size:14px;line-height:22px;padding:10px 12px;color:#151b3f;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;border:1px solid #c3c4ce}\n"] }]
|
|
16
11
|
}], ctorParameters: function () { return []; }, propDecorators: { text: [{
|
|
17
12
|
type: Input
|
|
18
13
|
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wcm9jZXNzLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0L3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF3QjFFLE1BQU0sT0FBTyw4QkFBOEI7SUFHdkMsZ0JBQWUsQ0FBQztrSUFIUCw4QkFBOEI7c0hBQTlCLDhCQUE4Qiw0RkFwQjdCLG9EQUFvRDs7NEZBb0JyRCw4QkFBOEI7a0JBdEIxQyxTQUFTOytCQUNJLDRCQUE0QixZQUM1QixvREFBb0QsbUJBa0I3Qyx1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXRvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0JyxcbiAgICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9kaXY+IGAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzg4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE1MWIzZjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDhweCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjNGNlO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBQcm9jZXNzRGVmYXVsdENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
|
|
@@ -21,15 +21,11 @@ export class TooltipComponent {
|
|
|
21
21
|
this.isMouseOn$.next(false);
|
|
22
22
|
}
|
|
23
23
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipComponent, selector: "dr-tooltip", inputs: { content: "content", contentContext: "contentContext", position: "position", options: "options", class: "class", theme: "theme" }, host: { listeners: { "mouseenter": "setMouseOn()", "mouseleave": "unsetMouseOn()" } }, ngImport: i0, template: "<div [class]=\"position + ' ' + class + ' ' + theme\" [ngClass]=\"{'dr-tooltip': !options?.withoutContainerStyles}\">\n <div *ngIf=\"!options?.withoutArrow\" class=\"dr-tooltip-arrow\"></div>\n <ng-container *ngIf=\"isContentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"content; context: contentContext\"></ng-container>\n </ng-container>\n <ng-template #defaultContent>\n <dr-tooltip-default [content]=\"content\" [theme]=\"theme\"></dr-tooltip-default>\n </ng-template>\n</div>\n", styles: [":host{display:block}.top,.top-left,.top-right.dr-tooltip{transform:translateY(-8px)}.bottom,.bottom-left,.bottom-right.dr-tooltip{transform:translateY(8px)}.left,.left-top,.left-bottom.dr-tooltip{transform:translate(-8px)}.right,.right-top,.right-bottom.dr-tooltip{transform:translate(8px)}.dr-tooltip{background:#fff;border:1px solid #cfd7dd;box-sizing:border-box;border-radius:8px;font-size:12px;color:#545a6b;max-width:80vw!important;box-shadow:0 2px 4px #9199b440}.dr-tooltip-arrow{border-width:8px}.dr-tooltip-arrow,.dr-tooltip-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.dr-tooltip-arrow:after{content:\"\";border-width:8px}.top .dr-tooltip-arrow,.top-left .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{bottom:-16px;border-top-color:#cfd7dd!important}.top .dr-tooltip-arrow:after,.top-left .dr-tooltip-arrow:after,.top-right .dr-tooltip-arrow:after{bottom:-6px;left:-8px;border-top-color:#fff}.bottom .dr-tooltip-arrow,.bottom-left .dr-tooltip-arrow,.bottom-right .dr-tooltip-arrow{top:-7px;border-top:none;border-bottom-color:#cfd7dd!important}.bottom .dr-tooltip-arrow:after,.bottom-left .dr-tooltip-arrow:after,.bottom-right .dr-tooltip-arrow:after{border-top:none;top:1px;left:-8px;border-bottom-color:#fff}.left .dr-tooltip-arrow,.left-top .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{right:-16px;border-left-color:#cfd7dd!important}.left .dr-tooltip-arrow:after,.left-top .dr-tooltip-arrow:after,.left-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-9px;border-left-color:#fff}.right .dr-tooltip-arrow,.right-top .dr-tooltip-arrow,.right-bottom .dr-tooltip-arrow{left:-16px;border-right-color:#cfd7dd!important}.right .dr-tooltip-arrow:after,.right-top .dr-tooltip-arrow:after,.right-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-7px;border-right-color:#fff}.top .dr-tooltip-arrow,.bottom .dr-tooltip-arrow{left:calc(50% - 8px)}.bottom-left .dr-tooltip-arrow,.top-left .dr-tooltip-arrow{left:8px}.bottom-right .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{right:8px}.left .dr-tooltip-arrow,.right .dr-tooltip-arrow{top:calc(50% - 8px)}.left-top .dr-tooltip-arrow,.dr-tooltip-arrow .right-top{top:8px}.right-bottom .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{bottom:8px}.dr-tooltip.dark{background:#0c142bcc;border:none;border-radius:8px;color:#fff}.dr-tooltip.dark.top .dr-tooltip-arrow,.dr-tooltip.dark.top-left .dr-tooltip-arrow,.dr-tooltip.dark.top-right .dr-tooltip-arrow{border-top-color:#0c142bcc!important}.dr-tooltip.dark.top .dr-tooltip-arrow:after,.dr-tooltip.dark.top-left .dr-tooltip-arrow:after,.dr-tooltip.dark.top-right .dr-tooltip-arrow:after{border-top-color:transparent}.dr-tooltip.dark.bottom .dr-tooltip-arrow,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow{border-bottom-color:#0c142bcc!important}.dr-tooltip.dark.bottom .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow:after{border-bottom-color:transparent}.dr-tooltip.dark.left .dr-tooltip-arrow,.dr-tooltip.dark.left-top .dr-tooltip-arrow,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow{border-left-color:#0c142bcc!important}.dr-tooltip.dark.left .dr-tooltip-arrow:after,.dr-tooltip.dark.left-top .dr-tooltip-arrow:after,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow:after{border-left-color:transparent}.dr-tooltip.dark.right .dr-tooltip-arrow,.dr-tooltip.dark.right-top .dr-tooltip-arrow,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow{border-right-color:#0c142bcc!important}.dr-tooltip.dark.right .dr-tooltip-arrow:after,.dr-tooltip.dark.right-top .dr-tooltip-arrow:after,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow:after{border-right-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.TooltipDefaultComponent, selector: "dr-tooltip-default", inputs: ["content", "theme"] }], animations: [
|
|
25
|
-
trigger('tooltip', POPUP_ANIMATION),
|
|
26
|
-
] }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipComponent, selector: "dr-tooltip", inputs: { content: "content", contentContext: "contentContext", position: "position", options: "options", class: "class", theme: "theme" }, host: { listeners: { "mouseenter": "setMouseOn()", "mouseleave": "unsetMouseOn()" } }, ngImport: i0, template: "<div [class]=\"position + ' ' + class + ' ' + theme\" [ngClass]=\"{ 'dr-tooltip': !options?.withoutContainerStyles }\">\n <div *ngIf=\"!options?.withoutArrow\" class=\"dr-tooltip-arrow\"></div>\n <ng-container *ngIf=\"isContentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"content; context: contentContext\"></ng-container>\n </ng-container>\n <ng-template #defaultContent>\n <dr-tooltip-default [content]=\"content\" [theme]=\"theme\"></dr-tooltip-default>\n </ng-template>\n</div>\n", styles: [":host{display:block}.top,.top-left,.top-right.dr-tooltip{transform:translateY(-8px)}.bottom,.bottom-left,.bottom-right.dr-tooltip{transform:translateY(8px)}.left,.left-top,.left-bottom.dr-tooltip{transform:translate(-8px)}.right,.right-top,.right-bottom.dr-tooltip{transform:translate(8px)}.dr-tooltip{background:#fff;border:1px solid #cfd7dd;box-sizing:border-box;border-radius:8px;font-size:12px;color:#545a6b;max-width:80vw!important;box-shadow:0 2px 4px #9199b440}.dr-tooltip-arrow{border-width:8px}.dr-tooltip-arrow,.dr-tooltip-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.dr-tooltip-arrow:after{content:\"\";border-width:8px}.top .dr-tooltip-arrow,.top-left .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{bottom:-16px;border-top-color:#cfd7dd!important}.top .dr-tooltip-arrow:after,.top-left .dr-tooltip-arrow:after,.top-right .dr-tooltip-arrow:after{bottom:-6px;left:-8px;border-top-color:#fff}.bottom .dr-tooltip-arrow,.bottom-left .dr-tooltip-arrow,.bottom-right .dr-tooltip-arrow{top:-7px;border-top:none;border-bottom-color:#cfd7dd!important}.bottom .dr-tooltip-arrow:after,.bottom-left .dr-tooltip-arrow:after,.bottom-right .dr-tooltip-arrow:after{border-top:none;top:1px;left:-8px;border-bottom-color:#fff}.left .dr-tooltip-arrow,.left-top .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{right:-16px;border-left-color:#cfd7dd!important}.left .dr-tooltip-arrow:after,.left-top .dr-tooltip-arrow:after,.left-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-9px;border-left-color:#fff}.right .dr-tooltip-arrow,.right-top .dr-tooltip-arrow,.right-bottom .dr-tooltip-arrow{left:-16px;border-right-color:#cfd7dd!important}.right .dr-tooltip-arrow:after,.right-top .dr-tooltip-arrow:after,.right-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-7px;border-right-color:#fff}.top .dr-tooltip-arrow,.bottom .dr-tooltip-arrow{left:calc(50% - 8px)}.bottom-left .dr-tooltip-arrow,.top-left .dr-tooltip-arrow{left:8px}.bottom-right .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{right:8px}.left .dr-tooltip-arrow,.right .dr-tooltip-arrow{top:calc(50% - 8px)}.left-top .dr-tooltip-arrow,.dr-tooltip-arrow .right-top{top:8px}.right-bottom .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{bottom:8px}.dr-tooltip.dark{background:#0c142bcc;border:none;border-radius:8px;color:#fff}.dr-tooltip.dark.top .dr-tooltip-arrow,.dr-tooltip.dark.top-left .dr-tooltip-arrow,.dr-tooltip.dark.top-right .dr-tooltip-arrow{border-top-color:#0c142bcc!important}.dr-tooltip.dark.top .dr-tooltip-arrow:after,.dr-tooltip.dark.top-left .dr-tooltip-arrow:after,.dr-tooltip.dark.top-right .dr-tooltip-arrow:after{border-top-color:transparent}.dr-tooltip.dark.bottom .dr-tooltip-arrow,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow{border-bottom-color:#0c142bcc!important}.dr-tooltip.dark.bottom .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow:after{border-bottom-color:transparent}.dr-tooltip.dark.left .dr-tooltip-arrow,.dr-tooltip.dark.left-top .dr-tooltip-arrow,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow{border-left-color:#0c142bcc!important}.dr-tooltip.dark.left .dr-tooltip-arrow:after,.dr-tooltip.dark.left-top .dr-tooltip-arrow:after,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow:after{border-left-color:transparent}.dr-tooltip.dark.right .dr-tooltip-arrow,.dr-tooltip.dark.right-top .dr-tooltip-arrow,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow{border-right-color:#0c142bcc!important}.dr-tooltip.dark.right .dr-tooltip-arrow:after,.dr-tooltip.dark.right-top .dr-tooltip-arrow:after,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow:after{border-right-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.TooltipDefaultComponent, selector: "dr-tooltip-default", inputs: ["content", "theme"] }], animations: [trigger('tooltip', POPUP_ANIMATION)] }); }
|
|
27
25
|
}
|
|
28
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
29
27
|
type: Component,
|
|
30
|
-
args: [{ selector: 'dr-tooltip', animations: [
|
|
31
|
-
trigger('tooltip', POPUP_ANIMATION),
|
|
32
|
-
], template: "<div [class]=\"position + ' ' + class + ' ' + theme\" [ngClass]=\"{'dr-tooltip': !options?.withoutContainerStyles}\">\n <div *ngIf=\"!options?.withoutArrow\" class=\"dr-tooltip-arrow\"></div>\n <ng-container *ngIf=\"isContentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"content; context: contentContext\"></ng-container>\n </ng-container>\n <ng-template #defaultContent>\n <dr-tooltip-default [content]=\"content\" [theme]=\"theme\"></dr-tooltip-default>\n </ng-template>\n</div>\n", styles: [":host{display:block}.top,.top-left,.top-right.dr-tooltip{transform:translateY(-8px)}.bottom,.bottom-left,.bottom-right.dr-tooltip{transform:translateY(8px)}.left,.left-top,.left-bottom.dr-tooltip{transform:translate(-8px)}.right,.right-top,.right-bottom.dr-tooltip{transform:translate(8px)}.dr-tooltip{background:#fff;border:1px solid #cfd7dd;box-sizing:border-box;border-radius:8px;font-size:12px;color:#545a6b;max-width:80vw!important;box-shadow:0 2px 4px #9199b440}.dr-tooltip-arrow{border-width:8px}.dr-tooltip-arrow,.dr-tooltip-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.dr-tooltip-arrow:after{content:\"\";border-width:8px}.top .dr-tooltip-arrow,.top-left .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{bottom:-16px;border-top-color:#cfd7dd!important}.top .dr-tooltip-arrow:after,.top-left .dr-tooltip-arrow:after,.top-right .dr-tooltip-arrow:after{bottom:-6px;left:-8px;border-top-color:#fff}.bottom .dr-tooltip-arrow,.bottom-left .dr-tooltip-arrow,.bottom-right .dr-tooltip-arrow{top:-7px;border-top:none;border-bottom-color:#cfd7dd!important}.bottom .dr-tooltip-arrow:after,.bottom-left .dr-tooltip-arrow:after,.bottom-right .dr-tooltip-arrow:after{border-top:none;top:1px;left:-8px;border-bottom-color:#fff}.left .dr-tooltip-arrow,.left-top .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{right:-16px;border-left-color:#cfd7dd!important}.left .dr-tooltip-arrow:after,.left-top .dr-tooltip-arrow:after,.left-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-9px;border-left-color:#fff}.right .dr-tooltip-arrow,.right-top .dr-tooltip-arrow,.right-bottom .dr-tooltip-arrow{left:-16px;border-right-color:#cfd7dd!important}.right .dr-tooltip-arrow:after,.right-top .dr-tooltip-arrow:after,.right-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-7px;border-right-color:#fff}.top .dr-tooltip-arrow,.bottom .dr-tooltip-arrow{left:calc(50% - 8px)}.bottom-left .dr-tooltip-arrow,.top-left .dr-tooltip-arrow{left:8px}.bottom-right .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{right:8px}.left .dr-tooltip-arrow,.right .dr-tooltip-arrow{top:calc(50% - 8px)}.left-top .dr-tooltip-arrow,.dr-tooltip-arrow .right-top{top:8px}.right-bottom .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{bottom:8px}.dr-tooltip.dark{background:#0c142bcc;border:none;border-radius:8px;color:#fff}.dr-tooltip.dark.top .dr-tooltip-arrow,.dr-tooltip.dark.top-left .dr-tooltip-arrow,.dr-tooltip.dark.top-right .dr-tooltip-arrow{border-top-color:#0c142bcc!important}.dr-tooltip.dark.top .dr-tooltip-arrow:after,.dr-tooltip.dark.top-left .dr-tooltip-arrow:after,.dr-tooltip.dark.top-right .dr-tooltip-arrow:after{border-top-color:transparent}.dr-tooltip.dark.bottom .dr-tooltip-arrow,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow{border-bottom-color:#0c142bcc!important}.dr-tooltip.dark.bottom .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow:after{border-bottom-color:transparent}.dr-tooltip.dark.left .dr-tooltip-arrow,.dr-tooltip.dark.left-top .dr-tooltip-arrow,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow{border-left-color:#0c142bcc!important}.dr-tooltip.dark.left .dr-tooltip-arrow:after,.dr-tooltip.dark.left-top .dr-tooltip-arrow:after,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow:after{border-left-color:transparent}.dr-tooltip.dark.right .dr-tooltip-arrow,.dr-tooltip.dark.right-top .dr-tooltip-arrow,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow{border-right-color:#0c142bcc!important}.dr-tooltip.dark.right .dr-tooltip-arrow:after,.dr-tooltip.dark.right-top .dr-tooltip-arrow:after,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow:after{border-right-color:transparent}\n"] }]
|
|
28
|
+
args: [{ selector: 'dr-tooltip', animations: [trigger('tooltip', POPUP_ANIMATION)], template: "<div [class]=\"position + ' ' + class + ' ' + theme\" [ngClass]=\"{ 'dr-tooltip': !options?.withoutContainerStyles }\">\n <div *ngIf=\"!options?.withoutArrow\" class=\"dr-tooltip-arrow\"></div>\n <ng-container *ngIf=\"isContentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"content; context: contentContext\"></ng-container>\n </ng-container>\n <ng-template #defaultContent>\n <dr-tooltip-default [content]=\"content\" [theme]=\"theme\"></dr-tooltip-default>\n </ng-template>\n</div>\n", styles: [":host{display:block}.top,.top-left,.top-right.dr-tooltip{transform:translateY(-8px)}.bottom,.bottom-left,.bottom-right.dr-tooltip{transform:translateY(8px)}.left,.left-top,.left-bottom.dr-tooltip{transform:translate(-8px)}.right,.right-top,.right-bottom.dr-tooltip{transform:translate(8px)}.dr-tooltip{background:#fff;border:1px solid #cfd7dd;box-sizing:border-box;border-radius:8px;font-size:12px;color:#545a6b;max-width:80vw!important;box-shadow:0 2px 4px #9199b440}.dr-tooltip-arrow{border-width:8px}.dr-tooltip-arrow,.dr-tooltip-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.dr-tooltip-arrow:after{content:\"\";border-width:8px}.top .dr-tooltip-arrow,.top-left .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{bottom:-16px;border-top-color:#cfd7dd!important}.top .dr-tooltip-arrow:after,.top-left .dr-tooltip-arrow:after,.top-right .dr-tooltip-arrow:after{bottom:-6px;left:-8px;border-top-color:#fff}.bottom .dr-tooltip-arrow,.bottom-left .dr-tooltip-arrow,.bottom-right .dr-tooltip-arrow{top:-7px;border-top:none;border-bottom-color:#cfd7dd!important}.bottom .dr-tooltip-arrow:after,.bottom-left .dr-tooltip-arrow:after,.bottom-right .dr-tooltip-arrow:after{border-top:none;top:1px;left:-8px;border-bottom-color:#fff}.left .dr-tooltip-arrow,.left-top .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{right:-16px;border-left-color:#cfd7dd!important}.left .dr-tooltip-arrow:after,.left-top .dr-tooltip-arrow:after,.left-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-9px;border-left-color:#fff}.right .dr-tooltip-arrow,.right-top .dr-tooltip-arrow,.right-bottom .dr-tooltip-arrow{left:-16px;border-right-color:#cfd7dd!important}.right .dr-tooltip-arrow:after,.right-top .dr-tooltip-arrow:after,.right-bottom .dr-tooltip-arrow:after{bottom:-8px;left:-7px;border-right-color:#fff}.top .dr-tooltip-arrow,.bottom .dr-tooltip-arrow{left:calc(50% - 8px)}.bottom-left .dr-tooltip-arrow,.top-left .dr-tooltip-arrow{left:8px}.bottom-right .dr-tooltip-arrow,.top-right .dr-tooltip-arrow{right:8px}.left .dr-tooltip-arrow,.right .dr-tooltip-arrow{top:calc(50% - 8px)}.left-top .dr-tooltip-arrow,.dr-tooltip-arrow .right-top{top:8px}.right-bottom .dr-tooltip-arrow,.left-bottom .dr-tooltip-arrow{bottom:8px}.dr-tooltip.dark{background:#0c142bcc;border:none;border-radius:8px;color:#fff}.dr-tooltip.dark.top .dr-tooltip-arrow,.dr-tooltip.dark.top-left .dr-tooltip-arrow,.dr-tooltip.dark.top-right .dr-tooltip-arrow{border-top-color:#0c142bcc!important}.dr-tooltip.dark.top .dr-tooltip-arrow:after,.dr-tooltip.dark.top-left .dr-tooltip-arrow:after,.dr-tooltip.dark.top-right .dr-tooltip-arrow:after{border-top-color:transparent}.dr-tooltip.dark.bottom .dr-tooltip-arrow,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow{border-bottom-color:#0c142bcc!important}.dr-tooltip.dark.bottom .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-left .dr-tooltip-arrow:after,.dr-tooltip.dark.bottom-right .dr-tooltip-arrow:after{border-bottom-color:transparent}.dr-tooltip.dark.left .dr-tooltip-arrow,.dr-tooltip.dark.left-top .dr-tooltip-arrow,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow{border-left-color:#0c142bcc!important}.dr-tooltip.dark.left .dr-tooltip-arrow:after,.dr-tooltip.dark.left-top .dr-tooltip-arrow:after,.dr-tooltip.dark.left-bottom .dr-tooltip-arrow:after{border-left-color:transparent}.dr-tooltip.dark.right .dr-tooltip-arrow,.dr-tooltip.dark.right-top .dr-tooltip-arrow,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow{border-right-color:#0c142bcc!important}.dr-tooltip.dark.right .dr-tooltip-arrow:after,.dr-tooltip.dark.right-top .dr-tooltip-arrow:after,.dr-tooltip.dark.right-bottom .dr-tooltip-arrow:after{border-right-color:transparent}\n"] }]
|
|
33
29
|
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
34
30
|
type: Input
|
|
35
31
|
}], contentContext: [{
|
|
@@ -49,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
49
45
|
type: HostListener,
|
|
50
46
|
args: ['mouseleave']
|
|
51
47
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQWExRCxNQUFNLE9BQU8sZ0JBQWdCO0lBV3pCO1FBSkEsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFbkUsQ0FBQztJQUVoQixRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO0lBQ2pFLENBQUM7SUFHRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO2tJQXpCUSxnQkFBZ0I7c0hBQWhCLGdCQUFnQixxUkNqQjdCLDBoQkFTQSwrcUlETWdCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQzs7NEZBRXhDLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxZQUFZLGNBR1YsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDOzBFQUd4QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQVlOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxZQUFZO2dCQU0xQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUE9QVVBfQU5JTUFUSU9OIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcblxudHlwZSBUb29sdGlwT3B0aW9ucyA9IHtcbiAgICB3aXRob3V0Q29udGFpbmVyU3R5bGVzPzogYm9vbGVhbjtcbiAgICB3aXRob3V0QXJyb3c/OiBib29sZWFuO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci10b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCd0b29sdGlwJywgUE9QVVBfQU5JTUFUSU9OKV0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNvbnRlbnQ7XG4gICAgQElucHV0KCkgY29udGVudENvbnRleHQ7XG4gICAgQElucHV0KCkgcG9zaXRpb247XG4gICAgQElucHV0KCkgb3B0aW9uczogVG9vbHRpcE9wdGlvbnM7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcbiAgICBASW5wdXQoKSB0aGVtZTogVG9vbHRpcFRoZW1lO1xuICAgIGlzQ29udGVudFRlbXBsYXRlID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaXNNb3VzZU9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbnRlbnRUZW1wbGF0ZSA9IHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHNldE1vdXNlT24oKSB7XG4gICAgICAgIHRoaXMuaXNNb3VzZU9uJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIHVuc2V0TW91c2VPbigpIHtcbiAgICAgICAgdGhpcy5pc01vdXNlT24kLm5leHQoZmFsc2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cInBvc2l0aW9uICsgJyAnICsgY2xhc3MgKyAnICcgKyB0aGVtZVwiIFtuZ0NsYXNzXT1cInsgJ2RyLXRvb2x0aXAnOiAhb3B0aW9ucz8ud2l0aG91dENvbnRhaW5lclN0eWxlcyB9XCI+XG4gICAgPGRpdiAqbmdJZj1cIiFvcHRpb25zPy53aXRob3V0QXJyb3dcIiBjbGFzcz1cImRyLXRvb2x0aXAtYXJyb3dcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50VGVtcGxhdGU7IGVsc2UgZGVmYXVsdENvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnQ7IGNvbnRleHQ6IGNvbnRlbnRDb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29udGVudD5cbiAgICAgICAgPGRyLXRvb2x0aXAtZGVmYXVsdCBbY29udGVudF09XCJjb250ZW50XCIgW3RoZW1lXT1cInRoZW1lXCI+PC9kci10b29sdGlwLWRlZmF1bHQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -100,7 +100,9 @@ export class DrTooltipDirective {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
createOverlay() {
|
|
103
|
-
const positionStrategy = this.overlayPositionBuilder
|
|
103
|
+
const positionStrategy = this.overlayPositionBuilder
|
|
104
|
+
.flexibleConnectedTo(this.elementRef)
|
|
105
|
+
.withPositions([this.overlayPosition]);
|
|
104
106
|
this.overlayRef = this.overlay.create({ positionStrategy });
|
|
105
107
|
}
|
|
106
108
|
renderTooltip() {
|
|
@@ -115,7 +117,9 @@ export class DrTooltipDirective {
|
|
|
115
117
|
this.tooltipRef.instance.options = this.options;
|
|
116
118
|
this.tooltipRef.instance.class = this.class + ' ' + this.position;
|
|
117
119
|
this.tooltipRef.instance.theme = this.theme;
|
|
118
|
-
this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn
|
|
120
|
+
this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn$
|
|
121
|
+
.pipe(skip(1))
|
|
122
|
+
.subscribe((isMouseOn) => {
|
|
119
123
|
if (!isMouseOn) {
|
|
120
124
|
this.destroyTooltip();
|
|
121
125
|
}
|
|
@@ -143,7 +147,7 @@ export class DrTooltipDirective {
|
|
|
143
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrTooltipDirective, decorators: [{
|
|
144
148
|
type: Directive,
|
|
145
149
|
args: [{
|
|
146
|
-
selector: '[drTooltip]'
|
|
150
|
+
selector: '[drTooltip]',
|
|
147
151
|
}]
|
|
148
152
|
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i0.ElementRef }]; }, propDecorators: { content: [{
|
|
149
153
|
type: Input,
|
|
@@ -176,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
176
180
|
type: HostListener,
|
|
177
181
|
args: ['mouseleave']
|
|
178
182
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUUxRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBSzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFPM0IsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQVdELElBQ0ksZ0JBQWdCLENBQUMsT0FBWTtRQUM3QixJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDakIsTUFBTSxR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QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7a0lBbktRLGtCQUFrQjtzSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO2lCQUMxQjs0SkFJRyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsV0FBVztnQkFHbEIsY0FBYztzQkFEYixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJZCxRQUFRO3NCQURsQixLQUFLO3VCQUFDLG1CQUFtQjtnQkFTMUIsS0FBSztzQkFESixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJdkIsS0FBSztzQkFESixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJZCx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUdGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFnQkYsV0FBVztzQkFEZCxLQUFLO3VCQUFDLGVBQWU7Z0JBMEN0QixJQUFJO3NCQURILFlBQVk7dUJBQUMsWUFBWTtnQkFnQjFCLElBQUk7c0JBREgsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vZHItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUE9QVVBfUE9TSVRJT05TIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb29sdGlwVGhlbWUgfSBmcm9tICcuL2VudW1zL3Rvb2x0aXAtdGhlbWUuZW51bSc7XG5cbmNvbnN0IGdldE92ZXJsYXlQb3NpdGlvbiA9IChwb3NpdGlvbikgPT4gKHsgLi4uUE9QVVBfUE9TSVRJT05TW3Bvc2l0aW9uXSB9KTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJUb29sdGlwXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgnZHJUb29sdGlwJylcbiAgICBjb250ZW50OiBhbnk7XG4gICAgQElucHV0KCdkclRvb2x0aXBDb250ZXh0JylcbiAgICBjb250ZW50Q29udGV4dCA9IHt9O1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uID0gJ3RvcCc7XG4gICAgQElucHV0KCdkclRvb2x0aXBQb3NpdGlvbicpXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gdmFsdWU7XG4gICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCdkclRvb2x0aXBDbGFzcycpXG4gICAgY2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgnZHJUb29sdGlwVGhlbWUnKVxuICAgIHRoZW1lOiBUb29sdGlwVGhlbWUgPSBUb29sdGlwVGhlbWUuTElHSFQ7XG5cbiAgICAvLyBpcyB1c2VkIGZvciBwcmVzZXJ2ZSB0b29sdGlwIGZyb20gYmVpbmcgaGlkZGVuIGZvciBOIG1pbGxpc2Vjb25kc1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNsZWF2ZVRpbWVvdXQgPSAwO1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyVG9vbHRpcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgICAgIGlmIChvcHRpb25zPy5pbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuICAgICAgICAgICAgaWYgKHBvc2l0aW9uPy5vZmZzZXRZKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WSA9IHBvc2l0aW9uLm9mZnNldFkgPCAwID8gLW9wdGlvbnMuaW5kZW50IDogb3B0aW9ucy5pbmRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocG9zaXRpb24/Lm9mZnNldFgpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi5vZmZzZXRYID0gcG9zaXRpb24ub2Zmc2V0WCA8IDAgPyAtb3B0aW9ucy5pbmRlbnQgOiBvcHRpb25zLmluZGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBASW5wdXQoJ2RyVG9vbHRpcFNob3cnKVxuICAgIHNldCBzaG93VG9vbHRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1hbnVhbEhhbmRsaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgb3B0aW9ucztcbiAgICBwcml2YXRlIG1hbnVhbEhhbmRsaW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgdG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gICAgcHJpdmF0ZSBtb3VzZWVudGVyVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IHNvbHV0aW9uLiBsaW5lIDE2MiBkb2Vzbid0IHN0b3AgZnVuY3Rpb24gZXhlY3V0aW9uXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgc2hvdygpIHtcbiAgICAgICAgaWYgKHRoaXMubWFudWFsSGFuZGxpbmcgfHwgdGhpcy5vdmVybGF5UmVmKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMuZHJUb29sdGlwTW91c2VFbnRlclRpbWVvdXQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJNb3VzZUVudGVyVGltZW91dCgpO1xuXG4gICAgICAgICAgICB0aGlzLm1vdXNlZW50ZXJUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyVG9vbHRpcCgpO1xuICAgICAgICAgICAgfSwgdGhpcy5kclRvb2x0aXBNb3VzZUVudGVyVGltZW91dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIGhpZGUoKSB7XG4gICAgICAgIHRoaXMuY2xlYXJNb3VzZUVudGVyVGltZW91dCgpO1xuICAgICAgICBpZiAodGhpcy5tYW51YWxIYW5kbGluZyB8fCAhdGhpcy50b29sdGlwUmVmIHx8IHRoaXMudG9vbHRpcFJlZj8uaW5zdGFuY2UuaXNNb3VzZU9uJC5nZXRWYWx1ZSgpKSByZXR1cm47XG5cbiAgICAgICAgLy8gaWYgdGhpcyB0aW1lb3V0IHZhbHVlIGlzIHNldCAtIHRoZW4gcHJlc2VydmVcbiAgICAgICAgLy8gdG9vbHRpcCBmcm9tIGJlaW5nIGhpZGRlbiBOIG1pbGxpc2Vjb25kcyBhbmQgbm90IGhpZGluZyBpdFxuICAgICAgICAvLyBpbiBjYXNlIG1vdXNlIGlzIHBvaW50ZWQgb24gdG9vbHRpcFxuICAgICAgICBpZiAodGhpcy5kclRvb2x0aXBNb3VzbGVhdmVUaW1lb3V0KSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlbGVhdmVUaW1lcikge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlbGVhdmVUaW1lcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubW91c2VsZWF2ZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudG9vbHRpcFJlZiAmJiAhdGhpcy50b29sdGlwUmVmPy5pbnN0YW5jZS5pc01vdXNlT24kLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMuZHJUb29sdGlwTW91c2xlYXZlVGltZW91dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpLndpdGhQb3NpdGlvbnMoW3RoaXMub3ZlcmxheVBvc2l0aW9uXSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3kgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0gdGhpcy5jb250ZW50Q29udGV4dDtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2Uub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jbGFzcyA9IHRoaXMuY2xhc3MgKyAnICcgKyB0aGlzLnBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnRoZW1lID0gdGhpcy50aGVtZTtcblxuICAgICAgICAgICAgdGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5pc01vdXNlT24kLnBpcGUoc2tpcCgxKSkuc3Vic2NyaWJlKChpc01vdXNlT246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzTW91c2VPbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJNb3VzZUVudGVyVGltZW91dCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91c2VlbnRlclRpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tb3VzZWVudGVyVGltZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUUxRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBSzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQVdELElBQ0ksZ0JBQWdCLENBQUMsT0FBWTtRQUM3QixJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDakIsTUFBTSxR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UUFDMUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO2tJQXRLUSxrQkFBa0I7c0hBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtpQkFDMUI7NEpBR0csT0FBTztzQkFETixLQUFLO3VCQUFDLFdBQVc7Z0JBR2xCLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBSWQsUUFBUTtzQkFEbEIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBUzFCLEtBQUs7c0JBREosS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSXZCLEtBQUs7c0JBREosS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWQseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFHRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBZ0JGLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxlQUFlO2dCQTJDdEIsSUFBSTtzQkFESCxZQUFZO3VCQUFDLFlBQVk7Z0JBZ0IxQixJQUFJO3NCQURILFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2RyLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBPUFVQX1BPU0lUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG9vbHRpcFRoZW1lIH0gZnJvbSAnLi9lbnVtcy90b29sdGlwLXRoZW1lLmVudW0nO1xuXG5jb25zdCBnZXRPdmVybGF5UG9zaXRpb24gPSAocG9zaXRpb24pID0+ICh7IC4uLlBPUFVQX1BPU0lUSU9OU1twb3NpdGlvbl0gfSk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyVG9vbHRpcF0nLFxufSlcbmV4cG9ydCBjbGFzcyBEclRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgnZHJUb29sdGlwJylcbiAgICBjb250ZW50OiBhbnk7XG4gICAgQElucHV0KCdkclRvb2x0aXBDb250ZXh0JylcbiAgICBjb250ZW50Q29udGV4dCA9IHt9O1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uID0gJ3RvcCc7XG4gICAgQElucHV0KCdkclRvb2x0aXBQb3NpdGlvbicpXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gdmFsdWU7XG4gICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCdkclRvb2x0aXBDbGFzcycpXG4gICAgY2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgnZHJUb29sdGlwVGhlbWUnKVxuICAgIHRoZW1lOiBUb29sdGlwVGhlbWUgPSBUb29sdGlwVGhlbWUuTElHSFQ7XG5cbiAgICAvLyBpcyB1c2VkIGZvciBwcmVzZXJ2ZSB0b29sdGlwIGZyb20gYmVpbmcgaGlkZGVuIGZvciBOIG1pbGxpc2Vjb25kc1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNsZWF2ZVRpbWVvdXQgPSAwO1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyVG9vbHRpcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgICAgIGlmIChvcHRpb25zPy5pbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuICAgICAgICAgICAgaWYgKHBvc2l0aW9uPy5vZmZzZXRZKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WSA9IHBvc2l0aW9uLm9mZnNldFkgPCAwID8gLW9wdGlvbnMuaW5kZW50IDogb3B0aW9ucy5pbmRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocG9zaXRpb24/Lm9mZnNldFgpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi5vZmZzZXRYID0gcG9zaXRpb24ub2Zmc2V0WCA8IDAgPyAtb3B0aW9ucy5pbmRlbnQgOiBvcHRpb25zLmluZGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBASW5wdXQoJ2RyVG9vbHRpcFNob3cnKVxuICAgIHNldCBzaG93VG9vbHRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1hbnVhbEhhbmRsaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgb3B0aW9ucztcbiAgICBwcml2YXRlIG1hbnVhbEhhbmRsaW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgdG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gICAgcHJpdmF0ZSBtb3VzZWVudGVyVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IFRlbXBvcmFyeSBzb2x1dGlvbi4gbGluZSAxNjIgZG9lc24ndCBzdG9wIGZ1bmN0aW9uIGV4ZWN1dGlvblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHNob3coKSB7XG4gICAgICAgIGlmICh0aGlzLm1hbnVhbEhhbmRsaW5nIHx8IHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLmRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0KSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyTW91c2VFbnRlclRpbWVvdXQoKTtcblxuICAgICAgICAgICAgdGhpcy5tb3VzZWVudGVyVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgICAgIH0sIHRoaXMuZHJUb29sdGlwTW91c2VFbnRlclRpbWVvdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBoaWRlKCkge1xuICAgICAgICB0aGlzLmNsZWFyTW91c2VFbnRlclRpbWVvdXQoKTtcbiAgICAgICAgaWYgKHRoaXMubWFudWFsSGFuZGxpbmcgfHwgIXRoaXMudG9vbHRpcFJlZiB8fCB0aGlzLnRvb2x0aXBSZWY/Lmluc3RhbmNlLmlzTW91c2VPbiQuZ2V0VmFsdWUoKSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIGlmIHRoaXMgdGltZW91dCB2YWx1ZSBpcyBzZXQgLSB0aGVuIHByZXNlcnZlXG4gICAgICAgIC8vIHRvb2x0aXAgZnJvbSBiZWluZyBoaWRkZW4gTiBtaWxsaXNlY29uZHMgYW5kIG5vdCBoaWRpbmcgaXRcbiAgICAgICAgLy8gaW4gY2FzZSBtb3VzZSBpcyBwb2ludGVkIG9uIHRvb2x0aXBcbiAgICAgICAgaWYgKHRoaXMuZHJUb29sdGlwTW91c2xlYXZlVGltZW91dCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW91c2VsZWF2ZVRpbWVyKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VsZWF2ZVRpbWVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5tb3VzZWxlYXZlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50b29sdGlwUmVmICYmICF0aGlzLnRvb2x0aXBSZWY/Lmluc3RhbmNlLmlzTW91c2VPbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5kclRvb2x0aXBNb3VzbGVhdmVUaW1lb3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3RoaXMub3ZlcmxheVBvc2l0aW9uXSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3kgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0gdGhpcy5jb250ZW50Q29udGV4dDtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2Uub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jbGFzcyA9IHRoaXMuY2xhc3MgKyAnICcgKyB0aGlzLnBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnRoZW1lID0gdGhpcy50aGVtZTtcblxuICAgICAgICAgICAgdGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5pc01vdXNlT24kXG4gICAgICAgICAgICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc01vdXNlT246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc01vdXNlT24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95VG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyTW91c2VFbnRlclRpbWVvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vdXNlZW50ZXJUaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VlbnRlclRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -13,17 +13,15 @@ const TOOLTIP_COMPONENTS = [
|
|
|
13
13
|
TooltipInfoComponent,
|
|
14
14
|
TooltipInfoSimpleComponent,
|
|
15
15
|
TooltipNoBodyComponent,
|
|
16
|
-
TooltipProcessDefaultComponent
|
|
16
|
+
TooltipProcessDefaultComponent,
|
|
17
17
|
];
|
|
18
18
|
export class DrTooltipModule {
|
|
19
19
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrTooltipModule, declarations: [TooltipComponent,
|
|
21
|
-
DrTooltipDirective, TooltipDefaultComponent,
|
|
20
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrTooltipModule, declarations: [TooltipComponent, DrTooltipDirective, TooltipDefaultComponent,
|
|
22
21
|
TooltipInfoComponent,
|
|
23
22
|
TooltipInfoSimpleComponent,
|
|
24
23
|
TooltipNoBodyComponent,
|
|
25
|
-
TooltipProcessDefaultComponent], imports: [CommonModule], exports: [TooltipComponent,
|
|
26
|
-
DrTooltipDirective, TooltipDefaultComponent,
|
|
24
|
+
TooltipProcessDefaultComponent], imports: [CommonModule], exports: [TooltipComponent, DrTooltipDirective, TooltipDefaultComponent,
|
|
27
25
|
TooltipInfoComponent,
|
|
28
26
|
TooltipInfoSimpleComponent,
|
|
29
27
|
TooltipNoBodyComponent,
|
|
@@ -33,20 +31,10 @@ export class DrTooltipModule {
|
|
|
33
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrTooltipModule, decorators: [{
|
|
34
32
|
type: NgModule,
|
|
35
33
|
args: [{
|
|
36
|
-
imports: [
|
|
37
|
-
|
|
38
|
-
],
|
|
39
|
-
exports: [
|
|
40
|
-
TooltipComponent,
|
|
41
|
-
DrTooltipDirective,
|
|
42
|
-
...TOOLTIP_COMPONENTS
|
|
43
|
-
],
|
|
34
|
+
imports: [CommonModule],
|
|
35
|
+
exports: [TooltipComponent, DrTooltipDirective, ...TOOLTIP_COMPONENTS],
|
|
44
36
|
providers: [],
|
|
45
|
-
declarations: [
|
|
46
|
-
TooltipComponent,
|
|
47
|
-
DrTooltipDirective,
|
|
48
|
-
...TOOLTIP_COMPONENTS
|
|
49
|
-
],
|
|
37
|
+
declarations: [TooltipComponent, DrTooltipDirective, ...TOOLTIP_COMPONENTS],
|
|
50
38
|
}]
|
|
51
39
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUVqRyxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0Qiw4QkFBOEI7Q0FDakMsQ0FBQztBQVFGLE1BQU0sT0FBTyxlQUFlO2tJQUFmLGVBQWU7bUlBQWYsZUFBZSxpQkFGVCxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFYbkQsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsc0JBQXNCO1lBQ3RCLDhCQUE4QixhQUlwQixZQUFZLGFBQ1osZ0JBQWdCLEVBQUUsa0JBQWtCLEVBVDlDLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0Qiw4QkFBOEI7bUlBU3JCLGVBQWUsWUFMZCxZQUFZOzs0RkFLYixlQUFlO2tCQU4zQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQztvQkFDdEUsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQztpQkFDOUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9kci10b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9kci10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVG9vbHRpcEluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcEluZm9TaW1wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvLXNpbXBsZS90b29sdGlwLWluZm8tc2ltcGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwTm9Cb2R5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAtbm8tYm9keS90b29sdGlwLW5vLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBQcm9jZXNzRGVmYXVsdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcERlZmF1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC1kZWZhdWx0L3Rvb2x0aXAtZGVmYXVsdC5jb21wb25lbnQnO1xuXG5jb25zdCBUT09MVElQX0NPTVBPTkVOVFMgPSBbXG4gICAgVG9vbHRpcERlZmF1bHRDb21wb25lbnQsXG4gICAgVG9vbHRpcEluZm9Db21wb25lbnQsXG4gICAgVG9vbHRpcEluZm9TaW1wbGVDb21wb25lbnQsXG4gICAgVG9vbHRpcE5vQm9keUNvbXBvbmVudCxcbiAgICBUb29sdGlwUHJvY2Vzc0RlZmF1bHRDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtUb29sdGlwQ29tcG9uZW50LCBEclRvb2x0aXBEaXJlY3RpdmUsIC4uLlRPT0xUSVBfQ09NUE9ORU5UU10sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUb29sdGlwQ29tcG9uZW50LCBEclRvb2x0aXBEaXJlY3RpdmUsIC4uLlRPT0xUSVBfQ09NUE9ORU5UU10sXG59KVxuZXhwb3J0IGNsYXNzIERyVG9vbHRpcE1vZHVsZSB7fVxuIl19
|
|
@@ -20,12 +20,12 @@ class FilterTreeviewItem extends TreeviewItem {
|
|
|
20
20
|
disabled: item.disabled,
|
|
21
21
|
checked: item.checked,
|
|
22
22
|
collapsed: item.collapsed,
|
|
23
|
-
children: item.children
|
|
23
|
+
children: item.children,
|
|
24
24
|
});
|
|
25
25
|
this.refItem = item;
|
|
26
26
|
}
|
|
27
27
|
updateRefChecked() {
|
|
28
|
-
this.children.forEach(child => {
|
|
28
|
+
this.children.forEach((child) => {
|
|
29
29
|
if (child instanceof FilterTreeviewItem) {
|
|
30
30
|
child.updateRefChecked();
|
|
31
31
|
}
|
|
@@ -73,7 +73,7 @@ export class TreeviewComponent {
|
|
|
73
73
|
}
|
|
74
74
|
onAllCollapseExpand() {
|
|
75
75
|
this.allItem.collapsed = !this.allItem.collapsed;
|
|
76
|
-
this.filterItems.forEach(item => item.setCollapsedRecursive(this.allItem.collapsed));
|
|
76
|
+
this.filterItems.forEach((item) => item.setCollapsedRecursive(this.allItem.collapsed));
|
|
77
77
|
}
|
|
78
78
|
onFilterTextChange(text) {
|
|
79
79
|
this.filterText = text;
|
|
@@ -82,7 +82,7 @@ export class TreeviewComponent {
|
|
|
82
82
|
}
|
|
83
83
|
onAllCheckedChange() {
|
|
84
84
|
const checked = this.allItem.checked;
|
|
85
|
-
this.filterItems.forEach(item => {
|
|
85
|
+
this.filterItems.forEach((item) => {
|
|
86
86
|
item.setCheckedRecursive(checked);
|
|
87
87
|
if (item instanceof FilterTreeviewItem) {
|
|
88
88
|
item.updateRefChecked();
|
|
@@ -110,7 +110,7 @@ export class TreeviewComponent {
|
|
|
110
110
|
item: this.allItem,
|
|
111
111
|
onCheckedChange: () => this.onAllCheckedChange(),
|
|
112
112
|
onCollapseExpand: () => this.onAllCollapseExpand(),
|
|
113
|
-
onFilterTextChange: (text) => this.onFilterTextChange(text)
|
|
113
|
+
onFilterTextChange: (text) => this.onFilterTextChange(text),
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
116
|
generateSelection() {
|
|
@@ -123,14 +123,14 @@ export class TreeviewComponent {
|
|
|
123
123
|
}
|
|
124
124
|
this.selection = {
|
|
125
125
|
checkedItems,
|
|
126
|
-
uncheckedItems
|
|
126
|
+
uncheckedItems,
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
updateFilterItems() {
|
|
130
130
|
if (this.filterText !== '') {
|
|
131
131
|
const filterItems = [];
|
|
132
132
|
const filterText = this.filterText.toLowerCase();
|
|
133
|
-
this.items.forEach(item => {
|
|
133
|
+
this.items.forEach((item) => {
|
|
134
134
|
const newItem = this.filterItem(item, filterText);
|
|
135
135
|
if (!isNil(newItem)) {
|
|
136
136
|
filterItems.push(newItem);
|
|
@@ -151,7 +151,7 @@ export class TreeviewComponent {
|
|
|
151
151
|
else {
|
|
152
152
|
if (!isNil(item.children)) {
|
|
153
153
|
const children = [];
|
|
154
|
-
item.children.forEach(child => {
|
|
154
|
+
item.children.forEach((child) => {
|
|
155
155
|
const newChild = this.filterItem(child, filterText);
|
|
156
156
|
if (!isNil(newChild)) {
|
|
157
157
|
children.push(newChild);
|
|
@@ -194,11 +194,11 @@ export class TreeviewComponent {
|
|
|
194
194
|
this.allItem.collapsed = !hasItemExpanded;
|
|
195
195
|
}
|
|
196
196
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeviewComponent, deps: [{ token: i1.TreeviewI18n }, { token: i2.TreeviewConfig }, { token: i3.TreeviewEventParser }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeviewComponent, selector: "ngx-treeview", inputs: { headerTemplate: "headerTemplate", itemTemplate: "itemTemplate", items: "items", config: "config" }, outputs: { selectedChange: "selectedChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"
|
|
197
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeviewComponent, selector: "ngx-treeview", inputs: { headerTemplate: "headerTemplate", itemTemplate: "itemTemplate", items: "items", config: "config" }, outputs: { selectedChange: "selectedChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\" let-onCheckedChange=\"onCheckedChange\">\n <div class=\"form-inline row-item\">\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg\n *ngSwitchCase=\"true\"\n width=\"0.8rem\"\n height=\"0.8rem\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-caret-right-fill\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\" />\n </svg>\n <svg\n *ngSwitchCase=\"false\"\n width=\"0.8rem\"\n height=\"0.8rem\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-caret-down-fill\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg>\n </i>\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [(ngModel)]=\"item.checked\"\n (ngModelChange)=\"onCheckedChange()\"\n [disabled]=\"item.disabled\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{ item.text }}\n </label>\n </div>\n </div>\n</ng-template>\n<ng-template\n #defaultHeaderTemplate\n let-config=\"config\"\n let-item=\"item\"\n let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\"\n let-onFilterTextChange=\"onFilterTextChange\">\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\n <div class=\"col-12\">\n <input\n class=\"form-control\"\n type=\"text\"\n [placeholder]=\"i18n.getFilterPlaceholder()\"\n [(ngModel)]=\"filterText\"\n (ngModelChange)=\"onFilterTextChange($event)\" />\n </div>\n </div>\n <div *ngIf=\"hasFilterItems\">\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row row-all\">\n <div class=\"col-12\">\n <div class=\"form-check form-check-inline\" *ngIf=\"config.hasAllCheckBox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [(ngModel)]=\"item.checked\"\n (ngModelChange)=\"onCheckedChange()\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{ i18n.getAllCheckboxText() }}\n </label>\n </div>\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right form-check-label\" (click)=\"onCollapseExpand()\">\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg\n *ngSwitchCase=\"true\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-arrows-angle-expand\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n d=\"M1.5 10.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M6.354 9.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm8.5-8.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M10.036 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0V2h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n <svg\n *ngSwitchCase=\"false\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-arrows-angle-contract\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n d=\"M9.5 2.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M14.354 1.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 1 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm-7.5 7.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M2.036 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V10h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n </i>\n </label>\n </div>\n </div>\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\"></div>\n </div>\n</ng-template>\n<div class=\"treeview-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate || defaultHeaderTemplate\" [ngTemplateOutletContext]=\"headerTemplateContext\">\n </ng-template>\n</div>\n<div [ngSwitch]=\"hasFilterItems\">\n <div *ngSwitchCase=\"true\" class=\"treeview-container\" [style.max-height.px]=\"maxHeight\">\n <ngx-treeview-item\n *ngFor=\"let item of filterItems\"\n [config]=\"config\"\n [item]=\"item\"\n [template]=\"itemTemplate || defaultItemTemplate\"\n (checkedChange)=\"onItemCheckedChange(item, $event)\">\n </ngx-treeview-item>\n </div>\n <div *ngSwitchCase=\"false\" class=\"treeview-text\">\n {{ i18n.getFilterNoItemsFoundText() }}\n </div>\n</div>\n", styles: [":host .treeview-header .row-filter{margin-bottom:.5rem}:host .treeview-header .row-all .bi{cursor:pointer}:host .treeview-container .row-item{margin-bottom:.3rem;flex-wrap:nowrap}:host .treeview-container .row-item .bi{cursor:pointer;margin-right:.3rem}.treeview-container{overflow-y:auto;padding-right:.3rem}.treeview-text{padding:.3rem 0;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.TreeviewItemComponent, selector: "ngx-treeview-item", inputs: ["config", "template", "item"], outputs: ["checkedChange"] }] }); }
|
|
198
198
|
}
|
|
199
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeviewComponent, decorators: [{
|
|
200
200
|
type: Component,
|
|
201
|
-
args: [{ selector: 'ngx-treeview', template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"
|
|
201
|
+
args: [{ selector: 'ngx-treeview', template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\" let-onCheckedChange=\"onCheckedChange\">\n <div class=\"form-inline row-item\">\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg\n *ngSwitchCase=\"true\"\n width=\"0.8rem\"\n height=\"0.8rem\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-caret-right-fill\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\" />\n </svg>\n <svg\n *ngSwitchCase=\"false\"\n width=\"0.8rem\"\n height=\"0.8rem\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-caret-down-fill\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg>\n </i>\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [(ngModel)]=\"item.checked\"\n (ngModelChange)=\"onCheckedChange()\"\n [disabled]=\"item.disabled\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{ item.text }}\n </label>\n </div>\n </div>\n</ng-template>\n<ng-template\n #defaultHeaderTemplate\n let-config=\"config\"\n let-item=\"item\"\n let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\"\n let-onFilterTextChange=\"onFilterTextChange\">\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\n <div class=\"col-12\">\n <input\n class=\"form-control\"\n type=\"text\"\n [placeholder]=\"i18n.getFilterPlaceholder()\"\n [(ngModel)]=\"filterText\"\n (ngModelChange)=\"onFilterTextChange($event)\" />\n </div>\n </div>\n <div *ngIf=\"hasFilterItems\">\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row row-all\">\n <div class=\"col-12\">\n <div class=\"form-check form-check-inline\" *ngIf=\"config.hasAllCheckBox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [(ngModel)]=\"item.checked\"\n (ngModelChange)=\"onCheckedChange()\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{ i18n.getAllCheckboxText() }}\n </label>\n </div>\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right form-check-label\" (click)=\"onCollapseExpand()\">\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg\n *ngSwitchCase=\"true\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-arrows-angle-expand\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n d=\"M1.5 10.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M6.354 9.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm8.5-8.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M10.036 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0V2h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n <svg\n *ngSwitchCase=\"false\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n class=\"bi bi-arrows-angle-contract\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n d=\"M9.5 2.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M14.354 1.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 1 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm-7.5 7.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path\n fill-rule=\"evenodd\"\n d=\"M2.036 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V10h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n </i>\n </label>\n </div>\n </div>\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\"></div>\n </div>\n</ng-template>\n<div class=\"treeview-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate || defaultHeaderTemplate\" [ngTemplateOutletContext]=\"headerTemplateContext\">\n </ng-template>\n</div>\n<div [ngSwitch]=\"hasFilterItems\">\n <div *ngSwitchCase=\"true\" class=\"treeview-container\" [style.max-height.px]=\"maxHeight\">\n <ngx-treeview-item\n *ngFor=\"let item of filterItems\"\n [config]=\"config\"\n [item]=\"item\"\n [template]=\"itemTemplate || defaultItemTemplate\"\n (checkedChange)=\"onItemCheckedChange(item, $event)\">\n </ngx-treeview-item>\n </div>\n <div *ngSwitchCase=\"false\" class=\"treeview-text\">\n {{ i18n.getFilterNoItemsFoundText() }}\n </div>\n</div>\n", styles: [":host .treeview-header .row-filter{margin-bottom:.5rem}:host .treeview-header .row-all .bi{cursor:pointer}:host .treeview-container .row-item{margin-bottom:.3rem;flex-wrap:nowrap}:host .treeview-container .row-item .bi{cursor:pointer;margin-right:.3rem}.treeview-container{overflow-y:auto;padding-right:.3rem}.treeview-text{padding:.3rem 0;white-space:nowrap}\n"] }]
|
|
202
202
|
}], ctorParameters: function () { return [{ type: i1.TreeviewI18n }, { type: i2.TreeviewConfig }, { type: i3.TreeviewEventParser }]; }, propDecorators: { headerTemplate: [{
|
|
203
203
|
type: Input
|
|
204
204
|
}], itemTemplate: [{
|
|
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
212
212
|
}], filterChange: [{
|
|
213
213
|
type: Output
|
|
214
214
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQUUxRSxNQUFNLGtCQUFtQixTQUFRLFlBQVk7SUFFM0MsWUFBWSxJQUFrQjtRQUM1QixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxF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SyxJQUFJLEVBQUU7Z0JBQ3hCLFdBQVcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO2FBQ2xDO2lCQUFNLElBQUksV0FBVyxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQzdDLFdBQVcsR0FBRyxTQUFTLENBQUM7Z0JBQ3hCLE1BQU07YUFDUDtTQUNGO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDckI7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDNUIsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUN6QixlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixNQUFNO2FBQ1A7U0FDRjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsZUFBZSxDQUFDO0lBQzVDLENBQUM7a0lBcExVLGlCQUFpQjtzSEFBakIsaUJBQWlCLG9RQ2pEOUIsaW1LQW9GQTs7NEZEbkNhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO2tLQUtmLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIFRlbXBsYXRlUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsLCBpbmNsdWRlcyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUcmVldmlld0kxOG4gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaTE4bic7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW0sIFRyZWV2aWV3U2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWl0ZW0nO1xuaW1wb3J0IHsgVHJlZXZpZXdDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctY29uZmlnJztcbmltcG9ydCB7IFRyZWV2aWV3SGVhZGVyVGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWhlYWRlci10ZW1wbGF0ZS1jb250ZXh0JztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbVRlbXBsYXRlQ29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1pdGVtLXRlbXBsYXRlLWNvbnRleHQnO1xuaW1wb3J0IHsgVHJlZXZpZXdIZWxwZXIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3RyZWV2aWV3LWhlbHBlcic7XG5pbXBvcnQgeyBUcmVldmlld0V2ZW50UGFyc2VyIH0gZnJvbSAnLi4vLi4vaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXInO1xuXG5jbGFzcyBGaWx0ZXJUcmVldmlld0l0ZW0gZXh0ZW5kcyBUcmVldmlld0l0ZW0ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlZkl0ZW06IFRyZWV2aWV3SXRlbTtcbiAgY29uc3RydWN0b3IoaXRlbTogVHJlZXZpZXdJdGVtKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGV4dDogaXRlbS50ZXh0LFxuICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCxcbiAgICAgIGNoZWNrZWQ6IGl0ZW0uY2hlY2tlZCxcbiAgICAgIGNvbGxhcHNlZDogaXRlbS5jb2xsYXBzZWQsXG4gICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlblxuICAgIH0pO1xuICAgIHRoaXMucmVmSXRlbSA9IGl0ZW07XG4gIH1cblxuICB1cGRhdGVSZWZDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgY2hpbGQudXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGV0IHJlZkNoZWNrZWQgPSB0aGlzLmNoZWNrZWQ7XG4gICAgaWYgKHJlZkNoZWNrZWQpIHtcbiAgICAgIGZvciAoY29uc3QgcmVmQ2hpbGQgb2YgdGhpcy5yZWZJdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIGlmICghcmVmQ2hpbGQuY2hlY2tlZCkge1xuICAgICAgICAgIHJlZkNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnJlZkl0ZW0uY2hlY2tlZCA9IHJlZkNoZWNrZWQ7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXRyZWV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFRyZWV2aWV3SGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUcmVldmlld0l0ZW1UZW1wbGF0ZUNvbnRleHQ+O1xuICBASW5wdXQoKSBpdGVtczogVHJlZXZpZXdJdGVtW107XG4gIEBJbnB1dCgpIGNvbmZpZzogVHJlZXZpZXdDb25maWc7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgaGVhZGVyVGVtcGxhdGVDb250ZXh0OiBUcmVldmlld0hlYWRlclRlbXBsYXRlQ29udGV4dDtcbiAgYWxsSXRlbTogVHJlZXZpZXdJdGVtO1xuICBmaWx0ZXJUZXh0ID0gJyc7XG4gIGZpbHRlckl0ZW1zOiBUcmVldmlld0l0ZW1bXTtcbiAgc2VsZWN0aW9uOiBUcmVldmlld1NlbGVjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaTE4bjogVHJlZXZpZXdJMThuLFxuICAgIHByaXZhdGUgZGVmYXVsdENvbmZpZzogVHJlZXZpZXdDb25maWcsXG4gICAgcHJpdmF0ZSBldmVudFBhcnNlcjogVHJlZXZpZXdFdmVudFBhcnNlclxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgICB0aGlzLmFsbEl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHsgdGV4dDogJ0FsbCcsIHZhbHVlOiB1bmRlZmluZWQgfSk7XG4gIH1cblxuICBnZXQgaGFzRmlsdGVySXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpc05pbCh0aGlzLmZpbHRlckl0ZW1zKSAmJiB0aGlzLmZpbHRlckl0ZW1zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgbWF4SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLm1heEhlaWdodH1gO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVIZWFkZXJUZW1wbGF0ZUNvbnRleHQoKTtcbiAgICB0aGlzLmdlbmVyYXRlU2VsZWN0aW9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXNTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLml0ZW1zO1xuICAgIGlmICghaXNOaWwoaXRlbXNTaW1wbGVDaGFuZ2UpICYmICFpc05pbCh0aGlzLml0ZW1zKSkge1xuICAgICAgdGhpcy51cGRhdGVGaWx0ZXJJdGVtcygpO1xuICAgICAgdGhpcy51cGRhdGVDb2xsYXBzZWRPZkFsbCgpO1xuICAgICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgb25BbGxDb2xsYXBzZUV4cGFuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbEl0ZW0uY29sbGFwc2VkID0gIXRoaXMuYWxsSXRlbS5jb2xsYXBzZWQ7XG4gICAgdGhpcy5maWx0ZXJJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZXRDb2xsYXBzZWRSZWN1cnNpdmUodGhpcy5hbGxJdGVtLmNvbGxhcHNlZCkpO1xuICB9XG5cbiAgb25GaWx0ZXJUZXh0Q2hhbmdlKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyVGV4dCA9IHRleHQ7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0ZXh0KTtcbiAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zKCk7XG4gIH1cblxuICBvbkFsbENoZWNrZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hlY2tlZCA9IHRoaXMuYWxsSXRlbS5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVySXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGl0ZW0uc2V0Q2hlY2tlZFJlY3Vyc2l2ZShjaGVja2VkKTtcbiAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgRmlsdGVyVHJlZXZpZXdJdGVtKSB7XG4gICAgICAgIGl0ZW0udXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gIH1cblxuICBvbkl0ZW1DaGVja2VkQ2hhbmdlKGl0ZW06IFRyZWV2aWV3SXRlbSwgY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgRmlsdGVyVHJlZXZpZXdJdGVtKSB7XG4gICAgICBpdGVtLnVwZGF0ZVJlZkNoZWNrZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUNoZWNrZWRPZkFsbCgpO1xuICAgIHRoaXMucmFpc2VTZWxlY3RlZENoYW5nZSgpO1xuICB9XG5cbiAgcmFpc2VTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlU2VsZWN0aW9uKCk7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5ldmVudFBhcnNlci5nZXRTZWxlY3RlZENoYW5nZSh0aGlzKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIZWFkZXJUZW1wbGF0ZUNvbnRleHQoKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJUZW1wbGF0ZUNvbnRleHQgPSB7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgaXRlbTogdGhpcy5hbGxJdGVtLFxuICAgICAgb25DaGVja2VkQ2hhbmdlOiAoKSA9PiB0aGlzLm9uQWxsQ2hlY2tlZENoYW5nZSgpLFxuICAgICAgb25Db2xsYXBzZUV4cGFuZDogKCkgPT4gdGhpcy5vbkFsbENvbGxhcHNlRXhwYW5kKCksXG4gICAgICBvbkZpbHRlclRleHRDaGFuZ2U6ICh0ZXh0KSA9PiB0aGlzLm9uRmlsdGVyVGV4dENoYW5nZSh0ZXh0KVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGxldCBjaGVja2VkSXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgbGV0IHVuY2hlY2tlZEl0ZW1zOiBUcmVldmlld0l0ZW1bXSA9IFtdO1xuICAgIGlmICghaXNOaWwodGhpcy5pdGVtcykpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IFRyZWV2aWV3SGVscGVyLmNvbmNhdFNlbGVjdGlvbih0aGlzLml0ZW1zLCBjaGVja2VkSXRlbXMsIHVuY2hlY2tlZEl0ZW1zKTtcbiAgICAgIGNoZWNrZWRJdGVtcyA9IHNlbGVjdGlvbi5jaGVja2VkO1xuICAgICAgdW5jaGVja2VkSXRlbXMgPSBzZWxlY3Rpb24udW5jaGVja2VkO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0aW9uID0ge1xuICAgICAgY2hlY2tlZEl0ZW1zLFxuICAgICAgdW5jaGVja2VkSXRlbXNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWx0ZXJJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0ZXJUZXh0ICE9PSAnJykge1xuICAgICAgY29uc3QgZmlsdGVySXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICBjb25zdCBmaWx0ZXJUZXh0ID0gdGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW0gPSB0aGlzLmZpbHRlckl0ZW0oaXRlbSwgZmlsdGVyVGV4dCk7XG4gICAgICAgIGlmICghaXNOaWwobmV3SXRlbSkpIHtcbiAgICAgICAgICBmaWx0ZXJJdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZmlsdGVySXRlbXMgPSBmaWx0ZXJJdGVtcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVDaGVja2VkT2ZBbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVySXRlbShpdGVtOiBUcmVldmlld0l0ZW0sIGZpbHRlclRleHQ6IHN0cmluZyk6IFRyZWV2aWV3SXRlbSB7XG4gICAgY29uc3QgaXNNYXRjaCA9IGluY2x1ZGVzKGl0ZW0udGV4dC50b0xvd2VyQ2FzZSgpLCBmaWx0ZXJUZXh0KTtcbiAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaXNOaWwoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW46IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3Q2hpbGQgPSB0aGlzLmZpbHRlckl0ZW0oY2hpbGQsIGZpbHRlclRleHQpO1xuICAgICAgICAgIGlmICghaXNOaWwobmV3Q2hpbGQpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKG5ld0NoaWxkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IG5ld0l0ZW0gPSBuZXcgRmlsdGVyVHJlZXZpZXdJdGVtKGl0ZW0pO1xuICAgICAgICAgIG5ld0l0ZW0uY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgbmV3SXRlbS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgICAgICAgIHJldHVybiBuZXdJdGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tlZE9mQWxsKCk6IHZvaWQge1xuICAgIGxldCBpdGVtQ2hlY2tlZDogYm9vbGVhbiA9IG51bGw7XG4gICAgZm9yIChjb25zdCBmaWx0ZXJJdGVtIG9mIHRoaXMuZmlsdGVySXRlbXMpIHtcbiAgICAgIGlmIChpdGVtQ2hlY2tlZCA9PT0gbnVsbCkge1xuICAgICAgICBpdGVtQ2hlY2tlZCA9IGZpbHRlckl0ZW0uY2hlY2tlZDtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbUNoZWNrZWQgIT09IGZpbHRlckl0ZW0uY2hlY2tlZCkge1xuICAgICAgICBpdGVtQ2hlY2tlZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGl0ZW1DaGVja2VkID09PSBudWxsKSB7XG4gICAgICBpdGVtQ2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuYWxsSXRlbS5jaGVja2VkID0gaXRlbUNoZWNrZWQ7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbGxhcHNlZE9mQWxsKCk6IHZvaWQge1xuICAgIGxldCBoYXNJdGVtRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGZpbHRlckl0ZW0gb2YgdGhpcy5maWx0ZXJJdGVtcykge1xuICAgICAgaWYgKCFmaWx0ZXJJdGVtLmNvbGxhcHNlZCkge1xuICAgICAgICBoYXNJdGVtRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFsbEl0ZW0uY29sbGFwc2VkID0gIWhhc0l0ZW1FeHBhbmRlZDtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbVRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIGxldC1vbkNvbGxhcHNlRXhwYW5kPVwib25Db2xsYXBzZUV4cGFuZFwiXG4gIGxldC1vbkNoZWNrZWRDaGFuZ2U9XCJvbkNoZWNrZWRDaGFuZ2VcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0taW5saW5lIHJvdy1pdGVtXCI+XG4gICAgPGkgKm5nSWY9XCJpdGVtLmNoaWxkcmVuXCIgKGNsaWNrKT1cIm9uQ29sbGFwc2VFeHBhbmQoKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtuZ1N3aXRjaF09XCJpdGVtLmNvbGxhcHNlZFwiPlxuICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIHdpZHRoPVwiMC44cmVtXCIgaGVpZ2h0PVwiMC44cmVtXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGNsYXNzPVwiYmkgYmktY2FyZXQtcmlnaHQtZmlsbFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xMi4xNCA4Ljc1M2wtNS40ODIgNC43OTZjLS42NDYuNTY2LTEuNjU4LjEwNi0xLjY1OC0uNzUzVjMuMjA0YTEgMSAwIDAgMSAxLjY1OS0uNzUzbDUuNDggNC43OTZhMSAxIDAgMCAxIDAgMS41MDZ6XCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiB3aWR0aD1cIjAuOHJlbVwiIGhlaWdodD1cIjAuOHJlbVwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBjbGFzcz1cImJpIGJpLWNhcmV0LWRvd24tZmlsbFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk03LjI0NyAxMS4xNEwyLjQ1MSA1LjY1OEMxLjg4NSA1LjAxMyAyLjM0NSA0IDMuMjA0IDRoOS41OTJhMSAxIDAgMCAxIC43NTMgMS42NTlsLTQuNzk2IDUuNDhhMSAxIDAgMCAxLTEuNTA2IDB6XCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvaT5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIFsobmdNb2RlbCldPVwiaXRlbS5jaGVja2VkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGVja2VkQ2hhbmdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIFtpbmRldGVybWluYXRlXT1cIml0ZW0uaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgKGNsaWNrKT1cIml0ZW0uY2hlY2tlZCA9ICFpdGVtLmNoZWNrZWQ7IG9uQ2hlY2tlZENoYW5nZSgpXCI+XG4gICAgICAgIHt7aXRlbS50ZXh0fX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlclRlbXBsYXRlIGxldC1jb25maWc9XCJjb25maWdcIiBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtb25Db2xsYXBzZUV4cGFuZD1cIm9uQ29sbGFwc2VFeHBhbmRcIlxuICBsZXQtb25DaGVja2VkQ2hhbmdlPVwib25DaGVja2VkQ2hhbmdlXCIgbGV0LW9uRmlsdGVyVGV4dENoYW5nZT1cIm9uRmlsdGVyVGV4dENoYW5nZVwiPlxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmhhc0ZpbHRlclwiIGNsYXNzPVwicm93IHJvdy1maWx0ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJpMThuLmdldEZpbHRlclBsYWNlaG9sZGVyKClcIiBbKG5nTW9kZWwpXT1cImZpbHRlclRleHRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlclRleHRDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiaGFzRmlsdGVySXRlbXNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmhhc0FsbENoZWNrQm94IHx8IGNvbmZpZy5oYXNDb2xsYXBzZUV4cGFuZFwiIGNsYXNzPVwicm93IHJvdy1hbGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIiAqbmdJZj1cImNvbmZpZy5oYXNBbGxDaGVja0JveFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBbKG5nTW9kZWwpXT1cIml0ZW0uY2hlY2tlZFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hlY2tlZENoYW5nZSgpXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIml0ZW0uaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIChjbGljayk9XCJpdGVtLmNoZWNrZWQgPSAhaXRlbS5jaGVja2VkOyBvbkNoZWNrZWRDaGFuZ2UoKVwiPlxuICAgICAgICAgICAge3tpMThuLmdldEFsbENoZWNrYm94VGV4dCgpfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29uZmlnLmhhc0NvbGxhcHNlRXhwYW5kXCIgY2xhc3M9XCJmbG9hdC1yaWdodCBmb3JtLWNoZWNrLWxhYmVsXCIgKGNsaWNrKT1cIm9uQ29sbGFwc2VFeHBhbmQoKVwiPlxuICAgICAgICAgIDxpIFt0aXRsZV09XCJpMThuLmdldFRvb2x0aXBDb2xsYXBzZUV4cGFuZFRleHQoaXRlbS5jb2xsYXBzZWQpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nU3dpdGNoXT1cIml0ZW0uY29sbGFwc2VkXCI+XG4gICAgICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgY2xhc3M9XCJiaSBiaS1hcnJvd3MtYW5nbGUtZXhwYW5kXCJcbiAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xLjUgMTAuMDM2YS41LjUgMCAwIDEgLjUuNXYzLjVoMy41YS41LjUgMCAwIDEgMCAxaC00YS41LjUgMCAwIDEtLjUtLjV2LTRhLjUuNSAwIDAgMSAuNS0uNXpcIiAvPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTYuMzU0IDkuNjQ2YS41LjUgMCAwIDEgMCAuNzA4bC00LjUgNC41YS41LjUgMCAwIDEtLjcwOC0uNzA4bDQuNS00LjVhLjUuNSAwIDAgMSAuNzA4IDB6bTguNS04LjVhLjUuNSAwIDAgMSAwIC43MDhsLTQuNSA0LjVhLjUuNSAwIDAgMS0uNzA4LS43MDhsNC41LTQuNWEuNS41IDAgMCAxIC43MDggMHpcIiAvPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTEwLjAzNiAxLjVhLjUuNSAwIDAgMSAuNS0uNWg0YS41LjUgMCAwIDEgLjUuNXY0YS41LjUgMCAxIDEtMSAwVjJoLTMuNWEuNS41IDAgMCAxLS41LS41elwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cImZhbHNlXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgY2xhc3M9XCJiaSBiaS1hcnJvd3MtYW5nbGUtY29udHJhY3RcIlxuICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTkuNSAyLjAzNmEuNS41IDAgMCAxIC41LjV2My41aDMuNWEuNS41IDAgMCAxIDAgMWgtNGEuNS41IDAgMCAxLS41LS41di00YS41LjUgMCAwIDEgLjUtLjV6XCIgLz5cbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xNC4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhsLTQuNSA0LjVhLjUuNSAwIDEgMS0uNzA4LS43MDhsNC41LTQuNWEuNS41IDAgMCAxIC43MDggMHptLTcuNSA3LjVhLjUuNSAwIDAgMSAwIC43MDhsLTQuNSA0LjVhLjUuNSAwIDAgMS0uNzA4LS43MDhsNC41LTQuNWEuNS41IDAgMCAxIC43MDggMHpcIiAvPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTIuMDM2IDkuNWEuNS41IDAgMCAxIC41LS41aDRhLjUuNSAwIDAgMSAuNS41djRhLjUuNSAwIDAgMS0xIDBWMTBoLTMuNWEuNS41IDAgMCAxLS41LS41elwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2k+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmhhc0RpdmlkZXJcIiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPGRpdiBjbGFzcz1cInRyZWV2aWV3LWhlYWRlclwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGUgfHwgZGVmYXVsdEhlYWRlclRlbXBsYXRlXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiaGVhZGVyVGVtcGxhdGVDb250ZXh0XCI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxkaXYgW25nU3dpdGNoXT1cImhhc0ZpbHRlckl0ZW1zXCI+XG4gIDxkaXYgKm5nU3dpdGNoQ2FzZT1cInRydWVcIiBjbGFzcz1cInRyZWV2aWV3LWNvbnRhaW5lclwiIFtzdHlsZS5tYXgtaGVpZ2h0LnB4XT1cIm1heEhlaWdodFwiPlxuICAgIDxuZ3gtdHJlZXZpZXctaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJJdGVtc1wiIFtjb25maWddPVwiY29uZmlnXCIgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbdGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGVcIiAoY2hlY2tlZENoYW5nZSk9XCJvbkl0ZW1DaGVja2VkQ2hhbmdlKGl0ZW0sICRldmVudClcIj5cbiAgICA8L25neC10cmVldmlldy1pdGVtPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiBjbGFzcz1cInRyZWV2aWV3LXRleHRcIj5cbiAgICB7e2kxOG4uZ2V0RmlsdGVyTm9JdGVtc0ZvdW5kVGV4dCgpfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQUUxRSxNQUFNLGtCQUFtQixTQUFRLFlBQVk7SUFFekMsWUFBWSxJQUFrQjtRQUMxQixLQUFLLENBQUM7WUFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxF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QUU7WUFDdkMsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN0QixXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQzthQUNwQztpQkFBTSxJQUFJLFdBQVcsS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUMzQyxXQUFXLEdBQUcsU0FBUyxDQUFDO2dCQUN4QixNQUFNO2FBQ1Q7U0FDSjtRQUVELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN0QixXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzVCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDdkIsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDdkIsTUFBTTthQUNUO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO2tJQXBMUSxpQkFBaUI7c0hBQWpCLGlCQUFpQixvUUNqRDlCLHl0TkFzSUE7OzRGRHJGYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYztrS0FLZixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCwgaW5jbHVkZXMgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVHJlZXZpZXdJMThuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWkxOG4nO1xuaW1wb3J0IHsgVHJlZXZpZXdJdGVtLCBUcmVldmlld1NlbGVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1pdGVtJztcbmltcG9ydCB7IFRyZWV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5pbXBvcnQgeyBUcmVldmlld0hlYWRlclRlbXBsYXRlQ29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1oZWFkZXItdGVtcGxhdGUtY29udGV4dCc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW1UZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcbmltcG9ydCB7IFRyZWV2aWV3SGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycy90cmVldmlldy1oZWxwZXInO1xuaW1wb3J0IHsgVHJlZXZpZXdFdmVudFBhcnNlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcblxuY2xhc3MgRmlsdGVyVHJlZXZpZXdJdGVtIGV4dGVuZHMgVHJlZXZpZXdJdGVtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZkl0ZW06IFRyZWV2aWV3SXRlbTtcbiAgICBjb25zdHJ1Y3RvcihpdGVtOiBUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgdGV4dDogaXRlbS50ZXh0LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgICAgIGNoZWNrZWQ6IGl0ZW0uY2hlY2tlZCxcbiAgICAgICAgICAgIGNvbGxhcHNlZDogaXRlbS5jb2xsYXBzZWQsXG4gICAgICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbixcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVmSXRlbSA9IGl0ZW07XG4gICAgfVxuXG4gICAgdXBkYXRlUmVmQ2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgRmlsdGVyVHJlZXZpZXdJdGVtKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQudXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgcmVmQ2hlY2tlZCA9IHRoaXMuY2hlY2tlZDtcbiAgICAgICAgaWYgKHJlZkNoZWNrZWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVmQ2hpbGQgb2YgdGhpcy5yZWZJdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWZDaGlsZC5jaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZkNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVmSXRlbS5jaGVja2VkID0gcmVmQ2hlY2tlZDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LXRyZWV2aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJlZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RyZWV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRyZWV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICAgIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUcmVldmlld0hlYWRlclRlbXBsYXRlQ29udGV4dD47XG4gICAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUcmVldmlld0l0ZW1UZW1wbGF0ZUNvbnRleHQ+O1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBUcmVldmlld0l0ZW1bXTtcbiAgICBASW5wdXQoKSBjb25maWc6IFRyZWV2aWV3Q29uZmlnO1xuICAgIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gICAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIGhlYWRlclRlbXBsYXRlQ29udGV4dDogVHJlZXZpZXdIZWFkZXJUZW1wbGF0ZUNvbnRleHQ7XG4gICAgYWxsSXRlbTogVHJlZXZpZXdJdGVtO1xuICAgIGZpbHRlclRleHQgPSAnJztcbiAgICBmaWx0ZXJJdGVtczogVHJlZXZpZXdJdGVtW107XG4gICAgc2VsZWN0aW9uOiBUcmVldmlld1NlbGVjdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaTE4bjogVHJlZXZpZXdJMThuLFxuICAgICAgICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFRyZWV2aWV3Q29uZmlnLFxuICAgICAgICBwcml2YXRlIGV2ZW50UGFyc2VyOiBUcmVldmlld0V2ZW50UGFyc2VyLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgICAgICAgdGhpcy5hbGxJdGVtID0gbmV3IFRyZWV2aWV3SXRlbSh7IHRleHQ6ICdBbGwnLCB2YWx1ZTogdW5kZWZpbmVkIH0pO1xuICAgIH1cblxuICAgIGdldCBoYXNGaWx0ZXJJdGVtcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFpc05pbCh0aGlzLmZpbHRlckl0ZW1zKSAmJiB0aGlzLmZpbHRlckl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IG1heEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5jb25maWcubWF4SGVpZ2h0fWA7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlSGVhZGVyVGVtcGxhdGVDb250ZXh0KCk7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVTZWxlY3Rpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5pdGVtcztcbiAgICAgICAgaWYgKCFpc05pbChpdGVtc1NpbXBsZUNoYW5nZSkgJiYgIWlzTmlsKHRoaXMuaXRlbXMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbGxhcHNlZE9mQWxsKCk7XG4gICAgICAgICAgICB0aGlzLnJhaXNlU2VsZWN0ZWRDaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQWxsQ29sbGFwc2VFeHBhbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5hbGxJdGVtLmNvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5maWx0ZXJJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLnNldENvbGxhcHNlZFJlY3Vyc2l2ZSh0aGlzLmFsbEl0ZW0uY29sbGFwc2VkKSk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJUZXh0Q2hhbmdlKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclRleHQgPSB0ZXh0O1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRleHQpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25BbGxDaGVja2VkQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjaGVja2VkID0gdGhpcy5hbGxJdGVtLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuZmlsdGVySXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5zZXRDaGVja2VkUmVjdXJzaXZlKGNoZWNrZWQpO1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnVwZGF0ZVJlZkNoZWNrZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2hlY2tlZENoYW5nZShpdGVtOiBUcmVldmlld0l0ZW0sIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW0udXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDaGVja2VkT2ZBbGwoKTtcbiAgICAgICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcmFpc2VTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmV2ZW50UGFyc2VyLmdldFNlbGVjdGVkQ2hhbmdlKHRoaXMpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUhlYWRlclRlbXBsYXRlQ29udGV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZUNvbnRleHQgPSB7XG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgICAgICAgaXRlbTogdGhpcy5hbGxJdGVtLFxuICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlOiAoKSA9PiB0aGlzLm9uQWxsQ2hlY2tlZENoYW5nZSgpLFxuICAgICAgICAgICAgb25Db2xsYXBzZUV4cGFuZDogKCkgPT4gdGhpcy5vbkFsbENvbGxhcHNlRXhwYW5kKCksXG4gICAgICAgICAgICBvbkZpbHRlclRleHRDaGFuZ2U6ICh0ZXh0KSA9PiB0aGlzLm9uRmlsdGVyVGV4dENoYW5nZSh0ZXh0KSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBsZXQgY2hlY2tlZEl0ZW1zOiBUcmVldmlld0l0ZW1bXSA9IFtdO1xuICAgICAgICBsZXQgdW5jaGVja2VkSXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICAgIGlmICghaXNOaWwodGhpcy5pdGVtcykpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IFRyZWV2aWV3SGVscGVyLmNvbmNhdFNlbGVjdGlvbih0aGlzLml0ZW1zLCBjaGVja2VkSXRlbXMsIHVuY2hlY2tlZEl0ZW1zKTtcbiAgICAgICAgICAgIGNoZWNrZWRJdGVtcyA9IHNlbGVjdGlvbi5jaGVja2VkO1xuICAgICAgICAgICAgdW5jaGVja2VkSXRlbXMgPSBzZWxlY3Rpb24udW5jaGVja2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICBjaGVja2VkSXRlbXMsXG4gICAgICAgICAgICB1bmNoZWNrZWRJdGVtcyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZpbHRlckl0ZW1zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJUZXh0ICE9PSAnJykge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVySXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJUZXh0ID0gdGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdJdGVtID0gdGhpcy5maWx0ZXJJdGVtKGl0ZW0sIGZpbHRlclRleHQpO1xuICAgICAgICAgICAgICAgIGlmICghaXNOaWwobmV3SXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVySXRlbXMucHVzaChuZXdJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVySXRlbXMgPSBmaWx0ZXJJdGVtcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVySXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDaGVja2VkT2ZBbGwoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckl0ZW0oaXRlbTogVHJlZXZpZXdJdGVtLCBmaWx0ZXJUZXh0OiBzdHJpbmcpOiBUcmVldmlld0l0ZW0ge1xuICAgICAgICBjb25zdCBpc01hdGNoID0gaW5jbHVkZXMoaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCksIGZpbHRlclRleHQpO1xuICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWlzTmlsKGl0ZW0uY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW46IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlsZCA9IHRoaXMuZmlsdGVySXRlbShjaGlsZCwgZmlsdGVyVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNOaWwobmV3Q2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKG5ld0NoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0l0ZW0gPSBuZXcgRmlsdGVyVHJlZXZpZXdJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBuZXdJdGVtLmNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBuZXdJdGVtLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdJdGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGVja2VkT2ZBbGwoKTogdm9pZCB7XG4gICAgICAgIGxldCBpdGVtQ2hlY2tlZDogYm9vbGVhbiA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZmlsdGVySXRlbSBvZiB0aGlzLmZpbHRlckl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaXRlbUNoZWNrZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpdGVtQ2hlY2tlZCA9IGZpbHRlckl0ZW0uY2hlY2tlZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbUNoZWNrZWQgIT09IGZpbHRlckl0ZW0uY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIGl0ZW1DaGVja2VkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW1DaGVja2VkID09PSBudWxsKSB7XG4gICAgICAgICAgICBpdGVtQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbGxJdGVtLmNoZWNrZWQgPSBpdGVtQ2hlY2tlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbGxhcHNlZE9mQWxsKCk6IHZvaWQge1xuICAgICAgICBsZXQgaGFzSXRlbUV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgZmlsdGVySXRlbSBvZiB0aGlzLmZpbHRlckl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoIWZpbHRlckl0ZW0uY29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgaGFzSXRlbUV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhaGFzSXRlbUV4cGFuZGVkO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtb25Db2xsYXBzZUV4cGFuZD1cIm9uQ29sbGFwc2VFeHBhbmRcIiBsZXQtb25DaGVja2VkQ2hhbmdlPVwib25DaGVja2VkQ2hhbmdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0taW5saW5lIHJvdy1pdGVtXCI+XG4gICAgICAgIDxpICpuZ0lmPVwiaXRlbS5jaGlsZHJlblwiIChjbGljayk9XCJvbkNvbGxhcHNlRXhwYW5kKClcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdTd2l0Y2hdPVwiaXRlbS5jb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIwLjhyZW1cIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjAuOHJlbVwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1jYXJldC1yaWdodC1maWxsXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi4xNCA4Ljc1M2wtNS40ODIgNC43OTZjLS42NDYuNTY2LTEuNjU4LjEwNi0xLjY1OC0uNzUzVjMuMjA0YTEgMSAwIDAgMSAxLjY1OS0uNzUzbDUuNDggNC43OTZhMSAxIDAgMCAxIDAgMS41MDZ6XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIwLjhyZW1cIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjAuOHJlbVwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1jYXJldC1kb3duLWZpbGxcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMjQ3IDExLjE0TDIuNDUxIDUuNjU4QzEuODg1IDUuMDEzIDIuMzQ1IDQgMy4yMDQgNGg5LjU5MmExIDEgMCAwIDEgLjc1MyAxLjY1OWwtNC43OTYgNS40OGExIDEgMCAwIDEtMS41MDYgMHpcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGVja2VkQ2hhbmdlKClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpdGVtLmluZGV0ZXJtaW5hdGVcIiAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIChjbGljayk9XCJpdGVtLmNoZWNrZWQgPSAhaXRlbS5jaGVja2VkOyBvbkNoZWNrZWRDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICAgI2RlZmF1bHRIZWFkZXJUZW1wbGF0ZVxuICAgIGxldC1jb25maWc9XCJjb25maWdcIlxuICAgIGxldC1pdGVtPVwiaXRlbVwiXG4gICAgbGV0LW9uQ29sbGFwc2VFeHBhbmQ9XCJvbkNvbGxhcHNlRXhwYW5kXCJcbiAgICBsZXQtb25DaGVja2VkQ2hhbmdlPVwib25DaGVja2VkQ2hhbmdlXCJcbiAgICBsZXQtb25GaWx0ZXJUZXh0Q2hhbmdlPVwib25GaWx0ZXJUZXh0Q2hhbmdlXCI+XG4gICAgPGRpdiAqbmdJZj1cImNvbmZpZy5oYXNGaWx0ZXJcIiBjbGFzcz1cInJvdyByb3ctZmlsdGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJUZXh0XCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlclRleHRDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJoYXNGaWx0ZXJJdGVtc1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmhhc0FsbENoZWNrQm94IHx8IGNvbmZpZy5oYXNDb2xsYXBzZUV4cGFuZFwiIGNsYXNzPVwicm93IHJvdy1hbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiICpuZ0lmPVwiY29uZmlnLmhhc0FsbENoZWNrQm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoZWNrZWRDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpdGVtLmluZGV0ZXJtaW5hdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgKGNsaWNrKT1cIml0ZW0uY2hlY2tlZCA9ICFpdGVtLmNoZWNrZWQ7IG9uQ2hlY2tlZENoYW5nZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmdldEFsbENoZWNrYm94VGV4dCgpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29uZmlnLmhhc0NvbGxhcHNlRXhwYW5kXCIgY2xhc3M9XCJmbG9hdC1yaWdodCBmb3JtLWNoZWNrLWxhYmVsXCIgKGNsaWNrKT1cIm9uQ29sbGFwc2VFeHBhbmQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBbdGl0bGVdPVwiaTE4bi5nZXRUb29sdGlwQ29sbGFwc2VFeHBhbmRUZXh0KGl0ZW0uY29sbGFwc2VkKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtuZ1N3aXRjaF09XCJpdGVtLmNvbGxhcHNlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWFycm93cy1hbmdsZS1leHBhbmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xLjUgMTAuMDM2YS41LjUgMCAwIDEgLjUuNXYzLjVoMy41YS41LjUgMCAwIDEgMCAxaC00YS41LjUgMCAwIDEtLjUtLjV2LTRhLjUuNSAwIDAgMSAuNS0uNXpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMzU0IDkuNjQ2YS41LjUgMCAwIDEgMCAuNzA4bC00LjUgNC41YS41LjUgMCAwIDEtLjcwOC0uNzA4bDQuNS00LjVhLjUuNSAwIDAgMSAuNzA4IDB6bTguNS04LjVhLjUuNSAwIDAgMSAwIC43MDhsLTQuNSA0LjVhLjUuNSAwIDAgMS0uNzA4LS43MDhsNC41LTQuNWEuNS41IDAgMCAxIC43MDggMHpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAzNiAxLjVhLjUuNSAwIDAgMSAuNS0uNWg0YS41LjUgMCAwIDEgLjUuNXY0YS41LjUgMCAxIDEtMSAwVjJoLTMuNWEuNS41IDAgMCAxLS41LS41elwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktYXJyb3dzLWFuZ2xlLWNvbnRyYWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDIuMDM2YS41LjUgMCAwIDEgLjUuNXYzLjVoMy41YS41LjUgMCAwIDEgMCAxaC00YS41LjUgMCAwIDEtLjUtLjV2LTRhLjUuNSAwIDAgMSAuNS0uNXpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOGwtNC41IDQuNWEuNS41IDAgMSAxLS43MDgtLjcwOGw0LjUtNC41YS41LjUgMCAwIDEgLjcwOCAwem0tNy41IDcuNWEuNS41IDAgMCAxIDAgLjcwOGwtNC41IDQuNWEuNS41IDAgMCAxLS43MDgtLjcwOGw0LjUtNC41YS41LjUgMCAwIDEgLjcwOCAwelwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMi4wMzYgOS41YS41LjUgMCAwIDEgLjUtLjVoNGEuNS41IDAgMCAxIC41LjV2NGEuNS41IDAgMCAxLTEgMFYxMGgtMy41YS41LjUgMCAwIDEtLjUtLjV6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5oYXNEaXZpZGVyXCIgY2xhc3M9XCJkcm9wZG93bi1kaXZpZGVyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPGRpdiBjbGFzcz1cInRyZWV2aWV3LWhlYWRlclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0SGVhZGVyVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiaGVhZGVyVGVtcGxhdGVDb250ZXh0XCI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPGRpdiBbbmdTd2l0Y2hdPVwiaGFzRmlsdGVySXRlbXNcIj5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgY2xhc3M9XCJ0cmVldmlldy1jb250YWluZXJcIiBbc3R5bGUubWF4LWhlaWdodC5weF09XCJtYXhIZWlnaHRcIj5cbiAgICAgICAgPG5neC10cmVldmlldy1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJJdGVtc1wiXG4gICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGUgfHwgZGVmYXVsdEl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJvbkl0ZW1DaGVja2VkQ2hhbmdlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgPC9uZ3gtdHJlZXZpZXctaXRlbT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIGNsYXNzPVwidHJlZXZpZXctdGV4dFwiPlxuICAgICAgICB7eyBpMThuLmdldEZpbHRlck5vSXRlbXNGb3VuZFRleHQoKSB9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|