@colijnit/sharedcomponents 1.0.19 → 1.0.21
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-sharedcomponents.umd.js +567 -120
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +9 -7
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +10 -8
- package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +125 -31
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +1 -1
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +36 -30
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +1 -1
- package/esm2015/lib/components/stock/stock.component.js +18 -5
- package/esm2015/lib/components/stock/stock.module.js +3 -3
- package/esm2015/lib/enum/icon.enum.js +1 -1
- package/esm2015/lib/enum/language-code.enum.js +8 -0
- package/esm2015/lib/model/icon-svg.js +1 -1
- package/esm2015/lib/service/dictionary.service.js +76 -0
- package/esm2015/lib/service/options.service.js +71 -0
- package/esm2015/lib/service/shared-connector.service.js +279 -0
- package/esm2015/lib/service/shared.service.js +30 -0
- package/esm2015/lib/service/stock.service.js +44 -30
- package/esm2015/lib/utils/string-utils.js +64 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/colijnit-sharedcomponents.js +503 -115
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/assets/dictionary/text.properties.d.ts +3 -0
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +29 -9
- package/lib/components/send-method-dialog/style/_layout.scss +5 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +1 -1
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +6 -6
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +1 -1
- package/lib/components/stock/stock.component.d.ts +6 -2
- package/lib/components/stock/style/_layout.scss +6 -0
- package/lib/enum/language-code.enum.d.ts +6 -0
- package/lib/service/dictionary.service.d.ts +21 -0
- package/lib/service/options.service.d.ts +13 -0
- package/lib/service/{ione-connector-adapter.service.d.ts → shared-connector.service.d.ts} +13 -9
- package/lib/service/shared.service.d.ts +8 -0
- package/lib/service/stock.service.d.ts +14 -10
- package/lib/utils/string-utils.d.ts +22 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/3rdpartylicenses.txt +0 -1116
- package/esm2015/lib/service/ione-connector-adapter.service.js +0 -251
- package/favicon.ico +0 -0
- package/index.html +0 -12
- package/main.5240c1941fea0abc7a9c.js +0 -1
- package/polyfills.4a44032b137d291298c3.js +0 -1
- package/runtime.f2046bab7c02026dc21f.js +0 -1
- package/styles.b3b98643e0f0f94bdd12.css +0 -110
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class Dictionary {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.strings = {
|
|
4
|
+
"nl": {},
|
|
5
|
+
"de": {},
|
|
6
|
+
"fr": {},
|
|
7
|
+
"en": {},
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2Fzc2V0cy9kaWN0aW9uYXJ5L3RleHQucHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNTLFlBQU8sR0FBTztZQUNuQixJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7SUFDSixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRGljdGlvbmFyeSB7XHJcbiAgcHVibGljIHN0cmluZ3M6IHt9ID0ge1xyXG4gICAgXCJubFwiOiB7fSxcclxuICAgIFwiZGVcIjoge30sXHJcbiAgICBcImZyXCI6IHt9LFxyXG4gICAgXCJlblwiOiB7fSxcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,52 +1,88 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
3
|
import { Icon } from "../../enum/icon.enum";
|
|
4
4
|
import { IconCacheService } from "../../service/icon-cache.service";
|
|
5
5
|
import { SendOption } from "./enums/send-option";
|
|
6
6
|
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
7
7
|
import { StockService } from "../../service/stock.service";
|
|
8
|
-
import {
|
|
8
|
+
import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
|
|
9
|
+
import { OptionsService } from "../../service/options.service";
|
|
10
|
+
import { DictionaryService } from "../../service/dictionary.service";
|
|
9
11
|
export class SendMethodDialogComponent {
|
|
10
|
-
constructor(iconCacheService,
|
|
12
|
+
constructor(iconCacheService, stockService, _optionsService, _dictionary, _changeDetector) {
|
|
11
13
|
this.iconCacheService = iconCacheService;
|
|
12
|
-
this.
|
|
14
|
+
this.stockService = stockService;
|
|
15
|
+
this._optionsService = _optionsService;
|
|
16
|
+
this._dictionary = _dictionary;
|
|
17
|
+
this._changeDetector = _changeDetector;
|
|
13
18
|
this.icons = Icon;
|
|
14
19
|
this.sendOption = SendOption;
|
|
20
|
+
this.showEmailOption = true;
|
|
21
|
+
this.showPrintOption = true;
|
|
22
|
+
this.showPdfOption = true;
|
|
23
|
+
this.showXmlOption = true;
|
|
24
|
+
this.showPrintPriceStickers = false;
|
|
25
|
+
this.showPrintStockStickers = true;
|
|
15
26
|
this.sendOptions = [
|
|
16
27
|
{ option: SendOption.Email,
|
|
17
|
-
iconName: this.icons.Email
|
|
28
|
+
iconName: this.icons.Email,
|
|
29
|
+
},
|
|
18
30
|
{ option: SendOption.Print,
|
|
19
|
-
iconName: this.icons.Print
|
|
31
|
+
iconName: this.icons.Print,
|
|
32
|
+
},
|
|
20
33
|
{ option: SendOption.Pdf,
|
|
21
|
-
iconName: this.icons.Pdf
|
|
34
|
+
iconName: this.icons.Pdf,
|
|
35
|
+
},
|
|
22
36
|
{ option: SendOption.Xml,
|
|
23
|
-
iconName: this.icons.Xml
|
|
37
|
+
iconName: this.icons.Xml,
|
|
38
|
+
}
|
|
24
39
|
];
|
|
25
40
|
this.activeSendOption = SendOption.Email;
|
|
26
|
-
this.amountToPrint = 1;
|
|
27
41
|
this.showStandardPrinterOptions = false;
|
|
28
42
|
this.showPrinterSelections = false;
|
|
29
43
|
this.showExitButton = true;
|
|
30
|
-
this.printTemplatesField = { text: "name", value: "
|
|
44
|
+
this.printTemplatesField = { text: "name", value: "reportId" };
|
|
45
|
+
this.priceListDataField = { text: "name", value: "priceListCode" };
|
|
46
|
+
this.upAndLoaded = false;
|
|
31
47
|
this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
|
|
32
48
|
this.models = [false, false, true];
|
|
33
49
|
this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
|
|
34
50
|
this.showDialog = false;
|
|
35
51
|
this.startSignatureClicked = new EventEmitter();
|
|
36
52
|
this.printButtonClicked = new EventEmitter();
|
|
53
|
+
this._subscriptions = [];
|
|
54
|
+
this._publicOptions = true;
|
|
55
|
+
this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
|
|
37
56
|
}
|
|
38
57
|
set options(value) {
|
|
39
|
-
|
|
58
|
+
if (value) {
|
|
59
|
+
if (typeof value === "string") {
|
|
60
|
+
this._options = JSON.parse(value);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this._options = value;
|
|
64
|
+
}
|
|
65
|
+
this._publicOptions = true;
|
|
66
|
+
this._optionsService.initialize(this._options).then();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
get options() {
|
|
70
|
+
return this._options;
|
|
71
|
+
}
|
|
72
|
+
set articleData(data) {
|
|
73
|
+
this.stockService.printSticker.goodId = data.goodId;
|
|
74
|
+
this.stockService.printSticker.warehouse = data.warehouseNo;
|
|
40
75
|
}
|
|
76
|
+
;
|
|
41
77
|
showClass() {
|
|
42
78
|
return true;
|
|
43
79
|
}
|
|
44
|
-
|
|
45
|
-
this.
|
|
80
|
+
ngOnDestroy() {
|
|
81
|
+
this._subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
46
82
|
}
|
|
47
83
|
getPrinters() {
|
|
48
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return this.
|
|
85
|
+
return this.stockService.getAllPrinters(true).then((list) => {
|
|
50
86
|
this.printerList = list;
|
|
51
87
|
});
|
|
52
88
|
});
|
|
@@ -58,7 +94,10 @@ export class SendMethodDialogComponent {
|
|
|
58
94
|
this.startSignatureClicked.emit();
|
|
59
95
|
}
|
|
60
96
|
handlePrintClicked() {
|
|
61
|
-
this.printButtonClicked.emit();
|
|
97
|
+
// this.printButtonClicked.emit();
|
|
98
|
+
if (this.stockService.printSticker.printerName) {
|
|
99
|
+
this.stockService.getPrintStockStickers(this.stockService.printSticker);
|
|
100
|
+
}
|
|
62
101
|
}
|
|
63
102
|
togglePrinterSelection() {
|
|
64
103
|
this.getPrinters();
|
|
@@ -73,12 +112,35 @@ export class SendMethodDialogComponent {
|
|
|
73
112
|
}
|
|
74
113
|
onPrinterClicked(printer) {
|
|
75
114
|
this.defaultPrinter = printer.name;
|
|
115
|
+
this.stockService.printSticker.printerName = printer.name;
|
|
76
116
|
this.showPrinterSelections = !this.showPrinterSelections;
|
|
77
117
|
}
|
|
78
118
|
getPrintTemplates() {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.
|
|
119
|
+
if (!this.printTemplates) {
|
|
120
|
+
const data = new StockStickersPrintLayouts();
|
|
121
|
+
this.stockService.getStockStickerTemplates(data).then((templates) => {
|
|
122
|
+
this.printTemplates = templates;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
_handleSettingsLoaded(loaded) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
if (loaded) {
|
|
129
|
+
yield this._initConnection().then();
|
|
130
|
+
this.upAndLoaded = true;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
_initConnection() {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
// await this._connector.connect(this._optionsService.options);
|
|
137
|
+
if (this._optionsService.options.url) {
|
|
138
|
+
this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
|
|
139
|
+
}
|
|
140
|
+
yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
|
|
141
|
+
setTimeout(() => {
|
|
142
|
+
this._changeDetector.detectChanges();
|
|
143
|
+
});
|
|
82
144
|
});
|
|
83
145
|
}
|
|
84
146
|
}
|
|
@@ -94,7 +156,8 @@ SendMethodDialogComponent.decorators = [
|
|
|
94
156
|
<div class="dialog-content-wrapper">
|
|
95
157
|
<div class="main-content-container" *ngIf="!showPrinterSelections">
|
|
96
158
|
<div class="send-options-wrapper">
|
|
97
|
-
<div class="custom-button-wrapper"
|
|
159
|
+
<div class="custom-button-wrapper"
|
|
160
|
+
*ngFor="let sendOption of sendOptions"
|
|
98
161
|
[class.selected-option]="sendOption.option === activeSendOption"
|
|
99
162
|
(click)="activeSendOption = sendOption.option">
|
|
100
163
|
<co-icon [iconData]="iconCacheService.getIcon(sendOption.iconName)"></co-icon>
|
|
@@ -128,15 +191,35 @@ SendMethodDialogComponent.decorators = [
|
|
|
128
191
|
</div>
|
|
129
192
|
</div>
|
|
130
193
|
|
|
131
|
-
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Print">
|
|
132
|
-
<div
|
|
133
|
-
<
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
194
|
+
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Print" (click)="getPrintTemplates()">
|
|
195
|
+
<div *ngIf="showPrintPriceStickers">
|
|
196
|
+
<div class="lov-wrapper">
|
|
197
|
+
<co-input-combo-box
|
|
198
|
+
[(model)]="stockService.printPriceSticker.reportId"
|
|
199
|
+
[collection]="printTemplates"
|
|
200
|
+
[fields]="printTemplatesField"
|
|
201
|
+
placeholder="Layout"
|
|
202
|
+
></co-input-combo-box>
|
|
203
|
+
</div>
|
|
204
|
+
<div class="lov-wrapper" *ngIf="priceListCodeData">
|
|
205
|
+
<co-input-combo-box
|
|
206
|
+
[(model)]="stockService.printPriceSticker.priceListCode"
|
|
207
|
+
[collection]="priceListCodeData"
|
|
208
|
+
[fields]="priceListDataField"
|
|
209
|
+
placeholder="Layout"
|
|
210
|
+
></co-input-combo-box>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div *ngIf="showPrintStockStickers">
|
|
215
|
+
<div class="lov-wrapper">
|
|
216
|
+
<co-input-combo-box
|
|
217
|
+
[(model)]="stockService.printSticker.reportId"
|
|
218
|
+
[collection]="printTemplates"
|
|
219
|
+
[fields]="printTemplatesField"
|
|
220
|
+
placeholder="Layout"
|
|
221
|
+
></co-input-combo-box>
|
|
222
|
+
</div>
|
|
140
223
|
</div>
|
|
141
224
|
|
|
142
225
|
<div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
|
|
@@ -175,7 +258,7 @@ SendMethodDialogComponent.decorators = [
|
|
|
175
258
|
<div class="print-footer-wrapper">
|
|
176
259
|
<div class="input-number-wrapper">
|
|
177
260
|
<co-input-number-picker class="number-picker"
|
|
178
|
-
[step]="1" [(model)]="
|
|
261
|
+
[step]="1" [(model)]="stockService.printSticker.amount" [min]="1"
|
|
179
262
|
[ngModelOptions]="{debounce: 1}">
|
|
180
263
|
</co-input-number-picker>
|
|
181
264
|
</div>
|
|
@@ -218,15 +301,26 @@ SendMethodDialogComponent.decorators = [
|
|
|
218
301
|
];
|
|
219
302
|
SendMethodDialogComponent.ctorParameters = () => [
|
|
220
303
|
{ type: IconCacheService },
|
|
221
|
-
{ type: StockService }
|
|
304
|
+
{ type: StockService },
|
|
305
|
+
{ type: OptionsService },
|
|
306
|
+
{ type: DictionaryService },
|
|
307
|
+
{ type: ChangeDetectorRef }
|
|
222
308
|
];
|
|
223
309
|
SendMethodDialogComponent.propDecorators = {
|
|
310
|
+
showEmailOption: [{ type: Input }],
|
|
311
|
+
showPrintOption: [{ type: Input }],
|
|
312
|
+
showPdfOption: [{ type: Input }],
|
|
313
|
+
showXmlOption: [{ type: Input }],
|
|
314
|
+
showPrintPriceStickers: [{ type: Input }],
|
|
315
|
+
showPrintStockStickers: [{ type: Input }],
|
|
316
|
+
priceListCodeData: [{ type: Input }],
|
|
224
317
|
options: [{ type: Input }],
|
|
225
318
|
showDialog: [{ type: Input }],
|
|
226
319
|
headerTitle: [{ type: Input }],
|
|
227
320
|
printerList: [{ type: Input }],
|
|
321
|
+
articleData: [{ type: Input }],
|
|
228
322
|
startSignatureClicked: [{ type: Output }],
|
|
229
323
|
printButtonClicked: [{ type: Output }],
|
|
230
324
|
showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
|
|
231
325
|
};
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQXdJbkgsTUFBTSxPQUFPLHlCQUF5QjtJQXVEcEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXhEckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFFcEQsZ0JBQVcsR0FBMkM7WUFDM0QsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5QixFQUFFLE1B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LENBQUMsQ0FBQyxTQUF3QyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1T0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0hUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTt3QkFDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDN0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7d0JBQ25FLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QyxDQUFDO2lCQUNIO2FBQ0Y7OztZQTNJTyxnQkFBZ0I7WUFJaEIsWUFBWTs7O3NCQXVLakIsS0FBSzt5QkFLTCxLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSztvQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VuZE9wdGlvbn0gZnJvbSBcIi4vZW51bXMvc2VuZC1vcHRpb25cIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzQm99IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7Q29Ecm9wRG93bkxpc3RGaWVsZHN9IGZyb20gXCIuLi9zdG9jay9zdG9jay10cmFuc2Zlci9jby1kcm9wLWRvd24tbGlzdC1maWVsZHMuaW50ZXJmYWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpb25lLXNlbmQtbWV0aG9kLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2QtZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWRpYWxvZy13aXphcmQgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiICpuZ0lmPVwic2hvd0RpYWxvZ1wiIFtzaG93Q2xvc2VJY29uXT1cInNob3dFeGl0QnV0dG9uXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VEaWFsb2dDbGljaygpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLW9wdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgc2VuZE9wdGlvbiBvZiBzZW5kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtb3B0aW9uXT1cInNlbmRPcHRpb24ub3B0aW9uID09PSBhY3RpdmVTZW5kT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVTZW5kT3B0aW9uID0gc2VuZE9wdGlvbi5vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oc2VuZE9wdGlvbi5pY29uTmFtZSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLW9wdGlvbi1jb250ZW50XCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsIHx8IGFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUGRmXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlscy1jb250YWluZXJcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZW1haWwsIGxldCBpbmRleCBvZiBlbWFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1tpbmRleF1cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25hdHVyZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUHJpbnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwcmludFRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwicHJpbnRUZW1wbGF0ZXNGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxheW91dFwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlciBjbGlja2FibGVcIiAoY2xpY2spPVwidG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIiAqbmdJZj1cInByaW50ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiZGVmYXVsdFByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbGlua1wiIChjbGljayk9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9ucyA9ICFzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFycm93LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RmF0UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCInU3RhbmRhYXJkIHByaW50ZXIgdm9vciBsYXktb3V0IGluc3RlbGxlbidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1zZWxlY3Rpb25zXCIgKm5nSWY9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInUGVyIGdlYnJ1aWtlciBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb29yIGFsbGUgZ2VicnVpa2VycyBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50LWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbnVtYmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJudW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiIFsobW9kZWwpXT1cImFtb3VudFRvUHJpbnRcIiBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie2RlYm91bmNlOiAxfVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXIgcHJpbnQtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVByaW50Q2xpY2tlZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUHJpbnQnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWNvbnRlbnQtY29udGFpbmVyXCIgQHNsaWRlSW5PdXQgKm5nSWY9XCJzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLXByaW50ZXItd3JhcHBlciBzZWxlY3Rpb24gY2xpY2thYmxlXCIgKm5nRm9yPVwibGV0IHByaW50ZXJzIG9mIHByaW50ZXJMaXN0XCIgKGNsaWNrKT1cIm9uUHJpbnRlckNsaWNrZWQocHJpbnRlcnMpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwcmludGVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlcnMubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiICpuZ0lmPVwiIXNob3dQcmludGVyU2VsZWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWRpYWxvZy13aXphcmQ+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLCBvcGFjaXR5OiAnMCd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMjUwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE9wdGlvbjogdHlwZW9mIFNlbmRPcHRpb24gPSBTZW5kT3B0aW9uO1xyXG5cclxuICBwdWJsaWMgc2VuZE9wdGlvbnM6IHtvcHRpb246IFNlbmRPcHRpb24sIGljb25OYW1lOiBJY29ufVtdID0gW1xyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uRW1haWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLkVtYWlsIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QcmludCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUHJpbnQgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlBkZixcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUGRmIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5YbWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlhtbCB9XHJcbiAgXVxyXG5cclxuICBwdWJsaWMgYWN0aXZlU2VuZE9wdGlvbjogU2VuZE9wdGlvbiA9IFNlbmRPcHRpb24uRW1haWw7XHJcbiAgcHVibGljIGFtb3VudFRvUHJpbnQ6IG51bWJlciA9IDE7XHJcbiAgcHVibGljIHNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmludGVyU2VsZWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXhpdEJ1dHRvbiA9IHRydWU7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvW107XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzRmllbGQ6IENvRHJvcERvd25MaXN0RmllbGRzID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJuYW1lXCJ9O1xyXG5cclxuICBwdWJsaWMgZW1haWxzOiBhbnlbXSA9IFsnbGFycy52ZHZAY29saWpuLWl0Lm5sJywgJ2RhdmlkQGNvbGlqbi1pdC5ubCcsICdydWJlbkBjb2xpam4taXQubmwnXTtcclxuICBwdWJsaWMgbW9kZWxzOiBib29sZWFuW10gPSBbZmFsc2UsIGZhbHNlLCB0cnVlXTtcclxuXHJcbiAgcHVibGljIGxheW91dHM6IGFueVtdID0gWydMYXlvdXQgMScsICdMYXlvdXQgMicsICdMYXlvdXQgMyddO1xyXG4gIHB1YmxpYyBzZWxlY3RlZExheW91dDogJ0xheW91dCAxJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmNvbm5lY3RDb25uZWN0b3IodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHJpbnRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pb25lLXNlbmQtbWV0aG9kLWRpYWxvZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRUZW1wbGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQcmludGVycygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QWxsUHJpbnRlcnModHJ1ZSkudGhlbigobGlzdCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gbGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRGlhbG9nQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQcmludENsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByaW50QnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRlcnMoKTtcclxuICAgIGlmICghdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMpIHtcclxuICAgICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSB0cnVlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ByaW50ZXIgc2VsZWN0aWUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5oZWFkZXJUaXRsZSA9ICdWZXJ6ZW5kb3B0aWVzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblByaW50ZXJDbGlja2VkKHByaW50ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVmYXVsdFByaW50ZXIgPSBwcmludGVyLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9ISB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQcmludFRlbXBsYXRlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpLnRoZW4oKHRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvW10pID0+IHtcclxuICAgICAgdGhpcy5wcmludFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFHakgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBNEpuRSxNQUFNLE9BQU8seUJBQXlCO0lBdUdwQyxZQUNTLGdCQUFrQyxFQUNsQyxZQUEwQixFQUN6QixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQztRQUpuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMv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TCxLQUFLO2dDQUdMLEtBQUs7c0JBa0NMLEtBQUs7eUJBaUJMLEtBQUs7MEJBR0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7b0NBTUwsTUFBTTtpQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbmRPcHRpb259IGZyb20gXCIuL2VudW1zL3NlbmQtb3B0aW9uXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9wcmludGVyLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3N0b2NrLXN0aWNrZXJzLXByaW50LWxheW91dHMuYm9cIjtcclxuaW1wb3J0IHtDb0Ryb3BEb3duTGlzdEZpZWxkc30gZnJvbSBcIi4uL3N0b2NrL3N0b2NrLXRyYW5zZmVyL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZW5kLW1ldGhvZC1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZGlhbG9nLXdpemFyZCBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgKm5nSWY9XCJzaG93RGlhbG9nXCIgW3Nob3dDbG9zZUljb25dPVwic2hvd0V4aXRCdXR0b25cIiAoY2xvc2VDbGljayk9XCJjbG9zZURpYWxvZ0NsaWNrKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJoZWFkZXJUaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC1jb250YWluZXJcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtb3B0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VuZE9wdGlvbiBvZiBzZW5kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtb3B0aW9uXT1cInNlbmRPcHRpb24ub3B0aW9uID09PSBhY3RpdmVTZW5kT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVTZW5kT3B0aW9uID0gc2VuZE9wdGlvbi5vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oc2VuZE9wdGlvbi5pY29uTmFtZSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLW9wdGlvbi1jb250ZW50XCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsIHx8IGFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUGRmXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlscy1jb250YWluZXJcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZW1haWwsIGxldCBpbmRleCBvZiBlbWFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1tpbmRleF1cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25hdHVyZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUHJpbnRcIiAoY2xpY2spPVwiZ2V0UHJpbnRUZW1wbGF0ZXMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpbnRQcmljZVN0aWNrZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFByaWNlU3RpY2tlci5yZXBvcnRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRUZW1wbGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwicHJpbnRUZW1wbGF0ZXNGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiICpuZ0lmPVwicHJpY2VMaXN0Q29kZURhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFByaWNlU3RpY2tlci5wcmljZUxpc3RDb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwcmljZUxpc3RDb2RlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJwcmljZUxpc3REYXRhRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpbnRTdG9ja1N0aWNrZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFN0aWNrZXIucmVwb3J0SWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaW50VGVtcGxhdGVzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInByaW50VGVtcGxhdGVzRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlciBjbGlja2FibGVcIiAoY2xpY2spPVwidG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIiAqbmdJZj1cInByaW50ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiZGVmYXVsdFByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbGlua1wiIChjbGljayk9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9ucyA9ICFzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFycm93LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RmF0UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCInU3RhbmRhYXJkIHByaW50ZXIgdm9vciBsYXktb3V0IGluc3RlbGxlbidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1zZWxlY3Rpb25zXCIgKm5nSWY9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInUGVyIGdlYnJ1aWtlciBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb29yIGFsbGUgZ2VicnVpa2VycyBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50LWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbnVtYmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJudW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFN0aWNrZXIuYW1vdW50XCIgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntkZWJvdW5jZTogMX1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHByaW50LWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVQcmludENsaWNrZWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1ByaW50J1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1jb250ZW50LWNvbnRhaW5lclwiIEBzbGlkZUluT3V0ICpuZ0lmPVwic2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXIgc2VsZWN0aW9uIGNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBwcmludGVycyBvZiBwcmludGVyTGlzdFwiIChjbGljayk9XCJvblByaW50ZXJDbGlja2VkKHByaW50ZXJzKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1uYW1lXCIgW3RleHRDb250ZW50XT1cInByaW50ZXJzLm5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlcnMuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jby1kaWFsb2ctd2l6YXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE9wdGlvbjogdHlwZW9mIFNlbmRPcHRpb24gPSBTZW5kT3B0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93RW1haWxPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UHJpbnRPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UGRmT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1htbE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQcmludFByaWNlU3RpY2tlcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ByaW50U3RvY2tTdGlja2VyczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnlcclxuXHJcbiAgcHVibGljIHNlbmRPcHRpb25zOiB7b3B0aW9uOiBTZW5kT3B0aW9uLCBpY29uTmFtZTogSWNvbn1bXSA9IFtcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLkVtYWlsLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5FbWFpbCxcclxuICAgIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QcmludCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUHJpbnQsXHJcbiAgICB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uUGRmLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QZGYsXHJcbiAgICB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uWG1sLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5YbWwsXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBwdWJsaWMgYWN0aXZlU2VuZE9wdGlvbjogU2VuZE9wdGlvbiA9IFNlbmRPcHRpb24uRW1haWw7XHJcbiAgcHVibGljIHNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmludGVyU2VsZWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXhpdEJ1dHRvbiA9IHRydWU7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlc0ZpZWxkOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVwb3J0SWRcIn07XHJcbiAgcHVibGljIHByaWNlTGlzdERhdGFGaWVsZDogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInByaWNlTGlzdENvZGVcIn07XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBlbWFpbHM6IGFueVtdID0gWydsYXJzLnZkdkBjb2xpam4taXQubmwnLCAnZGF2aWRAY29saWpuLWl0Lm5sJywgJ3J1YmVuQGNvbGlqbi1pdC5ubCddO1xyXG4gIHB1YmxpYyBtb2RlbHM6IGJvb2xlYW5bXSA9IFtmYWxzZSwgZmFsc2UsIHRydWVdO1xyXG5cclxuICBwdWJsaWMgbGF5b3V0czogYW55W10gPSBbJ0xheW91dCAxJywgJ0xheW91dCAyJywgJ0xheW91dCAzJ107XHJcbiAgcHVibGljIHNlbGVjdGVkTGF5b3V0OiAnTGF5b3V0IDEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBKU09OLnBhcnNlKHZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fcHVibGljT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmluaXRpYWxpemUodGhpcy5fb3B0aW9ucykudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBvcHRpb25zKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGVEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLmdvb2RJZCA9IGRhdGEuZ29vZElkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLndhcmVob3VzZSA9IGRhdGEud2FyZWhvdXNlTm87XHJcbiAgfTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0U2lnbmF0dXJlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByaW50QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3B1YmxpY09wdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaW50ZXJzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tTZXJ2aWNlLmdldEFsbFByaW50ZXJzKHRydWUpLnRoZW4oKGxpc3QpID0+IHtcclxuICAgICAgdGhpcy5wcmludGVyTGlzdCA9IGxpc3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZURpYWxvZ0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2lnbmF0dXJlU3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5wcmludEJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5wcmludGVyTmFtZSkge1xyXG4gICAgICB0aGlzLnN0b2NrU2VydmljZS5nZXRQcmludFN0b2NrU3RpY2tlcnModGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQcmludGVyU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnUHJpbnRlciBzZWxlY3RpZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ZlcnplbmRvcHRpZXMnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUHJpbnRlckNsaWNrZWQocHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IHByaW50ZXIubmFtZTtcclxuICAgIHRoaXMuc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5wcmludGVyTmFtZSA9IHByaW50ZXIubmFtZTtcclxuICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0hIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFByaW50VGVtcGxhdGVzKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMucHJpbnRUZW1wbGF0ZXMpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IG5ldyBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzKCk7XHJcbiAgICAgIHRoaXMuc3RvY2tTZXJ2aWNlLmdldFN0b2NrU3RpY2tlclRlbXBsYXRlcyhkYXRhKS50aGVuKCh0ZW1wbGF0ZXM6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJpbnRUZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgICB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -51,4 +51,4 @@ StockInformationComponent.propDecorators = {
|
|
|
51
51
|
allAvailableStockInformation: [{ type: Input }],
|
|
52
52
|
allTechnicalStockInformation: [{ type: Input }]
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBZ0JwQztJQUVBLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1pbmZvcm1hdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvXCIgKm5nSWY9XCJhcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93XCIgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbWFnZSBjbGFzcz1cInN0b2NrLWltYWdlXCIgW3NvdXJjZV09XCJhcnRpY2xlLmltYWdlRGF0YVwiPjwvY28taW1hZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ29vZC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RPQ0tfU1RBVFVTJ1wiPjwvbGFiZWw+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5zdG9ja1N0YXR1c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBTU9VTlRfSU5fU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9MQVRFUl9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tJbmZvcm1hdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9jazogQXJ0aWNsZVN0b2NrQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbjogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|