@seniorsistemas/angular-components 17.30.0-bugfix-sds-382-9e3e9afc → 17.30.0-bugfix-sds-397-667ade0d
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/bundles/seniorsistemas-angular-components.umd.js +48 -33
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/object-card/object-card.component.d.ts +6 -5
- package/components/utils/breakpoints.d.ts +7 -7
- package/esm2015/components/object-card/object-card.component.js +37 -33
- package/esm2015/components/table/table-paging/table-paging.component.js +3 -3
- package/esm2015/components/utils/breakpoints.js +1 -1
- package/esm5/components/object-card/object-card.component.js +49 -34
- package/esm5/components/table/table-paging/table-paging.component.js +3 -3
- package/esm5/components/utils/breakpoints.js +1 -1
- package/fesm2015/seniorsistemas-angular-components.js +37 -33
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +48 -33
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
1
|
+
import { __decorate, __values } from "tslib";
|
|
2
2
|
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
3
|
-
import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output,
|
|
3
|
+
import { AfterContentChecked, AfterViewInit, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList } from "@angular/core";
|
|
4
4
|
import { EnumSeverity } from "../shared/models/enum-severity";
|
|
5
5
|
import { Breakpoints } from "../utils/breakpoints";
|
|
6
6
|
import { ObjectCardFieldComponent } from "./elements/field/object-card-field.component";
|
|
7
7
|
import { ObjectCardMainComponent } from "./elements/main/object-card-main.component";
|
|
8
8
|
var ObjectCardComponent = /** @class */ (function () {
|
|
9
|
-
function ObjectCardComponent() {
|
|
9
|
+
function ObjectCardComponent(elementRef) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
10
11
|
this.id = "s-object-card-" + ObjectCardComponent_1.nextId++;
|
|
11
12
|
this.expanded = false;
|
|
12
13
|
this.expandTooltip = "Abrir painel";
|
|
@@ -18,36 +19,43 @@ var ObjectCardComponent = /** @class */ (function () {
|
|
|
18
19
|
this.EnumSeverity = EnumSeverity;
|
|
19
20
|
}
|
|
20
21
|
ObjectCardComponent_1 = ObjectCardComponent;
|
|
22
|
+
ObjectCardComponent.prototype.ngAfterViewInit = function () {
|
|
23
|
+
};
|
|
21
24
|
ObjectCardComponent.prototype.ngAfterContentChecked = function () {
|
|
22
25
|
this.update();
|
|
23
26
|
};
|
|
24
27
|
ObjectCardComponent.prototype.update = function () {
|
|
28
|
+
var e_1, _a;
|
|
25
29
|
var windowWidth = window.innerWidth;
|
|
26
|
-
var containerWidth = this.
|
|
27
|
-
var mainFieldWidth =
|
|
28
|
-
var remainingSpace = containerWidth - mainFieldWidth;
|
|
30
|
+
var containerWidth = this.elementRef.nativeElement.offsetWidth;
|
|
31
|
+
var mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;
|
|
29
32
|
var fieldsMinWidth = this.fieldsMinWidth;
|
|
30
|
-
var expandIconWidth =
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
var expandIconWidth = 50;
|
|
34
|
+
var fieldElementList = this.elementRef.nativeElement.getElementsByClassName("s-object-card-field");
|
|
35
|
+
try {
|
|
36
|
+
for (var fieldElementList_1 = __values(fieldElementList), fieldElementList_1_1 = fieldElementList_1.next(); !fieldElementList_1_1.done; fieldElementList_1_1 = fieldElementList_1.next()) {
|
|
37
|
+
var element = fieldElementList_1_1.value;
|
|
38
|
+
element.style.minWidth = this.fieldsMinWidth + "px";
|
|
39
|
+
}
|
|
34
40
|
}
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
42
|
+
finally {
|
|
43
|
+
try {
|
|
44
|
+
if (fieldElementList_1_1 && !fieldElementList_1_1.done && (_a = fieldElementList_1.return)) _a.call(fieldElementList_1);
|
|
45
|
+
}
|
|
46
|
+
finally { if (e_1) throw e_1.error; }
|
|
37
47
|
}
|
|
38
|
-
var
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
maxFieldQtd = Math.floor((
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.iconContainer.nativeElement.style.display = 'none';
|
|
48
|
+
var maxFieldQtd;
|
|
49
|
+
if (windowWidth <= Breakpoints.SM_MAX)
|
|
50
|
+
maxFieldQtd = 0;
|
|
51
|
+
else
|
|
52
|
+
maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);
|
|
53
|
+
if (maxFieldQtd && maxFieldQtd < this.fields.length) {
|
|
54
|
+
maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);
|
|
46
55
|
}
|
|
47
56
|
this.maxVisibleFields = maxFieldQtd;
|
|
48
|
-
if (maxFieldQtd >= this.fields.length && this.expanded)
|
|
57
|
+
if (maxFieldQtd >= this.fields.length && this.expanded)
|
|
49
58
|
this.collapse();
|
|
50
|
-
}
|
|
51
59
|
};
|
|
52
60
|
ObjectCardComponent.prototype.toggle = function () {
|
|
53
61
|
this.expanded ? this.collapse() : this.expand();
|
|
@@ -60,8 +68,24 @@ var ObjectCardComponent = /** @class */ (function () {
|
|
|
60
68
|
this.expanded = false;
|
|
61
69
|
this.expandedChange.emit(this.expanded);
|
|
62
70
|
};
|
|
71
|
+
ObjectCardComponent.prototype.getExpandedFieldWidth = function () {
|
|
72
|
+
var containerWidth = this.elementRef.nativeElement.offsetWidth;
|
|
73
|
+
var fieldsPerRow;
|
|
74
|
+
if (containerWidth <= Breakpoints.SM_MAX)
|
|
75
|
+
fieldsPerRow = 1;
|
|
76
|
+
else if (containerWidth <= Breakpoints.MD_MAX)
|
|
77
|
+
fieldsPerRow = 2;
|
|
78
|
+
else if (containerWidth <= Breakpoints.LG_MAX)
|
|
79
|
+
fieldsPerRow = 4;
|
|
80
|
+
else
|
|
81
|
+
fieldsPerRow = 6;
|
|
82
|
+
return 12 / fieldsPerRow;
|
|
83
|
+
};
|
|
63
84
|
var ObjectCardComponent_1;
|
|
64
85
|
ObjectCardComponent.nextId = 0;
|
|
86
|
+
ObjectCardComponent.ctorParameters = function () { return [
|
|
87
|
+
{ type: ElementRef }
|
|
88
|
+
]; };
|
|
65
89
|
__decorate([
|
|
66
90
|
Input()
|
|
67
91
|
], ObjectCardComponent.prototype, "id", void 0);
|
|
@@ -92,19 +116,10 @@ var ObjectCardComponent = /** @class */ (function () {
|
|
|
92
116
|
__decorate([
|
|
93
117
|
Input()
|
|
94
118
|
], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
|
|
95
|
-
__decorate([
|
|
96
|
-
ViewChild('contentContainer', { static: true })
|
|
97
|
-
], ObjectCardComponent.prototype, "container", void 0);
|
|
98
|
-
__decorate([
|
|
99
|
-
ViewChild('cardMainContainer', { static: true })
|
|
100
|
-
], ObjectCardComponent.prototype, "cardMainContainer", void 0);
|
|
101
|
-
__decorate([
|
|
102
|
-
ViewChild('iconContainer', { static: true })
|
|
103
|
-
], ObjectCardComponent.prototype, "iconContainer", void 0);
|
|
104
119
|
ObjectCardComponent = ObjectCardComponent_1 = __decorate([
|
|
105
120
|
Component({
|
|
106
121
|
selector: "s-object-card",
|
|
107
|
-
template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n
|
|
122
|
+
template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"s-object-card-main\"><ng-content select=\"s-object-card-main\"></ng-content></div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\" class=\"s-object-card-field\">\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n >\n <span [id]=\"id + '-expand-icon'\" class=\"expand-icon fa\" [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"></span>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"ui-g ui-g-12\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"ui-g-{{ getExpandedFieldWidth() }}\">\n <div class=\"s-object-card-field\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
|
|
108
123
|
animations: [
|
|
109
124
|
trigger("expandableContent", [
|
|
110
125
|
state("*", style({
|
|
@@ -130,10 +145,10 @@ var ObjectCardComponent = /** @class */ (function () {
|
|
|
130
145
|
]),
|
|
131
146
|
]),
|
|
132
147
|
],
|
|
133
|
-
styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display
|
|
148
|
+
styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:25px;position:absolute;right:15px;height:25px;top:calc(50% - 12px)}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.s-object-card-main{-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:1;flex-grow:1;overflow:hidden;padding:15px}.main-container.with-visible-fields .s-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .s-object-card-main{width:20%}}.s-object-card-field{overflow:hidden;height:100%}.main-container .s-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.s-object-card-main{max-width:calc(100% - 50px)}}"]
|
|
134
149
|
})
|
|
135
150
|
], ObjectCardComponent);
|
|
136
151
|
return ObjectCardComponent;
|
|
137
152
|
}());
|
|
138
153
|
export { ObjectCardComponent };
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvb2JqZWN0LWNhcmQvb2JqZWN0LWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQXlDckY7SUFBQTtRQUlXLE9BQUUsR0FBRyxtQkFBaUIscUJBQW1CLENBQUMsTUFBTSxFQUFJLENBQUM7UUFHckQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixrQkFBYSxHQUFHLGNBQWMsQ0FBQztRQUcvQixvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUdsQyxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUdyQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFRN0MscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRzVCLGFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBS3ZCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBNkR6QyxDQUFDOzRCQWhHWSxtQkFBbUI7SUE4Q3JCLG1EQUFxQixHQUE1QjtRQUNJLElBQUks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QUFDLENBQUM7cUJBQ3ZFLENBQUM7b0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDakIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQzdDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDdkUsQ0FBQztpQkFDTCxDQUFDO2FBQ0w7O1NBQ0osQ0FBQztPQUNXLG1CQUFtQixDQWdHL0I7SUFBRCwwQkFBQztDQUFBLEFBaEdELElBZ0dDO1NBaEdZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudENoZWNrZWQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQm9yZGVyQnV0dG9uT3B0aW9ucyB9IGZyb20gXCIuLi9zaGFyZWQvbW9kZWxzL2JvcmRlci1idXR0b24tb3B0aW9uc1wiO1xuaW1wb3J0IHsgRW51bVNldmVyaXR5IH0gZnJvbSBcIi4uL3NoYXJlZC9tb2RlbHMvZW51bS1zZXZlcml0eVwiO1xuaW1wb3J0IHsgQnJlYWtwb2ludHMgfSBmcm9tIFwiLi4vdXRpbHMvYnJlYWtwb2ludHNcIjtcbmltcG9ydCB7IE9iamVjdENhcmRGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2ZpZWxkL29iamVjdC1jYXJkLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT2JqZWN0Q2FyZE1haW5Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9tYWluL29iamVjdC1jYXJkLW1haW4uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtb2JqZWN0LWNhcmRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL29iamVjdC1jYXJkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL29iamVjdC1jYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihcImV4cGFuZGFibGVDb250ZW50XCIsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiKlwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjBcIixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiZmFsc2VcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIwXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcInRydWVcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIqXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA9PiB0cnVlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiZmFsc2UgPD0+IHRydWVcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoXCJCb3JkZXJCdXR0b25BbmltYXRpb25cIiwgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlclwiLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06IFwic2NhbGVZKDApXCIsIG9wYWNpdHk6IDAgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2VcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCIsIG9wYWNpdHk6IDEgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogXCJzY2FsZVkoMSlcIiwgb3BhY2l0eTogMSB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZVwiLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJzY2FsZVkoMClcIiwgb3BhY2l0eTogMCB9KSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtb2JqZWN0LWNhcmQtJHtPYmplY3RDYXJkQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwYW5kVG9vbHRpcCA9IFwiQWJyaXIgcGFpbmVsXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2xsYXBzZVRvb2x0aXAgPSBcIkZlY2hhciBwYWluZWxcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkc01pbldpZHRoID0gMjAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChPYmplY3RDYXJkTWFpbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgbWFpbjogT2JqZWN0Q2FyZE1haW5Db21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE9iamVjdENhcmRGaWVsZENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmaWVsZHM/OiBRdWVyeUxpc3Q8T2JqZWN0Q2FyZEZpZWxkQ29tcG9uZW50PjtcblxuICAgIHB1YmxpYyBtYXhWaXNpYmxlRmllbGRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V2ZXJpdHkgPSBFbnVtU2V2ZXJpdHkuRGVmYXVsdDtcblxuICAgIEBJbnB1dCgpXG4gICAgYm9yZGVyQnV0dG9uT3B0aW9uczogQm9yZGVyQnV0dG9uT3B0aW9ucztcblxuICAgIHJlYWRvbmx5IEVudW1TZXZlcml0eSA9IEVudW1TZXZlcml0eTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnRDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhcmRNYWluQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcmRNYWluQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXG4gICAgQFZpZXdDaGlsZCgnaWNvbkNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBjb25zdCBtYWluRmllbGRXaWR0aCA9IHRoaXMuY2FyZE1haW5Db250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgbGV0IHJlbWFpbmluZ1NwYWNlID0gIGNvbnRhaW5lcldpZHRoIC0gbWFpbkZpZWxkV2lkdGg7XG4gICAgICAgIGNvbnN0IGZpZWxkc01pbldpZHRoID0gdGhpcy5maWVsZHNNaW5XaWR0aDtcbiAgICAgICAgY29uc3QgZXhwYW5kSWNvbldpZHRoID0gdGhpcy5pY29uQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cbiAgICAgICAgbGV0IG1heEZpZWxkUXRkOiBudW1iZXI7XG5cbiAgICAgICAgaWYgKHdpbmRvd1dpZHRoIDw9IEJyZWFrcG9pbnRzLlNNX01BWCkge1xuICAgICAgICAgICAgbWF4RmllbGRRdGQgPSAwXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXhGaWVsZFF0ZCA9IE1hdGguZmxvb3IoKHJlbWFpbmluZ1NwYWNlKSAvIGZpZWxkc01pbldpZHRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0V4cGFuZEljb24gPSBtYXhGaWVsZFF0ZCAmJiBtYXhGaWVsZFF0ZCA8IHRoaXMuZmllbGRzLmxlbmd0aFxuXG4gICAgICAgIGlmIChoYXNFeHBhbmRJY29uKSB7XG4gICAgICAgICAgICB0aGlzLmljb25Db250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgICAgICAgICAgcmVtYWluaW5nU3BhY2UgPSByZW1haW5pbmdTcGFjZSAtIGV4cGFuZEljb25XaWR0aDtcbiAgICAgICAgICAgIG1heEZpZWxkUXRkID0gTWF0aC5mbG9vcigocmVtYWluaW5nU3BhY2UpIC8gZmllbGRzTWluV2lkdGgpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25Db250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXhWaXNpYmxlRmllbGRzID0gbWF4RmllbGRRdGQ7XG5cbiAgICAgICAgaWYgKG1heEZpZWxkUXRkID49IHRoaXMuZmllbGRzLmxlbmd0aCAmJiB0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID8gdGhpcy5jb2xsYXBzZSgpIDogdGhpcy5leHBhbmQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kKCkge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KHRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb2xsYXBzZSgpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gICAgfVxufVxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvb2JqZWN0LWNhcmQvb2JqZWN0LWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQXlDckY7SUFzQ0ksNkJBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFsQ25DLE9BQUUsR0FBRyxtQkFBaUIscUJBQW1CLENBQUMsTUFBTSxFQUFJLENBQUM7UUFHckQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixrQkFBYSxHQUFHLGNBQWMsQ0FBQztRQUcvQixvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUdsQyxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUdyQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFRN0MscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRzVCLGFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBS3ZCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBR1MsQ0FBQzs0QkF0Q3RDLG1CQUFtQjtJQXdDckIsNkNBQWUsR0FBdEI7SUFDQSxDQUFDO0lBRU0sbURBQXFCLEdBQTVCO1FBQ0ksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxvQ0FBTSxHQUFkOztRQUNJLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ2pFLElBQU0sY0FBYyxHQUFHLGNBQWMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDL0UsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDOztZQUNyRyxLQUFzQixJQUFBLHFCQUFBLFNBQUEsZ0JBQWdCLENBQUEsa0RBQUEsZ0ZBQUU7Z0JBQW5DLElBQU0sT0FBTyw2QkFBQTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBTSxJQUFJLENBQUMsY0FBYyxPQUFJLENBQUM7YUFDdkQ7Ozs7Ozs7OztRQUVELElBQUksV0FBVyxDQUFDO1FBRWhCLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNO1lBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQzs7WUFDbEQsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7UUFFbEYsSUFBSSxXQUFXLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pELFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztTQUNsRztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7UUFFcEMsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVNLG9DQUFNLEdBQWI7UUFDSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU0sb0NBQU0sR0FBYjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sc0NBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sbURBQXFCLEdBQTVCO1FBQ0ksSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBRWpFLElBQUksWUFBWSxDQUFDO1FBQ2pCLElBQUksY0FBYyxJQUFJLFdBQVcsQ0FBQyxNQUFNO1lBQUUsWUFBWSxHQUFHLENBQUMsQ0FBQzthQUN0RCxJQUFJLGNBQWMsSUFBSSxXQUFXLENBQUMsTUFBTTtZQUFFLFlBQVksR0FBRyxDQUFDLENBQUM7YUFDM0QsSUFBSSxjQUFjLElBQUksV0FBVyxDQUFDLE1BQU07WUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDOztZQUMzRCxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLE9BQU8sRUFBRSxHQUFHLFlBQVksQ0FBQztJQUM3QixDQUFDOztJQS9GYSwwQkFBTSxHQUFHLENBQUMsQ0FBQzs7Z0JBcUNPLFVBQVU7O0lBbEMxQztRQURDLEtBQUssRUFBRTttREFDb0Q7SUFHNUQ7UUFEQyxLQUFLLEVBQUU7eURBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOzhEQUM4QjtJQUd0QztRQURDLEtBQUssRUFBRTtnRUFDaUM7SUFHekM7UUFEQyxLQUFLLEVBQUU7K0RBQ29CO0lBRzVCO1FBREMsTUFBTSxFQUFFOytEQUMyQztJQUdwRDtRQURDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztxREFDbkI7SUFHckM7UUFEQyxlQUFlLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7dURBQ2I7SUFLcEQ7UUFEQyxLQUFLLEVBQUU7eURBQ3dCO0lBR2hDO1FBREMsS0FBSyxFQUFFO29FQUNpQztJQWpDaEMsbUJBQW1CO1FBdkMvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6QixrdkdBQTJDO1lBRTNDLFVBQVUsRUFBRTtnQkFDUixPQUFPLENBQUMsbUJBQW1CLEVBQUU7b0JBQ3pCLEtBQUssQ0FDRCxHQUFHLEVBQ0gsS0FBSyxDQUFDO3dCQUNGLE1BQU0sRUFBRSxHQUFHO3FCQUNkLENBQUMsQ0FDTDtvQkFDRCxLQUFLLENBQ0QsT0FBTyxFQUNQLEtBQUssQ0FBQzt3QkFDRixNQUFNLEVBQUUsR0FBRztxQkFDZCxDQUFDLENBQ0w7b0JBQ0QsS0FBSyxDQUNELE1BQU0sRUFDTixLQUFLLENBQUM7d0JBQ0YsTUFBTSxFQUFFLEdBQUc7cUJBQ2QsQ0FBQyxDQUNMO29CQUNELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ2xELFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDMUQsQ0FBQztnQkFDRixPQUFPLENBQUMsdUJBQXVCLEVBQUU7b0JBQzdCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ2pCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO3dCQUM3QyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3ZFLENBQUM7b0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDakIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQzdDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDdkUsQ0FBQztpQkFDTCxDQUFDO2FBQ0w7O1NBQ0osQ0FBQztPQUNXLG1CQUFtQixDQWlHL0I7SUFBRCwwQkFBQztDQUFBLEFBakdELElBaUdDO1NBakdZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudENoZWNrZWQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IEJvcmRlckJ1dHRvbk9wdGlvbnMgfSBmcm9tIFwiLi4vc2hhcmVkL21vZGVscy9ib3JkZXItYnV0dG9uLW9wdGlvbnNcIjtcbmltcG9ydCB7IEVudW1TZXZlcml0eSB9IGZyb20gXCIuLi9zaGFyZWQvbW9kZWxzL2VudW0tc2V2ZXJpdHlcIjtcbmltcG9ydCB7IEJyZWFrcG9pbnRzIH0gZnJvbSBcIi4uL3V0aWxzL2JyZWFrcG9pbnRzXCI7XG5pbXBvcnQgeyBPYmplY3RDYXJkRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9maWVsZC9vYmplY3QtY2FyZC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE9iamVjdENhcmRNYWluQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvbWFpbi9vYmplY3QtY2FyZC1tYWluLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLW9iamVjdC1jYXJkXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9vYmplY3QtY2FyZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9vYmplY3QtY2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoXCJleHBhbmRhYmxlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcIipcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIwXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcImZhbHNlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMFwiLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiKlwiLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIiogPT4gdHJ1ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcImZhbHNlIDw9PiB0cnVlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSksXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKFwiQm9yZGVyQnV0dG9uQW5pbWF0aW9uXCIsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiBcInNjYWxlWSgwKVwiLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoXCIzMDBtcyBlYXNlXCIsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInNjYWxlWSgxKVwiLCBvcGFjaXR5OiAxIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCIsIG9wYWNpdHk6IDEgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2VcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwic2NhbGVZKDApXCIsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLW9iamVjdC1jYXJkLSR7T2JqZWN0Q2FyZENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cGFuZFRvb2x0aXAgPSBcIkFicmlyIHBhaW5lbFwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sbGFwc2VUb29sdGlwID0gXCJGZWNoYXIgcGFpbmVsXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWVsZHNNaW5XaWR0aCA9IDIwMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoT2JqZWN0Q2FyZE1haW5Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIG1haW46IE9iamVjdENhcmRNYWluQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihPYmplY3RDYXJkRmllbGRDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwdWJsaWMgZmllbGRzPzogUXVlcnlMaXN0PE9iamVjdENhcmRGaWVsZENvbXBvbmVudD47XG5cbiAgICBwdWJsaWMgbWF4VmlzaWJsZUZpZWxkcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldmVyaXR5ID0gRW51bVNldmVyaXR5LkRlZmF1bHQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGJvcmRlckJ1dHRvbk9wdGlvbnM6IEJvcmRlckJ1dHRvbk9wdGlvbnM7XG5cbiAgICByZWFkb25seSBFbnVtU2V2ZXJpdHkgPSBFbnVtU2V2ZXJpdHk7XG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IG1haW5GaWVsZFdpZHRoID0gY29udGFpbmVyV2lkdGggKiAwLjMgPiAyNjAgPyBjb250YWluZXJXaWR0aCAqIDAuMyA6IDI2MDtcbiAgICAgICAgY29uc3QgZmllbGRzTWluV2lkdGggPSB0aGlzLmZpZWxkc01pbldpZHRoO1xuICAgICAgICBjb25zdCBleHBhbmRJY29uV2lkdGggPSA1MDtcbiAgICAgICAgY29uc3QgZmllbGRFbGVtZW50TGlzdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJzLW9iamVjdC1jYXJkLWZpZWxkXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgZmllbGRFbGVtZW50TGlzdCkge1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IGAke3RoaXMuZmllbGRzTWluV2lkdGh9cHhgO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG1heEZpZWxkUXRkO1xuXG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA8PSBCcmVha3BvaW50cy5TTV9NQVgpIG1heEZpZWxkUXRkID0gMDtcbiAgICAgICAgZWxzZSBtYXhGaWVsZFF0ZCA9IE1hdGguZmxvb3IoKGNvbnRhaW5lcldpZHRoIC0gbWFpbkZpZWxkV2lkdGgpIC8gZmllbGRzTWluV2lkdGgpO1xuXG4gICAgICAgIGlmIChtYXhGaWVsZFF0ZCAmJiBtYXhGaWVsZFF0ZCA8IHRoaXMuZmllbGRzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWF4RmllbGRRdGQgPSBNYXRoLmZsb29yKChjb250YWluZXJXaWR0aCAtIG1haW5GaWVsZFdpZHRoIC0gZXhwYW5kSWNvbldpZHRoKSAvIGZpZWxkc01pbldpZHRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWF4VmlzaWJsZUZpZWxkcyA9IG1heEZpZWxkUXRkO1xuXG4gICAgICAgIGlmIChtYXhGaWVsZFF0ZCA+PSB0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5leHBhbmRlZCkgdGhpcy5jb2xsYXBzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPyB0aGlzLmNvbGxhcHNlKCkgOiB0aGlzLmV4cGFuZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBhbmQoKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbGxhcHNlKCkge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmV4cGFuZGVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXhwYW5kZWRGaWVsZFdpZHRoKCkge1xuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgICAgIGxldCBmaWVsZHNQZXJSb3c7XG4gICAgICAgIGlmIChjb250YWluZXJXaWR0aCA8PSBCcmVha3BvaW50cy5TTV9NQVgpIGZpZWxkc1BlclJvdyA9IDE7XG4gICAgICAgIGVsc2UgaWYgKGNvbnRhaW5lcldpZHRoIDw9IEJyZWFrcG9pbnRzLk1EX01BWCkgZmllbGRzUGVyUm93ID0gMjtcbiAgICAgICAgZWxzZSBpZiAoY29udGFpbmVyV2lkdGggPD0gQnJlYWtwb2ludHMuTEdfTUFYKSBmaWVsZHNQZXJSb3cgPSA0O1xuICAgICAgICBlbHNlIGZpZWxkc1BlclJvdyA9IDY7XG5cbiAgICAgICAgcmV0dXJuIDEyIC8gZmllbGRzUGVyUm93O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -85,7 +85,7 @@ var TablePagingComponent = /** @class */ (function () {
|
|
|
85
85
|
});
|
|
86
86
|
};
|
|
87
87
|
TablePagingComponent.prototype.getCurrentPageRowsToExport = function (columns) {
|
|
88
|
-
var tableData = this.table.value;
|
|
88
|
+
var tableData = __spread(this.table.value);
|
|
89
89
|
if (this.loadCurrentPageRecords) {
|
|
90
90
|
tableData = this.loadCurrentPageRecords();
|
|
91
91
|
}
|
|
@@ -94,7 +94,7 @@ var TablePagingComponent = /** @class */ (function () {
|
|
|
94
94
|
return this.mapColumnsTranslations(columns, tableData);
|
|
95
95
|
};
|
|
96
96
|
TablePagingComponent.prototype.getSelectedRowsToExport = function (columns) {
|
|
97
|
-
var tableData = this.table.selection;
|
|
97
|
+
var tableData = __spread(this.table.selection);
|
|
98
98
|
if (this.loadSelectedRecords) {
|
|
99
99
|
tableData = this.loadSelectedRecords();
|
|
100
100
|
}
|
|
@@ -358,4 +358,4 @@ var TablePagingComponent = /** @class */ (function () {
|
|
|
358
358
|
return TablePagingComponent;
|
|
359
359
|
}());
|
|
360
360
|
export { TablePagingComponent };
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBY3JDO0lBK0JJLDhCQUNxQixTQUEyQixFQUMzQixhQUE0QixFQUNjLGtCQUFzQztRQUZoRixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNjLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF2QjlGLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZ0NBQTJCLEdBQUcsSUFBSSxDQUFDO0lBcUJ2QyxDQUFDO0lBRUosMENBQVcsR0FBWCxVQUFZLE9BQXNCOztRQUM5QixVQUFJLE9BQU8sQ0FBQyxZQUFZLDBDQUFFLFlBQVksRUFBRTtZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLGtCQUFlLEVBQUU7Z0JBQ3hGLEtBQUssRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVk7YUFDM0MsQ0FB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dCwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSBcIi4uL3RhYmxlLWNvbHVtbi9tb2RlbHMvY29sdW1uLmludGVyZmFjZVwiO1xuXG5pbXBvcnQgeyBIb3N0UHJvamVjdENvbmZpZ3MsIEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuIH0gZnJvbSBcIi4uLy4uLy4uL2FuZ3VsYXItY29tcG9uZW50cy5tb2R1bGVcIjtcbmltcG9ydCB7IEV4cG9ydFV0aWxzLCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3VzdG9tQWN0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2xvY2FsZS9sb2NhbGUuc2VydmljZVwiO1xuXG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcblxudHlwZSBSb3dWYWx1ZUZvcm1hdE9wdGlvbiA9IHtcbiAgICB2YWx1ZT86IG51bWJlcjtcbiAgICBvcHRpb25zPzoge1xuICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zO1xuICAgIH07XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLXBhZ2luZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90YWJsZS1wYWdpbmcuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgc2VsZWN0b3I6IFwicy10YWJsZS1wYWdpbmdcIixcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVQYWdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cG9ydEZpbGVOYW1lPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGFibGUhOiBUYWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cG9ydGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlRXhwb3J0U2VsZWN0ZWRSZWNvcmRzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbUFjdGlvbnM/OiBDdXN0b21BY3Rpb25bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRBbGxSZWNvcmRzPzogKCkgPT4gUHJvbWlzZTxhbnlbXT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkQ3VycmVudFBhZ2VSZWNvcmRzPzogKCkgPT4gYW55W107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkU2VsZWN0ZWRSZWNvcmRzPzogKCkgPT4gYW55W107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzVGV4dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgaG9zdFByb2plY3RDb25maWdzOiBIb3N0UHJvamVjdENvbmZpZ3NcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRvdGFsUmVjb3Jkcz8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3Jkc1RleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9dG90YWxfcmVjb3Jkc2AsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogY2hhbmdlcy50b3RhbFJlY29yZHMuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0ZVByZWZpeCgpIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaG9zdFByb2plY3RDb25maWdzLmRvbWFpbn0uJHt0aGlzLmhvc3RQcm9qZWN0Q29uZmlncy5zZXJ2aWNlfS5gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb29sdGlwVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfdG9fY3N2YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMoKTogTWVudUl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnM6IE1lbnVJdGVtW10gPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0Q3VycmVudFBhZ2VcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF9jdXJyZW50X3BhZ2VgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydEN1cnJlbnRQYWdlKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUV4cG9ydFNlbGVjdGVkUmVjb3Jkcykge1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogXCJleHBvcnRTZWxlY3RlZFwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X3NlbGVjdGVkX3JlY29yZHNgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydFNlbGVjdGVkUmVjb3JkcygpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2FkQWxsUmVjb3Jkcykge1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogXCJleHBvcnRBbGxcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF9hbGxfcmVjb3Jkc2ApLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZXhwb3J0QWxsUmVjb3JkcygpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jdXN0b21BY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbU1lbnVzID0gdGhpcy5jdXN0b21BY3Rpb25zLm1hcCgocCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiY3VzdG9tQWN0aW9uX1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHAubGFiZWwsXG4gICAgICAgICAgICAgICAgY29tbWFuZDogcC5jb21tYW5kLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKC4uLmN1c3RvbU1lbnVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY3Rpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVDb21wb25lbnQoKSB7XG4gICAgICAgIGlmICghdGhpcy50YWJsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGFibGUgY29tcG9uZW50IG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbHVtbnNUb0V4cG9ydCgpIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLnRhYmxlLmNvbHVtbnNdLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRDb2x1bW4gPSB7XG4gICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogY29sdW1uLmhlYWRlcixcbiAgICAgICAgICAgICAgICBleHBvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiBjb2x1bW4uc2VwYXJhdG9yID8/IFwiIC0gXCIsXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogY29sdW1uLmVudW1QcmVmaXgsXG4gICAgICAgICAgICAgICAgY3VzdG9tRXhwb3J0OiBjb2x1bW4uY3VzdG9tRXhwb3J0LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5leHBvcnRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5leHBvcnRhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjb2x1bW4uYXR0cmlidXRlcyAmJiBjb2x1bW4uYXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmF0dHJpYnV0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5maWVsZCA9IGNvbHVtbi5hdHRyaWJ1dGVzWzBdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydENvbHVtbi5maWVsZCA9IGNvbHVtbi5hdHRyaWJ1dGVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4cG9ydENvbHVtbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50UGFnZVJvd3NUb0V4cG9ydChjb2x1bW5zOiBhbnlbXSkge1xuICAgICAgICBsZXQgdGFibGVEYXRhID0gdGhpcy50YWJsZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMubG9hZEN1cnJlbnRQYWdlUmVjb3Jkcykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGhpcy5sb2FkQ3VycmVudFBhZ2VSZWNvcmRzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZURhdGEgPSB0aGlzLm1hcEN1c3RvbUV4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwTnVtYmVyRm9ybWF0T3B0aW9uc0V4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgdGFibGVEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkUm93c1RvRXhwb3J0KGNvbHVtbnM6IGFueVtdKSB7XG4gICAgICAgIGxldCB0YWJsZURhdGEgPSB0aGlzLnRhYmxlLnNlbGVjdGlvbjtcbiAgICAgICAgaWYgKHRoaXMubG9hZFNlbGVjdGVkUmVjb3Jkcykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGhpcy5sb2FkU2VsZWN0ZWRSZWNvcmRzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZURhdGEgPSB0aGlzLm1hcEN1c3RvbUV4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwTnVtYmVyRm9ybWF0T3B0aW9uc0V4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgdGFibGVEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BlcnR5VmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UHJvcGVydHlWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucmVjdXJzaW9uU2V0VmFsdWUob2JqLCBwYXRoLnNwbGl0KFwiLlwiKSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjdXJzaW9uU2V0VmFsdWUob2JqOiBhbnksIGtleXNMaXN0OiBzdHJpbmdbXSwgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGtleXNMaXN0WzBdO1xuICAgICAgICBpZiAoa2V5c0xpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfVxuICAgICAgICBvYmpba2V5XSA9IHRoaXMucmVjdXJzaW9uU2V0VmFsdWUob2JqPy5ba2V5XSB8fCB7fSwga2V5c0xpc3Quc2xpY2UoMSksIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zOiBhbnlbXSwgcm93czogYW55W10pIHtcbiAgICAgICAgY29uc3QgZW51bUNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigocCkgPT4gcC5lbnVtUHJlZml4KTtcbiAgICAgICAgaWYgKCFlbnVtQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFsuLi5yb3dzXS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0geyAuLi5yb3cgfTtcbiAgICAgICAgICAgIGVudW1Db2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9ICFBcnJheS5pc0FycmF5KGNvbHVtbi5maWVsZCkgPyBbY29sdW1uLmZpZWxkXSA6IGNvbHVtbi5maWVsZDtcbiAgICAgICAgICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uRGF0YSA9IHRoaXMuZ2V0UHJvcGVydHlWYWx1ZShyb3csIGZpZWxkTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5EYXRhID09PSBudWxsIHx8IGNvbHVtbkRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVZhbHVlKGNvbHVtbiwgY29sdW1uRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UHJvcGVydHlWYWx1ZShuZXdSb3csIGZpZWxkTmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdSb3c7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIG1hcCB2YWx1ZXNcbiAgICAgKiBmcm9tIHRoZSBUYWJsZUNvbHVtbnNDb21wb25lbnQsIHdoaWNoIHVzZXMgdGhlIG51bWJlckZvcm1hdE9wdGlvbnNcbiAgICAgKiBmaWVsZCwgYWxvbmcgd2l0aCByb3dzIHRoYXQgaGF2ZSBhIGN1c3RvbSBudW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAqIHRvIGVuc3VyZSB0aGUgY29ycmVjdCB2YWx1ZXMgYXJlIGV4cG9ydGVkIGJ5IHRoZSBUYWJsZVBhZ2luZ0NvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIGNvcnJlY3RseSBtYXBwZWQgdGFibGVEYXRhLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KFxuICAgICAgICBjb2x1bW5zOiBQYXJ0aWFsPENvbHVtbj5bXSxcbiAgICAgICAgdGFibGVEYXRhOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBSb3dWYWx1ZUZvcm1hdE9wdGlvbiB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIH1bXVxuICAgICkge1xuICAgICAgICBjb25zdCBoYXNOdW1iZXJGb3JtYXRPcHRpb25zQ29sdW1ucyA9IGNvbHVtbnMuc29tZSgoY29sdW1uKSA9PiBjb2x1bW4ubnVtYmVyRm9ybWF0T3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IGhhc051bWJlckZvcm1hdE9wdGlvbnNSb3dzID0gdGFibGVEYXRhLnNvbWUoKHJvd0RhdGEpID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhyb3dEYXRhKS5zb21lKChrZXkpID0+IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pPy5vcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghaGFzTnVtYmVyRm9ybWF0T3B0aW9uc0NvbHVtbnMgJiYgIWhhc051bWJlckZvcm1hdE9wdGlvbnNSb3dzKSByZXR1cm4gdGFibGVEYXRhO1xuXG4gICAgICAgIGlmIChoYXNOdW1iZXJGb3JtYXRPcHRpb25zQ29sdW1ucykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGFibGVEYXRhLm1hcCgocm93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbnNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucyA9IGNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi5udW1iZXJGb3JtYXRPcHRpb25zKTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY29sdW1uLmF0dHJpYnV0ZXM7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0T3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHJvd0RhdGFbYXR0cmlidXRlIGFzIHN0cmluZ10pKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChyb3dEYXRhW2F0dHJpYnV0ZSBhcyBzdHJpbmddIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKS5vcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcm93RGF0YVthdHRyaWJ1dGUgYXMgc3RyaW5nXSBhcyBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBlZFZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zLnN0eWxlID09PSBcInBlcmNlbnRcIiA/IG5ldyBCaWdOdW1iZXIodmFsdWUpLnRpbWVzKDEwMCkgOiBuZXcgQmlnTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGVPcHRpb25zKCkubG9jYWxlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nTW9kZTogXCJ0cnVuY1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dEYXRhW2F0dHJpYnV0ZSBhcyBzdHJpbmddID0gbnVtYmVyRm9ybWF0LmZvcm1hdChtYXBwZWRWYWx1ZS50b051bWJlcigpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByb3dEYXRhO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzTnVtYmVyRm9ybWF0T3B0aW9uc1Jvd3MpIHtcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IHRhYmxlRGF0YS5tYXAoKHJvd0RhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzV2l0aE51bWJlckZvcm1hdE9wdGlvbnMgPSBPYmplY3Qua2V5cyhyb3dEYXRhKS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChrZXkpID0+IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pPy5vcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlckZvcm1hdE9wdGlvbnMgPSAocm93RGF0YVtrZXldIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKS5vcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkVmFsdWUgPSBudW1iZXJGb3JtYXRPcHRpb25zLnN0eWxlID09PSBcInBlcmNlbnRcIiA/IG5ldyBCaWdOdW1iZXIodmFsdWUpLnRpbWVzKDEwMCkgOiBuZXcgQmlnTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKS5sb2NhbGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3VuZGluZ01vZGU6IFwidHJ1bmNcIixcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIChyb3dEYXRhW2tleV0gYXMgc3RyaW5nIHwgbnVtYmVyKSA9IG51bWJlckZvcm1hdC5mb3JtYXQobWFwcGVkVmFsdWUudG9OdW1iZXIoKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvd0RhdGE7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJsZURhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcEN1c3RvbUV4cG9ydChjb2x1bW5zOiBhbnlbXSwgcm93czogYW55W10pIHtcbiAgICAgICAgY29uc3QgY3VzdG9tQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChwKSA9PiBwLmN1c3RvbUV4cG9ydCk7XG4gICAgICAgIGlmICghY3VzdG9tQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFsuLi5yb3dzXS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0geyAuLi5yb3cgfTtcbiAgICAgICAgICAgIGN1c3RvbUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gIUFycmF5LmlzQXJyYXkoY29sdW1uLmZpZWxkKSA/IFtjb2x1bW4uZmllbGRdIDogY29sdW1uLmZpZWxkO1xuICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHJvdywgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkRhdGEgPT09IG51bGwgfHwgY29sdW1uRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2x1bW4uY3VzdG9tRXhwb3J0KGNvbHVtbkRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByb3BlcnR5VmFsdWUobmV3Um93LCBmaWVsZE5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zbGF0ZVZhbHVlKGNvbHVtbjogYW55LCBjb2x1bW5EYXRhOiBhbnkpIHtcbiAgICAgICAgLy8gRGVmYXVsdCB1c2FnZTogRU5VTV9WQUxVRSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGNvbHVtbkRhdGEudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBsZXQgdHJhbnNsYXRpb25LZXkgPSBjb2x1bW4uZW51bVByZWZpeCArIGVudW1WYWx1ZTtcbiAgICAgICAgbGV0IHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuXG4gICAgICAgIC8vIEN1c3RvbSB1c2FnZSAxOiBWOSAtPiBkb21haW4uc2VydmljZS52XzlcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uS2V5ID09PSB0cmFuc2xhdGVkVmFsdWUgJiYgZW51bVZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtVmFsdWUuc3Vic3RyaW5nKDAsIDEpfV8ke2VudW1WYWx1ZS5zdWJzdHIoMSl9YDtcbiAgICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3VzdG9tIHVzYWdlIDI6IEVudW1WYWx1ZSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGlmICh0cmFuc2xhdGlvbktleSA9PT0gdHJhbnNsYXRlZFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtS2V5ID0gdGhpcy5jb252ZXJ0VG9TbmFrZUNhc2UoY29sdW1uRGF0YS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtS2V5fWA7XG4gICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0VG9TbmFrZUNhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW0EtWl0pL2csIChtYXRjaCwgZ3JvdXApID0+IGBfJHtncm91cC50b0xvd2VyQ2FzZSgpfWApLnJlcGxhY2UoL15fLywgXCJcIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFeHBvcnRGaWxlTmFtZSgpIHtcbiAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nID8/IFwicHQtQlJcIjtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmV4cG9ydEZpbGVOYW1lID8/IFwiZG93bmxvYWRcIjtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxhbmcpLnJlcGxhY2UoXCJfXCIsIFwiLVwiKTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkVGltZSA9IGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGxhbmcpLnJlcGxhY2UoXCIgXCIsIFwiLVwiKTtcblxuICAgICAgICByZXR1cm4gYCR7ZmlsZU5hbWV9XyR7Zm9ybWF0dGVkRGF0ZX1fJHtmb3JtYXR0ZWRUaW1lfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydEN1cnJlbnRQYWdlKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLmdldEN1cnJlbnRQYWdlUm93c1RvRXhwb3J0KGNvbHVtbnMpO1xuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydFNlbGVjdGVkUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5nZXRTZWxlY3RlZFJvd3NUb0V4cG9ydChjb2x1bW5zKTtcbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBleHBvcnRBbGxSZWNvcmRzKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG5cbiAgICAgICAgbGV0IHNlcnZlckRhdGEgPSBhd2FpdCB0aGlzLmxvYWRBbGxSZWNvcmRzKCk7XG5cbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uc1RvRXhwb3J0KCk7XG5cbiAgICAgICAgc2VydmVyRGF0YSA9IHRoaXMubWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuXG4gICAgICAgIHNlcnZlckRhdGEgPSB0aGlzLm1hcE51bWJlckZvcm1hdE9wdGlvbnNFeHBvcnQoY29sdW1ucywgc2VydmVyRGF0YSk7XG5cbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuXG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG59XG4iXX0=
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBY3JDO0lBK0JJLDhCQUNxQixTQUEyQixFQUMzQixhQUE0QixFQUNjLGtCQUFzQztRQUZoRixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNjLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF2QjlGLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZ0NBQTJCLEdBQUcsSUFBSSxDQUFDO0lBcUJ2QyxDQUFDO0lBRUosMENBQVcsR0FBWCxVQUFZLE9BQXNCOztRQUM5QixVQUFJLE9BQU8sQ0FBQyxZQUFZLDBDQUFFLFlBQVksRUFBRTtZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLGtCQUFlLEVBQUU7Z0JBQ3hGLEtBQUssRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVk7YUFDM0MsQ0FB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eyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW4vbW9kZWxzL2NvbHVtbi5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgSG9zdFByb2plY3RDb25maWdzLCBIb3N0UHJvamVjdENvbmZpZ3NJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCIuLi8uLi8uLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG5pbXBvcnQgeyBFeHBvcnRVdGlscywgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IEN1c3RvbUFjdGlvbiB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCIuLi8uLi9sb2NhbGUvbG9jYWxlLnNlcnZpY2VcIjtcblxuaW1wb3J0IEJpZ051bWJlciBmcm9tIFwiYmlnbnVtYmVyLmpzXCI7XG5cbnR5cGUgUm93VmFsdWVGb3JtYXRPcHRpb24gPSB7XG4gICAgdmFsdWU/OiBudW1iZXI7XG4gICAgb3B0aW9ucz86IHtcbiAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9ucz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucztcbiAgICB9O1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS1wYWdpbmcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGFibGUtcGFnaW5nLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHNlbGVjdG9yOiBcInMtdGFibGUtcGFnaW5nXCIsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0b3RhbFJlY29yZHMhOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBleHBvcnRGaWxlTmFtZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRhYmxlITogVGFibGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBleHBvcnRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVuYWJsZUV4cG9ydFNlbGVjdGVkUmVjb3JkcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21BY3Rpb25zPzogQ3VzdG9tQWN0aW9uW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkQWxsUmVjb3Jkcz86ICgpID0+IFByb21pc2U8YW55W10+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZEN1cnJlbnRQYWdlUmVjb3Jkcz86ICgpID0+IGFueVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZFNlbGVjdGVkUmVjb3Jkcz86ICgpID0+IGFueVtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRvdGFsUmVjb3Jkc1RleHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuKSBwcml2YXRlIHJlYWRvbmx5IGhvc3RQcm9qZWN0Q29uZmlnczogSG9zdFByb2plY3RDb25maWdzXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50b3RhbFJlY29yZHM/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNUZXh0ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfXRvdGFsX3JlY29yZHNgLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNoYW5nZXMudG90YWxSZWNvcmRzLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGVQcmVmaXgoKSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmhvc3RQcm9qZWN0Q29uZmlncy5kb21haW59LiR7dGhpcy5ob3N0UHJvamVjdENvbmZpZ3Muc2VydmljZX0uYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9vbHRpcFRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X3RvX2NzdmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydEN1cnJlbnRQYWdlXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfY3VycmVudF9wYWdlYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRDdXJyZW50UGFnZSgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAodGhpcy5lbmFibGVFeHBvcnRTZWxlY3RlZFJlY29yZHMpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0U2VsZWN0ZWRcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF9zZWxlY3RlZF9yZWNvcmRzYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRTZWxlY3RlZFJlY29yZHMoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZEFsbFJlY29yZHMpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0QWxsXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfYWxsX3JlY29yZHNgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydEFsbFJlY29yZHMoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21NZW51cyA9IHRoaXMuY3VzdG9tQWN0aW9ucy5tYXAoKHAsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBcImN1c3RvbUFjdGlvbl9cIiArIGluZGV4LFxuICAgICAgICAgICAgICAgIGxhYmVsOiBwLmxhYmVsLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHAuY29tbWFuZCxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCguLi5jdXN0b21NZW51cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRhYmxlIGNvbXBvbmVudCBub3QgZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5zVG9FeHBvcnQoKSB7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy50YWJsZS5jb2x1bW5zXS5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0Q29sdW1uID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbHVtbixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGNvbHVtbi5oZWFkZXIsXG4gICAgICAgICAgICAgICAgZXhwb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogY29sdW1uLnNlcGFyYXRvciA/PyBcIiAtIFwiLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGNvbHVtbi5lbnVtUHJlZml4LFxuICAgICAgICAgICAgICAgIGN1c3RvbUV4cG9ydDogY29sdW1uLmN1c3RvbUV4cG9ydCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChjb2x1bW4uZXhwb3J0YWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZXhwb3J0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY29sdW1uLmF0dHJpYnV0ZXMgJiYgY29sdW1uLmF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5hdHRyaWJ1dGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlc1swXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBleHBvcnRDb2x1bW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFBhZ2VSb3dzVG9FeHBvcnQoY29sdW1uczogYW55W10pIHtcbiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IFsuLi50aGlzLnRhYmxlLnZhbHVlXTtcbiAgICAgICAgaWYgKHRoaXMubG9hZEN1cnJlbnRQYWdlUmVjb3Jkcykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGhpcy5sb2FkQ3VycmVudFBhZ2VSZWNvcmRzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZURhdGEgPSB0aGlzLm1hcEN1c3RvbUV4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwTnVtYmVyRm9ybWF0T3B0aW9uc0V4cG9ydChjb2x1bW5zLCB0YWJsZURhdGEpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgdGFibGVEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkUm93c1RvRXhwb3J0KGNvbHVtbnM6IGFueVtdKSB7XG4gICAgICAgIGxldCB0YWJsZURhdGEgPSBbLi4udGhpcy50YWJsZS5zZWxlY3Rpb25dO1xuICAgICAgICBpZiAodGhpcy5sb2FkU2VsZWN0ZWRSZWNvcmRzKSB7XG4gICAgICAgICAgICB0YWJsZURhdGEgPSB0aGlzLmxvYWRTZWxlY3RlZFJlY29yZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgdGFibGVEYXRhID0gdGhpcy5tYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCB0YWJsZURhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcGVydHlWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcm9wZXJ0eVZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5yZWN1cnNpb25TZXRWYWx1ZShvYmosIHBhdGguc3BsaXQoXCIuXCIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWN1cnNpb25TZXRWYWx1ZShvYmo6IGFueSwga2V5c0xpc3Q6IHN0cmluZ1tdLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c0xpc3RbMF07XG4gICAgICAgIGlmIChrZXlzTGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9XG4gICAgICAgIG9ialtrZXldID0gdGhpcy5yZWN1cnNpb25TZXRWYWx1ZShvYmo/LltrZXldIHx8IHt9LCBrZXlzTGlzdC5zbGljZSgxKSwgdmFsdWUpO1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnM6IGFueVtdLCByb3dzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBlbnVtQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChwKSA9PiBwLmVudW1QcmVmaXgpO1xuICAgICAgICBpZiAoIWVudW1Db2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWy4uLnJvd3NdLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSb3cgPSB7IC4uLnJvdyB9O1xuICAgICAgICAgICAgZW51bUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gIUFycmF5LmlzQXJyYXkoY29sdW1uLmZpZWxkKSA/IFtjb2x1bW4uZmllbGRdIDogY29sdW1uLmZpZWxkO1xuICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHJvdywgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkRhdGEgPT09IG51bGwgfHwgY29sdW1uRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlVmFsdWUoY29sdW1uLCBjb2x1bW5EYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcm9wZXJ0eVZhbHVlKG5ld1JvdywgZmllbGROYW1lLCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gbWFwIHZhbHVlc1xuICAgICAqIGZyb20gdGhlIFRhYmxlQ29sdW1uc0NvbXBvbmVudCwgd2hpY2ggdXNlcyB0aGUgbnVtYmVyRm9ybWF0T3B0aW9uc1xuICAgICAqIGZpZWxkLCBhbG9uZyB3aXRoIHJvd3MgdGhhdCBoYXZlIGEgY3VzdG9tIG51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICogdG8gZW5zdXJlIHRoZSBjb3JyZWN0IHZhbHVlcyBhcmUgZXhwb3J0ZWQgYnkgdGhlIFRhYmxlUGFnaW5nQ29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHJldHVybnMgUmV0dXJucyB0aGUgY29ycmVjdGx5IG1hcHBlZCB0YWJsZURhdGEuXG4gICAgICovXG4gICAgcHVibGljIG1hcE51bWJlckZvcm1hdE9wdGlvbnNFeHBvcnQoXG4gICAgICAgIGNvbHVtbnM6IFBhcnRpYWw8Q29sdW1uPltdLFxuICAgICAgICB0YWJsZURhdGE6IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IFJvd1ZhbHVlRm9ybWF0T3B0aW9uIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgICAgfVtdXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGhhc051bWJlckZvcm1hdE9wdGlvbnNDb2x1bW5zID0gY29sdW1ucy5zb21lKChjb2x1bW4pID0+IGNvbHVtbi5udW1iZXJGb3JtYXRPcHRpb25zKTtcbiAgICAgICAgY29uc3QgaGFzTnVtYmVyRm9ybWF0T3B0aW9uc1Jvd3MgPSB0YWJsZURhdGEuc29tZSgocm93RGF0YSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJvd0RhdGEpLnNvbWUoKGtleSkgPT4gKHJvd0RhdGFba2V5XSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbik/Lm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFoYXNOdW1iZXJGb3JtYXRPcHRpb25zQ29sdW1ucyAmJiAhaGFzTnVtYmVyRm9ybWF0T3B0aW9uc1Jvd3MpIHJldHVybiB0YWJsZURhdGE7XG5cbiAgICAgICAgaWYgKGhhc051bWJlckZvcm1hdE9wdGlvbnNDb2x1bW5zKSB7XG4gICAgICAgICAgICB0YWJsZURhdGEgPSB0YWJsZURhdGEubWFwKChyb3dEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uc1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zID0gY29sdW1ucy5maWx0ZXIoKGNvbHVtbikgPT4gY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1uc1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjb2x1bW4uYXR0cmlidXRlcztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJGb3JtYXRPcHRpb25zID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBjb2x1bW4ubnVtYmVyRm9ybWF0T3B0aW9ucyA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjb2x1bW4ubnVtYmVyRm9ybWF0T3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93RGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4ubnVtYmVyRm9ybWF0T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocm93RGF0YVthdHRyaWJ1dGUgYXMgc3RyaW5nXSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJvd0RhdGFbYXR0cmlidXRlIGFzIHN0cmluZ10gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pLm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSByb3dEYXRhW2F0dHJpYnV0ZSBhcyBzdHJpbmddIGFzIHN0cmluZyB8IG51bWJlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkVmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdE9wdGlvbnMuc3R5bGUgPT09IFwicGVyY2VudFwiID8gbmV3IEJpZ051bWJlcih2YWx1ZSkudGltZXMoMTAwKSA6IG5ldyBCaWdOdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKS5sb2NhbGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5udW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcImRlY2ltYWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmdNb2RlOiBcInRydW5jXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0RhdGFbYXR0cmlidXRlIGFzIHN0cmluZ10gPSBudW1iZXJGb3JtYXQuZm9ybWF0KG1hcHBlZFZhbHVlLnRvTnVtYmVyKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvd0RhdGE7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNOdW1iZXJGb3JtYXRPcHRpb25zUm93cykge1xuICAgICAgICAgICAgdGFibGVEYXRhID0gdGFibGVEYXRhLm1hcCgocm93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleXNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucyA9IE9iamVjdC5rZXlzKHJvd0RhdGEpLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGtleSkgPT4gKHJvd0RhdGFba2V5XSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbik/Lm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnNcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5c1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHJvd0RhdGFba2V5XSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbikudmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0T3B0aW9ucyA9IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pLm9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRWYWx1ZSA9IG51bWJlckZvcm1hdE9wdGlvbnMuc3R5bGUgPT09IFwicGVyY2VudFwiID8gbmV3IEJpZ051bWJlcih2YWx1ZSkudGltZXMoMTAwKSA6IG5ldyBCaWdOdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpLmxvY2FsZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcImRlY2ltYWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nTW9kZTogXCJ0cnVuY1wiLFxuICAgICAgICAgICAgICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgICAgICAgKHJvd0RhdGFba2V5XSBhcyBzdHJpbmcgfCBudW1iZXIpID0gbnVtYmVyRm9ybWF0LmZvcm1hdChtYXBwZWRWYWx1ZS50b051bWJlcigpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcm93RGF0YTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhYmxlRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnM6IGFueVtdLCByb3dzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBjdXN0b21Db2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKHApID0+IHAuY3VzdG9tRXhwb3J0KTtcbiAgICAgICAgaWYgKCFjdXN0b21Db2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWy4uLnJvd3NdLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSb3cgPSB7IC4uLnJvdyB9O1xuICAgICAgICAgICAgY3VzdG9tQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSAhQXJyYXkuaXNBcnJheShjb2x1bW4uZmllbGQpID8gW2NvbHVtbi5maWVsZF0gOiBjb2x1bW4uZmllbGQ7XG4gICAgICAgICAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbkRhdGEgPSB0aGlzLmdldFByb3BlcnR5VmFsdWUocm93LCBmaWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uRGF0YSA9PT0gbnVsbCB8fCBjb2x1bW5EYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbHVtbi5jdXN0b21FeHBvcnQoY29sdW1uRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UHJvcGVydHlWYWx1ZShuZXdSb3csIGZpZWxkTmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdSb3c7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJhbnNsYXRlVmFsdWUoY29sdW1uOiBhbnksIGNvbHVtbkRhdGE6IGFueSkge1xuICAgICAgICAvLyBEZWZhdWx0IHVzYWdlOiBFTlVNX1ZBTFVFIC0+IGRvbWFpbi5zZXJ2aWNlLmVudW1fdmFsdWVcbiAgICAgICAgY29uc3QgZW51bVZhbHVlID0gY29sdW1uRGF0YS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCB0cmFuc2xhdGlvbktleSA9IGNvbHVtbi5lbnVtUHJlZml4ICsgZW51bVZhbHVlO1xuICAgICAgICBsZXQgdHJhbnNsYXRlZFZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG5cbiAgICAgICAgLy8gQ3VzdG9tIHVzYWdlIDE6IFY5IC0+IGRvbWFpbi5zZXJ2aWNlLnZfOVxuICAgICAgICBpZiAodHJhbnNsYXRpb25LZXkgPT09IHRyYW5zbGF0ZWRWYWx1ZSAmJiBlbnVtVmFsdWUubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdHJhbnNsYXRpb25LZXkgPSBgJHtjb2x1bW4uZW51bVByZWZpeH0ke2VudW1WYWx1ZS5zdWJzdHJpbmcoMCwgMSl9XyR7ZW51bVZhbHVlLnN1YnN0cigxKX1gO1xuICAgICAgICAgICAgdHJhbnNsYXRlZFZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdXN0b20gdXNhZ2UgMjogRW51bVZhbHVlIC0+IGRvbWFpbi5zZXJ2aWNlLmVudW1fdmFsdWVcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uS2V5ID09PSB0cmFuc2xhdGVkVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1LZXkgPSB0aGlzLmNvbnZlcnRUb1NuYWtlQ2FzZShjb2x1bW5EYXRhLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgdHJhbnNsYXRpb25LZXkgPSBgJHtjb2x1bW4uZW51bVByZWZpeH0ke2VudW1LZXl9YDtcbiAgICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUb1NuYWtlQ2FzZShzdHI6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbQS1aXSkvZywgKG1hdGNoLCBncm91cCkgPT4gYF8ke2dyb3VwLnRvTG93ZXJDYXNlKCl9YCkucmVwbGFjZSgvXl8vLCBcIlwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4cG9ydEZpbGVOYW1lKCkge1xuICAgICAgICBjb25zdCBsYW5nID0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcgPz8gXCJwdC1CUlwiO1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZXhwb3J0RmlsZU5hbWUgPz8gXCJkb3dubG9hZFwiO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobGFuZykucmVwbGFjZShcIl9cIiwgXCItXCIpO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcobGFuZykucmVwbGFjZShcIiBcIiwgXCItXCIpO1xuXG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX1fJHtmb3JtYXR0ZWREYXRlfV8ke2Zvcm1hdHRlZFRpbWV9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwb3J0Q3VycmVudFBhZ2UoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb21wb25lbnQoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uc1RvRXhwb3J0KCk7XG4gICAgICAgIGNvbnN0IGRhdGFUb0V4cG9ydCA9IHRoaXMuZ2V0Q3VycmVudFBhZ2VSb3dzVG9FeHBvcnQoY29sdW1ucyk7XG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwb3J0U2VsZWN0ZWRSZWNvcmRzKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLmdldFNlbGVjdGVkUm93c1RvRXhwb3J0KGNvbHVtbnMpO1xuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4cG9ydEFsbFJlY29yZHMoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb21wb25lbnQoKTtcblxuICAgICAgICBsZXQgc2VydmVyRGF0YSA9IGF3YWl0IHRoaXMubG9hZEFsbFJlY29yZHMoKTtcblxuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcblxuICAgICAgICBzZXJ2ZXJEYXRhID0gdGhpcy5tYXBDdXN0b21FeHBvcnQoY29sdW1ucywgc2VydmVyRGF0YSk7XG5cbiAgICAgICAgc2VydmVyRGF0YSA9IHRoaXMubWFwTnVtYmVyRm9ybWF0T3B0aW9uc0V4cG9ydChjb2x1bW5zLCBzZXJ2ZXJEYXRhKTtcblxuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLm1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1ucywgc2VydmVyRGF0YSk7XG5cbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -8,4 +8,4 @@ export var Breakpoints = {
|
|
|
8
8
|
XL_MIN: 1200,
|
|
9
9
|
XL_MAX: Infinity,
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy91dGlscy9icmVha3BvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUc7SUFDdkIsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJyZWFrcG9pbnRzID0ge1xuICAgIFNNX01JTjogMCxcbiAgICBTTV9NQVg6IDc2NyxcbiAgICBNRF9NSU46IDc2OCxcbiAgICBNRF9NQVg6IDk5MSxcbiAgICBMR19NSU46IDk5MixcbiAgICBMR19NQVg6IDExOTksXG4gICAgWExfTUlOOiAxMjAwLFxuICAgIFhMX01BWDogSW5maW5pdHksXG59O1xuIl19
|
|
@@ -9976,7 +9976,7 @@ let TablePagingComponent = class TablePagingComponent {
|
|
|
9976
9976
|
});
|
|
9977
9977
|
}
|
|
9978
9978
|
getCurrentPageRowsToExport(columns) {
|
|
9979
|
-
let tableData = this.table.value;
|
|
9979
|
+
let tableData = [...this.table.value];
|
|
9980
9980
|
if (this.loadCurrentPageRecords) {
|
|
9981
9981
|
tableData = this.loadCurrentPageRecords();
|
|
9982
9982
|
}
|
|
@@ -9985,7 +9985,7 @@ let TablePagingComponent = class TablePagingComponent {
|
|
|
9985
9985
|
return this.mapColumnsTranslations(columns, tableData);
|
|
9986
9986
|
}
|
|
9987
9987
|
getSelectedRowsToExport(columns) {
|
|
9988
|
-
let tableData = this.table.selection;
|
|
9988
|
+
let tableData = [...this.table.selection];
|
|
9989
9989
|
if (this.loadSelectedRecords) {
|
|
9990
9990
|
tableData = this.loadSelectedRecords();
|
|
9991
9991
|
}
|
|
@@ -17909,7 +17909,8 @@ ObjectCardMainComponent = ObjectCardMainComponent_1 = __decorate([
|
|
|
17909
17909
|
|
|
17910
17910
|
var ObjectCardComponent_1;
|
|
17911
17911
|
let ObjectCardComponent = ObjectCardComponent_1 = class ObjectCardComponent {
|
|
17912
|
-
constructor() {
|
|
17912
|
+
constructor(elementRef) {
|
|
17913
|
+
this.elementRef = elementRef;
|
|
17913
17914
|
this.id = `s-object-card-${ObjectCardComponent_1.nextId++}`;
|
|
17914
17915
|
this.expanded = false;
|
|
17915
17916
|
this.expandTooltip = "Abrir painel";
|
|
@@ -17920,36 +17921,32 @@ let ObjectCardComponent = ObjectCardComponent_1 = class ObjectCardComponent {
|
|
|
17920
17921
|
this.severity = EnumSeverity.Default;
|
|
17921
17922
|
this.EnumSeverity = EnumSeverity;
|
|
17922
17923
|
}
|
|
17924
|
+
ngAfterViewInit() {
|
|
17925
|
+
}
|
|
17923
17926
|
ngAfterContentChecked() {
|
|
17924
17927
|
this.update();
|
|
17925
17928
|
}
|
|
17926
17929
|
update() {
|
|
17927
17930
|
const windowWidth = window.innerWidth;
|
|
17928
|
-
const containerWidth = this.
|
|
17929
|
-
const mainFieldWidth =
|
|
17930
|
-
let remainingSpace = containerWidth - mainFieldWidth;
|
|
17931
|
+
const containerWidth = this.elementRef.nativeElement.offsetWidth;
|
|
17932
|
+
const mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;
|
|
17931
17933
|
const fieldsMinWidth = this.fieldsMinWidth;
|
|
17932
|
-
const expandIconWidth =
|
|
17934
|
+
const expandIconWidth = 50;
|
|
17935
|
+
const fieldElementList = this.elementRef.nativeElement.getElementsByClassName("s-object-card-field");
|
|
17936
|
+
for (const element of fieldElementList) {
|
|
17937
|
+
element.style.minWidth = `${this.fieldsMinWidth}px`;
|
|
17938
|
+
}
|
|
17933
17939
|
let maxFieldQtd;
|
|
17934
|
-
if (windowWidth <= Breakpoints.SM_MAX)
|
|
17940
|
+
if (windowWidth <= Breakpoints.SM_MAX)
|
|
17935
17941
|
maxFieldQtd = 0;
|
|
17936
|
-
|
|
17937
|
-
|
|
17938
|
-
|
|
17939
|
-
|
|
17940
|
-
const hasExpandIcon = maxFieldQtd && maxFieldQtd < this.fields.length;
|
|
17941
|
-
if (hasExpandIcon) {
|
|
17942
|
-
this.iconContainer.nativeElement.style.display = 'flex';
|
|
17943
|
-
remainingSpace = remainingSpace - expandIconWidth;
|
|
17944
|
-
maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);
|
|
17945
|
-
}
|
|
17946
|
-
else {
|
|
17947
|
-
this.iconContainer.nativeElement.style.display = 'none';
|
|
17942
|
+
else
|
|
17943
|
+
maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);
|
|
17944
|
+
if (maxFieldQtd && maxFieldQtd < this.fields.length) {
|
|
17945
|
+
maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);
|
|
17948
17946
|
}
|
|
17949
17947
|
this.maxVisibleFields = maxFieldQtd;
|
|
17950
|
-
if (maxFieldQtd >= this.fields.length && this.expanded)
|
|
17948
|
+
if (maxFieldQtd >= this.fields.length && this.expanded)
|
|
17951
17949
|
this.collapse();
|
|
17952
|
-
}
|
|
17953
17950
|
}
|
|
17954
17951
|
toggle() {
|
|
17955
17952
|
this.expanded ? this.collapse() : this.expand();
|
|
@@ -17962,8 +17959,24 @@ let ObjectCardComponent = ObjectCardComponent_1 = class ObjectCardComponent {
|
|
|
17962
17959
|
this.expanded = false;
|
|
17963
17960
|
this.expandedChange.emit(this.expanded);
|
|
17964
17961
|
}
|
|
17962
|
+
getExpandedFieldWidth() {
|
|
17963
|
+
const containerWidth = this.elementRef.nativeElement.offsetWidth;
|
|
17964
|
+
let fieldsPerRow;
|
|
17965
|
+
if (containerWidth <= Breakpoints.SM_MAX)
|
|
17966
|
+
fieldsPerRow = 1;
|
|
17967
|
+
else if (containerWidth <= Breakpoints.MD_MAX)
|
|
17968
|
+
fieldsPerRow = 2;
|
|
17969
|
+
else if (containerWidth <= Breakpoints.LG_MAX)
|
|
17970
|
+
fieldsPerRow = 4;
|
|
17971
|
+
else
|
|
17972
|
+
fieldsPerRow = 6;
|
|
17973
|
+
return 12 / fieldsPerRow;
|
|
17974
|
+
}
|
|
17965
17975
|
};
|
|
17966
17976
|
ObjectCardComponent.nextId = 0;
|
|
17977
|
+
ObjectCardComponent.ctorParameters = () => [
|
|
17978
|
+
{ type: ElementRef }
|
|
17979
|
+
];
|
|
17967
17980
|
__decorate([
|
|
17968
17981
|
Input()
|
|
17969
17982
|
], ObjectCardComponent.prototype, "id", void 0);
|
|
@@ -17994,19 +18007,10 @@ __decorate([
|
|
|
17994
18007
|
__decorate([
|
|
17995
18008
|
Input()
|
|
17996
18009
|
], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
|
|
17997
|
-
__decorate([
|
|
17998
|
-
ViewChild('contentContainer', { static: true })
|
|
17999
|
-
], ObjectCardComponent.prototype, "container", void 0);
|
|
18000
|
-
__decorate([
|
|
18001
|
-
ViewChild('cardMainContainer', { static: true })
|
|
18002
|
-
], ObjectCardComponent.prototype, "cardMainContainer", void 0);
|
|
18003
|
-
__decorate([
|
|
18004
|
-
ViewChild('iconContainer', { static: true })
|
|
18005
|
-
], ObjectCardComponent.prototype, "iconContainer", void 0);
|
|
18006
18010
|
ObjectCardComponent = ObjectCardComponent_1 = __decorate([
|
|
18007
18011
|
Component({
|
|
18008
18012
|
selector: "s-object-card",
|
|
18009
|
-
template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n
|
|
18013
|
+
template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"s-object-card-main\"><ng-content select=\"s-object-card-main\"></ng-content></div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\" class=\"s-object-card-field\">\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n >\n <span [id]=\"id + '-expand-icon'\" class=\"expand-icon fa\" [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"></span>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"ui-g ui-g-12\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"ui-g-{{ getExpandedFieldWidth() }}\">\n <div class=\"s-object-card-field\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
|
|
18010
18014
|
animations: [
|
|
18011
18015
|
trigger("expandableContent", [
|
|
18012
18016
|
state("*", style$7({
|
|
@@ -18032,7 +18036,7 @@ ObjectCardComponent = ObjectCardComponent_1 = __decorate([
|
|
|
18032
18036
|
]),
|
|
18033
18037
|
]),
|
|
18034
18038
|
],
|
|
18035
|
-
styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display
|
|
18039
|
+
styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:25px;position:absolute;right:15px;height:25px;top:calc(50% - 12px)}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.s-object-card-main{-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:1;flex-grow:1;overflow:hidden;padding:15px}.main-container.with-visible-fields .s-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .s-object-card-main{width:20%}}.s-object-card-field{overflow:hidden;height:100%}.main-container .s-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.s-object-card-main{max-width:calc(100% - 50px)}}"]
|
|
18036
18040
|
})
|
|
18037
18041
|
], ObjectCardComponent);
|
|
18038
18042
|
|