@colijnit/transaction 255.1.45 → 255.1.47
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/colijnit-transaction.umd.js +595 -240
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/avatar/avatar.component.js +8 -3
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +10 -1
- package/esm2015/lib/component/checkout/checkout.module.js +6 -2
- package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +99 -33
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +39 -25
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-short-line/delivery-planning-overview-short-line.component.js +4 -4
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +29 -11
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/delivery-planning-tile-status.component.js +67 -16
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +39 -17
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +56 -30
- package/esm2015/lib/component/delivery-planning-main/delivery-planning-main.component.js +59 -46
- package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +18 -3
- package/esm2015/lib/component/transaction-card/transaction-card-purchase-confirmation/transaction-card-purchase-confirmation.component.js +101 -96
- package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +4 -4
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +13 -11
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +2 -3
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-order.component.js +7 -2
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +3 -8
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +10 -4
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.component.js +6 -4
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.module.js +4 -3
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.js +5 -2
- package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -2
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +29 -20
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.module.js +4 -3
- package/esm2015/lib/enum/checkout-cfg-name.enum.js +3 -1
- package/esm2015/lib/enum/delivery-planning-update-actions.enum.js +8 -0
- package/esm2015/lib/enum/transaction-cfg-name.enum.js +12 -1
- package/esm2015/lib/service/transaction-connector-adapter.service.js +12 -1
- package/esm2015/lib/service/transaction-connector.service.js +6 -1
- package/esm2015/lib/service/transaction-payment.service.js +3 -3
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +622 -322
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +11 -7
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +10 -7
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-short-line/delivery-planning-overview-short-line.component.d.ts +1 -1
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +9 -2
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +6 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/delivery-planning-tile-status.component.d.ts +18 -7
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/style/_layout.scss +12 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +20 -5
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +2 -2
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_material-definition.scss +1 -1
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +23 -10
- package/lib/component/delivery-planning-main/delivery-planning-main.component.d.ts +14 -7
- package/lib/component/transaction-card/transaction-card/style/_layout.scss +14 -1
- package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header/style/_layout.scss +4 -0
- package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +3 -2
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.component.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.d.ts +1 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +1 -1
- package/lib/component/transaction-service-overview/style/_layout.scss +14 -6
- package/lib/enum/checkout-cfg-name.enum.d.ts +2 -0
- package/lib/enum/delivery-planning-update-actions.enum.d.ts +6 -0
- package/lib/enum/transaction-cfg-name.enum.d.ts +12 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
- package/lib/service/transaction-connector.service.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
3
|
import { TransactionConnectorService } from "../../../service/transaction-connector.service";
|
|
4
4
|
import { DeliveryPlanningCalendarModes } from "../../../enum/delivery-planning-calendar-modes.enum";
|
|
5
5
|
import { CalendarView } from '@colijnit/sharedcomponents';
|
|
@@ -18,12 +18,12 @@ export class DeliveryPlanningService {
|
|
|
18
18
|
this._transaction = _transaction;
|
|
19
19
|
this._dragging = false;
|
|
20
20
|
this._planTransportWeek = [];
|
|
21
|
+
this._planTransportWeekArr = [];
|
|
21
22
|
this._deliveryMethods = [];
|
|
22
23
|
this._districts = [];
|
|
23
24
|
this._skills = [];
|
|
24
25
|
this._employees = [];
|
|
25
26
|
this._userGroups = [];
|
|
26
|
-
this._tilesQueryList = new QueryList();
|
|
27
27
|
this.currentCalendarMode = DeliveryPlanningCalendarModes.Week;
|
|
28
28
|
this.currentTileMode = DeliveryPlanningTileModes.Normal;
|
|
29
29
|
this.datePlanningMode = CalendarView.WeekView;
|
|
@@ -31,6 +31,7 @@ export class DeliveryPlanningService {
|
|
|
31
31
|
this.currentPlanningMode = DeliveryPlanningModes.Transaction;
|
|
32
32
|
this.currentStartDate = new Date();
|
|
33
33
|
this.availabilityCheckEvent = new Subject();
|
|
34
|
+
this.reRenderHourScheduling = new Subject();
|
|
34
35
|
}
|
|
35
36
|
get dragging() {
|
|
36
37
|
return this._dragging;
|
|
@@ -38,6 +39,9 @@ export class DeliveryPlanningService {
|
|
|
38
39
|
get planTransportWeek() {
|
|
39
40
|
return this._planTransportWeek;
|
|
40
41
|
}
|
|
42
|
+
get planTransportWeekArr() {
|
|
43
|
+
return this._planTransportWeekArr;
|
|
44
|
+
}
|
|
41
45
|
get deliveryMethods() {
|
|
42
46
|
return this._deliveryMethods;
|
|
43
47
|
}
|
|
@@ -53,9 +57,6 @@ export class DeliveryPlanningService {
|
|
|
53
57
|
get userGroups() {
|
|
54
58
|
return this._userGroups;
|
|
55
59
|
}
|
|
56
|
-
get queryList() {
|
|
57
|
-
return this._tilesQueryList;
|
|
58
|
-
}
|
|
59
60
|
set dragging(value) {
|
|
60
61
|
if (!this._dragging && value) {
|
|
61
62
|
this.availabilityCheckEvent.next(this.currentTransId);
|
|
@@ -65,6 +66,9 @@ export class DeliveryPlanningService {
|
|
|
65
66
|
set planTransportWeek(value) {
|
|
66
67
|
this._planTransportWeek = value;
|
|
67
68
|
}
|
|
69
|
+
set planTransportWeekArr(value) {
|
|
70
|
+
this._planTransportWeekArr = value;
|
|
71
|
+
}
|
|
68
72
|
set deliveryMethods(methods) {
|
|
69
73
|
this._deliveryMethods = methods;
|
|
70
74
|
}
|
|
@@ -87,14 +91,16 @@ export class DeliveryPlanningService {
|
|
|
87
91
|
}
|
|
88
92
|
getTransportOrders(planningTransportWeekDay) {
|
|
89
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
if (planningTransportWeekDay.transport) {
|
|
95
|
+
let request = new GetTransportOrdersRequest();
|
|
96
|
+
request.transportId = planningTransportWeekDay.transport.transportId;
|
|
97
|
+
request.date = planningTransportWeekDay.date;
|
|
98
|
+
request.planningId = this.currentPlanning.planningId;
|
|
99
|
+
const orderResponse = yield this._transaction.getTransportOrders(request);
|
|
100
|
+
if (orderResponse && orderResponse.length > 0) {
|
|
101
|
+
planningTransportWeekDay.plannedOrders = orderResponse;
|
|
102
|
+
planningTransportWeekDay.ordersLoaded = true;
|
|
103
|
+
}
|
|
98
104
|
}
|
|
99
105
|
return planningTransportWeekDay;
|
|
100
106
|
});
|
|
@@ -114,32 +120,92 @@ export class DeliveryPlanningService {
|
|
|
114
120
|
return request;
|
|
115
121
|
}
|
|
116
122
|
}
|
|
117
|
-
addHours(date, hours) {
|
|
118
|
-
const hoursToAdd = hours * 60 * 60 * 1000;
|
|
119
|
-
date.setTime(date.getTime() + hoursToAdd);
|
|
120
|
-
return date;
|
|
121
|
-
}
|
|
122
|
-
queryListTile(transportId) {
|
|
123
|
-
let newTile;
|
|
124
|
-
this._tilesQueryList.forEach(tile => {
|
|
125
|
-
if (tile.transportDay.transport.transportId === transportId) {
|
|
126
|
-
newTile = tile;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return newTile;
|
|
130
|
-
}
|
|
131
123
|
getPlanningTransportWeek() {
|
|
132
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
let weekArrays = [];
|
|
134
125
|
this._transaction.getPlanTransportWeek(this.currentStartDate, this.currentPlanning.planningId).then((result) => {
|
|
135
126
|
if (result.length > 0) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
127
|
+
this._planTransportWeek = result;
|
|
128
|
+
this._planTransportWeekArr = this.convertPlanningTransportWeekToArray(this._planTransportWeek);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
updatePlanningTransportValues() {
|
|
134
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
// Get new planning transport week data from the backend
|
|
136
|
+
let newPlanningTransportWeek = yield this._transaction.getPlanTransportWeek(this.currentStartDate, this.currentPlanning.planningId);
|
|
137
|
+
// Convert the new planning transport week data to a nested array
|
|
138
|
+
let newPlanningNestedArr = this.convertPlanningTransportWeekToArray(newPlanningTransportWeek);
|
|
139
|
+
// Update the old nested array (this._planTransportWeekArr) with new values
|
|
140
|
+
this._planTransportWeekArr.forEach((oldWeekDays, weekIndex) => {
|
|
141
|
+
const newWeekDays = newPlanningNestedArr[weekIndex];
|
|
142
|
+
// Compare each day's data in the old and new nested arrays
|
|
143
|
+
newWeekDays.forEach((newDay, dayIndex) => __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
const oldDay = oldWeekDays[dayIndex];
|
|
145
|
+
// Check for changes and update only changed properties
|
|
146
|
+
yield this._updateChangedProperties(oldDay, newDay);
|
|
147
|
+
}));
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
// Function to update only the changed properties
|
|
152
|
+
_updateChangedProperties(oldDay, newDay) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
// List of properties to compare
|
|
155
|
+
const propertiesToCompare = [
|
|
156
|
+
'minutes',
|
|
157
|
+
'maxMinutes',
|
|
158
|
+
'maxFactor',
|
|
159
|
+
'orderAmount',
|
|
160
|
+
'load',
|
|
161
|
+
'maxOrderAmount',
|
|
162
|
+
'factor',
|
|
163
|
+
];
|
|
164
|
+
const transportPropertiesToCompare = [
|
|
165
|
+
'plannedOrders'
|
|
166
|
+
];
|
|
167
|
+
propertiesToCompare.forEach(property => {
|
|
168
|
+
// Compare and update only if there's a change
|
|
169
|
+
if (JSON.stringify(oldDay[property]) !== JSON.stringify(newDay[property])) {
|
|
170
|
+
oldDay[property] = newDay[property];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
transportPropertiesToCompare.forEach(property => {
|
|
174
|
+
if (oldDay.transport && newDay.transport) {
|
|
175
|
+
if (JSON.stringify(oldDay.transport[property] !== JSON.stringify(newDay.transport[property]))) {
|
|
176
|
+
oldDay.transport[property] = newDay === null || newDay === void 0 ? void 0 : newDay.transport[property];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
yield this.getTransportOrders(oldDay);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
convertPlanningTransportWeekToArray(planningTransportWeek) {
|
|
184
|
+
let weekArrays = [];
|
|
185
|
+
if (planningTransportWeek.length > 0) {
|
|
186
|
+
planningTransportWeek.forEach((team) => {
|
|
187
|
+
weekArrays.push(Object.keys(team).sort().map(key => team[key]));
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
return weekArrays;
|
|
191
|
+
}
|
|
192
|
+
convertToPlanTransportWeek(nestedArray) {
|
|
193
|
+
let planTransportWeeks = [];
|
|
194
|
+
nestedArray.forEach((weekDays) => {
|
|
195
|
+
let planTransportWeek = {}; // Create an empty object to hold the week's days
|
|
196
|
+
// Start from "day1" and assign the PlanningTransportWeekDay objects (excluding the transportId)
|
|
197
|
+
weekDays.forEach((day, dayIndex) => {
|
|
198
|
+
if (dayIndex === 7) {
|
|
199
|
+
planTransportWeek['transportId'] = weekDays[dayIndex];
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
planTransportWeek[`day${dayIndex + 1}`] = day; // "day1", "day2", etc.
|
|
139
203
|
}
|
|
140
204
|
});
|
|
141
|
-
|
|
205
|
+
// Push the object into the final array
|
|
206
|
+
planTransportWeeks.push(planTransportWeek);
|
|
142
207
|
});
|
|
208
|
+
return planTransportWeeks;
|
|
143
209
|
}
|
|
144
210
|
totalAssemblyTime(planOrder) {
|
|
145
211
|
var _a;
|
|
@@ -163,4 +229,4 @@ DeliveryPlanningService.decorators = [
|
|
|
163
229
|
DeliveryPlanningService.ctorParameters = () => [
|
|
164
230
|
{ type: TransactionConnectorService }
|
|
165
231
|
];
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUUvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQVNwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUUxRixPQUFPLEVBQWtCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyx1QkFBdUI7SUFpR2xDLFlBQ1UsWUFBeUM7UUFBekMsaUJBQVksR0FBWixZQUFZLENBQTZCO1FBakczQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUE0QixFQUFFLENBQUM7UUFDakQscUJBQWdCLEdB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QUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtvQkFDcEIsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7OztZQXJMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTNCTywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnRcclxufSBmcm9tIFwiLi4vLi4vZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RpbGVzUXVlcnlMaXN0OiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0KCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGN1cnJlbnRDYWxlbmRhck1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzID0gRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMuV2VlaztcclxuICBwdWJsaWMgY3VycmVudFRpbGVNb2RlOiBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzID0gRGVsaXZlcnlQbGFubmluZ1RpbGVNb2Rlcy5Ob3JtYWw7XHJcbiAgcHVibGljIGRhdGVQbGFubmluZ01vZGU6IENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldy5XZWVrVmlldztcclxuICBwdWJsaWMgdmlld01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVmlld01vZGVzLkZ1bGxzY3JlZW47XHJcbiAgcHVibGljIGN1cnJlbnRQbGFubmluZ01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2Rlcy5UcmFuc2FjdGlvbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nOiBQbGFubmluZztcclxuICBwdWJsaWMgY3VycmVudFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIGN1cnJlbnRUcmFuc0lkOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG5cclxuICBwdWJsaWMgYXZhaWxhYmlsaXR5Q2hlY2tFdmVudDpTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0IGRyYWdnaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RyYWdnaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwbGFuVHJhbnNwb3J0V2VlaygpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGVsaXZlcnlNZXRob2RzKCk6IERlbGl2ZXJ5TWV0aG9kW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzdHJpY3RzKCk6IERpc3RyaWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1wbG95ZWVzKCk6IFJlbGF0aW9uTGlzdE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9lbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNraWxscygpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9za2lsbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJHcm91cHMoKTogVXNlckdyb3VwW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJHcm91cHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHF1ZXJ5TGlzdCgpOiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpbGVzUXVlcnlMaXN0O1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgcHVibGljIHNldCBkcmFnZ2luZyh2YWx1ZSkge1xyXG4gICAgaWYoIXRoaXMuX2RyYWdnaW5nICYmIHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Q2hlY2tFdmVudC5uZXh0KHRoaXMuY3VycmVudFRyYW5zSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZHJhZ2dpbmcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgcGxhblRyYW5zcG9ydFdlZWsoIHZhbHVlKSB7XHJcbiAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlayA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkZWxpdmVyeU1ldGhvZHMobWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlNZXRob2RzID0gbWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZGlzdHJpY3RzKGRpc3RyaWN0czogIERpc3RyaWN0W10pIHtcclxuICAgIHRoaXMuX2Rpc3RyaWN0cyA9IGRpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZW1wbG95ZWVzKGVtcGxveWVlczogUmVsYXRpb25MaXN0T2JqZWN0W10pIHtcclxuICAgIHRoaXMuX2VtcGxveWVlcyA9IGVtcGxveWVlcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgc2tpbGxzKCBza2lsbHM6IFNraWxsW10pIHtcclxuICAgIHRoaXMuX3NraWxscyA9IHNraWxscztcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2V0IHVzZXJHcm91cHMoIGdyb3VwczogVXNlckdyb3VwW10pIHtcclxuICAgIHRoaXMuX3VzZXJHcm91cHMgPSBncm91cHM7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXHJcblxyXG4gICkge31cclxuXHJcblxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyU2VxdWVuY2VWYWx1ZSgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldFNlcXVlbmNlVmFsdWUoU2VxdWVuY2VOYW1lLlBsYW5MaW5lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc3BvcnRPcmRlcnMocGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBQcm9taXNlPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QgPSBuZXcgR2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdCgpXHJcbiAgICByZXF1ZXN0LnRyYW5zcG9ydElkID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LnRyYW5zcG9ydC50cmFuc3BvcnRJZDtcclxuICAgIHJlcXVlc3QuZGF0ZSA9IHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5kYXRlO1xyXG4gICAgcmVxdWVzdC5wbGFubmluZ0lkID0gdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZDtcclxuICAgIGNvbnN0IG9yZGVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRUcmFuc3BvcnRPcmRlcnMocmVxdWVzdCk7XHJcbiAgICBpZihvcmRlclJlc3BvbnNlKSB7XHJcbiAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzID0gb3JkZXJSZXNwb25zZTtcclxuICAgICAgcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5Lm9yZGVyc0xvYWRlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbWFrZU9yZGVyTGluZXNQbGFubmVkUmVxdWVzdChvcmRlcjogUGxhbk9yZGVyKTogT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0IHtcclxuICAgIGlmKHRoaXMuY3VycmVudFBsYW5uaW5nKSB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QgPSBuZXcgT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0KCk7XHJcbiAgICAgIGxldCBmaWx0ZXJPYmo6IFBsYW5uaW5nRmlsdGVyT2JqZWN0ID0gbmV3IFBsYW5uaW5nRmlsdGVyT2JqZWN0KCk7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZCA9IHRydWU7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICAgIHJlcXVlc3QudHJhbnNJZCA9IG9yZGVyLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZExpbmVJZCA9IG9yZGVyLnBsYW5uZWRMaW5lSWQ7XHJcbiAgICAgIGZpbHRlck9iai5vbmx5Q3VycmVudFdlZWsgPSB0cnVlO1xyXG4gICAgICBmaWx0ZXJPYmouYmVnaW5DdXJyZW50V2VlayA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGZpbHRlck9iai5jaGVja09yZGVyTGluZXMgPSAxO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9iamVjdCA9IGZpbHRlck9iajtcclxuICAgICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkSG91cnMoZGF0ZTogRGF0ZSwgaG91cnM6IG51bWJlcikge1xyXG4gICAgY29uc3QgaG91cnNUb0FkZCA9IGhvdXJzICogNjAgKiA2MCAqIDEwMDA7XHJcbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBob3Vyc1RvQWRkKTtcclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHF1ZXJ5TGlzdFRpbGUodHJhbnNwb3J0SWQ6IG51bWJlcik6IERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQge1xyXG4gICAgbGV0IG5ld1RpbGU6IERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQ7XHJcbiAgICB0aGlzLl90aWxlc1F1ZXJ5TGlzdC5mb3JFYWNoKHRpbGUgPT4ge1xyXG4gICAgICBpZih0aWxlLnRyYW5zcG9ydERheS50cmFuc3BvcnQudHJhbnNwb3J0SWQgPT09IHRyYW5zcG9ydElkKSB7XHJcbiAgICAgICBuZXdUaWxlID0gdGlsZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3VGlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQbGFubmluZ1RyYW5zcG9ydFdlZWsoKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgbGV0IHdlZWtBcnJheXM6IGFueVtdID0gW107XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmN1cnJlbnRTdGFydERhdGUsIHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpLnRoZW4oKHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10pID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmVzdWx0LmZvckVhY2goICh0ZWFtOiBQbGFubmluZ1RyYW5zcG9ydFdlZWspID0+IHtcclxuICAgICAgICAgIHdlZWtBcnJheXMucHVzaChPYmplY3Qua2V5cyh0ZWFtKS5zb3J0KCkubWFwKGtleSA9PiB0ZWFtW2tleV0pKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gd2Vla0FycmF5cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgaWYgKHBsYW5PcmRlcikge1xyXG4gICAgICBsZXQgdG90YWw6IG51bWJlciA9IDA7XHJcbiAgICAgIHBsYW5PcmRlcj8ubGluZXM/LmZvckVhY2goKGxpbmU6IFBsYW5PcmRlckxpbmUpID0+IHtcclxuICAgICAgICBpZiAobGluZS5taW51dGVzID4gMCkge1xyXG4gICAgICAgICAgdG90YWwgKz0gbGluZS5taW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRXBGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBRS9HLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBTXBHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUs3QixNQUFNLE9BQU8sdUJBQXVCO0lBbUdsQyxZQUNVLFlBQXlDO1FBQXpDLGlCQUFZLEdBQVosWUFBWSxDQUE2QjtRQW5HM0MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBNEIsRUFBRSxDQUFDO1FBQ2pELDBCQUFxQixHQUFpQyxFQUFFLENB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QXVDO1lBQ3ZDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBMEMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBb0I7O1FBQzNDLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1lBQ3RCLE1BQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLEtBQUssMENBQUUsT0FBTyxDQUFDLENBQUMsSUFBbUIsRUFBRSxFQUFFO2dCQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFO29CQUNwQixLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzs7O1lBaFFGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBeEJPLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtbW9kZXMuZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWtBcnI6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG5cclxuICBwdWJsaWMgY3VycmVudENhbGVuZGFyTW9kZTogRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nQ2FsZW5kYXJNb2Rlcy5XZWVrO1xyXG4gIHB1YmxpYyBjdXJyZW50VGlsZU1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzLk5vcm1hbDtcclxuICBwdWJsaWMgZGF0ZVBsYW5uaW5nTW9kZTogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG4gIHB1YmxpYyB2aWV3TW9kZTogRGVsaXZlcnlQbGFubmluZ1ZpZXdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMuRnVsbHNjcmVlbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nTW9kZTogRGVsaXZlcnlQbGFubmluZ01vZGVzID0gRGVsaXZlcnlQbGFubmluZ01vZGVzLlRyYW5zYWN0aW9uO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbm5pbmc6IFBsYW5uaW5nO1xyXG4gIHB1YmxpYyBjdXJyZW50U3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgcGxhbk9yZGVyRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgZGVsZXRpbmdPcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBhdmFpbGFiaWxpdHlDaGVja0V2ZW50OlN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuICBwdWJsaWMgcmVSZW5kZXJIb3VyU2NoZWR1bGluZzogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0IGRyYWdnaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RyYWdnaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwbGFuVHJhbnNwb3J0V2VlaygpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGxhblRyYW5zcG9ydFdlZWtBcnIoKTpQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0FycjtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0IGRlbGl2ZXJ5TWV0aG9kcygpOiBEZWxpdmVyeU1ldGhvZFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeU1ldGhvZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3RyaWN0cygpOiBEaXN0cmljdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXN0cmljdHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVtcGxveWVlcygpOiBSZWxhdGlvbkxpc3RPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1wbG95ZWVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBza2lsbHMoKTogU2tpbGxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2tpbGxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyR3JvdXBzKCk6IFVzZXJHcm91cFtdIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VyR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkcmFnZ2luZyh2YWx1ZSkge1xyXG4gICAgaWYoIXRoaXMuX2RyYWdnaW5nICYmIHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Q2hlY2tFdmVudC5uZXh0KHRoaXMuY3VycmVudFRyYW5zSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZHJhZ2dpbmcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgcGxhblRyYW5zcG9ydFdlZWsoIHZhbHVlKSB7XHJcbiAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlayA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBwbGFuVHJhbnNwb3J0V2Vla0FyciggdmFsdWU6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10pIHtcclxuICAgIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrQXJyID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGRlbGl2ZXJ5TWV0aG9kcyhtZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeU1ldGhvZHMgPSBtZXRob2RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkaXN0cmljdHMoZGlzdHJpY3RzOiAgRGlzdHJpY3RbXSkge1xyXG4gICAgdGhpcy5fZGlzdHJpY3RzID0gZGlzdHJpY3RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBlbXBsb3llZXMoZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkge1xyXG4gICAgdGhpcy5fZW1wbG95ZWVzID0gZW1wbG95ZWVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBza2lsbHMoIHNraWxsczogU2tpbGxbXSkge1xyXG4gICAgdGhpcy5fc2tpbGxzID0gc2tpbGxzO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzZXQgdXNlckdyb3VwcyggZ3JvdXBzOiBVc2VyR3JvdXBbXSkge1xyXG4gICAgdGhpcy5fdXNlckdyb3VwcyA9IGdyb3VwcztcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSxcclxuXHJcbiAgKSB7fVxyXG5cclxuXHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJTZXF1ZW5jZVZhbHVlKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0U2VxdWVuY2VWYWx1ZShTZXF1ZW5jZU5hbWUuUGxhbkxpbmUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRyYW5zcG9ydE9yZGVycyhwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSk6IFByb21pc2U8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PiB7XHJcbiAgICBpZihwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkudHJhbnNwb3J0KSB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBHZXRUcmFuc3BvcnRPcmRlcnNSZXF1ZXN0ID0gbmV3IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QoKVxyXG4gICAgICByZXF1ZXN0LnRyYW5zcG9ydElkID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LnRyYW5zcG9ydC50cmFuc3BvcnRJZDtcclxuICAgICAgcmVxdWVzdC5kYXRlID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LmRhdGU7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICAgIGNvbnN0IG9yZGVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRUcmFuc3BvcnRPcmRlcnMocmVxdWVzdCk7XHJcbiAgICAgIGlmIChvcmRlclJlc3BvbnNlICYmIG9yZGVyUmVzcG9uc2UubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzID0gb3JkZXJSZXNwb25zZTtcclxuICAgICAgICBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkub3JkZXJzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIG1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3Qob3JkZXI6IFBsYW5PcmRlcik6IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCB7XHJcbiAgICBpZih0aGlzLmN1cnJlbnRQbGFubmluZykge1xyXG4gICAgICBsZXQgcmVxdWVzdDogT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0ID0gbmV3IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCgpO1xyXG4gICAgICBsZXQgZmlsdGVyT2JqOiBQbGFubmluZ0ZpbHRlck9iamVjdCA9IG5ldyBQbGFubmluZ0ZpbHRlck9iamVjdCgpO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uZWQgPSB0cnVlO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uaW5nSWQgPSB0aGlzLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zSWQgPSBvcmRlci50cmFuc0lkO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uZWRMaW5lSWQgPSBvcmRlci5wbGFubmVkTGluZUlkO1xyXG4gICAgICBmaWx0ZXJPYmoub25seUN1cnJlbnRXZWVrID0gdHJ1ZTtcclxuICAgICAgZmlsdGVyT2JqLmJlZ2luQ3VycmVudFdlZWsgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBmaWx0ZXJPYmouY2hlY2tPcmRlckxpbmVzID0gMTtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPYmplY3QgPSBmaWx0ZXJPYmo7XHJcbiAgICAgIHJldHVybiByZXF1ZXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmN1cnJlbnRTdGFydERhdGUsIHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpLnRoZW4oKHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10pID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWsgPSByZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWtBcnIgPSB0aGlzLmNvbnZlcnRQbGFubmluZ1RyYW5zcG9ydFdlZWtUb0FycmF5KHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUGxhbm5pbmdUcmFuc3BvcnRWYWx1ZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBHZXQgbmV3IHBsYW5uaW5nIHRyYW5zcG9ydCB3ZWVrIGRhdGEgZnJvbSB0aGUgYmFja2VuZFxyXG4gICAgbGV0IG5ld1BsYW5uaW5nVHJhbnNwb3J0V2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmN1cnJlbnRTdGFydERhdGUsIHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpO1xyXG5cclxuICAgIC8vIENvbnZlcnQgdGhlIG5ldyBwbGFubmluZyB0cmFuc3BvcnQgd2VlayBkYXRhIHRvIGEgbmVzdGVkIGFycmF5XHJcbiAgICBsZXQgbmV3UGxhbm5pbmdOZXN0ZWRBcnIgPSB0aGlzLmNvbnZlcnRQbGFubmluZ1RyYW5zcG9ydFdlZWtUb0FycmF5KG5ld1BsYW5uaW5nVHJhbnNwb3J0V2Vlayk7XHJcblxyXG4gICAgLy8gVXBkYXRlIHRoZSBvbGQgbmVzdGVkIGFycmF5ICh0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0Fycikgd2l0aCBuZXcgdmFsdWVzXHJcbiAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0Fyci5mb3JFYWNoKChvbGRXZWVrRGF5czogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W10sIHdlZWtJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld1dlZWtEYXlzID0gbmV3UGxhbm5pbmdOZXN0ZWRBcnJbd2Vla0luZGV4XTtcclxuXHJcbiAgICAgIC8vIENvbXBhcmUgZWFjaCBkYXkncyBkYXRhIGluIHRoZSBvbGQgYW5kIG5ldyBuZXN0ZWQgYXJyYXlzXHJcbiAgICAgIG5ld1dlZWtEYXlzLmZvckVhY2goIGFzeW5jIChuZXdEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZERheSA9IG9sZFdlZWtEYXlzW2RheUluZGV4XTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGNoYW5nZXMgYW5kIHVwZGF0ZSBvbmx5IGNoYW5nZWQgcHJvcGVydGllc1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3VwZGF0ZUNoYW5nZWRQcm9wZXJ0aWVzKG9sZERheSwgbmV3RGF5KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4vLyBGdW5jdGlvbiB0byB1cGRhdGUgb25seSB0aGUgY2hhbmdlZCBwcm9wZXJ0aWVzXHJcbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlQ2hhbmdlZFByb3BlcnRpZXMob2xkRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXksIG5ld0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBMaXN0IG9mIHByb3BlcnRpZXMgdG8gY29tcGFyZVxyXG4gICAgY29uc3QgcHJvcGVydGllc1RvQ29tcGFyZSA9IFtcclxuICAgICAgJ21pbnV0ZXMnLFxyXG4gICAgICAnbWF4TWludXRlcycsXHJcbiAgICAgICdtYXhGYWN0b3InLFxyXG4gICAgICAnb3JkZXJBbW91bnQnLFxyXG4gICAgICAnbG9hZCcsXHJcbiAgICAgICdtYXhPcmRlckFtb3VudCcsXHJcbiAgICAgICdmYWN0b3InLFxyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCB0cmFuc3BvcnRQcm9wZXJ0aWVzVG9Db21wYXJlOiBzdHJpbmdbXSA9IFtcclxuICAgICAgJ3BsYW5uZWRPcmRlcnMnXHJcbiAgICBdO1xyXG5cclxuICAgIHByb3BlcnRpZXNUb0NvbXBhcmUuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIC8vIENvbXBhcmUgYW5kIHVwZGF0ZSBvbmx5IGlmIHRoZXJlJ3MgYSBjaGFuZ2VcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9sZERheVtwcm9wZXJ0eV0pICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXlbcHJvcGVydHldKSkge1xyXG4gICAgICAgIG9sZERheVtwcm9wZXJ0eV0gPSBuZXdEYXlbcHJvcGVydHldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0cmFuc3BvcnRQcm9wZXJ0aWVzVG9Db21wYXJlLmZvckVhY2goIHByb3BlcnR5ID0+IHtcclxuICAgICAgaWYob2xkRGF5LnRyYW5zcG9ydCAmJiBuZXdEYXkudHJhbnNwb3J0KSB7XHJcbiAgICAgIGlmKEpTT04uc3RyaW5naWZ5KG9sZERheS50cmFuc3BvcnRbcHJvcGVydHldICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXkudHJhbnNwb3J0W3Byb3BlcnR5XSkpKSB7XHJcbiAgICAgICAgICBvbGREYXkudHJhbnNwb3J0W3Byb3BlcnR5XSA9IG5ld0RheT8udHJhbnNwb3J0W3Byb3BlcnR5XTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZ2V0VHJhbnNwb3J0T3JkZXJzKG9sZERheSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udmVydFBsYW5uaW5nVHJhbnNwb3J0V2Vla1RvQXJyYXkocGxhbm5pbmdUcmFuc3BvcnRXZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSkge1xyXG4gICAgbGV0IHdlZWtBcnJheXM6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10gPSBbXTtcclxuICAgIGlmIChwbGFubmluZ1RyYW5zcG9ydFdlZWsubGVuZ3RoID4gMCkge1xyXG4gICAgICBwbGFubmluZ1RyYW5zcG9ydFdlZWsuZm9yRWFjaCggKHRlYW06IFBsYW5uaW5nVHJhbnNwb3J0V2VlaykgPT4ge1xyXG4gICAgICAgIHdlZWtBcnJheXMucHVzaChPYmplY3Qua2V5cyh0ZWFtKS5zb3J0KCkubWFwKGtleSA9PiB0ZWFtW2tleV0pKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2Vla0FycmF5cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb252ZXJ0VG9QbGFuVHJhbnNwb3J0V2VlayhuZXN0ZWRBcnJheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11bXSk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdIHtcclxuICAgIGxldCBwbGFuVHJhbnNwb3J0V2Vla3M6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcblxyXG4gICAgbmVzdGVkQXJyYXkuZm9yRWFjaCgod2Vla0RheXM6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdKSA9PiB7XHJcbiAgICAgIGxldCBwbGFuVHJhbnNwb3J0V2VlazogYW55ID0ge307IC8vIENyZWF0ZSBhbiBlbXB0eSBvYmplY3QgdG8gaG9sZCB0aGUgd2VlaydzIGRheXNcclxuXHJcblxyXG4gICAgICAvLyBTdGFydCBmcm9tIFwiZGF5MVwiIGFuZCBhc3NpZ24gdGhlIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSBvYmplY3RzIChleGNsdWRpbmcgdGhlIHRyYW5zcG9ydElkKVxyXG4gICAgICB3ZWVrRGF5cy5mb3JFYWNoKChkYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmKGRheUluZGV4ID09PSA3KSB7XHJcbiAgICAgICAgICBwbGFuVHJhbnNwb3J0V2Vla1sndHJhbnNwb3J0SWQnXSA9IHdlZWtEYXlzW2RheUluZGV4XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGxhblRyYW5zcG9ydFdlZWtbYGRheSR7ZGF5SW5kZXggKyAxfWBdID0gZGF5OyAgLy8gXCJkYXkxXCIsIFwiZGF5MlwiLCBldGMuXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIFB1c2ggdGhlIG9iamVjdCBpbnRvIHRoZSBmaW5hbCBhcnJheVxyXG4gICAgICBwbGFuVHJhbnNwb3J0V2Vla3MucHVzaChwbGFuVHJhbnNwb3J0V2VlayBhcyBQbGFubmluZ1RyYW5zcG9ydFdlZWspO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHBsYW5UcmFuc3BvcnRXZWVrcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgaWYgKHBsYW5PcmRlcikge1xyXG4gICAgICBsZXQgdG90YWw6IG51bWJlciA9IDA7XHJcbiAgICAgIHBsYW5PcmRlcj8ubGluZXM/LmZvckVhY2goKGxpbmU6IFBsYW5PcmRlckxpbmUpID0+IHtcclxuICAgICAgICBpZiAobGluZS5taW51dGVzID4gMCkge1xyXG4gICAgICAgICAgdG90YWwgKz0gbGluZS5taW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Output, ViewEncapsulation } from "@angular/core";
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
2
2
|
import { IconCacheService } from "../../../../../../service/icon-cache.service";
|
|
3
3
|
import { Icon } from "../../../../../../enum/icon.enum";
|
|
4
4
|
import { PlanOrder } from "@colijnit/transactionapi/build/model/plan-order.bo";
|
|
@@ -43,50 +43,62 @@ export class DeliveryPlanningOverviewPopupComponent {
|
|
|
43
43
|
this.onSucceededPlanAction.emit([this.planOrder, this.transportDay, this.week]);
|
|
44
44
|
}
|
|
45
45
|
startTimeForOrder() {
|
|
46
|
-
|
|
46
|
+
var _a, _b;
|
|
47
|
+
return (_b = (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime) === null || _b === void 0 ? void 0 : _b.toLocaleString();
|
|
47
48
|
}
|
|
48
49
|
endTimeForOrder() {
|
|
49
|
-
|
|
50
|
+
var _a, _b;
|
|
51
|
+
return (_b = (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.endTime) === null || _b === void 0 ? void 0 : _b.toLocaleString();
|
|
50
52
|
}
|
|
51
|
-
handleStartTimeChange(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (!isNaN(date.getTime())) {
|
|
55
|
-
this.planOrder.startTime = date;
|
|
53
|
+
handleStartTimeChange() {
|
|
54
|
+
if (this.startTimeCompRef.model) {
|
|
55
|
+
this.planOrder.startTime = this.handleDateChange(this.startTimeCompRef.model);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
handleEndTimeChange(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (!isNaN(date.getTime())) {
|
|
62
|
-
this.planOrder.endTime = date;
|
|
58
|
+
handleEndTimeChange() {
|
|
59
|
+
if (this.endTimeCompRef.model) {
|
|
60
|
+
this.planOrder.endTime = this.handleDateChange(this.endTimeCompRef.model);
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
63
|
handleInitialTimePlanning(transportWeekDay) {
|
|
66
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
64
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
67
65
|
if (!((_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime) && ((_b = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
68
66
|
this.planOrder.startTime = new Date(transportWeekDay.date);
|
|
69
67
|
(_d = (_c = this.planOrder) === null || _c === void 0 ? void 0 : _c.startTime) === null || _d === void 0 ? void 0 : _d.setHours(8);
|
|
70
68
|
(_f = (_e = this.planOrder) === null || _e === void 0 ? void 0 : _e.startTime) === null || _f === void 0 ? void 0 : _f.setMinutes(0);
|
|
71
69
|
(_h = (_g = this.planOrder) === null || _g === void 0 ? void 0 : _g.startTime) === null || _h === void 0 ? void 0 : _h.setSeconds(0);
|
|
72
70
|
}
|
|
73
|
-
if (!((_j = this.planOrder) === null || _j === void 0 ? void 0 : _j.endTime) && (transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders.length) === 0) {
|
|
74
|
-
this.planOrder.endTime = new Date((
|
|
75
|
-
this.planOrder.endTime.setHours(((
|
|
71
|
+
if (!((_j = this.planOrder) === null || _j === void 0 ? void 0 : _j.endTime) && ((_k = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders) === null || _k === void 0 ? void 0 : _k.length) === 0) {
|
|
72
|
+
this.planOrder.endTime = new Date((_l = this.planOrder) === null || _l === void 0 ? void 0 : _l.startTime);
|
|
73
|
+
this.planOrder.endTime.setHours(((_o = (_m = this.planOrder) === null || _m === void 0 ? void 0 : _m.endTime) === null || _o === void 0 ? void 0 : _o.getHours()) + (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) > 0 ? (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) / 60) : 1));
|
|
76
74
|
this.planOrder.startTime.setMinutes(0);
|
|
77
75
|
this.planOrder.startTime.setSeconds(0);
|
|
78
76
|
}
|
|
79
|
-
if ((transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders.length) > 0) {
|
|
77
|
+
if (((_p = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders) === null || _p === void 0 ? void 0 : _p.length) > 0) {
|
|
80
78
|
this.planOrder.startTime = new Date(transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.date);
|
|
81
|
-
this.planOrder.startTime.setHours((
|
|
79
|
+
this.planOrder.startTime.setHours((_r = (_q = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders[transportWeekDay.plannedOrders.length - 1]) === null || _q === void 0 ? void 0 : _q.endTime) === null || _r === void 0 ? void 0 : _r.getHours());
|
|
82
80
|
this.planOrder.startTime.setMinutes(0);
|
|
83
81
|
this.planOrder.startTime.setSeconds(0);
|
|
84
82
|
this.planOrder.endTime = new Date(this.planOrder.startTime);
|
|
85
|
-
this.planOrder.endTime.setHours(((
|
|
83
|
+
this.planOrder.endTime.setHours(((_t = (_s = this.planOrder) === null || _s === void 0 ? void 0 : _s.endTime) === null || _t === void 0 ? void 0 : _t.getHours()) + (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) > 0 ? (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) / 60) : 1));
|
|
86
84
|
this.planOrder.startTime.setMinutes(0);
|
|
87
85
|
this.planOrder.startTime.setSeconds(0);
|
|
88
86
|
}
|
|
89
87
|
}
|
|
88
|
+
handleDateChange(text) {
|
|
89
|
+
let splitText;
|
|
90
|
+
splitText = text.split(":");
|
|
91
|
+
if (splitText) {
|
|
92
|
+
let date = new Date(this.transportDay.date);
|
|
93
|
+
date.setHours(parseInt(splitText[0]));
|
|
94
|
+
date.setMinutes(parseInt(splitText[1]));
|
|
95
|
+
date.setSeconds(0);
|
|
96
|
+
return date;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
90
102
|
}
|
|
91
103
|
DeliveryPlanningOverviewPopupComponent.decorators = [
|
|
92
104
|
{ type: Component, args: [{
|
|
@@ -122,10 +134,10 @@ DeliveryPlanningOverviewPopupComponent.decorators = [
|
|
|
122
134
|
</div>
|
|
123
135
|
|
|
124
136
|
<div class="popup-row">
|
|
125
|
-
<co-input-text [model]="startTimeForOrder() | date: '
|
|
126
|
-
[placeholder]="'STARTTIME' | localize" (
|
|
127
|
-
<co-input-text [model]="endTimeForOrder() | date: '
|
|
128
|
-
[placeholder]="'STOPTIME' | localize" (
|
|
137
|
+
<co-input-text #startTime [model]="startTimeForOrder() | date: 'hh:mm'"
|
|
138
|
+
[placeholder]="'STARTTIME' | localize" (blur)="handleStartTimeChange()"></co-input-text>
|
|
139
|
+
<co-input-text #endTime [model]="endTimeForOrder() | date: 'hh:mm'"
|
|
140
|
+
[placeholder]="'STOPTIME' | localize" (blur)="handleEndTimeChange()"></co-input-text>
|
|
129
141
|
</div>
|
|
130
142
|
|
|
131
143
|
|
|
@@ -161,6 +173,8 @@ DeliveryPlanningOverviewPopupComponent.ctorParameters = () => [
|
|
|
161
173
|
DeliveryPlanningOverviewPopupComponent.propDecorators = {
|
|
162
174
|
closeEvent: [{ type: Output }],
|
|
163
175
|
onSucceededPlanAction: [{ type: Output }],
|
|
176
|
+
startTimeCompRef: [{ type: ViewChild, args: ['startTime',] }],
|
|
177
|
+
endTimeCompRef: [{ type: ViewChild, args: ['endTime',] }],
|
|
164
178
|
showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-popup",] }]
|
|
165
179
|
};
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBSTdFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBa0UzRyxNQUFNLE9BQU8sc0NBQXNDO0lBaUNqRCxZQUFtQixnQkFBa0MsRUFBVSxZQUFnQyxFQUFTLHVCQUFnRDtRQUFySSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQVMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQTlCakosVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFMUIsY0FBUyxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7UUFpQnZDLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hOLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDOzs7WUExS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeEVPLGdCQUFnQjtZQU1oQixrQkFBa0I7WUFDbEIsdUJBQXVCOzs7eUJBdUY1QixNQUFNO29DQUdOLE1BQU07d0JBSU4sV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla0RheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWsuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VQb3B1cCgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclwiXHJcbiAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb290ZXItaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0Py5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzXHJcbiAgICAgICAgICBbY3VycmVudFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm9yZGVyQW1vdW50XCJcclxuICAgICAgICAgIFttYXhWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5tYXhPcmRlckFtb3VudFwiXHJcbiAgICAgICAgICBbY3VycmVudFRpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1pbnV0ZXNcIlxyXG4gICAgICAgICAgW3RpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1heE1pbnV0ZXNcIj5cclxuICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kZXRhaWxzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgxXCIgW3RleHRDb250ZW50XT1cIidUSU1FX1NFVFRJTkdTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1yb3dcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJpbXBhY3RUaW1lKClcIiBbcGxhY2Vob2xkZXJdPVwiJ0lNUEFDVF9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHBsYW5PcmRlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBU1NFTUJMWV9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic3RhcnRUaW1lRm9yT3JkZXIoKSB8IGRhdGU6ICdISDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVEFSVFRJTUUnIHwgbG9jYWxpemVcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RhcnRUaW1lQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiZW5kVGltZUZvck9yZGVyKCkgfCBkYXRlOiAnSEg6bW0nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU1RPUFRJTUUnIHwgbG9jYWxpemVcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRW5kVGltZUNoYW5nZSgkZXZlbnQpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbWFyay13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1BMQU5fUkVNQVJLUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJwbGFuT3JkZXIucmVtYXJrc1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNvbW1pdENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVBvcHVwKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3UG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX3RyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuXHJcbiAgcHVibGljIGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBwbGFuT3JkZXI6IFBsYW5PcmRlciA9IG5ldyBQbGFuT3JkZXIoKTtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBwdWJsaWMgc2V0IHRyYW5zcG9ydERheSggdHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KSB7XHJcbiAgICB0aGlzLmhhbmRsZUluaXRpYWxUaW1lUGxhbm5pbmcodHJhbnNwb3J0V2Vla0RheSk7XHJcbiAgICB0aGlzLl90cmFuc3BvcnRXZWVrRGF5ID0gdHJhbnNwb3J0V2Vla0RheTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zcG9ydERheSgpOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfTtcclxuXHJcblxyXG5cclxuICBwdWJsaWMgd2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TdWNjZWVkZWRQbGFuQWN0aW9uOiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSwgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VydmljZSwgcHVibGljIGRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSkge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53ZWVrID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGFuT3JkZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRyYW5zcG9ydERheSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1wYWN0VGltZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5pbXBhY3RUaW1lID8gdGhpcy5wbGFuT3JkZXIuaW1wYWN0VGltZSA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnJlc2V0Q3VycmVudFRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tbWl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLm9uU3VjY2VlZGVkUGxhbkFjdGlvbi5lbWl0KFt0aGlzLnBsYW5PcmRlciwgdGhpcy50cmFuc3BvcnREYXksIHRoaXMud2Vla10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0VGltZUZvck9yZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmRUaW1lRm9yT3JkZXIoKSB7XHJcbiAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5lbmRUaW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0YXJ0VGltZUNoYW5nZSh0aW1lU3RyaW5nOiBzdHJpbmcpIHtcclxuICAgIGxldCBvcmlnaW5hbFBsYW5PcmRlckRhdGUgPSBuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUpO1xyXG4gICAgbGV0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZShvcmlnaW5hbFBsYW5PcmRlckRhdGUuZ2V0RnVsbFllYXIoKSwgb3JpZ2luYWxQbGFuT3JkZXJEYXRlLmdldE1vbnRoKCksIG9yaWdpbmFsUGxhbk9yZGVyRGF0ZS5nZXREYXkoKSwgcGFyc2VJbnQodGltZVN0cmluZ1swXSksIDApO1xyXG4gICAgaWYoIWlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbmRUaW1lQ2hhbmdlKHRpbWVTdHJpbmc6IHN0cmluZykge1xyXG4gICAgbGV0IG9yaWdpbmFsUGxhbk9yZGVyRGF0ZSA9IG5ldyBEYXRlKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSk7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9yaWdpbmFsUGxhbk9yZGVyRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5hbFBsYW5PcmRlckRhdGUuZ2V0TW9udGgoKSwgb3JpZ2luYWxQbGFuT3JkZXJEYXRlLmdldERheSgpLCBwYXJzZUludCh0aW1lU3RyaW5nWzBdKSwgMCk7XHJcbiAgICBpZighaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbml0aWFsVGltZVBsYW5uaW5nKHRyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkge1xyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWUgJiYgdHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXkuZGF0ZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWU/LnNldEhvdXJzKDgpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRTZWNvbmRzKDApO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5lbmRUaW1lICYmIHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSBuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZS5zZXRIb3Vycyh0aGlzLnBsYW5PcmRlcj8uZW5kVGltZT8uZ2V0SG91cnMoKSArICh0aGlzLmRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHRoaXMucGxhbk9yZGVyKSA+IDAgPyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgLyA2MCkgOiAxKSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0U2Vjb25kcygwKTtcclxuICAgIH1cclxuICAgIGlmKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBuZXcgRGF0ZSh0cmFuc3BvcnRXZWVrRGF5Py5kYXRlKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldEhvdXJzKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnNbdHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzLmxlbmd0aCAtIDFdPy5lbmRUaW1lPy5nZXRIb3VycygpKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldE1pbnV0ZXMoMCk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRTZWNvbmRzKDApO1xyXG5cclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZSA9IG5ldyBEYXRlKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUuc2V0SG91cnModGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU/LmdldEhvdXJzKCkgKyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgPiAwID8gKHRoaXMuZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudG90YWxBc3NlbWJseVRpbWUodGhpcy5wbGFuT3JkZXIpIC8gNjApIDogMSkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBR1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUk3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQW9FM0csTUFBTSxPQUFPLHNDQUFzQztJQXVDakQsWUFBbUIsZ0JBQWtDLEVBQVUsWUFBZ0MsRUFBUyx1QkFBZ0Q7UUFBckkscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFTLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFwQ2pKLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBRTFCLGNBQVMsR0FBYyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBaUJ2QyxlQUFVLEdBQXVCLElBQUksWUFB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LElBQUcsU0FBUyxFQUFFO1lBQ1osSUFBSSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7OztZQTFMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFDQUFxQztnQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUExRU8sZ0JBQWdCO1lBTWhCLGtCQUFrQjtZQUNsQix1QkFBdUI7Ozt5QkF5RjVCLE1BQU07b0NBR04sTUFBTTsrQkFJTixTQUFTLFNBQUMsV0FBVzs2QkFHckIsU0FBUyxTQUFDLFNBQVM7d0JBR25CLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla0RheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWsuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge0lucHV0VGV4dENvbXBvbmVudH0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtQbGFubmluZ30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VQb3B1cCgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclwiXHJcbiAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb290ZXItaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0Py5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzXHJcbiAgICAgICAgICBbY3VycmVudFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm9yZGVyQW1vdW50XCJcclxuICAgICAgICAgIFttYXhWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5tYXhPcmRlckFtb3VudFwiXHJcbiAgICAgICAgICBbY3VycmVudFRpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1pbnV0ZXNcIlxyXG4gICAgICAgICAgW3RpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1heE1pbnV0ZXNcIj5cclxuICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kZXRhaWxzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgxXCIgW3RleHRDb250ZW50XT1cIidUSU1FX1NFVFRJTkdTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1yb3dcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJpbXBhY3RUaW1lKClcIiBbcGxhY2Vob2xkZXJdPVwiJ0lNUEFDVF9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHBsYW5PcmRlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBU1NFTUJMWV9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCAjc3RhcnRUaW1lIFttb2RlbF09XCJzdGFydFRpbWVGb3JPcmRlcigpIHwgZGF0ZTogJ2hoOm1tJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NUQVJUVElNRScgfCBsb2NhbGl6ZVwiIChibHVyKT1cImhhbmRsZVN0YXJ0VGltZUNoYW5nZSgpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgI2VuZFRpbWUgW21vZGVsXT1cImVuZFRpbWVGb3JPcmRlcigpIHwgZGF0ZTogJ2hoOm1tJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NUT1BUSU1FJyB8IGxvY2FsaXplXCIgKGJsdXIpPVwiaGFuZGxlRW5kVGltZUNoYW5nZSgpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbWFyay13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1BMQU5fUkVNQVJLUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJwbGFuT3JkZXIucmVtYXJrc1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNvbW1pdENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVBvcHVwKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3UG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX3RyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuXHJcbiAgcHVibGljIGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBwbGFuT3JkZXI6IFBsYW5PcmRlciA9IG5ldyBQbGFuT3JkZXIoKTtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBwdWJsaWMgc2V0IHRyYW5zcG9ydERheSggdHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KSB7XHJcbiAgICB0aGlzLmhhbmRsZUluaXRpYWxUaW1lUGxhbm5pbmcodHJhbnNwb3J0V2Vla0RheSk7XHJcbiAgICB0aGlzLl90cmFuc3BvcnRXZWVrRGF5ID0gdHJhbnNwb3J0V2Vla0RheTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zcG9ydERheSgpOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfTtcclxuXHJcblxyXG5cclxuICBwdWJsaWMgd2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvblN1Y2NlZWRlZFBsYW5BY3Rpb246IEV2ZW50RW1pdHRlcjxbUGxhbk9yZGVyLCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXksIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11dPigpO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnc3RhcnRUaW1lJylcclxuICBwdWJsaWMgc3RhcnRUaW1lQ29tcFJlZjogSW5wdXRUZXh0Q29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdlbmRUaW1lJylcclxuICBwdWJsaWMgZW5kVGltZUNvbXBSZWY6IElucHV0VGV4dENvbXBvbmVudDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSwgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VydmljZSwgcHVibGljIGRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSkge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53ZWVrID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGFuT3JkZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRyYW5zcG9ydERheSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1wYWN0VGltZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5pbXBhY3RUaW1lID8gdGhpcy5wbGFuT3JkZXIuaW1wYWN0VGltZSA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnJlc2V0Q3VycmVudFRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tbWl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLm9uU3VjY2VlZGVkUGxhbkFjdGlvbi5lbWl0KFt0aGlzLnBsYW5PcmRlciwgdGhpcy50cmFuc3BvcnREYXksIHRoaXMud2Vla10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0VGltZUZvck9yZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWU/LnRvTG9jYWxlU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5kVGltZUZvck9yZGVyKCkge1xyXG4gICByZXR1cm4gdGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU/LnRvTG9jYWxlU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RhcnRUaW1lQ2hhbmdlKCkge1xyXG4gICAgaWYodGhpcy5zdGFydFRpbWVDb21wUmVmLm1vZGVsKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IHRoaXMuaGFuZGxlRGF0ZUNoYW5nZSh0aGlzLnN0YXJ0VGltZUNvbXBSZWYubW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbmRUaW1lQ2hhbmdlKCkge1xyXG4gICAgaWYodGhpcy5lbmRUaW1lQ29tcFJlZi5tb2RlbCkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5lbmRUaW1lID0gdGhpcy5oYW5kbGVEYXRlQ2hhbmdlKHRoaXMuZW5kVGltZUNvbXBSZWYubW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbml0aWFsVGltZVBsYW5uaW5nKHRyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkge1xyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWUgJiYgdHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXkuZGF0ZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWU/LnNldEhvdXJzKDgpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRTZWNvbmRzKDApO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5lbmRUaW1lICYmIHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnM/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5lbmRUaW1lID0gbmV3IERhdGUodGhpcy5wbGFuT3JkZXI/LnN0YXJ0VGltZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUuc2V0SG91cnModGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU/LmdldEhvdXJzKCkgKyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgPiAwID8gKHRoaXMuZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudG90YWxBc3NlbWJseVRpbWUodGhpcy5wbGFuT3JkZXIpIC8gNjApIDogMSkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcbiAgICB9XHJcbiAgICBpZih0cmFuc3BvcnRXZWVrRGF5Py5wbGFubmVkT3JkZXJzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXk/LmRhdGUpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0SG91cnModHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVyc1t0cmFuc3BvcnRXZWVrRGF5LnBsYW5uZWRPcmRlcnMubGVuZ3RoIC0gMV0/LmVuZFRpbWU/LmdldEhvdXJzKCkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcblxyXG4gICAgICB0aGlzLnBsYW5PcmRlci5lbmRUaW1lID0gbmV3IERhdGUodGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZS5zZXRIb3Vycyh0aGlzLnBsYW5PcmRlcj8uZW5kVGltZT8uZ2V0SG91cnMoKSArICh0aGlzLmRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHRoaXMucGxhbk9yZGVyKSA+IDAgPyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgLyA2MCkgOiAxKSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0U2Vjb25kcygwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEYXRlQ2hhbmdlKHRleHQ6IHN0cmluZyk6IERhdGUge1xyXG4gICAgbGV0IHNwbGl0VGV4dDogc3RyaW5nW107XHJcbiAgICBzcGxpdFRleHQgPSB0ZXh0LnNwbGl0KFwiOlwiKTtcclxuICAgIGlmKHNwbGl0VGV4dCkge1xyXG4gICAgICBsZXQgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMudHJhbnNwb3J0RGF5LmRhdGUpO1xyXG4gICAgICBkYXRlLnNldEhvdXJzKHBhcnNlSW50KHNwbGl0VGV4dFswXSkpO1xyXG4gICAgICBkYXRlLnNldE1pbnV0ZXMocGFyc2VJbnQoc3BsaXRUZXh0WzFdKSk7XHJcbiAgICAgIGRhdGUuc2V0U2Vjb25kcygwKTtcclxuICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -9,13 +9,13 @@ export class DeliveryPlanningOverviewShortLineComponent {
|
|
|
9
9
|
this.showNoteDialog = false;
|
|
10
10
|
this.expanded = false;
|
|
11
11
|
this.order = new PlanOrder();
|
|
12
|
-
this.
|
|
12
|
+
this.deleteOrderEvent = new EventEmitter();
|
|
13
13
|
}
|
|
14
14
|
showClass() {
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
17
|
handleDeleteLineClick(order) {
|
|
18
|
-
this.
|
|
18
|
+
this.deleteOrderEvent.emit(order);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
DeliveryPlanningOverviewShortLineComponent.decorators = [
|
|
@@ -36,7 +36,7 @@ DeliveryPlanningOverviewShortLineComponent.ctorParameters = () => [
|
|
|
36
36
|
];
|
|
37
37
|
DeliveryPlanningOverviewShortLineComponent.propDecorators = {
|
|
38
38
|
order: [{ type: Input }],
|
|
39
|
-
|
|
39
|
+
deleteOrderEvent: [{ type: Output }],
|
|
40
40
|
showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-short-line",] }]
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctc2hvcnQtbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctc2hvcnQtbGluZS9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1zaG9ydC1saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBYTdFLE1BQU0sT0FBTywwQ0FBMEM7SUFnQnJELFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZnJDLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQ25DLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsVUFBSyxHQUFhLElBQUksU0FBUyxFQUFFLENBQUM7UUFHbEMscUJBQWdCLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7SUFRakYsQ0FBQztJQUxNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLTSxxQkFBcUIsQ0FBQyxLQUFnQjtRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OztZQWhDRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsUUFBUSxFQUFFOzs7Ozs7S0FNVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O1lBZk8sZ0JBQWdCOzs7b0JBcUJyQixLQUFLOytCQUdMLE1BQU07d0JBR04sV0FBVyxTQUFDLGdEQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXNob3J0LWxpbmVcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lLXNob3J0LXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctbGluZS1zaG9ydFwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIm9yZGVyLnNob3J0QWRkcmVzc1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3U2hvcnRMaW5lQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgc2hvd05vdGVEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3JkZXI6UGxhbk9yZGVyID0gbmV3IFBsYW5PcmRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlT3JkZXJFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5PcmRlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5PcmRlcj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctc2hvcnQtbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlTGluZUNsaWNrKG9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIHRoaXMuZGVsZXRlT3JkZXJFdmVudC5lbWl0KG9yZGVyKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|