@schneideress/dashboardframework 0.0.245 → 0.0.246
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/schneideress-dashboardframework.umd.js +880 -4689
- package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
- package/esm2015/gridster/index.js +1 -5
- package/esm2015/gridster/lib/gridster.component.js +31 -260
- package/esm2015/gridster/lib/gridster.interface.js +1 -82
- package/esm2015/gridster/lib/gridster.module.js +20 -22
- package/esm2015/gridster/lib/gridsterCompact.service.js +12 -73
- package/esm2015/gridster/lib/gridsterConfig.constant.js +1 -76
- package/esm2015/gridster/lib/gridsterConfig.interface.js +27 -219
- package/esm2015/gridster/lib/gridsterConfigS.interface.js +1 -161
- package/esm2015/gridster/lib/gridsterDraggable.service.js +18 -177
- package/esm2015/gridster/lib/gridsterEmptyCell.service.js +17 -118
- package/esm2015/gridster/lib/gridsterItem.component.js +20 -92
- package/esm2015/gridster/lib/gridsterItem.interface.js +1 -46
- package/esm2015/gridster/lib/gridsterItemComponent.interface.js +1 -46
- package/esm2015/gridster/lib/gridsterPreview.component.js +16 -37
- package/esm2015/gridster/lib/gridsterPush.service.js +13 -184
- package/esm2015/gridster/lib/gridsterPushResize.service.js +10 -143
- package/esm2015/gridster/lib/gridsterRenderer.service.js +9 -78
- package/esm2015/gridster/lib/gridsterResizable.service.js +17 -201
- package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +1 -19
- package/esm2015/gridster/lib/gridsterScroll.service.js +5 -81
- package/esm2015/gridster/lib/gridsterSwap.service.js +9 -58
- package/esm2015/gridster/lib/gridsterUtils.service.js +20 -68
- package/esm2015/lib/custom.notifier.options.js +1 -6
- package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +137 -446
- package/esm2015/lib/ra-widget-container/lock-tooltip/lock.tooltip.component.js +15 -58
- package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +148 -561
- package/esm2015/lib/ra.base.dashboard.filter.js +32 -91
- package/esm2015/lib/ra.base.dashboard.template.js +18 -57
- package/esm2015/lib/ra.dashbard.event.bus.js +21 -60
- package/esm2015/lib/ra.dashboard.module.js +31 -33
- package/esm2015/lib/ra.dashboard.responsive.service.js +40 -117
- package/esm2015/lib/ra.dashboard.service.js +25 -88
- package/esm2015/lib/ra.event.enum.js +34 -40
- package/esm2015/lib/ra.gridster.config.js +1 -6
- package/esm2015/public-api.js +10 -14
- package/esm2015/schneideress-dashboardframework.js +2 -6
- package/esm5/gridster/index.js +1 -5
- package/esm5/gridster/lib/gridster.component.js +57 -386
- package/esm5/gridster/lib/gridster.interface.js +2 -89
- package/esm5/gridster/lib/gridster.module.js +17 -20
- package/esm5/gridster/lib/gridsterCompact.service.js +18 -108
- package/esm5/gridster/lib/gridsterConfig.constant.js +1 -76
- package/esm5/gridster/lib/gridsterConfig.interface.js +27 -219
- package/esm5/gridster/lib/gridsterConfigS.interface.js +1 -161
- package/esm5/gridster/lib/gridsterDraggable.service.js +26 -219
- package/esm5/gridster/lib/gridsterEmptyCell.service.js +24 -162
- package/esm5/gridster/lib/gridsterItem.component.js +26 -122
- package/esm5/gridster/lib/gridsterItem.interface.js +1 -46
- package/esm5/gridster/lib/gridsterItemComponent.interface.js +2 -53
- package/esm5/gridster/lib/gridsterPreview.component.js +15 -39
- package/esm5/gridster/lib/gridsterPush.service.js +27 -277
- package/esm5/gridster/lib/gridsterPushResize.service.js +20 -217
- package/esm5/gridster/lib/gridsterRenderer.service.js +16 -130
- package/esm5/gridster/lib/gridsterResizable.service.js +34 -290
- package/esm5/gridster/lib/gridsterResizeEventType.interface.js +1 -19
- package/esm5/gridster/lib/gridsterScroll.service.js +5 -81
- package/esm5/gridster/lib/gridsterSwap.service.js +12 -78
- package/esm5/gridster/lib/gridsterUtils.service.js +25 -109
- package/esm5/lib/custom.notifier.options.js +1 -6
- package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +143 -560
- package/esm5/lib/ra-widget-container/lock-tooltip/lock.tooltip.component.js +15 -67
- package/esm5/lib/ra-widget-container/ra.widget.container.component.js +173 -735
- package/esm5/lib/ra.base.dashboard.filter.js +33 -95
- package/esm5/lib/ra.base.dashboard.template.js +19 -58
- package/esm5/lib/ra.dashbard.event.bus.js +16 -94
- package/esm5/lib/ra.dashboard.module.js +28 -31
- package/esm5/lib/ra.dashboard.responsive.service.js +45 -157
- package/esm5/lib/ra.dashboard.service.js +20 -157
- package/esm5/lib/ra.event.enum.js +34 -40
- package/esm5/lib/ra.gridster.config.js +1 -6
- package/esm5/public-api.js +10 -14
- package/esm5/schneideress-dashboardframework.js +2 -6
- package/fesm2015/schneideress-dashboardframework.js +683 -3549
- package/fesm2015/schneideress-dashboardframework.js.map +1 -1
- package/fesm5/schneideress-dashboardframework.js +858 -4667
- package/fesm5/schneideress-dashboardframework.js.map +1 -1
- package/lib/ra.dashboard.responsive.service.d.ts +2 -2
- package/package.json +1 -1
- package/schneideress-dashboardframework.metadata.json +1 -1
|
@@ -1,34 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
5
2
|
import { Component } from '@angular/core';
|
|
6
3
|
import { DomService } from '@schneideress/ra-common';
|
|
7
4
|
var LockTooltip = /** @class */ (function () {
|
|
8
5
|
function LockTooltip(domService) {
|
|
9
6
|
this.domService = domService;
|
|
10
7
|
}
|
|
11
|
-
|
|
12
|
-
* @return {?}
|
|
13
|
-
*/
|
|
14
|
-
LockTooltip.prototype.ngOnInit = /**
|
|
15
|
-
* @return {?}
|
|
16
|
-
*/
|
|
17
|
-
function () {
|
|
8
|
+
LockTooltip.prototype.ngOnInit = function () {
|
|
18
9
|
if (this.element) {
|
|
19
10
|
this.setPopupPosition();
|
|
20
11
|
}
|
|
21
12
|
};
|
|
22
|
-
|
|
23
|
-
* @private
|
|
24
|
-
* @return {?}
|
|
25
|
-
*/
|
|
26
|
-
LockTooltip.prototype.setPopupPosition = /**
|
|
27
|
-
* @private
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
function () {
|
|
31
|
-
/** @type {?} */
|
|
13
|
+
LockTooltip.prototype.setPopupPosition = function () {
|
|
32
14
|
var rect = this.element.getBoundingClientRect();
|
|
33
15
|
if ((rect.left + 250) > window.innerWidth) {
|
|
34
16
|
this.containerLeft = (rect.left - ((rect.left + 270) - window.innerWidth)) + 'px';
|
|
@@ -45,58 +27,24 @@ var LockTooltip = /** @class */ (function () {
|
|
|
45
27
|
this.containerBottom = (window.innerHeight - rect.top) + 'px';
|
|
46
28
|
}
|
|
47
29
|
};
|
|
48
|
-
|
|
49
|
-
* @param {?} comp
|
|
50
|
-
* @return {?}
|
|
51
|
-
*/
|
|
52
|
-
LockTooltip.prototype.removeMe = /**
|
|
53
|
-
* @param {?} comp
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
function (comp) {
|
|
30
|
+
LockTooltip.prototype.removeMe = function (comp) {
|
|
57
31
|
var _this = this;
|
|
58
|
-
setTimeout((
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
|
-
function () {
|
|
32
|
+
setTimeout(function () {
|
|
62
33
|
_this.domService.removeComponent(comp);
|
|
63
|
-
})
|
|
34
|
+
});
|
|
64
35
|
};
|
|
65
|
-
LockTooltip.decorators = [
|
|
66
|
-
{ type: Component, args: [{
|
|
67
|
-
selector: 'ra-lock-tooltip',
|
|
68
|
-
template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n <div *ngIf=\"data && !template\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of data\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!data && template\">\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\r\n</div>",
|
|
69
|
-
styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px rgba(0,0,0,.2);z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}"]
|
|
70
|
-
}] }
|
|
71
|
-
];
|
|
72
|
-
/** @nocollapse */
|
|
73
36
|
LockTooltip.ctorParameters = function () { return [
|
|
74
37
|
{ type: DomService }
|
|
75
38
|
]; };
|
|
39
|
+
LockTooltip = tslib_1.__decorate([
|
|
40
|
+
Component({
|
|
41
|
+
selector: 'ra-lock-tooltip',
|
|
42
|
+
template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n <div *ngIf=\"data && !template\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of data\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!data && template\">\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\r\n</div>",
|
|
43
|
+
styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px rgba(0,0,0,.2);z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}"]
|
|
44
|
+
}),
|
|
45
|
+
tslib_1.__metadata("design:paramtypes", [DomService])
|
|
46
|
+
], LockTooltip);
|
|
76
47
|
return LockTooltip;
|
|
77
48
|
}());
|
|
78
49
|
export { LockTooltip };
|
|
79
|
-
|
|
80
|
-
/** @type {?} */
|
|
81
|
-
LockTooltip.prototype.element;
|
|
82
|
-
/** @type {?} */
|
|
83
|
-
LockTooltip.prototype.title;
|
|
84
|
-
/** @type {?} */
|
|
85
|
-
LockTooltip.prototype.data;
|
|
86
|
-
/** @type {?} */
|
|
87
|
-
LockTooltip.prototype.footer;
|
|
88
|
-
/** @type {?} */
|
|
89
|
-
LockTooltip.prototype.template;
|
|
90
|
-
/** @type {?} */
|
|
91
|
-
LockTooltip.prototype.containerLeft;
|
|
92
|
-
/** @type {?} */
|
|
93
|
-
LockTooltip.prototype.containerTop;
|
|
94
|
-
/** @type {?} */
|
|
95
|
-
LockTooltip.prototype.containerBottom;
|
|
96
|
-
/**
|
|
97
|
-
* @type {?}
|
|
98
|
-
* @private
|
|
99
|
-
*/
|
|
100
|
-
LockTooltip.prototype.domService;
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay50b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsibGliL3JhLXdpZGdldC1jb250YWluZXIvbG9jay10b29sdGlwL2xvY2sudG9vbHRpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJEO0lBZ0JJLHFCQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzFDLENBQUM7Ozs7SUFDRCw4QkFBUTs7O0lBQVI7UUFDSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7Ozs7O0lBQ08sc0NBQWdCOzs7O0lBQXhCOztZQUNRLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUksSUFBSSxDQUFDO1NBQ3BGO2FBQ0k7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQy9CO2FBQ0k7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2pFO0lBQ0wsQ0FBQzs7Ozs7SUFFTSw4QkFBUTs7OztJQUFmLFVBQWdCLElBQVM7UUFBekIsaUJBSUM7UUFIRyxVQUFVOzs7UUFBQztZQUNQLEtBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBN0NKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQiwyNEJBQTRDOztpQkFFL0M7Ozs7Z0JBTlEsVUFBVTs7SUFnRG5CLGtCQUFDO0NBQUEsQUE5Q0QsSUE4Q0M7U0F6Q1ksV0FBVzs7O0lBRXBCLDhCQUFvQjs7SUFDcEIsNEJBQWtCOztJQUNsQiwyQkFBaUI7O0lBQ2pCLDZCQUFtQjs7SUFDbkIsK0JBQXFCOztJQUVyQixvQ0FBMEI7O0lBQzFCLG1DQUF5Qjs7SUFDekIsc0NBQTRCOzs7OztJQUNoQixpQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnQHNjaG5laWRlcmVzcy9yYS1jb21tb24nO1xyXG5kZWNsYXJlIHZhciBjb21wb25lbnRSZWY6IGFueTtcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3JhLWxvY2stdG9vbHRpcCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9jay50b29sdGlwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvY2sudG9vbHRpcC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NrVG9vbHRpcCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHVibGljIGVsZW1lbnQ6IGFueTtcclxuICAgIHB1YmxpYyB0aXRsZTogYW55O1xyXG4gICAgcHVibGljIGRhdGE6IGFueTtcclxuICAgIHB1YmxpYyBmb290ZXI6IGFueTtcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZTogYW55O1xyXG5cclxuICAgIHB1YmxpYyBjb250YWluZXJMZWZ0OiBhbnk7XHJcbiAgICBwdWJsaWMgY29udGFpbmVyVG9wOiBhbnk7XHJcbiAgICBwdWJsaWMgY29udGFpbmVyQm90dG9tOiBhbnk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbVNlcnZpY2U6IERvbVNlcnZpY2UpIHtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRQb3B1cFBvc2l0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzZXRQb3B1cFBvc2l0aW9uKCkge1xyXG4gICAgICAgIGxldCByZWN0ID0gdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGlmICgocmVjdC5sZWZ0ICsgMjUwKSA+IHdpbmRvdy5pbm5lcldpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyTGVmdCA9IChyZWN0LmxlZnQgLSAoKHJlY3QubGVmdCArIDI3MCktd2luZG93LmlubmVyV2lkdGgpKSAgKyAncHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJMZWZ0ID0gcmVjdC5sZWZ0ICsgJ3B4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlY3QuYm90dG9tICsgMTAwIDwgd2luZG93LmlubmVySGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyVG9wID0gKHJlY3QuYm90dG9tKSArICdweCc7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQm90dG9tID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyVG9wID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJCb3R0b20gPSAod2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3ApICsgJ3B4JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZU1lKGNvbXA6IGFueSkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvbVNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay50b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsibGliL3JhLXdpZGdldC1jb250YWluZXIvbG9jay10b29sdGlwL2xvY2sudG9vbHRpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3JEO0lBV0kscUJBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDMUMsQ0FBQztJQUNELDhCQUFRLEdBQVI7UUFDSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFDTyxzQ0FBZ0IsR0FBeEI7UUFDSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBSSxJQUFJLENBQUM7U0FDcEY7YUFDSTtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDekM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDL0I7YUFDSTtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRU0sOEJBQVEsR0FBZixVQUFnQixJQUFTO1FBQXpCLGlCQUlDO1FBSEcsVUFBVSxDQUFDO1lBQ1AsS0FBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnQkE3QitCLFVBQVU7O0lBWGpDLFdBQVc7UUFMdkIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQiwyNEJBQTRDOztTQUUvQyxDQUFDO2lEQVlrQyxVQUFVO09BWGpDLFdBQVcsQ0F5Q3ZCO0lBQUQsa0JBQUM7Q0FBQSxBQXpDRCxJQXlDQztTQXpDWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2VydmljZSB9IGZyb20gJ0BzY2huZWlkZXJlc3MvcmEtY29tbW9uJztcclxuZGVjbGFyZSB2YXIgY29tcG9uZW50UmVmOiBhbnk7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdyYS1sb2NrLXRvb2x0aXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvY2sudG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2NrLnRvb2x0aXAuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9ja1Rvb2x0aXAgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIHB1YmxpYyBlbGVtZW50OiBhbnk7XHJcbiAgICBwdWJsaWMgdGl0bGU6IGFueTtcclxuICAgIHB1YmxpYyBkYXRhOiBhbnk7XHJcbiAgICBwdWJsaWMgZm9vdGVyOiBhbnk7XHJcbiAgICBwdWJsaWMgdGVtcGxhdGU6IGFueTtcclxuXHJcbiAgICBwdWJsaWMgY29udGFpbmVyTGVmdDogYW55O1xyXG4gICAgcHVibGljIGNvbnRhaW5lclRvcDogYW55O1xyXG4gICAgcHVibGljIGNvbnRhaW5lckJvdHRvbTogYW55O1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlKSB7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5lbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UG9wdXBQb3NpdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgc2V0UG9wdXBQb3NpdGlvbigpIHtcclxuICAgICAgICBsZXQgcmVjdCA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBpZiAoKHJlY3QubGVmdCArIDI1MCkgPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckxlZnQgPSAocmVjdC5sZWZ0IC0gKChyZWN0LmxlZnQgKyAyNzApLXdpbmRvdy5pbm5lcldpZHRoKSkgICsgJ3B4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyTGVmdCA9IHJlY3QubGVmdCArICdweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyZWN0LmJvdHRvbSArIDEwMCA8IHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lclRvcCA9IChyZWN0LmJvdHRvbSkgKyAncHgnO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckJvdHRvbSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lclRvcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQm90dG9tID0gKHdpbmRvdy5pbm5lckhlaWdodCAtIHJlY3QudG9wKSArICdweCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVNZShjb21wOiBhbnkpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnJlbW92ZUNvbXBvbmVudChjb21wKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
|