ngx-tethys 15.3.6 → 15.3.7
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/CHANGELOG.md +14 -0
- package/avatar/avatar-list/avatar-list.component.d.ts +1 -3
- package/avatar/styles/avatar-list.scss +13 -13
- package/avatar/styles/avatar.scss +3 -3
- package/esm2020/avatar/avatar-list/avatar-list.component.mjs +5 -8
- package/esm2020/avatar/avatar.component.mjs +10 -19
- package/esm2020/cascader/cascader.component.mjs +3 -3
- package/esm2020/date-picker/abstract-picker.component.mjs +1 -6
- package/esm2020/date-picker/lib/popups/date-popup.component.mjs +38 -9
- package/esm2020/date-picker/picker.component.mjs +3 -3
- package/esm2020/property/property-item.component.mjs +5 -2
- package/esm2020/version.mjs +2 -2
- package/fesm2015/ngx-tethys-avatar.mjs +13 -25
- package/fesm2015/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2015/ngx-tethys-cascader.mjs +2 -2
- package/fesm2015/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2015/ngx-tethys-date-picker.mjs +39 -15
- package/fesm2015/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2015/ngx-tethys-property.mjs +4 -1
- package/fesm2015/ngx-tethys-property.mjs.map +1 -1
- package/fesm2015/ngx-tethys.mjs +1 -1
- package/fesm2015/ngx-tethys.mjs.map +1 -1
- package/fesm2020/ngx-tethys-avatar.mjs +13 -25
- package/fesm2020/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2020/ngx-tethys-cascader.mjs +2 -2
- package/fesm2020/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2020/ngx-tethys-date-picker.mjs +39 -15
- package/fesm2020/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2020/ngx-tethys-property.mjs +4 -1
- package/fesm2020/ngx-tethys-property.mjs.map +1 -1
- package/fesm2020/ngx-tethys.mjs +1 -1
- package/fesm2020/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/property/property-item.component.d.ts +1 -0
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/styles/variables.scss +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [15.3.7](https://github.com/atinc/ngx-tethys/compare/15.3.5...15.3.7) (2023-06-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **avatar:** add constant of avatar list item space INFR-8056 ([9b96f4c](https://github.com/atinc/ngx-tethys/commit/9b96f4ca6b5f8d87a903da554aa20d6c4dfa3d6b))
|
|
11
|
+
* **avatar:** the overlap space of thy-avatar-list component in overlap mode is 25% of the width of avatar component #INFR-8056 ([b26ad14](https://github.com/atinc/ngx-tethys/commit/b26ad1418bf4a0548889c76ea3c17bf6f29729c1)), closes [#INFR-8056](https://github.com/atinc/ngx-tethys/issues/INFR-8056)
|
|
12
|
+
* **cascader:** fix it is still open when in disabled state #INFR-8141 ([#2692](https://github.com/atinc/ngx-tethys/issues/2692)) ([a73da1b](https://github.com/atinc/ngx-tethys/commit/a73da1bef1d4a75f7989f24b9f39e0910f5009fe)), closes [#INFR-8141](https://github.com/atinc/ngx-tethys/issues/INFR-8141)
|
|
13
|
+
* **date-picker:** #INFR-8069 shortcut support thyMinDate thyMaxDate ([#2691](https://github.com/atinc/ngx-tethys/issues/2691)) ([7f72682](https://github.com/atinc/ngx-tethys/commit/7f7268215f585c4c39d55ef50ecb66ce304ff67e)), closes [#INFR-8069](https://github.com/atinc/ngx-tethys/issues/INFR-8069)
|
|
14
|
+
* **date-picker:** fix both clear icon and calendar icon are displayed #INFR-8182 ([#2696](https://github.com/atinc/ngx-tethys/issues/2696)) ([f1914d3](https://github.com/atinc/ngx-tethys/commit/f1914d3a7900b4e836c2a1eb3cd7a059f3c2f40f)), closes [#INFR-8182](https://github.com/atinc/ngx-tethys/issues/INFR-8182)
|
|
15
|
+
* **property:** should not subscribe multiple times when the value of thyEditable is changed to true #INFR-8179 ([#2695](https://github.com/atinc/ngx-tethys/issues/2695)) ([34e600c](https://github.com/atinc/ngx-tethys/commit/34e600c579fd978b8f93cca26c52cc4e417c249c)), closes [#INFR-8179](https://github.com/atinc/ngx-tethys/issues/INFR-8179)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
5
19
|
## [15.3.6](https://github.com/atinc/ngx-tethys/compare/15.3.5...15.3.6) (2023-05-25)
|
|
6
20
|
|
|
7
21
|
|
|
@@ -17,8 +17,6 @@ export declare class ThyAvatarListComponent implements OnChanges, OnDestroy, Aft
|
|
|
17
17
|
overlapMode: boolean;
|
|
18
18
|
avatarItems: ThyAvatarComponent[];
|
|
19
19
|
avatarRenderItems: ThyAvatarComponent[];
|
|
20
|
-
avatarSpace: number;
|
|
21
|
-
avatarOverlapSpace: number;
|
|
22
20
|
private ngUnsubscribe$;
|
|
23
21
|
/**
|
|
24
22
|
* 展示方式
|
|
@@ -28,7 +26,7 @@ export declare class ThyAvatarListComponent implements OnChanges, OnDestroy, Aft
|
|
|
28
26
|
set thyMode(value: ThyAvatarListMode);
|
|
29
27
|
/**
|
|
30
28
|
* 头像大小
|
|
31
|
-
* @type 22 | 24 | 28 | 32 | 36 | 44 | 48 | 68 | 110 | 160 | xxs(22px) | xs(24px) | sm(32px) | md(36px) | lg(48px)
|
|
29
|
+
* @type 16 | 22 | 24 | 28 | 32 | 36 | 44 | 48 | 68 | 110 | 160 | xxs(22px) | xs(24px) | sm(32px) | md(36px) | lg(48px)
|
|
32
30
|
* @default 36
|
|
33
31
|
*/
|
|
34
32
|
thyAvatarSize: number | string;
|
|
@@ -7,28 +7,28 @@
|
|
|
7
7
|
line-height: initial;
|
|
8
8
|
width: 100%;
|
|
9
9
|
|
|
10
|
-
.thy-avatar
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
&:not(.thy-avatar-list-overlap) {
|
|
14
|
-
.thy-avatar {
|
|
15
|
-
margin-right: variables.$avatar-item-space;
|
|
16
|
-
}
|
|
10
|
+
.thy-avatar {
|
|
11
|
+
margin-right: variables.$avatar-item-space;
|
|
17
12
|
}
|
|
18
13
|
}
|
|
19
14
|
|
|
20
15
|
.thy-avatar-list-overlap {
|
|
21
16
|
@each $size, $value in variables.$avatar-sizes {
|
|
22
17
|
.thy-avatar-#{$size} {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
.avatar-default
|
|
18
|
+
margin-left: #{-$size * variables.$overlap-avatar-item-space-percent}px;
|
|
19
|
+
margin-right: 0;
|
|
20
|
+
.avatar-default,
|
|
21
|
+
.avatar-avatar {
|
|
26
22
|
border: 1px solid variables.$white;
|
|
27
23
|
}
|
|
28
24
|
}
|
|
29
|
-
}
|
|
30
25
|
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
.thy-avatar-#{$size}:first-child {
|
|
27
|
+
margin-left: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.thy-avatar-append {
|
|
31
|
+
padding-left: variables.$avatar-item-space;
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -30,12 +30,10 @@ export class ThyAvatarListComponent {
|
|
|
30
30
|
this.overlapMode = false;
|
|
31
31
|
this.avatarItems = [];
|
|
32
32
|
this.avatarRenderItems = [];
|
|
33
|
-
this.avatarSpace = THY_AVATAR_ITEM_SPACE;
|
|
34
|
-
this.avatarOverlapSpace = THY_OVERLAP_AVATAR_ITEM_SPACE;
|
|
35
33
|
this.ngUnsubscribe$ = new Subject();
|
|
36
34
|
/**
|
|
37
35
|
* 头像大小
|
|
38
|
-
* @type 22 | 24 | 28 | 32 | 36 | 44 | 48 | 68 | 110 | 160 | xxs(22px) | xs(24px) | sm(32px) | md(36px) | lg(48px)
|
|
36
|
+
* @type 16 | 22 | 24 | 28 | 32 | 36 | 44 | 48 | 68 | 110 | 160 | xxs(22px) | xs(24px) | sm(32px) | md(36px) | lg(48px)
|
|
39
37
|
* @default 36
|
|
40
38
|
*/
|
|
41
39
|
this.thyAvatarSize = DEFAULT_SIZE;
|
|
@@ -59,13 +57,12 @@ export class ThyAvatarListComponent {
|
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
ThyAvatarListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyAvatarListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
ThyAvatarListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyAvatarListComponent, isStandalone: true, selector: "thy-avatar-list", inputs: { thyMode: "thyMode", thyAvatarSize: "thyAvatarSize" }, host: { properties: { "
|
|
60
|
+
ThyAvatarListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyAvatarListComponent, isStandalone: true, selector: "thy-avatar-list", inputs: { thyMode: "thyMode", thyAvatarSize: "thyAvatarSize" }, host: { properties: { "class.thy-avatar-list-overlap": "this.overlapMode" }, classAttribute: "thy-avatar-list" }, providers: [UpdateHostClassService], queries: [{ propertyName: "append", first: true, predicate: ["append"], descendants: true }, { propertyName: "avatarComponents", predicate: ThyAvatarComponent }], viewQueries: [{ propertyName: "appendContent", first: true, predicate: ["appendContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<div #appendContent *ngIf=\"append\" class=\"thy-avatar-append\">\n <ng-container [ngTemplateOutlet]=\"append\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
63
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyAvatarListComponent, decorators: [{
|
|
64
62
|
type: Component,
|
|
65
63
|
args: [{ selector: 'thy-avatar-list', host: {
|
|
66
|
-
class: 'thy-avatar-list'
|
|
67
|
-
|
|
68
|
-
}, providers: [UpdateHostClassService], standalone: true, imports: [NgFor, NgStyle, ThyAvatarComponent, NgIf, NgClass, NgTemplateOutlet], template: "<ng-content></ng-content>\n\n<!-- .thy-avatar-append used to handle #appendContent style -->\n<div #appendContent *ngIf=\"append\" class=\"thy-avatar-append\" [ngStyle]=\"{ 'padding-left.px': overlapMode && avatarSpace }\">\n <ng-container [ngTemplateOutlet]=\"append\"></ng-container>\n</div>\n" }]
|
|
64
|
+
class: 'thy-avatar-list'
|
|
65
|
+
}, providers: [UpdateHostClassService], standalone: true, imports: [NgFor, NgStyle, ThyAvatarComponent, NgIf, NgClass, NgTemplateOutlet], template: "<ng-content></ng-content>\n\n<div #appendContent *ngIf=\"append\" class=\"thy-avatar-append\">\n <ng-container [ngTemplateOutlet]=\"append\"></ng-container>\n</div>\n" }]
|
|
69
66
|
}], ctorParameters: function () { return []; }, propDecorators: { overlapMode: [{
|
|
70
67
|
type: HostBinding,
|
|
71
68
|
args: ['class.thy-avatar-list-overlap']
|
|
@@ -83,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
83
80
|
type: ViewChild,
|
|
84
81
|
args: ['appendContent']
|
|
85
82
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F2YXRhci9hdmF0YXItbGlzdC9hdmF0YXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXZhdGFyL2F2YXRhci1saXN0L2F2YXRhci1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUMsQ0FBQztBQU9oRDs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQjs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBd0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLDhDQUE4QixDQUFDO0lBQzNELENBQUM7SUFjRDs7T0FFRztJQUNILElBQ1ksZ0JBQWdCLENBQUMsS0FBb0M7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUlEO1FBeEM4QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUUzRCxnQkFBVyxHQUF5QixFQUFFLENBQUM7UUFFdkMsc0JBQWlCLEdBQXlCLEVBQUUsQ0FBQztRQUU1QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFZN0M7Ozs7V0FJRztRQUNNLGtCQUFhLEdBQW9CLFlBQVksQ0FBQztJQWlCeEMsQ0FBQztJQUVoQixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtZQUNwRCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzttSEE5RFEsc0JBQXNCO3VHQUF0QixzQkFBc0IsZ1BBSnBCLENBQUMsc0JBQXNCLENBQUMsOElBc0NsQixrQkFBa0Isa0tDL0V2Qyx5S0FLQSw0Q0RzQ2tELElBQUksNkZBQVcsZ0JBQWdCOzJGQUVwRSxzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0ksaUJBQWlCLFFBRXJCO3dCQUNGLEtBQUssRUFBRSxpQkFBaUI7cUJBQzNCLGFBQ1UsQ0FBQyxzQkFBc0IsQ0FBQyxjQUN2QixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7MEVBR2hDLFdBQVc7c0JBQXhELFdBQVc7dUJBQUMsK0JBQStCO2dCQWN4QyxPQUFPO3NCQURWLEtBQUs7Z0JBVUcsYUFBYTtzQkFBckIsS0FBSztnQkFLcUMsTUFBTTtzQkFBaEQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU03QixnQkFBZ0I7c0JBRDNCLGVBQWU7dUJBQUMsa0JBQWtCO2dCQUtQLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yLCBOZ0lmLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBkYXRlSG9zdENsYXNzU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBERUZBVUxUX1NJWkUsIFRoeUF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgVEhZX0FWQVRBUl9JVEVNX1NQQUNFID0gNDtcblxuZXhwb3J0IGNvbnN0IFRIWV9PVkVSTEFQX0FWQVRBUl9JVEVNX1NQQUNFID0gLTg7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFRoeUF2YXRhckxpc3RNb2RlIHtcbiAgICBvdmVybGFwID0gJ292ZXJsYXAnLFxuICAgIGRlZmF1bHQgPSAnZGVmYXVsdCdcbn1cblxuLyoqXG4gKiDlpLTlg4/liJfooajnu4Tku7ZcbiAqIEBuYW1lIHRoeS1hdmF0YXItbGlzdFxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWF2YXRhci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogYC4vYXZhdGFyLWxpc3QuY29tcG9uZW50Lmh0bWxgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYXZhdGFyLWxpc3QnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtVcGRhdGVIb3N0Q2xhc3NTZXJ2aWNlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgTmdTdHlsZSwgVGh5QXZhdGFyQ29tcG9uZW50LCBOZ0lmLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlBdmF0YXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWF2YXRhci1saXN0LW92ZXJsYXAnKSBvdmVybGFwTW9kZSA9IGZhbHNlO1xuXG4gICAgcHVibGljIGF2YXRhckl0ZW1zOiBUaHlBdmF0YXJDb21wb25lbnRbXSA9IFtdO1xuXG4gICAgcHVibGljIGF2YXRhclJlbmRlckl0ZW1zOiBUaHlBdmF0YXJDb21wb25lbnRbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrmlrnlvI9cbiAgICAgKiBAdHlwZSAgb3ZlcmxhcCB8IGRlZmF1bHRcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TW9kZSh2YWx1ZTogVGh5QXZhdGFyTGlzdE1vZGUpIHtcbiAgICAgICAgdGhpcy5vdmVybGFwTW9kZSA9IHZhbHVlID09PSBUaHlBdmF0YXJMaXN0TW9kZS5vdmVybGFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWktOWDj+Wkp+Wwj1xuICAgICAqIEB0eXBlIDE2IHwgMjIgfCAyNCB8IDI4IHwgMzIgfCAzNiB8IDQ0IHwgNDggfCA2OCB8IDExMCB8IDE2MCB8IHh4cygyMnB4KSB8IHhzKDI0cHgpIHwgc20oMzJweCkgfCBtZCgzNnB4KSB8IGxnKDQ4cHgpXG4gICAgICogQGRlZmF1bHQgMzZcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBdmF0YXJTaXplOiBudW1iZXIgfCBzdHJpbmcgPSBERUZBVUxUX1NJWkU7XG5cbiAgICAvKipcbiAgICAgKiAgYXBwZW5kIOiHquWumuS5ieaTjeS9nFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2FwcGVuZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBhcHBlbmQ6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUF2YXRhckNvbXBvbmVudClcbiAgICBwcml2YXRlIHNldCBhdmF0YXJDb21wb25lbnRzKHZhbHVlOiBRdWVyeUxpc3Q8VGh5QXZhdGFyQ29tcG9uZW50Pikge1xuICAgICAgICB0aGlzLmF2YXRhckl0ZW1zID0gdmFsdWUudG9BcnJheSgpO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2FwcGVuZENvbnRlbnQnKSBhcHBlbmRDb250ZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlBdmF0YXJTaXplICYmICFjaGFuZ2VzLnRoeUF2YXRhclNpemUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QXZhdGFyU2l6ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnNldEF2YXRhclNpemUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEF2YXRhclNpemUoKSB7XG4gICAgICAgIHRoaXMuYXZhdGFySXRlbXMuZm9yRWFjaCgoYXZhdGFyOiBUaHlBdmF0YXJDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGF2YXRhci50aHlTaXplID0gdGhpcy50aHlBdmF0YXJTaXplO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxkaXYgI2FwcGVuZENvbnRlbnQgKm5nSWY9XCJhcHBlbmRcIiBjbGFzcz1cInRoeS1hdmF0YXItYXBwZW5kXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYXBwZW5kXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -75,26 +75,17 @@ export class ThyAvatarComponent {
|
|
|
75
75
|
}
|
|
76
76
|
this.hostRenderer.updateClass([`thy-avatar-${this._size}`]);
|
|
77
77
|
}
|
|
78
|
-
findClosestSize(
|
|
79
|
-
let
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
result = sizes[middle];
|
|
87
|
-
if (result === value) {
|
|
88
|
-
return value;
|
|
89
|
-
}
|
|
90
|
-
else if (result > value) {
|
|
91
|
-
right = middle;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
left = middle;
|
|
78
|
+
findClosestSize(sizeArray, currentSize) {
|
|
79
|
+
let closestValue = sizeArray[0];
|
|
80
|
+
let closestDifference = Math.abs(closestValue - currentSize);
|
|
81
|
+
for (let i = 1; i < sizeArray.length; i++) {
|
|
82
|
+
const currentDifference = Math.abs(sizeArray[i] - currentSize);
|
|
83
|
+
if (currentDifference <= closestDifference) {
|
|
84
|
+
closestValue = sizeArray[i];
|
|
85
|
+
closestDifference = currentDifference;
|
|
95
86
|
}
|
|
96
87
|
}
|
|
97
|
-
return
|
|
88
|
+
return closestValue;
|
|
98
89
|
}
|
|
99
90
|
_setAvatarSrc(src) {
|
|
100
91
|
if (src && this.thyAvatarService.ignoreAvatarSrcPaths.indexOf(src) < 0) {
|
|
@@ -201,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
201
192
|
}], thyFetchPriority: [{
|
|
202
193
|
type: Input
|
|
203
194
|
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixHQUFHLEVBQUUsRUFBRTtJQUNQLEVBQUUsRUFBRSxFQUFFO0lBQ04s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LFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5QXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXZhdGFyU2hvcnROYW1lUGlwZSwgQXZhdGFyQmdDb2xvclBpcGUsIEF2YXRhclNyY1BpcGUgfSBmcm9tICcuL2F2YXRhci5waXBlJztcbmltcG9ydCB7IFRoeUljb25Db21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5jb25zdCBzaXplQXJyYXkgPSBbMTYsIDIyLCAyNCwgMjgsIDMyLCAzNiwgNDQsIDQ4LCA2OCwgMTEwLCAxNjBdO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TSVpFID0gMzY7XG5cbmV4cG9ydCBjb25zdCB0aHlBdmF0YXJTaXplTWFwID0ge1xuICAgIHh4czogMjIsXG4gICAgeHM6IDI0LFxuICAgIHNtOiAzMixcbiAgICBtZDogMzYsXG4gICAgbGc6IDQ4XG59O1xuXG4vKiogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZW1iZWRkZWQtY29udGVudC5odG1sI2F0dHItaW1nLWxvYWRpbmcgKi9cbmV4cG9ydCB0eXBlIFRoeUF2YXRhckxvYWRpbmcgPSAnZWFnZXInIHwgJ2xhenknO1xuXG4vKiogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wcmlvcml0eS1oaW50cy8jaWRsLWluZGV4ICovXG5leHBvcnQgdHlwZSBUaHlBdmF0YXJGZXRjaFByaW9yaXR5ID0gJ2hpZ2gnIHwgJ2xvdycgfCAnYXV0byc7XG5cbi8qKlxuICog5aS05YOP57uE5Lu2XG4gKiBAbmFtZSB0aHktYXZhdGFyXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ1N0eWxlLCBUaHlJY29uQ29tcG9uZW50LCBBdmF0YXJTaG9ydE5hbWVQaXBlLCBBdmF0YXJCZ0NvbG9yUGlwZSwgQXZhdGFyU3JjUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBfc3JjOiBzdHJpbmc7XG4gICAgX25hbWU6IHN0cmluZztcbiAgICBfc2l6ZTogbnVtYmVyO1xuICAgIF9zaG93UmVtb3ZlID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgYXZhdGFyU3JjOiBzdHJpbmc7XG4gICAgcHVibGljIGF2YXRhck5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGF2YXRhck5hbWVTYWZlSHRtbD86IFNhZmVIdG1sO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktYXZhdGFyJykgX2lzQXZhdGFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqICog5bey5bqf5byD77yM6K+35L2/55SoIHRoeVJlbW92ZVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeU9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogIOenu+mZpOaMiemSrueahOS6i+S7tiwg5b2TIHRoeVJlbW92YWJsZSDkuLogdHJ1ZSDml7botbfkvZznlKhcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5UmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogIOWktOWDjyBpbWcg5Yqg6L29IGVycm9yIOaXtuinpuWPkVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlFcnJvcjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrkurrlkZjlkI3np7BcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlTaG93TmFtZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWktOWDj+i3r+W+hOWcsOWdgCwg6buY6K6k5Li65YWo6Lev5b6E77yM5aaC5p6c5LiN5piv5YWo6Lev5b6E77yM5Y+v5Lul6YCa6L+H6Ieq5a6a5LmJ5pyN5YqhIFRoeUF2YXRhclNlcnZpY2XvvIzph43lhpkgc3JjVHJhbnNmb3JtIOaWueazleWunueOsOi9rOaNolxuICAgICAqXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U3JjKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0QXZhdGFyU3JjKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDkurrlkZjlkI3np7DvvIjlj6/orr7nva7oh6rlrprkuYnlkI3np7DvvIzpnIDpgJrov4foh6rlrprkuYnmnI3liqEgVGh5QXZhdGFyU2VydmljZe+8jOmHjeWGmSBuYW1lVHJhbnNmb3JtIOaWueazleWOu+WunueOsOi9rOaNou+8iVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeU5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICAvLyB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3NldEF2YXRhck5hbWUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWktOWDj+Wkp+Wwj1xuICAgICAqIEB0eXBlIDE2IHwgMjIgfCAyNCB8IDI4IHwgMzIgfCAzNiB8IDQ0IHwgNDggfCA2OCB8IDExMCB8IDE2MCB8IHh4cygyMnB4KSB8IHhzKDI0cHgpIHwgc20oMzJweCkgfCBtZCgzNnB4KSB8IGxnKDQ4cHgpXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoeUF2YXRhclNpemVNYXBbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRBdmF0YXJTaXplKHRoeUF2YXRhclNpemVNYXBbdmFsdWVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF2YXRhclNpemUoKHZhbHVlIGFzIG51bWJlcikgKiAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g++8jOivt+S9v+eUqCB0aHlSZW1vdmFibGVcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgdGh5U2hvd1JlbW92ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93UmVtb3ZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrnp7vpmaTmjInpkq5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeVJlbW92YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93UmVtb3ZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlm77niYfoh6rlrprkuYnnsbtcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJbWdDbGFzczogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlm77niYfliqDovb3nrZbnlaVcbiAgICAgKiBAdHlwZSBlYWdlcijnq4vljbPliqDovb0pIHwgbGF6eSjlu7bov5/liqDovb0pXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TG9hZGluZz86IFRoeUF2YXRhckxvYWRpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlm77niYfliqDovb3kvJjlhYjnuqdcbiAgICAgKiBAdHlwZSBhdXRvKOm7mOiupCkgfCBoaWdoKOmrmCkgfCBsb3co5L2OKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUZldGNoUHJpb3JpdHk/OiBUaHlBdmF0YXJGZXRjaFByaW9yaXR5O1xuXG4gICAgcHJpdmF0ZSBfc2V0QXZhdGFyU2l6ZShzaXplOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHNpemVBcnJheS5pbmRleE9mKHNpemUpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2l6ZSA9IHRoaXMuZmluZENsb3Nlc3RTaXplKHNpemVBcnJheSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoW2B0aHktYXZhdGFyLSR7dGhpcy5fc2l6ZX1gXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQ2xvc2VzdFNpemUoc2l6ZXM6IG51bWJlcltdLCB2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGxlZnQgPSAwLFxuICAgICAgICAgICAgcmlnaHQgPSBzaXplcy5sZW5ndGggLSAxLFxuICAgICAgICAgICAgbWlkZGxlOiBudW1iZXIsXG4gICAgICAgICAgICByZXN1bHQ6IG51bWJlcjtcblxuICAgICAgICB3aGlsZSAobGVmdCA8PSByaWdodCkge1xuICAgICAgICAgICAgbWlkZGxlID0gTWF0aC5mbG9vcigobGVmdCArIHJpZ2h0KSAvIDIpO1xuICAgICAgICAgICAgaWYgKHJpZ2h0IC0gbGVmdCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbcmlnaHRdO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbbWlkZGxlXTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWZ0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSAtIHNpemVzW2xlZnRdIDwgc2l6ZXNbcmlnaHRdIC0gdmFsdWUgPyBzaXplc1tsZWZ0XSA6IHNpemVzW3JpZ2h0XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBdmF0YXJTcmMoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHNyYyAmJiB0aGlzLnRoeUF2YXRhclNlcnZpY2UuaWdub3JlQXZhdGFyU3JjUGF0aHMuaW5kZXhPZihzcmMpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gc3JjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEF2YXRhck5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy50aHlBdmF0YXJTZXJ2aWNlLm5hbWVUcmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICBpZiAoaXNTdHJpbmcobmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IG5hbWUgYXMgc3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXJOYW1lID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF2YXRhck5hbWVTYWZlSHRtbCA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlBdmF0YXJTZXJ2aWNlOiBUaHlBdmF0YXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZShERUZBVUxUX1NJWkUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWF2YXRhci0ke3RoaXMuX3NpemV9YF0pO1xuICAgIH1cblxuICAgIHJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRoeVJlbW92ZS5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgYXZhdGFySW1nRXJyb3IoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJTcmMobnVsbCk7XG4gICAgICAgIHRoaXMudGh5RXJyb3IuZW1pdCgkZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxpbWdcbiAgKm5nSWY9XCJfc3JjOyBlbHNlIG5vU3JjXCJcbiAgW3NyY109XCJfc3JjIHwgdGh5QXZhdGFyU3JjOiBfc2l6ZVwiXG4gIGNsYXNzPVwiYXZhdGFyLWF2YXRhclwiXG4gIFtuZ0NsYXNzXT1cInRoeUltZ0NsYXNzXCJcbiAgYWx0PVwie3sgYXZhdGFyTmFtZSB8fCAnJyB9fVwiXG4gIFthdHRyLmxvYWRpbmddPVwidGh5TG9hZGluZ1wiXG4gIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5RmV0Y2hQcmlvcml0eVwiXG4gIChlcnJvcik9XCJhdmF0YXJJbWdFcnJvcigkZXZlbnQpXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZSAjbm9TcmM+XG4gIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWRlZmF1bHRcIiBbbmdTdHlsZV09XCJhdmF0YXJOYW1lIHwgYXZhdGFyQmdDb2xvclwiPlxuICAgIDxkaXY+e3sgYXZhdGFyTmFtZSB8IGF2YXRhclNob3J0TmFtZSB9fTwvZGl2PlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgW25nSWZdPVwidGh5U2hvd05hbWVcIj5cbiAgPGRpdiAqbmdJZj1cImF2YXRhck5hbWVTYWZlSHRtbDsgZWxzZSBub0F2YXRhck5hbWVTYWZlSHRtbFwiIGNsYXNzPVwiYXZhdGFyLW5hbWVcIiBbaW5uZXJIdG1sXT1cImF2YXRhck5hbWVTYWZlSHRtbFwiPjwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vQXZhdGFyTmFtZVNhZmVIdG1sPlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItbmFtZVwiPnt7IGF2YXRhck5hbWUgfX08L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxhICpuZ0lmPVwiX3Nob3dSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlKCRldmVudClcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJyZW1vdmUtbGluayBhdmF0YXItcmVtb3ZlXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb25cIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuPC9hPlxuPGRpdiAqbmdJZj1cInRoeURpc2FibGVkXCIgY2xhc3M9XCJ0aHktYXZhdGFyLWRpc2FibGVkXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInRoeS1hdmF0YXItZGlzYWJsZWQtaWNvblwiIHRoeUljb25OYW1lPVwiYmFuXCI+PC90aHktaWNvbj5cbjwvZGl2PlxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixHQUFHLEVBQUUsRUFBRTtJQUNQLEVBQUUsRUFBRSxFQUFFO0lBQ04s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bUNBOEJBLDRDRFFjLElBQUksNkZBQUUsT0FBTyxvRkFBRSxPQUFPLDJFQUFFLGdCQUFnQixpTUFBRSxtQkFBbUIsbURBQUUsaUJBQWlCLGlEQUFFLGFBQWE7QUFrQ3pHO0lBQVUsWUFBWSxFQUFFOzt1REFBc0I7QUF1QzlDO0lBQ0MsWUFBWSxFQUFFOzs7dURBR2Q7QUFNRDtJQUNDLFlBQVksRUFBRTs7O3NEQUdkO0FBV0Q7SUFBVSxZQUFZLEVBQUU7O3VEQUFzQjsyRkFoR3JDLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxZQUFZLG1CQUVMLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDO3VHQVl6RSxTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNckIsV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBTWtCLFdBQVc7c0JBQW5DLEtBQUs7Z0JBT0YsTUFBTTtzQkFEVCxLQUFLO2dCQVNGLE9BQU87c0JBRFYsS0FBSztnQkFZRixPQUFPO3NCQURWLEtBQUs7Z0JBZ0JGLGFBQWE7c0JBRmhCLEtBQUs7Z0JBWUYsWUFBWTtzQkFGZixLQUFLO2dCQVNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTW1CLFdBQVc7c0JBQW5DLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XG5pbXBvcnQgeyBBdmF0YXJTaG9ydE5hbWVQaXBlLCBBdmF0YXJCZ0NvbG9yUGlwZSwgQXZhdGFyU3JjUGlwZSB9IGZyb20gJy4vYXZhdGFyLnBpcGUnO1xuaW1wb3J0IHsgVGh5SWNvbkNvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbmNvbnN0IHNpemVBcnJheSA9IFsxNiwgMjIsIDI0LCAyOCwgMzIsIDM2LCA0NCwgNDgsIDY4LCAxMTAsIDE2MF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NJWkUgPSAzNjtcblxuZXhwb3J0IGNvbnN0IHRoeUF2YXRhclNpemVNYXAgPSB7XG4gICAgeHhzOiAyMixcbiAgICB4czogMjQsXG4gICAgc206IDMyLFxuICAgIG1kOiAzNixcbiAgICBsZzogNDhcbn07XG5cbi8qKiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjYXR0ci1pbWctbG9hZGluZyAqL1xuZXhwb3J0IHR5cGUgVGh5QXZhdGFyTG9hZGluZyA9ICdlYWdlcicgfCAnbGF6eSc7XG5cbi8qKiBodHRwczovL3dpY2cuZ2l0aHViLmlvL3ByaW9yaXR5LWhpbnRzLyNpZGwtaW5kZXggKi9cbmV4cG9ydCB0eXBlIFRoeUF2YXRhckZldGNoUHJpb3JpdHkgPSAnaGlnaCcgfCAnbG93JyB8ICdhdXRvJztcblxuLyoqXG4gKiDlpLTlg4/nu4Tku7ZcbiAqIEBuYW1lIHRoeS1hdmF0YXJcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE5nU3R5bGUsIFRoeUljb25Db21wb25lbnQsIEF2YXRhclNob3J0TmFtZVBpcGUsIEF2YXRhckJnQ29sb3JQaXBlLCBBdmF0YXJTcmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIF9zcmM6IHN0cmluZztcbiAgICBfbmFtZTogc3RyaW5nO1xuICAgIF9zaXplOiBudW1iZXI7XG4gICAgX3Nob3dSZW1vdmUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBhdmF0YXJTcmM6IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZVNhZmVIdG1sPzogU2FmZUh0bWw7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1hdmF0YXInKSBfaXNBdmF0YXIgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5UmVtb3ZlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiAg56e76Zmk5oyJ6ZKu55qE5LqL5Lu2LCDlvZMgdGh5UmVtb3ZhYmxlIOS4uiB0cnVlIOaXtui1t+S9nOeUqFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiAg5aS05YOPIGltZyDliqDovb0gZXJyb3Ig5pe26Kem5Y+RXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUVycm9yOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuS6uuWRmOWQjeensFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dOYW1lOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5aS05YOP6Lev5b6E5Zyw5Z2ALCDpu5jorqTkuLrlhajot6/lvoTvvIzlpoLmnpzkuI3mmK/lhajot6/lvoTvvIzlj6/ku6XpgJrov4foh6rlrprkuYnmnI3liqEgVGh5QXZhdGFyU2VydmljZe+8jOmHjeWGmSBzcmNUcmFuc2Zvcm0g5pa55rOV5a6e546w6L2s5o2iXG4gICAgICpcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTcmModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJTcmModmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS6uuWRmOWQjeensO+8iOWPr+iuvue9ruiHquWumuS5ieWQjeensO+8jOmcgOmAmui/h+iHquWumuS5ieacjeWKoSBUaHlBdmF0YXJTZXJ2aWNl77yM6YeN5YaZIG5hbWVUcmFuc2Zvcm0g5pa55rOV5Y675a6e546w6L2s5o2i77yJXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIHRoaXMuX25hbWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fc2V0QXZhdGFyTmFtZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5aS05YOP5aSn5bCPXG4gICAgICogQHR5cGUgMTYgfCAyMiB8IDI0IHwgMjggfCAzMiB8IDM2IHwgNDQgfCA0OCB8IDY4IHwgMTEwIHwgMTYwIHwgeHhzKDIycHgpIHwgeHMoMjRweCkgfCBzbSgzMnB4KSB8IG1kKDM2cHgpIHwgbGcoNDhweClcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICBpZiAodGh5QXZhdGFyU2l6ZU1hcFt2YWx1ZV0pIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF2YXRhclNpemUodGh5QXZhdGFyU2l6ZU1hcFt2YWx1ZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZSgodmFsdWUgYXMgbnVtYmVyKSAqIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM6K+35L2/55SoIHRoeVJlbW92YWJsZVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlTaG93UmVtb3ZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Nob3dSZW1vdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuenu+mZpOaMiemSrlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgdGh5UmVtb3ZhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Nob3dSZW1vdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWbvueJh+iHquWumuS5ieexu1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUltZ0NsYXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWbvueJh+WKoOi9veetlueVpVxuICAgICAqIEB0eXBlIGVhZ2VyKOeri+WNs+WKoOi9vSkgfCBsYXp5KOW7tui/n+WKoOi9vSlcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlMb2FkaW5nPzogVGh5QXZhdGFyTG9hZGluZztcblxuICAgIC8qKlxuICAgICAqIOWbvueJh+WKoOi9veS8mOWFiOe6p1xuICAgICAqIEB0eXBlIGF1dG8o6buY6K6kKSB8IGhpZ2go6auYKSB8IGxvdyjkvY4pXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RmV0Y2hQcmlvcml0eT86IFRoeUF2YXRhckZldGNoUHJpb3JpdHk7XG5cbiAgICBwcml2YXRlIF9zZXRBdmF0YXJTaXplKHNpemU6IG51bWJlcikge1xuICAgICAgICBpZiAoc2l6ZUFycmF5LmluZGV4T2Yoc2l6ZSkgPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gdGhpcy5maW5kQ2xvc2VzdFNpemUoc2l6ZUFycmF5LCBzaXplKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhbYHRoeS1hdmF0YXItJHt0aGlzLl9zaXplfWBdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRDbG9zZXN0U2l6ZShzaXplQXJyYXk6IG51bWJlcltdLCBjdXJyZW50U2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGNsb3Nlc3RWYWx1ZSA9IHNpemVBcnJheVswXTtcbiAgICAgICAgbGV0IGNsb3Nlc3REaWZmZXJlbmNlID0gTWF0aC5hYnMoY2xvc2VzdFZhbHVlIC0gY3VycmVudFNpemUpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgc2l6ZUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGlmZmVyZW5jZSA9IE1hdGguYWJzKHNpemVBcnJheVtpXSAtIGN1cnJlbnRTaXplKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50RGlmZmVyZW5jZSA8PSBjbG9zZXN0RGlmZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgIGNsb3Nlc3RWYWx1ZSA9IHNpemVBcnJheVtpXTtcbiAgICAgICAgICAgICAgICBjbG9zZXN0RGlmZmVyZW5jZSA9IGN1cnJlbnREaWZmZXJlbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsb3Nlc3RWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBdmF0YXJTcmMoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHNyYyAmJiB0aGlzLnRoeUF2YXRhclNlcnZpY2UuaWdub3JlQXZhdGFyU3JjUGF0aHMuaW5kZXhPZihzcmMpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gc3JjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEF2YXRhck5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy50aHlBdmF0YXJTZXJ2aWNlLm5hbWVUcmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICBpZiAoaXNTdHJpbmcobmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IG5hbWUgYXMgc3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXJOYW1lID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF2YXRhck5hbWVTYWZlSHRtbCA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlBdmF0YXJTZXJ2aWNlOiBUaHlBdmF0YXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZShERUZBVUxUX1NJWkUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWF2YXRhci0ke3RoaXMuX3NpemV9YF0pO1xuICAgIH1cblxuICAgIHJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRoeVJlbW92ZS5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgYXZhdGFySW1nRXJyb3IoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJTcmMobnVsbCk7XG4gICAgICAgIHRoaXMudGh5RXJyb3IuZW1pdCgkZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxpbWdcbiAgKm5nSWY9XCJfc3JjOyBlbHNlIG5vU3JjXCJcbiAgW3NyY109XCJfc3JjIHwgdGh5QXZhdGFyU3JjOiBfc2l6ZVwiXG4gIGNsYXNzPVwiYXZhdGFyLWF2YXRhclwiXG4gIFtuZ0NsYXNzXT1cInRoeUltZ0NsYXNzXCJcbiAgYWx0PVwie3sgYXZhdGFyTmFtZSB8fCAnJyB9fVwiXG4gIFthdHRyLmxvYWRpbmddPVwidGh5TG9hZGluZ1wiXG4gIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5RmV0Y2hQcmlvcml0eVwiXG4gIChlcnJvcik9XCJhdmF0YXJJbWdFcnJvcigkZXZlbnQpXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZSAjbm9TcmM+XG4gIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWRlZmF1bHRcIiBbbmdTdHlsZV09XCJhdmF0YXJOYW1lIHwgYXZhdGFyQmdDb2xvclwiPlxuICAgIDxkaXY+e3sgYXZhdGFyTmFtZSB8IGF2YXRhclNob3J0TmFtZSB9fTwvZGl2PlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgW25nSWZdPVwidGh5U2hvd05hbWVcIj5cbiAgPGRpdiAqbmdJZj1cImF2YXRhck5hbWVTYWZlSHRtbDsgZWxzZSBub0F2YXRhck5hbWVTYWZlSHRtbFwiIGNsYXNzPVwiYXZhdGFyLW5hbWVcIiBbaW5uZXJIdG1sXT1cImF2YXRhck5hbWVTYWZlSHRtbFwiPjwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vQXZhdGFyTmFtZVNhZmVIdG1sPlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItbmFtZVwiPnt7IGF2YXRhck5hbWUgfX08L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxhICpuZ0lmPVwiX3Nob3dSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlKCRldmVudClcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJyZW1vdmUtbGluayBhdmF0YXItcmVtb3ZlXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb25cIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuPC9hPlxuPGRpdiAqbmdJZj1cInRoeURpc2FibGVkXCIgY2xhc3M9XCJ0aHktYXZhdGFyLWRpc2FibGVkXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInRoeS1hdmF0YXItZGlzYWJsZWQtaWNvblwiIHRoeUljb25OYW1lPVwiYmFuXCI+PC90aHktaWNvbj5cbjwvZGl2PlxuIl19
|