@colijnit/transaction 258.1.7 → 258.1.8
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 +63 -49
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +2 -2
- package/esm2015/lib/component/transaction-line/transaction-planning-line/components/transaction-planning-line-planned-resource/transaction-planning-line-planned-resource.component.js +1 -2
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +25 -12
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +1 -3
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +27 -17
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/transaction-line/transaction-planning-line/components/transaction-planning-line-planned-resource/style/_layout.scss +1 -0
- package/lib/component/transaction-line/transaction-planning-line/style/_layout.scss +6 -0
- package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -113,28 +113,32 @@ export class TransactionPlanningLineComponent extends TransactionLineBaseCompone
|
|
|
113
113
|
}
|
|
114
114
|
changeLineValue(value) {
|
|
115
115
|
this.transactionLine.selected = value;
|
|
116
|
+
if (!this.transactionLine.amountSelected) {
|
|
117
|
+
this.transactionLine.amountSelected = this.planOrderLine.amountToPlan;
|
|
118
|
+
}
|
|
116
119
|
this.detectChanges();
|
|
117
120
|
}
|
|
118
121
|
dragStarted(ev) {
|
|
119
|
-
var _a, _b, _c, _d;
|
|
122
|
+
var _a, _b, _c, _d, _e;
|
|
120
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
124
|
if (!this.checkedAvailibility) {
|
|
122
125
|
this._deliveryPlanningService.availabilityCheckEvent.emit(this.transactionService.currentPlanOrder);
|
|
123
126
|
this.checkedAvailibility = true;
|
|
124
127
|
}
|
|
125
|
-
|
|
128
|
+
console.log(this.transactionLine.amountSelected);
|
|
129
|
+
console.log((_a = this.planOrderLine) === null || _a === void 0 ? void 0 : _a.amountToPlan);
|
|
130
|
+
if (this.transactionLine.amountSelected <= 0 || ((_b = this.planOrderLine) === null || _b === void 0 ? void 0 : _b.amountToPlan) === 0) {
|
|
126
131
|
yield this._dialog.showError(this._dictionary.get('ORDER_CAN_NOT_BE_PLANNED_ON_RESOURCE'), true);
|
|
127
|
-
return;
|
|
128
132
|
}
|
|
129
133
|
else {
|
|
130
134
|
this._deliveryPlanningService.currentTransId = this.transactionInfo.id;
|
|
131
|
-
(
|
|
135
|
+
(_c = ev.dataTransfer) === null || _c === void 0 ? void 0 : _c.setData('text', 'lines');
|
|
132
136
|
}
|
|
133
137
|
ev.target.classList.add('dragging');
|
|
134
138
|
const lineElement = ev.target.closest('co-transaction-base-line');
|
|
135
139
|
if (!lineElement)
|
|
136
140
|
return;
|
|
137
|
-
const dragBox = (
|
|
141
|
+
const dragBox = (_d = lineElement.querySelector('.co-transaction-line-image-and-description')) === null || _d === void 0 ? void 0 : _d.cloneNode(true);
|
|
138
142
|
const dragImage = document.createElement('div');
|
|
139
143
|
dragImage.style.display = 'flex';
|
|
140
144
|
dragImage.style.flexDirection = 'row';
|
|
@@ -157,7 +161,7 @@ export class TransactionPlanningLineComponent extends TransactionLineBaseCompone
|
|
|
157
161
|
dragImage.style.top = '-1000px';
|
|
158
162
|
dragImage.style.left = '-1000px';
|
|
159
163
|
// Set the custom drag image
|
|
160
|
-
(
|
|
164
|
+
(_e = ev.dataTransfer) === null || _e === void 0 ? void 0 : _e.setDragImage(dragImage, 50, 25);
|
|
161
165
|
// Cleanup: Remove the drag image after it's set
|
|
162
166
|
setTimeout(() => document.body.removeChild(dragImage), 0);
|
|
163
167
|
});
|
|
@@ -178,6 +182,14 @@ export class TransactionPlanningLineComponent extends TransactionLineBaseCompone
|
|
|
178
182
|
}
|
|
179
183
|
return !((_b = (_a = this._deliveryPlanningService.linesPlanOrder) === null || _a === void 0 ? void 0 : _a.lines) === null || _b === void 0 ? void 0 : _b.find(line => line.originalLineNr === this.transactionLine.lineNr));
|
|
180
184
|
}
|
|
185
|
+
get lineFullyPlanned() {
|
|
186
|
+
if (this.planOrderLine) {
|
|
187
|
+
return this.planOrderLine.amountToPlan === 0;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
181
193
|
handleQuantityToPlanChange(amount) {
|
|
182
194
|
this.transactionLine.amountSelected = amount;
|
|
183
195
|
}
|
|
@@ -200,9 +212,9 @@ TransactionPlanningLineComponent.decorators = [
|
|
|
200
212
|
[transactionLine]="transactionLine"
|
|
201
213
|
[preview]="preview"
|
|
202
214
|
[isFirst]="isFirst"
|
|
203
|
-
[draggable]="!
|
|
215
|
+
[draggable]="!lineFullyPlanned"
|
|
204
216
|
(dragstart)="dragStarted($event)"
|
|
205
|
-
[checkbox]="
|
|
217
|
+
[checkbox]="!lineFullyPlanned"
|
|
206
218
|
[checkboxValue]="transactionLine.selected || !transactionInfo?.allowPartialDelivery"
|
|
207
219
|
[checkboxReadonly]="!transactionInfo?.allowPartialDelivery"
|
|
208
220
|
(checkboxValueChanged)="handleCheckBoxValueChanged($event, transactionLine)"
|
|
@@ -259,16 +271,17 @@ TransactionPlanningLineComponent.decorators = [
|
|
|
259
271
|
<div class="transaction-field-wrapper small">
|
|
260
272
|
<div class="inside-field">
|
|
261
273
|
<co-transaction-line-label [insideLabel]="'QUANTITY'"></co-transaction-line-label>
|
|
262
|
-
<co-input-number-picker class="amount-number-picker"
|
|
274
|
+
<co-input-number-picker *ngIf="planOrderLine?.amountToPlan && planOrderLine.amountToPlan !== 0" class="amount-number-picker"
|
|
263
275
|
[min]="0"
|
|
264
276
|
[max]="planOrderLine?.amountToPlan"
|
|
265
|
-
[model]="planOrderLine?.amountToPlan"
|
|
277
|
+
[model]="planOrderLine?.amountToPlan ? planOrderLine?.amountToPlan : 0"
|
|
266
278
|
(modelChange)="handleQuantityToPlanChange($event)"></co-input-number-picker>
|
|
267
279
|
</div>
|
|
268
280
|
</div>
|
|
269
281
|
<div class="transaction-field-wrapper small" *ngIf="this.plannedResourceForTransactionLine?.length > 0">
|
|
270
282
|
<div class="inside-field">
|
|
271
|
-
<
|
|
283
|
+
<co-transaction-line-label [insideLabel]="'PLANNED'"></co-transaction-line-label>
|
|
284
|
+
<div class="column">
|
|
272
285
|
<co-transaction-planning-line-planned-resource
|
|
273
286
|
*ngFor="let plannedResource of this.plannedResourceForTransactionLine"
|
|
274
287
|
[plannedResource]="plannedResource"
|
|
@@ -316,4 +329,4 @@ TransactionPlanningLineComponent.propDecorators = {
|
|
|
316
329
|
handleMouseLeave: [{ type: HostListener, args: ['mouseleave', ['$event'],] }],
|
|
317
330
|
dragEnded: [{ type: HostListener, args: ['dragend', ['$event'],] }]
|
|
318
331
|
};
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFHWixNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUVsRyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFB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WUFLdkIsd0JBQXdCO1lBUnhCLGlCQUFpQjs7O2tDQTBIdEIsTUFBTTt3QkFHTixXQUFXLFNBQUMsb0NBQW9DOzhCQUtoRCxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOytCQUtwQyxZQUFZLFNBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO3dCQXNKckMsWUFBWSxTQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVmY29kZS9zdG9jay1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlfSBmcm9tICcuLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWxpbmUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvJztcclxuaW1wb3J0IHtQbGFubmVkUmVzb3VyY2VGb3JUcmFuc2FjdGlvbkxpbmV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmVkLXJlc291cmNlLWZvci10cmFuc2FjdGlvbi1saW5lLmJvJztcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvJztcclxuaW1wb3J0IHtQbGFubmluZ30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1wbGFubmluZy1saW5lJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tYmFzZS1saW5lXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICBbcHJldmlld109XCJwcmV2aWV3XCJcclxuICAgICAgICAgICAgICBbaXNGaXJzdF09XCJpc0ZpcnN0XCJcclxuICAgICAgICAgICAgICBbZHJhZ2dhYmxlXT1cIiFsaW5lUGxhbm5lZFwiXHJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NoZWNrYm94VmFsdWVdPVwidHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkIHx8ICF0cmFuc2FjdGlvbkluZm8/LmFsbG93UGFydGlhbERlbGl2ZXJ5XCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hSZWFkb25seV09XCIhdHJhbnNhY3Rpb25JbmZvPy5hbGxvd1BhcnRpYWxEZWxpdmVyeVwiXHJcbiAgICAgICAgICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKCRldmVudCwgdHJhbnNhY3Rpb25MaW5lKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUxpbmVDbGlja2VkKCRldmVudClcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1leHRlbmRlZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWZ1bGwgYWxpZ24tcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlN0YXR1c0JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBtZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbW1pc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgbWVkaXVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyIG1lZGl1bVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGVsaXZlcnlNZXRob2RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBtZWRpdW0gdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlIHR3by1jb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVWYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXByaWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGwgdHJhbnNhY3Rpb24tbGluZS10b3RhbHMtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXByaWNlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJkaXNjb3VudENvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInUVVBTlRJVFknXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJwbGFuT3JkZXJMaW5lPy5hbW91bnRUb1BsYW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInBsYW5PcmRlckxpbmU/LmFtb3VudFRvUGxhblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlUXVhbnRpdHlUb1BsYW5DaGFuZ2UoJGV2ZW50KVwiPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGxcIiAqbmdJZj1cInRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS1wbGFubmVkLXJlc291cmNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGxhbm5lZFJlc291cmNlIG9mIHRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFubmVkUmVzb3VyY2VdPVwicGxhbm5lZFJlc291cmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGFubmVkUmVzb3VyY2VDbGlja2VkRXZlbnQpPVwiaGFuZGxlUGxhbm5lZFJlc291cmNlQ2xpY2tlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1wbGFubmluZy1saW5lLXBsYW5uZWQtcmVzb3VyY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGwgdHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvY28tdHJhbnNhY3Rpb24tYmFzZS1saW5lPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QbGFubmluZ0xpbmVDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIGNoZWNrZWRBdmFpbGliaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lOiBQbGFubmVkUmVzb3VyY2VGb3JUcmFuc2FjdGlvbkxpbmVbXTtcclxuICBwdWJsaWMgcGxhbk9yZGVyTGluZTogUGxhbk9yZGVyTGluZSA9IG5ldyBQbGFuT3JkZXJMaW5lKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkRibENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZScpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5tb3VzZU92ZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tTdGF0dXMgPSBTdG9ja1N0YXR1cy5Mb3c7XHJcbiAgcHVibGljIG1vdXNlT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBoYXNPcGVuZWRTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBkaXNjb3VudENvbmZpZ05hbWVzOiBMaW5lRGlzY291bnRDZmdOYW1lcyA9IHtcclxuICAgIGxpbmVQcmljZUxpc3Q6IHRoaXMuY2ZnTmFtZXMuTGluZVByaWNlTGlzdCxcclxuICAgIGxpbmVEaXNjb3VudEFtb3VudDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRBbW91bnQsXHJcbiAgICBsaW5lRGlzY291bnRQZXJjZW50YWdlOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFBlcmNlbnRhZ2UsXHJcbiAgICBsaW5lRGlzY291bnRTcGVjaWFsOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFNwZWNpYWwsXHJcbiAgICBsaW5lRGlzY291bnRRdWFudHVtOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFF1YW50dW1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lVG9CZVBpY2tlZENvbXBsZXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlOiBUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25MaW5lU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSxjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzVG9CZVBpY2tlZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB2YWx1ZSAmJiAhdGhpcy50cmFuc2FjdGlvbkxpbmVUb0JlUGlja2VkQ29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5uZXdQbGFuT3JkZXJFdmVudC5zdWJzY3JpYmUoIG5ld1BsYW5PcmRlckV2ZW50ID0+IHtcclxuICAgICAgICB0aGlzLnBsYW5PcmRlckxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50UGxhbk9yZGVyLmxpbmVzLmZpbmQoIGxpbmUgPT4gbGluZS5vcmlnaW5hbExpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFubmVkUmVzb3VyY2VzRm9yVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpLnRoZW4oIChyZXN1bHQ6IFBsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSkge1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5wbGFuT3JkZXJEYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDaGVja0JveFZhbHVlQ2hhbmdlZCh2YWx1ZTogYm9vbGVhbiwgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubHNwTW9kZSkge1xyXG4gICAgICBsZXQgcGFja2FnZVJlc3BvbnNlID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UGFja2FnZUluZm9ybWF0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIGxpbmUudXVpZCk7XHJcbiAgICAgIGlmKHBhY2thZ2VSZXNwb25zZT8ubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX2RpYWxvZy5zaG93RXJyb3IoXCJMU1BfQUxSRUFEWV9DUkVBVEVEX0ZPUl9USElTX0xJTkVcIiwgdHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZUxpbmVWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXI/LmxpbmVzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSA9IG5ldyBEYXRlKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyLmxpbmVzWzBdLmRlbGl2ZXJ5RGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlTGluZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZHJhZ1N0YXJ0ZWQoZXY6IERyYWdFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkpIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuYXZhaWxhYmlsaXR5Q2hlY2tFdmVudC5lbWl0KHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRQbGFuT3JkZXIpO1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgPD0gMCB8fCB0aGlzLnBsYW5PcmRlckxpbmU/LmFtb3VudFRvUGxhbiA9PT0gMCkge1xyXG4gICAgICAgYXdhaXQgdGhpcy5fZGlhbG9nLnNob3dFcnJvcih0aGlzLl9kaWN0aW9uYXJ5LmdldCgnT1JERVJfQ0FOX05PVF9CRV9QTEFOTkVEX09OX1JFU09VUkNFJyksIHRydWUpO1xyXG4gICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgICAgZXYuZGF0YVRyYW5zZmVyPy5zZXREYXRhKCd0ZXh0JywgJ2xpbmVzJyk7XHJcbiAgICB9XHJcbiAgICAoZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuYWRkKCdkcmFnZ2luZycpO1xyXG4gICAgY29uc3QgbGluZUVsZW1lbnQgPSAoZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCdjby10cmFuc2FjdGlvbi1iYXNlLWxpbmUnKTtcclxuICAgIGlmICghbGluZUVsZW1lbnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBkcmFnQm94ID0gbGluZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvLXRyYW5zYWN0aW9uLWxpbmUtaW1hZ2UtYW5kLWRlc2NyaXB0aW9uJyk/LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBjb25zdCBkcmFnSW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSAncm93JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5hbGlnbkl0ZW1zID0gJ2NlbnRlcic7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnc3BhY2UtYXJvdW5kJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS53aWR0aCA9ICcyNTBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUubWluSGVpZ2h0ID0gJzUwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLnBhZGRpbmcgPSAnMTBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyNmZmZmZmYnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJvcmRlciA9ICcxcHggc29saWQgI2NjYyc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYm94U2hhZG93ID0gJzAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSknO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc1cHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmZvbnRTaXplID0gJzEycHgnO1xyXG5cclxuICAgIGlmIChkcmFnQm94KSB7XHJcbiAgICAgIGRyYWdCb3guc3R5bGUuZmxleCA9ICcxJztcclxuICAgICAgZHJhZ0ltYWdlLmFwcGVuZENoaWxkKGRyYWdCb3gpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZHJhZ0ltYWdlKTtcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUudG9wID0gJy0xMDAwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmxlZnQgPSAnLTEwMDBweCc7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBjdXN0b20gZHJhZyBpbWFnZVxyXG4gICAgZXYuZGF0YVRyYW5zZmVyPy5zZXREcmFnSW1hZ2UoZHJhZ0ltYWdlLCA1MCwgMjUpO1xyXG5cclxuICAgIC8vIENsZWFudXA6IFJlbW92ZSB0aGUgZHJhZyBpbWFnZSBhZnRlciBpdCdzIHNldFxyXG4gICAgc2V0VGltZW91dCgoKSA9PiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRyYWdJbWFnZSksIDApO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGRyYWdFbmRlZChldjogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkpIHtcclxuICAgICAgdGhpcy5jaGVja2VkQXZhaWxpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eVJlc2V0RXZlbnQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIChldi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWdnaW5nJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGxpbmVQbGFubmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcj8ubGluZXM/LmZpbmQobGluZSA9PiBsaW5lLm9yaWdpbmFsTGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVF1YW50aXR5VG9QbGFuQ2hhbmdlKGFtb3VudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA9IGFtb3VudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVQbGFubmVkUmVzb3VyY2VDbGlja2VkKHBsYW5uZWRSZXNvdXJjZTogUGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgIGxldCBwbGFubmluZ3M6IFBsYW5uaW5nW10gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5nZXRQbGFubmluZ1NvdXJjZXMoKTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFN0YXJ0RGF0ZSA9IHBsYW5uZWRSZXNvdXJjZS5wbGFubmluZ1N0YXJ0VGltZTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nID0gcGxhbm5pbmdzLmZpbmQoIHBsYW5uaW5nID0+IHBsYW5uaW5nLnBsYW5uaW5nSWQgPT09IHBsYW5uZWRSZXNvdXJjZS5wbGFubmluZ0lkKTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUpO1xyXG4gICAgICB0aGlzLmhhc09wZW5lZFNpZGVQYW5lbCA9IHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFHWixNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUVsRyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFB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QTs7O1lBeFRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdHVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OztZQTlHTyx3QkFBd0I7WUFDeEIsc0JBQXNCO1lBWHRCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBQ3JDLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBbkJ4QixpQkFBaUI7WUErQlgsMkJBQTJCO1lBVjNCLHVCQUF1QjtZQUt2Qix3QkFBd0I7WUFSeEIsaUJBQWlCOzs7a0NBMkh0QixNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0M7OEJBS2hELFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBS3BDLFlBQVksU0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7d0JBMEpyQyxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9yZWZjb2RlL3N0b2NrLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtMaW5lRGlzY291bnRDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL2xpbmUtZGlzY291bnQtY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gJy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tbGluZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24tbGluZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm8nO1xyXG5pbXBvcnQge1BsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uZWQtcmVzb3VyY2UtZm9yLXRyYW5zYWN0aW9uLWxpbmUuYm8nO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLWxpbmUuYm8nO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1iYXNlLWxpbmVcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgIFtwcmV2aWV3XT1cInByZXZpZXdcIlxyXG4gICAgICAgICAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiIWxpbmVGdWxseVBsYW5uZWRcIlxyXG4gICAgICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2NoZWNrYm94XT1cIiFsaW5lRnVsbHlQbGFubmVkXCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hWYWx1ZV09XCJ0cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgfHwgIXRyYW5zYWN0aW9uSW5mbz8uYWxsb3dQYXJ0aWFsRGVsaXZlcnlcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2JveFJlYWRvbmx5XT1cIiF0cmFuc2FjdGlvbkluZm8/LmFsbG93UGFydGlhbERlbGl2ZXJ5XCJcclxuICAgICAgICAgICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwiaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQoJGV2ZW50LCB0cmFuc2FjdGlvbkxpbmUpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGluZUNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYW5zYWN0aW9uTGluZS5pc0FydGljbGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9IXByZXZpZXcgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWV4dGVuZGVkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tZnVsbCBhbGlnbi1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyIG1lZGl1bVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29tbWlzc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBtZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgbWVkaXVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyIG1lZGl1bSB0cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUgdHdvLWNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGVsaXZlcnlEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVZhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBzbWFsbCB0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEVkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cImRpc2NvdW50Q29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidRVUFOVElUWSdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciAqbmdJZj1cInBsYW5PcmRlckxpbmU/LmFtb3VudFRvUGxhbiAmJiBwbGFuT3JkZXJMaW5lLmFtb3VudFRvUGxhbiAhPT0gMFwiIGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwicGxhbk9yZGVyTGluZT8uYW1vdW50VG9QbGFuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJwbGFuT3JkZXJMaW5lPy5hbW91bnRUb1BsYW4gPyBwbGFuT3JkZXJMaW5lPy5hbW91bnRUb1BsYW4gOiAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVRdWFudGl0eVRvUGxhbkNoYW5nZSgkZXZlbnQpXCI+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlciBzbWFsbFwiICpuZ0lmPVwidGhpcy5wbGFubmVkUmVzb3VyY2VGb3JUcmFuc2FjdGlvbkxpbmU/Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidQTEFOTkVEJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS1wbGFubmVkLXJlc291cmNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGxhbm5lZFJlc291cmNlIG9mIHRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFubmVkUmVzb3VyY2VdPVwicGxhbm5lZFJlc291cmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGFubmVkUmVzb3VyY2VDbGlja2VkRXZlbnQpPVwiaGFuZGxlUGxhbm5lZFJlc291cmNlQ2xpY2tlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1wbGFubmluZy1saW5lLXBsYW5uZWQtcmVzb3VyY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc21hbGwgdHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvY28tdHJhbnNhY3Rpb24tYmFzZS1saW5lPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QbGFubmluZ0xpbmVDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIGNoZWNrZWRBdmFpbGliaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lOiBQbGFubmVkUmVzb3VyY2VGb3JUcmFuc2FjdGlvbkxpbmVbXTtcclxuICBwdWJsaWMgcGxhbk9yZGVyTGluZTogUGxhbk9yZGVyTGluZSA9IG5ldyBQbGFuT3JkZXJMaW5lKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkRibENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZScpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5tb3VzZU92ZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tTdGF0dXMgPSBTdG9ja1N0YXR1cy5Mb3c7XHJcbiAgcHVibGljIG1vdXNlT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBoYXNPcGVuZWRTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBkaXNjb3VudENvbmZpZ05hbWVzOiBMaW5lRGlzY291bnRDZmdOYW1lcyA9IHtcclxuICAgIGxpbmVQcmljZUxpc3Q6IHRoaXMuY2ZnTmFtZXMuTGluZVByaWNlTGlzdCxcclxuICAgIGxpbmVEaXNjb3VudEFtb3VudDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRBbW91bnQsXHJcbiAgICBsaW5lRGlzY291bnRQZXJjZW50YWdlOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFBlcmNlbnRhZ2UsXHJcbiAgICBsaW5lRGlzY291bnRTcGVjaWFsOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFNwZWNpYWwsXHJcbiAgICBsaW5lRGlzY291bnRRdWFudHVtOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFF1YW50dW1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lVG9CZVBpY2tlZENvbXBsZXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlOiBUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25MaW5lU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSxjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzVG9CZVBpY2tlZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB2YWx1ZSAmJiAhdGhpcy50cmFuc2FjdGlvbkxpbmVUb0JlUGlja2VkQ29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5uZXdQbGFuT3JkZXJFdmVudC5zdWJzY3JpYmUoIG5ld1BsYW5PcmRlckV2ZW50ID0+IHtcclxuICAgICAgICB0aGlzLnBsYW5PcmRlckxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50UGxhbk9yZGVyLmxpbmVzLmZpbmQoIGxpbmUgPT4gbGluZS5vcmlnaW5hbExpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFubmVkUmVzb3VyY2VzRm9yVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpLnRoZW4oIChyZXN1bHQ6IFBsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSkge1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5wbGFuT3JkZXJEYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDaGVja0JveFZhbHVlQ2hhbmdlZCh2YWx1ZTogYm9vbGVhbiwgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubHNwTW9kZSkge1xyXG4gICAgICBsZXQgcGFja2FnZVJlc3BvbnNlID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UGFja2FnZUluZm9ybWF0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIGxpbmUudXVpZCk7XHJcbiAgICAgIGlmKHBhY2thZ2VSZXNwb25zZT8ubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX2RpYWxvZy5zaG93RXJyb3IoXCJMU1BfQUxSRUFEWV9DUkVBVEVEX0ZPUl9USElTX0xJTkVcIiwgdHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZUxpbmVWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXI/LmxpbmVzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSA9IG5ldyBEYXRlKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyLmxpbmVzWzBdLmRlbGl2ZXJ5RGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlTGluZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgaWYoIXRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudFNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudFNlbGVjdGVkID0gdGhpcy5wbGFuT3JkZXJMaW5lLmFtb3VudFRvUGxhbjtcclxuICAgIH1cclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRyYWdTdGFydGVkKGV2OiBEcmFnRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jaGVja2VkQXZhaWxpYmlsaXR5KSB7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eUNoZWNrRXZlbnQuZW1pdCh0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50UGxhbk9yZGVyKTtcclxuICAgICAgdGhpcy5jaGVja2VkQXZhaWxpYmlsaXR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudFNlbGVjdGVkKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMucGxhbk9yZGVyTGluZT8uYW1vdW50VG9QbGFuKTtcclxuICAgIGlmKHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudFNlbGVjdGVkIDw9IDAgfHwgdGhpcy5wbGFuT3JkZXJMaW5lPy5hbW91bnRUb1BsYW4gPT09IDApIHtcclxuICAgICAgIGF3YWl0IHRoaXMuX2RpYWxvZy5zaG93RXJyb3IodGhpcy5fZGljdGlvbmFyeS5nZXQoJ09SREVSX0NBTl9OT1RfQkVfUExBTk5FRF9PTl9SRVNPVVJDRScpLCB0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUcmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAgIGV2LmRhdGFUcmFuc2Zlcj8uc2V0RGF0YSgndGV4dCcsICdsaW5lcycpO1xyXG4gICAgfVxyXG4gICAgKGV2LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmFkZCgnZHJhZ2dpbmcnKTtcclxuICAgIGNvbnN0IGxpbmVFbGVtZW50ID0gKGV2LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnY28tdHJhbnNhY3Rpb24tYmFzZS1saW5lJyk7XHJcbiAgICBpZiAoIWxpbmVFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZHJhZ0JveCA9IGxpbmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jby10cmFuc2FjdGlvbi1saW5lLWltYWdlLWFuZC1kZXNjcmlwdGlvbicpPy5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgY29uc3QgZHJhZ0ltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5mbGV4RGlyZWN0aW9uID0gJ3Jvdyc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ3NwYWNlLWFyb3VuZCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUud2lkdGggPSAnMjUwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLm1pbkhlaWdodCA9ICc1MHB4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5wYWRkaW5nID0gJzEwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjZmZmZmZmJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5ib3JkZXIgPSAnMXB4IHNvbGlkICNjY2MnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJveFNoYWRvdyA9ICcwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNXB4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcclxuXHJcbiAgICBpZiAoZHJhZ0JveCkge1xyXG4gICAgICBkcmFnQm94LnN0eWxlLmZsZXggPSAnMSc7XHJcbiAgICAgIGRyYWdJbWFnZS5hcHBlbmRDaGlsZChkcmFnQm94KTtcclxuICAgIH1cclxuXHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRyYWdJbWFnZSk7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLnRvcCA9ICctMTAwMHB4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5sZWZ0ID0gJy0xMDAwcHgnO1xyXG5cclxuICAgIC8vIFNldCB0aGUgY3VzdG9tIGRyYWcgaW1hZ2VcclxuICAgIGV2LmRhdGFUcmFuc2Zlcj8uc2V0RHJhZ0ltYWdlKGRyYWdJbWFnZSwgNTAsIDI1KTtcclxuXHJcbiAgICAvLyBDbGVhbnVwOiBSZW1vdmUgdGhlIGRyYWcgaW1hZ2UgYWZ0ZXIgaXQncyBzZXRcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkcmFnSW1hZ2UpLCAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBkcmFnRW5kZWQoZXY6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5jaGVja2VkQXZhaWxpYmlsaXR5KSB7XHJcbiAgICAgIHRoaXMuY2hlY2tlZEF2YWlsaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5hdmFpbGFiaWxpdHlSZXNldEV2ZW50LmVtaXQoKTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAoZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnZ2luZycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBsaW5lUGxhbm5lZCgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAhdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXI/LmxpbmVzPy5maW5kKGxpbmUgPT4gbGluZS5vcmlnaW5hbExpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbGluZUZ1bGx5UGxhbm5lZCgpOiBib29sZWFuIHtcclxuICAgIGlmKHRoaXMucGxhbk9yZGVyTGluZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5wbGFuT3JkZXJMaW5lLmFtb3VudFRvUGxhbiA9PT0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVRdWFudGl0eVRvUGxhbkNoYW5nZShhbW91bnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgPSBhbW91bnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUGxhbm5lZFJlc291cmNlQ2xpY2tlZChwbGFubmVkUmVzb3VyY2U6IFBsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICBsZXQgcGxhbm5pbmdzOiBQbGFubmluZ1tdID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuZ2V0UGxhbm5pbmdTb3VyY2VzKCk7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRTdGFydERhdGUgPSBwbGFubmVkUmVzb3VyY2UucGxhbm5pbmdTdGFydFRpbWU7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZyA9IHBsYW5uaW5ncy5maW5kKCBwbGFubmluZyA9PiBwbGFubmluZy5wbGFubmluZ0lkID09PSBwbGFubmVkUmVzb3VyY2UucGxhbm5pbmdJZCk7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5uZXh0KHRoaXMudHJhbnNhY3Rpb25MaW5lKTtcclxuICAgICAgdGhpcy5oYXNPcGVuZWRTaWRlUGFuZWwgPSB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -68,7 +68,6 @@ export class TransactionSearchResultComponent {
|
|
|
68
68
|
this.markSelectedTransactions();
|
|
69
69
|
}
|
|
70
70
|
}), this.transactionEventService.selectedTransportDay.subscribe((transportDay) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
console.log(this.searchService.transactions.length);
|
|
72
71
|
const filteredTransactions = yield Promise.all(this.searchService.transactions.map((order) => __awaiter(this, void 0, void 0, function* () {
|
|
73
72
|
const planOrder = yield this.transactionService.getPlanOrder(order.transId);
|
|
74
73
|
const isAvailable = (yield this._deliveryPlanningService.deliveryMethodAvailabilityCheck(planOrder, transportDay)) &&
|
|
@@ -77,7 +76,6 @@ export class TransactionSearchResultComponent {
|
|
|
77
76
|
return isAvailable ? order : null;
|
|
78
77
|
})));
|
|
79
78
|
this.searchService.transactions = filteredTransactions.filter((order) => order !== null);
|
|
80
|
-
console.log(this.searchService.transactions.length);
|
|
81
79
|
})), this.transactionEventService.resetTransportDayFilteredOrders.subscribe((event) => __awaiter(this, void 0, void 0, function* () {
|
|
82
80
|
yield this.searchService.searchTransactions();
|
|
83
81
|
})));
|
|
@@ -367,4 +365,4 @@ TransactionSearchResultComponent.propDecorators = {
|
|
|
367
365
|
transactionClick: [{ type: Output }],
|
|
368
366
|
showClass: [{ type: HostBinding, args: ['class.co-transaction-search-result',] }]
|
|
369
367
|
};
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC90cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVySyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBR2hILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUMxRixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUV0SCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFrSG5GLE1BQU0sT0FBTyxnQ0FBZ0M7SUEyRDNDLFlBQ1MsYUFBdUMsRUFDdkMsbUJB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RUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt5QkFDOUMsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7eUJBQy9DLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFDO2lCQUM3RjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0hPLHdCQUF3QjtZQUN4QixxQ0FBcUM7WUFJckMsa0JBQWtCO1lBT2xCLHVCQUF1QjtZQWhCdkIsaUJBQWlCO1lBUWpCLHVCQUF1Qjs7O29DQTJINUIsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLEtBQUs7d0NBR0wsS0FBSztvQ0FHTCxLQUFLO3lCQVNMLEtBQUs7K0JBU0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXcuYm8nO1xyXG5pbXBvcnQge0Jhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCBDb250ZW50Vmlld01vZGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXctcmVxdWVzdCc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gJy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9iYXRjaC10cmFuc2FjdGlvbi1zZW5kaW5nLXJlcXVlc3QnO1xyXG5pbXBvcnQge0JhdGNoSm9iUHJvZ3Jlc3N9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9iYXRjaC1qb2ItcHJvZ3Jlc3MuYm8nO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNjcmVlbkNvbmZpZ0xvYWRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnM/Lmxlbmd0aCA+IDAgJiYgc2FsZXNPcmRlcnNQYWdlQWN0aXZlICYmIHNob3dCYXRjaE9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY2hlY2tJZkFsbFNlbGVjdGVkKCkgPyAnREVTRUxFQ1RfQUxMJyA6ICdTRUxFQ1RfQUxMX09SREVSUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwib25Ub2dnbGVBbGxPcmRlcnMoY2hlY2tJZkFsbFNlbGVjdGVkKCkpXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hlY2tJZlNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZW5kTWV0aG9kRGlhbG9nSWNvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93UHJvY2Vzc09yZGVyc0xvYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cInNob3dBZGRpdGlvbmFsT3B0aW9ucygpXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1xdWljay1zZW5kLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0LWNvbnRlbnQtdGlsZXMtd3JhcHBlclwiIFtuZ0NsYXNzXT1cImZ1bGxzY3JlZW4gPyAnZnVsbHNjcmVlbicgOiAnc2lkZWJhcidcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNvbnRlbnRWaWV3TW9kZSA9PT0gY29udGVudFZpZXdNb2Rlcy5UaWxlcyAmJiAhZXh0ZW5kZWRUcmFuc2FjdGlvblNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi10aWxlXCIgKm5nRm9yPVwibGV0IHRyYW5zYWN0aW9uIG9mIHNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1zZWFyY2gtdGlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiZHJhZ2dhYmxlVHJhbnNhY3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydGVkKCRldmVudCwgdHJhbnNhY3Rpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJhZ2VuZCk9XCJkcmFnRW5kKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJzYWxlc09yZGVyc1BhZ2VBY3RpdmUgJiYgc2hvd0JhdGNoT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInRyYW5zYWN0aW9uLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwidHJhbnNhY3Rpb24gPT09IHNlbGVjdGVkVHJhbnNhY3Rpb24gPyAnc2VsZWN0ZWQnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2FjdGlvbkNsaWNrKT1cIm9uVHJhbnNhY3Rpb25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDbGljayk9XCJvblNlbGVjdGVkQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLXNlYXJjaC10aWxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHQtY29udGVudC1ncmlkLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNvbnRlbnRWaWV3TW9kZSA9PT0gY29udGVudFZpZXdNb2Rlcy5HcmlkICYmICFleHRlbmRlZFRyYW5zYWN0aW9uU2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXNlYXJjaC1ncmlkXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNhbGVzT3JkZXJzUGFnZUFjdGl2ZSAmJiBzaG93QmF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2FjdGlvbkNsaWNrKT1cIm9uVHJhbnNhY3Rpb25DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1leHRlbmRlZC1zZWFyY2gtcmVzdWx0LXRpbGUtd3JhcHBlclwiICpuZ0lmPVwiZXh0ZW5kZWRUcmFuc2FjdGlvblNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi10aWxlXCIgKm5nRm9yPVwibGV0IHRyYW5zYWN0aW9uIG9mIHNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtbGluZS1zZWxlY3QtdGlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwib25UcmFuc2FjdGlvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENsaWNrKT1cIm9uU2VsZWN0ZWRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kZWRUcmFuc2FjdGlvblNlYXJjaF09XCJleHRlbmRlZFRyYW5zYWN0aW9uU2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLWxpbmUtc2VsZWN0LXRpbGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8Y28tcGFnaW5hdGlvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucz8ubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJzZWFyY2hTZXJ2aWNlLmN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJzZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9uc1BlclBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICBbdG90YWxJdGVtc109XCJzZWFyY2hTZXJ2aWNlLnJlc3VsdENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgW3ByZXZpb3VzTGFiZWxdPVwiJ1BSRVZJT1VTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgW25leHRMYWJlbF09XCInTkVYVCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvSGlkZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2RpcmVjdGlvbkxpbmtzXT1cImZ1bGxzY3JlZW5cIlxyXG4gICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblJhbmdlXT1cIiFmdWxsc2NyZWVuID8gNiA6IDhcIlxyXG4gICAgICAgICAgICAgICAgICAocHJldmlvdXNDbGljayk9XCJvblByZXZpb3VzQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgIChuZXh0Q2xpY2spPVwib25OZXh0Q2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgIChwYWdlQ2xpY2spPVwib25QYWdlQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9jby1wYWdpbmF0aW9uLWJhcj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGUtd3JhcHBlclwiICpuZ0lmPVwic2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnMgJiYgc2VhcmNoU2VydmljZS5yZXN1bHRDb3VudCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInMF9SRVNVTFRTX0ZPVU5EJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPGNvLXNoaXBwaW5nLW1ldGhvZC1kaWFsb2dcclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dTaGlwcGluZ01ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgW2NhdGVnb3J5XT1cImJhdGNoQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRyYW5zYWN0aW9uc109XCJzZWxlY3RlZFRyYW5zYWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgKGNhbmNlbENsaWNrZWQpPVwic2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChzYXZlQ2xpY2tlZCk9XCJzaGlwcGluZ0RpYWxvZ1NhdmVDbGlja2VkKCRldmVudClcIj5cclxuICAgICAgPC9jby1zaGlwcGluZy1tZXRob2QtZGlhbG9nPlxyXG5cclxuICAgICAgPGNvLWJhdGNoLXByb2Nlc3MtZGlhbG9nXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QmF0Y2hQcm9jZXNzRGlhbG9nXCJcclxuICAgICAgICAgICAgICBAZmFkZUluT3V0XHJcbiAgICAgICAgICAgICAgW2JhdGNoSm9iUHJvZ3Jlc3NdPVwiYmF0Y2hKb2JQcm9ncmVzc1wiXHJcbiAgICAgICAgICAgICAgKGNsb3NlKT1cInNob3dCYXRjaFByb2Nlc3NEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICA8L2NvLWJhdGNoLXByb2Nlc3MtZGlhbG9nPlxyXG5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWRhdGUtcGljay1kaWFsb2dcclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dEYXRlUGlja0RpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgKGNhbmNlbENsaWNrZWQpPVwic2hvd0RhdGVQaWNrRGlhbG9nID0gZmFsc2VcIj5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1kYXRlLXBpY2stZGlhbG9nPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgc3R5bGUoe29wYWNpdHk6IDB9KSxcclxuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlLWluJywgc3R5bGUoe29wYWNpdHk6IDF9KSlcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlLW91dCcsIHN0eWxlKHtvcGFjaXR5OiAwfSkpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogQmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIHVzZUV4aXN0aW5nOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25TZWFyY2hSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkcmFnZ2FibGVUcmFuc2FjdGlvbnM6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDaGVja2JveDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBiYXRjaENhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4dGVuZGVkVHJhbnNhY3Rpb25TZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFjdGl2ZUNvbnRlbnRWaWV3TW9kZSh2YWx1ZTogQ29udGVudFZpZXdNb2RlKSB7XHJcbiAgICB0aGlzLl9hY3RpdmVDb250ZW50Vmlld01vZGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlQ29udGVudFZpZXdNb2RlKCk6IENvbnRlbnRWaWV3TW9kZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlQ29udGVudFZpZXdNb2RlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGZ1bGxzY3JlZW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvblNlYXJjaFZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvblNlYXJjaFZpZXc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudFZpZXdNb2RlczogdHlwZW9mIENvbnRlbnRWaWV3TW9kZSA9IENvbnRlbnRWaWV3TW9kZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VhcmNoVmlldztcclxuICBwdWJsaWMgc2NyZWVuQ29uZmlnTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNhbGVzT3JkZXJzUGFnZUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJvY2Vzc09yZGVyc0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QmF0Y2hPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaGlwcGluZ01ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RGF0ZVBpY2tEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0JhdGNoUHJvY2Vzc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjaGVja2VkQXZhaWxhYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvblNlYXJjaFZpZXdbXSA9IFtdO1xyXG4gIHB1YmxpYyBiYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3Q6IEJhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdCA9IG5ldyBCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QoKTtcclxuICBwdWJsaWMgYmF0Y2hKb2JQcm9ncmVzczogQmF0Y2hKb2JQcm9ncmVzc1tdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2FjdGl2ZUNvbnRlbnRWaWV3TW9kZTogQ29udGVudFZpZXdNb2RlO1xyXG4gIHByaXZhdGUgX2Z1bGxzY3JlZW46IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0U2V0LnN1YnNjcmliZSgocmVxdWVzdDogVHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXF1ZXN0KSB7XHJcbiAgICAgICAgICB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UubG9hZENvbmZpZyhbcmVxdWVzdC50cmFuc2FjdGlvbktpbmRdKTtcclxuICAgICAgICAgIHRoaXMuc2FsZXNPcmRlcnNQYWdlQWN0aXZlID0gcmVxdWVzdC50cmFuc2FjdGlvbktpbmQgPT09ICdWJztcclxuICAgICAgICAgIGlmICh0aGlzLnNhbGVzT3JkZXJzUGFnZUFjdGl2ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS50cmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG5cclxuICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmNvbmZpZ1NldC5zdWJzY3JpYmUoKGNvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbltdKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zY3JlZW5Db25maWdMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZXN1bHRzVXBkYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNhbGVzT3JkZXJzUGFnZUFjdGl2ZSAmJiB0aGlzLnNob3dCYXRjaE9wdGlvbnMpIHtcclxuICAgICAgICAgIHRoaXMubWFya1NlbGVjdGVkVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RlZFRyYW5zcG9ydERheS5zdWJzY3JpYmUoIGFzeW5jICh0cmFuc3BvcnREYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnMubGVuZ3RoKTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJlZFRyYW5zYWN0aW9ucyA9IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucy5tYXAoYXN5bmMgKG9yZGVyOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGxhbk9yZGVyID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UGxhbk9yZGVyKG9yZGVyLnRyYW5zSWQpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgaXNBdmFpbGFibGU6IGJvb2xlYW4gPVxyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRlbGl2ZXJ5TWV0aG9kQXZhaWxhYmlsaXR5Q2hlY2socGxhbk9yZGVyLCB0cmFuc3BvcnREYXkpICYmXHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGlzdHJpY3RBdmFpbGFiaWxpdHlDaGVjayhwbGFuT3JkZXIsIHRyYW5zcG9ydERheSkgJiZcclxuICAgICAgICAgICAgICB0cmFuc3BvcnREYXkuYXZhaWxhYmxlT25EYXRlO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGlzQXZhaWxhYmxlID8gb3JkZXIgOiBudWxsO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zID0gZmlsdGVyZWRUcmFuc2FjdGlvbnMuZmlsdGVyKChvcmRlcik6IG9yZGVyIGlzIFRyYW5zYWN0aW9uU2VhcmNoVmlldyA9PiBvcmRlciAhPT0gbnVsbCk7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnMubGVuZ3RoKTtcclxuICAgIH0pLFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnJlc2V0VHJhbnNwb3J0RGF5RmlsdGVyZWRPcmRlcnMuc3Vic2NyaWJlKCBhc3luYyBldmVudCA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KVxyXG4gICAgICBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2JhdGNoQ2F0ZWdvcnknXSkge1xyXG4gICAgICB0aGlzLmJhdGNoQ2F0ZWdvcnkgPSBjaGFuZ2VzWydiYXRjaENhdGVnb3J5J10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLl9zaG93QmF0Y2hPcHRpb25zKHRoaXMuYmF0Y2hDYXRlZ29yeSk7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydiYXRjaENhdGVnb3J5J10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snYmF0Y2hDYXRlZ29yeSddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0ZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRyYW5zYWN0aW9uQ2xpY2sodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VhcmNoVmlldyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uQ2xpY2suZW1pdCh0cmFuc2FjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZENsaWNrKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvbi5zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgdHJhbnNJZCA9IHRyYW5zYWN0aW9uLnRyYW5zSWQ7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kSW5kZXgodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24udHJhbnNJZCA9PT0gdHJhbnNJZCk7XHJcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVHJhbnNhY3Rpb25zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblByZXZpb3VzQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UuY3VycmVudFBhZ2UgLT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5leHRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5jdXJyZW50UGFnZSArPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUGFnZUNsaWNrKHBhZ2VOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UuY3VycmVudFBhZ2UgPSBwYWdlTnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFya1NlbGVjdGVkVHJhbnNhY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU2VydmljZS5yZXN1bHRzVXBkYXRlZCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmZvckVhY2godHJhbnNhY3Rpb24gPT4ge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nT2JqZWN0ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kKHNlbGVjdGVkVHJhbnNhY3Rpb24gPT4gc2VsZWN0ZWRUcmFuc2FjdGlvbi50cmFuc0lkID09PSB0cmFuc2FjdGlvbi50cmFuc0lkKTtcclxuICAgICAgICBpZiAobWF0Y2hpbmdPYmplY3QpIHtcclxuICAgICAgICAgIHRyYW5zYWN0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRyYWdTdGFydGVkKGV2OiBhbnksIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRyYWdnaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUcmFuc0lkID0gdHJhbnNhY3Rpb24udHJhbnNJZDtcclxuICAgIGV2LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0JywgdHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tlZEF2YWlsYWJpbGl0eSkge1xyXG4gICAgICBsZXQgcGxhbk9yZGVyOiBQbGFuT3JkZXIgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFuT3JkZXIodHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eUNoZWNrRXZlbnQuZW1pdChwbGFuT3JkZXIpO1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGFiaWxpdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdFbmQoZXY6IGFueSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUcmFuc0lkID0gdW5kZWZpbmVkO1xyXG4gICAgaWYgKHRoaXMuY2hlY2tlZEF2YWlsYWJpbGl0eSkge1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGFiaWxpdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuYXZhaWxhYmlsaXR5UmVzZXRFdmVudC5lbWl0KCk7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tJZlNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc29tZShpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSWZBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FkZGl0aW9uYWxPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHM6IG51bWJlcltdID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5tYXAodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ2FsbG9jYXRlJyB8fCB0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICd0b2V3aWp6ZW4nKSB7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydFRvQWxsb2NhdGVVbkFsbG9jYXRlZExpbmVzQmF0Y2goc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHMpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ3RvIGJlIHBpY2tlZCcpIHtcclxuICAgICAgdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXJ0R29vZHNUb0JlUGlja2VkQmF0Y2goc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHMpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ3BpY2tlZCcpIHtcclxuICAgICAgdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXJ0R29vZHNQaWNrZWRCYXRjaChzZWxlY3RlZFRyYW5zYWN0aW9uc0lkcylcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9zaG93QmF0Y2hQcm9jZXNzZXNTdGF0dXMoKSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4gdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRvZ2dsZUFsbE9yZGVycyhhbGxTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpdGVtLnNlbGVjdGVkID0gIWFsbFNlbGVjdGVkO1xyXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbkV4aXN0czogYm9vbGVhbiA9IHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc29tZSh0cmFucyA9PiB0cmFucy50cmFuc0lkID09PSBpdGVtLnRyYW5zSWQpO1xyXG4gICAgICBpZiAoIWFsbFNlbGVjdGVkICYmICF0cmFuc2FjdGlvbkV4aXN0cykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYWxsU2VsZWN0ZWQpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbkluZGV4ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kSW5kZXgodHJhbnMgPT4gdHJhbnMudHJhbnNJZCA9PT0gaXRlbS50cmFuc0lkKTtcclxuICAgICAgICBpZiAodHJhbnNhY3Rpb25JbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc3BsaWNlKHRyYW5zYWN0aW9uSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hpcHBpbmdEaWFsb2dTYXZlQ2xpY2tlZChyZXF1ZXN0OiBCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuYmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0ID0gcmVxdWVzdDtcclxuICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dQcm9jZXNzT3JkZXJzTG9hZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5iYXRjaENhdGVnb3J5ID09PSAnb3ZlcnZpZXcnIHx8IHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ292ZXJ6aWNodCcpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uuc3RhcnRPcmRlckNvbmZpcm1hdGlvbkJhdGNoKHRoaXMuYmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0KVxyXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMuX3Nob3dCYXRjaFByb2Nlc3Nlc1N0YXR1cygpKVxyXG4gICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLnNob3dQcm9jZXNzT3JkZXJzTG9hZGVyID0gZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICdwdXJjaGFzZScgfHwgdGhpcy5iYXRjaENhdGVnb3J5ID09PSAnaW5rb29wJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydFB1cmNoYXNlT3JkZXJGb3JtQmF0Y2godGhpcy5iYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ2RlbGl2ZXJ5IG9yZGVyJyB8fCB0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICdhZmxldmVyYm9uJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydERlbGl2ZXJ5Tm90ZXNCYXRjaCh0aGlzLmJhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdClcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9zaG93QmF0Y2hQcm9jZXNzZXNTdGF0dXMoKSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4gdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5iYXRjaENhdGVnb3J5ID09PSAnaW52b2ljZScgfHwgdGhpcy5iYXRjaENhdGVnb3J5ID09PSAnZmFjdHV1cicpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uuc3RhcnRJbnZvaWNlQmF0Y2godGhpcy5iYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93QmF0Y2hPcHRpb25zKGNhdGVnb3J5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0JhdGNoT3B0aW9ucyA9IFsnb3ZlcnZpZXcnLCAncHVyY2hhc2UnLCAnYWxsb2NhdGUnLCAndG8gYmUgcGlja2VkJywgJ3BpY2tlZCcsICdkZWxpdmVyeSBvcmRlcicsICdpbnZvaWNlJywgJ292ZXJ6aWNodCcsICdpbmtvb3AnLCAndG9ld2lqemVuJywgJ2FmbGV2ZXJib24nLCAnZmFjdHV1ciddLmluY2x1ZGVzKGNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dCYXRjaFByb2Nlc3Nlc1N0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEJhdGNoSm9iUHJvZ3Jlc3Nlc0ZvclRoZVVzZXIoKS50aGVuKChiYXRjaEpvYlByb2dyZXNzZXM6IEJhdGNoSm9iUHJvZ3Jlc3NbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJhdGNoSm9iUHJvZ3Jlc3MgPSBiYXRjaEpvYlByb2dyZXNzZXM7XHJcbiAgICAgIHRoaXMuc2hvd0JhdGNoUHJvY2Vzc0RpYWxvZyA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFyU2VsZWN0ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC90cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVySyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBR2hILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUMxRixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUV0SCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFrSG5GLE1BQU0sT0FBTyxnQ0FBZ0M7SUEyRDNDLFlBQ1MsYUFBdUMsRUFDdkMsbUJB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Q0FBQzt5QkFDL0MsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxXQUFXLEVBQUUscUNBQXFDLEVBQUM7aUJBQzdGO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE3SE8sd0JBQXdCO1lBQ3hCLHFDQUFxQztZQUlyQyxrQkFBa0I7WUFPbEIsdUJBQXVCO1lBaEJ2QixpQkFBaUI7WUFRakIsdUJBQXVCOzs7b0NBMkg1QixLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSzt3Q0FHTCxLQUFLO29DQUdMLEtBQUs7eUJBU0wsS0FBSzsrQkFTTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFZpZXd9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy5ibyc7XHJcbmltcG9ydCB7QmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIENvbnRlbnRWaWV3TW9kZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0JztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSAnLi4vLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0JhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2JhdGNoLXRyYW5zYWN0aW9uLXNlbmRpbmctcmVxdWVzdCc7XHJcbmltcG9ydCB7QmF0Y2hKb2JQcm9ncmVzc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2JhdGNoLWpvYi1wcm9ncmVzcy5ibyc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ3VyYXRpb259IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2NyZWVuQ29uZmlnTG9hZGVkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucz8ubGVuZ3RoID4gMCAmJiBzYWxlc09yZGVyc1BhZ2VBY3RpdmUgJiYgc2hvd0JhdGNoT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImNoZWNrSWZBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjaGVja0lmQWxsU2VsZWN0ZWQoKSA/ICdERVNFTEVDVF9BTEwnIDogJ1NFTEVDVF9BTExfT1JERVJTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvblRvZ2dsZUFsbE9yZGVycyhjaGVja0lmQWxsU2VsZWN0ZWQoKSlcIj5cclxuICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxjby1xdWljay1zZW5kLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGVja0lmU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NlbmRNZXRob2REaWFsb2dJY29uXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dQcm9jZXNzT3JkZXJzTG9hZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChzZW5kSWNvbkNsaWNrZWQpPVwic2hvd0FkZGl0aW9uYWxPcHRpb25zKClcIj5cclxuICAgICAgICAgICAgICA8L2NvLXF1aWNrLXNlbmQtYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHQtY29udGVudC10aWxlcy13cmFwcGVyXCIgW25nQ2xhc3NdPVwiZnVsbHNjcmVlbiA/ICdmdWxsc2NyZWVuJyA6ICdzaWRlYmFyJ1wiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQ29udGVudFZpZXdNb2RlID09PSBjb250ZW50Vmlld01vZGVzLlRpbGVzICYmICFleHRlbmRlZFRyYW5zYWN0aW9uU2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRpbGVcIiAqbmdGb3I9XCJsZXQgdHJhbnNhY3Rpb24gb2Ygc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXNlYXJjaC10aWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYWdnYWJsZV09XCJkcmFnZ2FibGVUcmFuc2FjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0ZWQoJGV2ZW50LCB0cmFuc2FjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChkcmFnZW5kKT1cImRyYWdFbmQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNhbGVzT3JkZXJzUGFnZUFjdGl2ZSAmJiBzaG93QmF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwidHJhbnNhY3Rpb24uc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ0cmFuc2FjdGlvbiA9PT0gc2VsZWN0ZWRUcmFuc2FjdGlvbiA/ICdzZWxlY3RlZCcgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwib25UcmFuc2FjdGlvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENsaWNrKT1cIm9uU2VsZWN0ZWRDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC1jb250ZW50LWdyaWQtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQ29udGVudFZpZXdNb2RlID09PSBjb250ZW50Vmlld01vZGVzLkdyaWQgJiYgIWV4dGVuZGVkVHJhbnNhY3Rpb25TZWFyY2hcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWRcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwic2FsZXNPcmRlcnNQYWdlQWN0aXZlICYmIHNob3dCYXRjaE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwib25UcmFuc2FjdGlvbkNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLXNlYXJjaC1ncmlkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWV4dGVuZGVkLXNlYXJjaC1yZXN1bHQtdGlsZS13cmFwcGVyXCIgKm5nSWY9XCJleHRlbmRlZFRyYW5zYWN0aW9uU2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRpbGVcIiAqbmdGb3I9XCJsZXQgdHJhbnNhY3Rpb24gb2Ygc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1saW5lLXNlbGVjdC10aWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNhY3Rpb25DbGljayk9XCJvblRyYW5zYWN0aW9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2xpY2spPVwib25TZWxlY3RlZENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbmRlZFRyYW5zYWN0aW9uU2VhcmNoXT1cImV4dGVuZGVkVHJhbnNhY3Rpb25TZWFyY2hcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtbGluZS1zZWxlY3QtdGlsZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxjby1wYWdpbmF0aW9uLWJhclxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zPy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cInNlYXJjaFNlcnZpY2UuY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cInNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zUGVyUGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInNlYXJjaFNlcnZpY2UucmVzdWx0Q291bnRcIlxyXG4gICAgICAgICAgICAgICAgICBbcHJldmlvdXNMYWJlbF09XCInUFJFVklPVVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmV4dExhYmVsXT1cIidORVhUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9IaWRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlyZWN0aW9uTGlua3NdPVwiZnVsbHNjcmVlblwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uUmFuZ2VdPVwiIWZ1bGxzY3JlZW4gPyA2IDogOFwiXHJcbiAgICAgICAgICAgICAgICAgIChwcmV2aW91c0NsaWNrKT1cIm9uUHJldmlvdXNDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgKG5leHRDbGljayk9XCJvbk5leHRDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgKHBhZ2VDbGljayk9XCJvblBhZ2VDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLXBhZ2luYXRpb24tYmFyPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZS13cmFwcGVyXCIgKm5nSWY9XCJzZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucyAmJiBzZWFyY2hTZXJ2aWNlLnJlc3VsdENvdW50ID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIicwX1JFU1VMVFNfRk9VTkQnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8Y28tc2hpcHBpbmctbWV0aG9kLWRpYWxvZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nXCJcclxuICAgICAgICAgICAgICBbY2F0ZWdvcnldPVwiYmF0Y2hDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkVHJhbnNhY3Rpb25zXT1cInNlbGVjdGVkVHJhbnNhY3Rpb25zXCJcclxuICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2tlZCk9XCJzaG93U2hpcHBpbmdNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKHNhdmVDbGlja2VkKT1cInNoaXBwaW5nRGlhbG9nU2F2ZUNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLXNoaXBwaW5nLW1ldGhvZC1kaWFsb2c+XHJcblxyXG4gICAgICA8Y28tYmF0Y2gtcHJvY2Vzcy1kaWFsb2dcclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dCYXRjaFByb2Nlc3NEaWFsb2dcIlxyXG4gICAgICAgICAgICAgIEBmYWRlSW5PdXRcclxuICAgICAgICAgICAgICBbYmF0Y2hKb2JQcm9ncmVzc109XCJiYXRjaEpvYlByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAoY2xvc2UpPVwic2hvd0JhdGNoUHJvY2Vzc0RpYWxvZyA9IGZhbHNlXCI+XHJcbiAgICAgIDwvY28tYmF0Y2gtcHJvY2Vzcy1kaWFsb2c+XHJcblxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tZGF0ZS1waWNrLWRpYWxvZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd0RhdGVQaWNrRGlhbG9nXCJcclxuICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2tlZCk9XCJzaG93RGF0ZVBpY2tEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICA8L2NvLXRyYW5zYWN0aW9uLWRhdGUtcGljay1kaWFsb2c+XHJcbiAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nLCBzdHlsZSh7b3BhY2l0eTogMX0pKVxyXG4gICAgICBdKSxcclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2Utb3V0Jywgc3R5bGUoe29wYWNpdHk6IDB9KSlcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSwgdXNlRXhpc3Rpbmc6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlYXJjaFJlc3VsdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRyYWdnYWJsZVRyYW5zYWN0aW9uczogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NoZWNrYm94OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJhdGNoQ2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXh0ZW5kZWRUcmFuc2FjdGlvblNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYWN0aXZlQ29udGVudFZpZXdNb2RlKHZhbHVlOiBDb250ZW50Vmlld01vZGUpIHtcclxuICAgIHRoaXMuX2FjdGl2ZUNvbnRlbnRWaWV3TW9kZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmVDb250ZW50Vmlld01vZGUoKTogQ29udGVudFZpZXdNb2RlIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3RpdmVDb250ZW50Vmlld01vZGU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZnVsbHNjcmVlbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZnVsbHNjcmVlbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmdWxsc2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW47XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uU2VhcmNoVmlldz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uU2VhcmNoVmlldz4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbjogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50Vmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25TZWFyY2hWaWV3O1xyXG4gIHB1YmxpYyBzY3JlZW5Db25maWdMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2FsZXNPcmRlcnNQYWdlQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcm9jZXNzT3JkZXJzTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dCYXRjaE9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dEYXRlUGlja0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QmF0Y2hQcm9jZXNzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNoZWNrZWRBdmFpbGFiaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0ZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uU2VhcmNoVmlld1tdID0gW107XHJcbiAgcHVibGljIGJhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdDogQmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0ID0gbmV3IEJhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyBiYXRjaEpvYlByb2dyZXNzOiBCYXRjaEpvYlByb2dyZXNzW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZlQ29udGVudFZpZXdNb2RlOiBDb250ZW50Vmlld01vZGU7XHJcbiAgcHJpdmF0ZSBfZnVsbHNjcmVlbjogYm9vbGVhbjtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3RTZXQuc3Vic2NyaWJlKChyZXF1ZXN0OiBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcXVlc3QpIHtcclxuICAgICAgICAgIHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5sb2FkQ29uZmlnKFtyZXF1ZXN0LnRyYW5zYWN0aW9uS2luZF0pO1xyXG4gICAgICAgICAgdGhpcy5zYWxlc09yZGVyc1BhZ2VBY3RpdmUgPSByZXF1ZXN0LnRyYW5zYWN0aW9uS2luZCA9PT0gJ1YnO1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2FsZXNPcmRlcnNQYWdlQWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcblxyXG4gICAgICB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uW10pID0+IHtcclxuICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNjcmVlbkNvbmZpZ0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnJlc3VsdHNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2FsZXNPcmRlcnNQYWdlQWN0aXZlICYmIHRoaXMuc2hvd0JhdGNoT3B0aW9ucykge1xyXG4gICAgICAgICAgdGhpcy5tYXJrU2VsZWN0ZWRUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdGVkVHJhbnNwb3J0RGF5LnN1YnNjcmliZSggYXN5bmMgKHRyYW5zcG9ydERheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRUcmFuc2FjdGlvbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnMubWFwKGFzeW5jIChvcmRlcjogVHJhbnNhY3Rpb25TZWFyY2hWaWV3KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBsYW5PcmRlciA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFBsYW5PcmRlcihvcmRlci50cmFuc0lkKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlOiBib29sZWFuID1cclxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5kZWxpdmVyeU1ldGhvZEF2YWlsYWJpbGl0eUNoZWNrKHBsYW5PcmRlciwgdHJhbnNwb3J0RGF5KSAmJlxyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRpc3RyaWN0QXZhaWxhYmlsaXR5Q2hlY2socGxhbk9yZGVyLCB0cmFuc3BvcnREYXkpICYmXHJcbiAgICAgICAgICAgICAgdHJhbnNwb3J0RGF5LmF2YWlsYWJsZU9uRGF0ZTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBpc0F2YWlsYWJsZSA/IG9yZGVyIDogbnVsbDtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucyA9IGZpbHRlcmVkVHJhbnNhY3Rpb25zLmZpbHRlcigob3JkZXIpOiBvcmRlciBpcyBUcmFuc2FjdGlvblNlYXJjaFZpZXcgPT4gb3JkZXIgIT09IG51bGwpO1xyXG5cclxuICAgIH0pLFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnJlc2V0VHJhbnNwb3J0RGF5RmlsdGVyZWRPcmRlcnMuc3Vic2NyaWJlKCBhc3luYyBldmVudCA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KVxyXG5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2JhdGNoQ2F0ZWdvcnknXSkge1xyXG4gICAgICB0aGlzLmJhdGNoQ2F0ZWdvcnkgPSBjaGFuZ2VzWydiYXRjaENhdGVnb3J5J10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLl9zaG93QmF0Y2hPcHRpb25zKHRoaXMuYmF0Y2hDYXRlZ29yeSk7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydiYXRjaENhdGVnb3J5J10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snYmF0Y2hDYXRlZ29yeSddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0ZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRyYW5zYWN0aW9uQ2xpY2sodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VhcmNoVmlldyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uQ2xpY2suZW1pdCh0cmFuc2FjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZENsaWNrKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvbi5zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgdHJhbnNJZCA9IHRyYW5zYWN0aW9uLnRyYW5zSWQ7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kSW5kZXgodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24udHJhbnNJZCA9PT0gdHJhbnNJZCk7XHJcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVHJhbnNhY3Rpb25zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblByZXZpb3VzQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UuY3VycmVudFBhZ2UgLT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5leHRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5jdXJyZW50UGFnZSArPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUGFnZUNsaWNrKHBhZ2VOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UuY3VycmVudFBhZ2UgPSBwYWdlTnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFya1NlbGVjdGVkVHJhbnNhY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU2VydmljZS5yZXN1bHRzVXBkYXRlZCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmZvckVhY2godHJhbnNhY3Rpb24gPT4ge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nT2JqZWN0ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kKHNlbGVjdGVkVHJhbnNhY3Rpb24gPT4gc2VsZWN0ZWRUcmFuc2FjdGlvbi50cmFuc0lkID09PSB0cmFuc2FjdGlvbi50cmFuc0lkKTtcclxuICAgICAgICBpZiAobWF0Y2hpbmdPYmplY3QpIHtcclxuICAgICAgICAgIHRyYW5zYWN0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRyYWdTdGFydGVkKGV2OiBhbnksIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRyYWdnaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUcmFuc0lkID0gdHJhbnNhY3Rpb24udHJhbnNJZDtcclxuICAgIGV2LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0JywgdHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tlZEF2YWlsYWJpbGl0eSkge1xyXG4gICAgICBsZXQgcGxhbk9yZGVyOiBQbGFuT3JkZXIgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFuT3JkZXIodHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eUNoZWNrRXZlbnQuZW1pdChwbGFuT3JkZXIpO1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGFiaWxpdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdFbmQoZXY6IGFueSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUcmFuc0lkID0gdW5kZWZpbmVkO1xyXG4gICAgaWYgKHRoaXMuY2hlY2tlZEF2YWlsYWJpbGl0eSkge1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGFiaWxpdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuYXZhaWxhYmlsaXR5UmVzZXRFdmVudC5lbWl0KCk7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tJZlNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc29tZShpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSWZBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FkZGl0aW9uYWxPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHM6IG51bWJlcltdID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5tYXAodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24udHJhbnNJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ2FsbG9jYXRlJyB8fCB0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICd0b2V3aWp6ZW4nKSB7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydFRvQWxsb2NhdGVVbkFsbG9jYXRlZExpbmVzQmF0Y2goc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHMpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ3RvIGJlIHBpY2tlZCcpIHtcclxuICAgICAgdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXJ0R29vZHNUb0JlUGlja2VkQmF0Y2goc2VsZWN0ZWRUcmFuc2FjdGlvbnNJZHMpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ3BpY2tlZCcpIHtcclxuICAgICAgdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXJ0R29vZHNQaWNrZWRCYXRjaChzZWxlY3RlZFRyYW5zYWN0aW9uc0lkcylcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9zaG93QmF0Y2hQcm9jZXNzZXNTdGF0dXMoKSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4gdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRvZ2dsZUFsbE9yZGVycyhhbGxTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnRyYW5zYWN0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpdGVtLnNlbGVjdGVkID0gIWFsbFNlbGVjdGVkO1xyXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbkV4aXN0czogYm9vbGVhbiA9IHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc29tZSh0cmFucyA9PiB0cmFucy50cmFuc0lkID09PSBpdGVtLnRyYW5zSWQpO1xyXG4gICAgICBpZiAoIWFsbFNlbGVjdGVkICYmICF0cmFuc2FjdGlvbkV4aXN0cykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYWxsU2VsZWN0ZWQpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbkluZGV4ID0gdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5maW5kSW5kZXgodHJhbnMgPT4gdHJhbnMudHJhbnNJZCA9PT0gaXRlbS50cmFuc0lkKTtcclxuICAgICAgICBpZiAodHJhbnNhY3Rpb25JbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2FjdGlvbnMuc3BsaWNlKHRyYW5zYWN0aW9uSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hpcHBpbmdEaWFsb2dTYXZlQ2xpY2tlZChyZXF1ZXN0OiBCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuYmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0ID0gcmVxdWVzdDtcclxuICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dQcm9jZXNzT3JkZXJzTG9hZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5iYXRjaENhdGVnb3J5ID09PSAnb3ZlcnZpZXcnIHx8IHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ292ZXJ6aWNodCcpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uuc3RhcnRPcmRlckNvbmZpcm1hdGlvbkJhdGNoKHRoaXMuYmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0KVxyXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMuX3Nob3dCYXRjaFByb2Nlc3Nlc1N0YXR1cygpKVxyXG4gICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLnNob3dQcm9jZXNzT3JkZXJzTG9hZGVyID0gZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICdwdXJjaGFzZScgfHwgdGhpcy5iYXRjaENhdGVnb3J5ID09PSAnaW5rb29wJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydFB1cmNoYXNlT3JkZXJGb3JtQmF0Y2godGhpcy5iYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmF0Y2hDYXRlZ29yeSA9PT0gJ2RlbGl2ZXJ5IG9yZGVyJyB8fCB0aGlzLmJhdGNoQ2F0ZWdvcnkgPT09ICdhZmxldmVyYm9uJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5zdGFydERlbGl2ZXJ5Tm90ZXNCYXRjaCh0aGlzLmJhdGNoVHJhbnNhY3Rpb25TZW5kaW5nUmVxdWVzdClcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9zaG93QmF0Y2hQcm9jZXNzZXNTdGF0dXMoKSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4gdGhpcy5zaG93UHJvY2Vzc09yZGVyc0xvYWRlciA9IGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5iYXRjaENhdGVnb3J5ID09PSAnaW52b2ljZScgfHwgdGhpcy5iYXRjaENhdGVnb3J5ID09PSAnZmFjdHV1cicpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uuc3RhcnRJbnZvaWNlQmF0Y2godGhpcy5iYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fc2hvd0JhdGNoUHJvY2Vzc2VzU3RhdHVzKCkpXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93QmF0Y2hPcHRpb25zKGNhdGVnb3J5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0JhdGNoT3B0aW9ucyA9IFsnb3ZlcnZpZXcnLCAncHVyY2hhc2UnLCAnYWxsb2NhdGUnLCAndG8gYmUgcGlja2VkJywgJ3BpY2tlZCcsICdkZWxpdmVyeSBvcmRlcicsICdpbnZvaWNlJywgJ292ZXJ6aWNodCcsICdpbmtvb3AnLCAndG9ld2lqemVuJywgJ2FmbGV2ZXJib24nLCAnZmFjdHV1ciddLmluY2x1ZGVzKGNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dCYXRjaFByb2Nlc3Nlc1N0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2Nlc3NPcmRlcnNMb2FkZXIgPSBmYWxzZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEJhdGNoSm9iUHJvZ3Jlc3Nlc0ZvclRoZVVzZXIoKS50aGVuKChiYXRjaEpvYlByb2dyZXNzZXM6IEJhdGNoSm9iUHJvZ3Jlc3NbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJhdGNoSm9iUHJvZ3Jlc3MgPSBiYXRjaEpvYlByb2dyZXNzZXM7XHJcbiAgICAgIHRoaXMuc2hvd0JhdGNoUHJvY2Vzc0RpYWxvZyA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFyU2VsZWN0ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -3,8 +3,8 @@ export class Version {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.name = "@colijnit/transaction";
|
|
5
5
|
this.description = "Colijn IT transaction package";
|
|
6
|
-
this.symVer = "258.1.
|
|
7
|
-
this.publishDate = "
|
|
6
|
+
this.symVer = "258.1.8";
|
|
7
|
+
this.publishDate = "30-4-2025 17:18:56";
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvdHJhbnNhY3Rpb24tdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFDUyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDL0IsZ0JBQVcsR0FBRywrQkFBK0IsQ0FBQztRQUM5QyxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsb0JBQW9CLENBQUM7SUFDNUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBmaWxlIGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQsIGRvIG5vdCBjaGFuZ2UgdGhpc1xuZXhwb3J0IGNsYXNzIFZlcnNpb24ge1xuICBwdWJsaWMgbmFtZSA9IFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uXCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiQ29saWpuIElUIHRyYW5zYWN0aW9uIHBhY2thZ2VcIjtcbiAgcHVibGljIHN5bVZlciA9IFwiMjU4LjEuOFwiO1xuICBwdWJsaWMgcHVibGlzaERhdGUgPSBcIjMwLTQtMjAyNSAxNzoxODo1NlwiO1xufSJdfQ==
|