@eui/mobile-core 18.0.2 → 18.0.3-snapshot-1744781380442
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/docs/components/EuimToolbarComponent.html +45 -2
- package/docs/directives/EuimToolbarTransparentDirective.html +162 -0
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/components/directives/euim-toolbar-transparent/euim-toolbar-transparent.directive.mjs +27 -4
- package/esm2022/lib/components/layout/euim-toolbar/euim-toolbar.component.mjs +16 -9
- package/fesm2022/eui-mobile-core.mjs +91 -61
- package/fesm2022/eui-mobile-core.mjs.map +1 -1
- package/lib/components/directives/euim-toolbar-transparent/euim-toolbar-transparent.directive.d.ts +4 -1
- package/lib/components/directives/euim-toolbar-transparent/euim-toolbar-transparent.directive.d.ts.map +1 -1
- package/lib/components/layout/euim-toolbar/euim-toolbar.component.d.ts +3 -0
- package/lib/components/layout/euim-toolbar/euim-toolbar.component.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,11 +1,29 @@
|
|
|
1
|
-
import { Directive, HostBinding } from '@angular/core';
|
|
1
|
+
import { Directive, HostBinding, HostListener, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class EuimToolbarTransparentDirective {
|
|
4
4
|
constructor() {
|
|
5
|
+
this.scrollThreshold = 150;
|
|
5
6
|
this.className = 'euim-toolbar--transparent';
|
|
6
7
|
}
|
|
8
|
+
onContentScroll($event) {
|
|
9
|
+
const scrollTop = $event.detail.scrollTop;
|
|
10
|
+
this.updateToolbar(scrollTop);
|
|
11
|
+
}
|
|
12
|
+
updateToolbar(scrollTop) {
|
|
13
|
+
const toolbar = document.querySelector('ion-toolbar');
|
|
14
|
+
if (!toolbar)
|
|
15
|
+
return;
|
|
16
|
+
if (scrollTop > this.scrollThreshold) {
|
|
17
|
+
toolbar.classList.add('euim-toolbar--solid');
|
|
18
|
+
toolbar.classList.remove('euim-toolbar--transparent');
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
toolbar.classList.add('euim-toolbar--transparent');
|
|
22
|
+
toolbar.classList.remove('euim-toolbar--solid');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
7
25
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuimToolbarTransparentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: EuimToolbarTransparentDirective, isStandalone: true, selector: "[euimToolbarTransparent]", host: { properties: { "class": "this.className" } }, ngImport: i0 }); }
|
|
26
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: EuimToolbarTransparentDirective, isStandalone: true, selector: "[euimToolbarTransparent]", inputs: { scrollThreshold: "scrollThreshold" }, host: { listeners: { "ionScroll": "onContentScroll($event)" }, properties: { "class": "this.className" } }, ngImport: i0 }); }
|
|
9
27
|
}
|
|
10
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuimToolbarTransparentDirective, decorators: [{
|
|
11
29
|
type: Directive,
|
|
@@ -13,8 +31,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13
31
|
selector: '[euimToolbarTransparent]',
|
|
14
32
|
standalone: true,
|
|
15
33
|
}]
|
|
16
|
-
}], propDecorators: {
|
|
34
|
+
}], propDecorators: { scrollThreshold: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], className: [{
|
|
17
37
|
type: HostBinding,
|
|
18
38
|
args: ['class']
|
|
39
|
+
}], onContentScroll: [{
|
|
40
|
+
type: HostListener,
|
|
41
|
+
args: ['ionScroll', ['$event']]
|
|
19
42
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS10b29sYmFyLXRyYW5zcGFyZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kaXJlY3RpdmVzL2V1aW0tdG9vbGJhci10cmFuc3BhcmVudC9ldWltLXRvb2xiYXItdHJhbnNwYXJlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzVFLE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLYSxvQkFBZSxHQUFHLEdBQUcsQ0FBQztRQUVULGNBQVMsR0FBRywyQkFBMkIsQ0FBQztLQW9CakU7SUFqQkcsZUFBZSxDQUFDLE1BQU07UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sYUFBYSxDQUFDLFNBQWlCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDMUQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7a0lBdEJRLCtCQUErQjtzSEFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFFWSxlQUFlO3NCQUF2QixLQUFLO2dCQUVnQixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBR3BCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldWltVG9vbGJhclRyYW5zcGFyZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbVRvb2xiYXJUcmFuc3BhcmVudERpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgc2Nyb2xsVGhyZXNob2xkID0gMTUwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICdldWltLXRvb2xiYXItLXRyYW5zcGFyZW50JztcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lvblNjcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25Db250ZW50U2Nyb2xsKCRldmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSAkZXZlbnQuZGV0YWlsLnNjcm9sbFRvcDtcbiAgICAgICAgdGhpcy51cGRhdGVUb29sYmFyKHNjcm9sbFRvcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sYmFyKHNjcm9sbFRvcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvb2xiYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tdG9vbGJhcicpO1xuICAgICAgICBpZiAoIXRvb2xiYXIpIHJldHVybjtcblxuICAgICAgICBpZiAoc2Nyb2xsVG9wID4gdGhpcy5zY3JvbGxUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgIHRvb2xiYXIuY2xhc3NMaXN0LmFkZCgnZXVpbS10b29sYmFyLS1zb2xpZCcpO1xuICAgICAgICAgICAgdG9vbGJhci5jbGFzc0xpc3QucmVtb3ZlKCdldWltLXRvb2xiYXItLXRyYW5zcGFyZW50Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b29sYmFyLmNsYXNzTGlzdC5hZGQoJ2V1aW0tdG9vbGJhci0tdHJhbnNwYXJlbnQnKTtcbiAgICAgICAgICAgIHRvb2xiYXIuY2xhc3NMaXN0LnJlbW92ZSgnZXVpbS10b29sYmFyLS1zb2xpZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Component, ChangeDetectionStrategy, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular
|
|
4
|
-
import * as i2 from "@
|
|
3
|
+
import * as i1 from "@ionic/angular";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
5
|
import * as i3 from "../euim-language-selector/euim-language-selector.component";
|
|
6
6
|
export class EuimToolbarComponent {
|
|
7
|
-
constructor() {
|
|
7
|
+
constructor(navCtrl) {
|
|
8
|
+
this.navCtrl = navCtrl;
|
|
8
9
|
this.hasBackButton = true;
|
|
9
|
-
this.backButtonDefaultHref = '
|
|
10
|
+
this.backButtonDefaultHref = '';
|
|
10
11
|
this.ionMenuId = 'main';
|
|
11
12
|
this.hasSidebarTrigger = false;
|
|
12
13
|
this.hasLanguageSelector = false;
|
|
@@ -20,14 +21,20 @@ export class EuimToolbarComponent {
|
|
|
20
21
|
}
|
|
21
22
|
onBackButtonClick(event) {
|
|
22
23
|
this.backButtonClick.emit(event);
|
|
24
|
+
if (window.history.length > 1) {
|
|
25
|
+
this.navCtrl.back();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.navCtrl.navigateBack('/home');
|
|
29
|
+
}
|
|
23
30
|
}
|
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuimToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: { hasBackButton: ["hasBackButton", "hasBackButton", booleanAttribute], backButtonDefaultHref: "backButtonDefaultHref", ionMenuId: "ionMenuId", hasSidebarTrigger: ["hasSidebarTrigger", "hasSidebarTrigger", booleanAttribute], hasLanguageSelector: ["hasLanguageSelector", "hasLanguageSelector", booleanAttribute] }, outputs: { backButtonClick: "backButtonClick" }, host: { properties: { "className": "this.className" } }, ngImport: i0, template: "<ion-buttons slot=\"start\">\n <ion-menu-button *ngIf=\"hasSidebarTrigger\" [menu]=\"ionMenuId\"></ion-menu-button>\n <ion-back-button (
|
|
31
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuimToolbarComponent, deps: [{ token: i1.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: { hasBackButton: ["hasBackButton", "hasBackButton", booleanAttribute], backButtonDefaultHref: "backButtonDefaultHref", ionMenuId: "ionMenuId", hasSidebarTrigger: ["hasSidebarTrigger", "hasSidebarTrigger", booleanAttribute], hasLanguageSelector: ["hasLanguageSelector", "hasLanguageSelector", booleanAttribute] }, outputs: { backButtonClick: "backButtonClick" }, host: { properties: { "className": "this.className" } }, ngImport: i0, template: "<ion-buttons slot=\"start\">\n <ion-menu-button *ngIf=\"hasSidebarTrigger\" [menu]=\"ionMenuId\"></ion-menu-button>\n <ion-back-button (click)=\"onBackButtonClick($event)\"\n *ngIf=\"hasBackButton\"\n defaultHref=\"{{backButtonDefaultHref}}\"></ion-back-button>\n <ng-content></ng-content>\n</ion-buttons>\n<ion-title class=\"euim-toolbar__title-container\">\n <ng-content select=\"euim-toolbar-title\"></ng-content>\n</ion-title>\n<ion-buttons slot=\"end\">\n <ng-content select=\"euim-toolbar-action-items\"></ng-content>\n <ng-container *ngIf=\"hasLanguageSelector\">\n <euim-language-selector></euim-language-selector>\n </ng-container>\n</ion-buttons>\n", styles: [".euim-toolbar{display:flex;align-items:center}.euim-toolbar__title-container{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:flex;align-items:center;padding-inline:var(--eui-s-s)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i3.EuimLanguageSelectorComponent, selector: "euim-language-selector", inputs: ["hasSearchbar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
26
33
|
}
|
|
27
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuimToolbarComponent, decorators: [{
|
|
28
35
|
type: Component,
|
|
29
|
-
args: [{ selector: 'euim-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-buttons slot=\"start\">\n <ion-menu-button *ngIf=\"hasSidebarTrigger\" [menu]=\"ionMenuId\"></ion-menu-button>\n <ion-back-button (
|
|
30
|
-
}], propDecorators: { hasBackButton: [{
|
|
36
|
+
args: [{ selector: 'euim-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-buttons slot=\"start\">\n <ion-menu-button *ngIf=\"hasSidebarTrigger\" [menu]=\"ionMenuId\"></ion-menu-button>\n <ion-back-button (click)=\"onBackButtonClick($event)\"\n *ngIf=\"hasBackButton\"\n defaultHref=\"{{backButtonDefaultHref}}\"></ion-back-button>\n <ng-content></ng-content>\n</ion-buttons>\n<ion-title class=\"euim-toolbar__title-container\">\n <ng-content select=\"euim-toolbar-title\"></ng-content>\n</ion-title>\n<ion-buttons slot=\"end\">\n <ng-content select=\"euim-toolbar-action-items\"></ng-content>\n <ng-container *ngIf=\"hasLanguageSelector\">\n <euim-language-selector></euim-language-selector>\n </ng-container>\n</ion-buttons>\n", styles: [".euim-toolbar{display:flex;align-items:center}.euim-toolbar__title-container{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:flex;align-items:center;padding-inline:var(--eui-s-s)}\n"] }]
|
|
37
|
+
}], ctorParameters: () => [{ type: i1.NavController }], propDecorators: { hasBackButton: [{
|
|
31
38
|
type: Input,
|
|
32
39
|
args: [{ transform: booleanAttribute }]
|
|
33
40
|
}], backButtonDefaultHref: [{
|
|
@@ -45,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
45
52
|
}], className: [{
|
|
46
53
|
type: HostBinding
|
|
47
54
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZXVpbS10b29sYmFyL2V1aW0tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2V1aW0tdG9vbGJhci9ldWltLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCLE1BQU0sT0FBTyxvQkFBb0I7SUFjN0IsWUFBb0IsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQVgxQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNaLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBRTVCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFbEIsb0JBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyRCxjQUFTLEdBQUcsY0FBYyxDQUFDO0lBQ0csQ0FBQztJQUU5QyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7a0lBOUJRLG9CQUFvQjtzSEFBcEIsb0JBQW9CLHdGQUVULGdCQUFnQix5SUFJaEIsZ0JBQWdCLHVFQUVoQixnQkFBZ0IsdUlDNUJ4Qyx3dEJBZ0JBOzs0RkRJYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2tGQUsvQyxhQUFhO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVOLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHdEMsbUJBQW1CO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUc1QixlQUFlO3NCQUF4QixNQUFNO2dCQUVRLFNBQVM7c0JBQXZCLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbVRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaGFzQmFja0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja0J1dHRvbkRlZmF1bHRIcmVmID0gJyc7XG4gICAgQElucHV0KCkgaW9uTWVudUlkID0gJ21haW4nO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGhhc1NpZGViYXJUcmlnZ2VyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaGFzTGFuZ3VhZ2VTZWxlY3RvciA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGJhY2tCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBIb3N0QmluZGluZygpIGNsYXNzTmFtZSA9ICdldWltLXRvb2xiYXInO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2Q3RybDogTmF2Q29udHJvbGxlcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNTaWRlYmFyVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5oYXNCYWNrQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJhY2tCdXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYWNrQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XG5cbiAgICAgICAgaWYgKHdpbmRvdy5oaXN0b3J5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMubmF2Q3RybC5iYWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVCYWNrKCcvaG9tZScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgIDxpb24tbWVudS1idXR0b24gKm5nSWY9XCJoYXNTaWRlYmFyVHJpZ2dlclwiIFttZW51XT1cImlvbk1lbnVJZFwiPjwvaW9uLW1lbnUtYnV0dG9uPlxuICAgIDxpb24tYmFjay1idXR0b24gKGNsaWNrKT1cIm9uQmFja0J1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNCYWNrQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRIcmVmPVwie3tiYWNrQnV0dG9uRGVmYXVsdEhyZWZ9fVwiPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvaW9uLWJ1dHRvbnM+XG48aW9uLXRpdGxlIGNsYXNzPVwiZXVpbS10b29sYmFyX190aXRsZS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWltLXRvb2xiYXItdGl0bGVcIj48L25nLWNvbnRlbnQ+XG48L2lvbi10aXRsZT5cbjxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpbS10b29sYmFyLWFjdGlvbi1pdGVtc1wiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzTGFuZ3VhZ2VTZWxlY3RvclwiPlxuICAgICAgICA8ZXVpbS1sYW5ndWFnZS1zZWxlY3Rvcj48L2V1aW0tbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2lvbi1idXR0b25zPlxuIl19
|