@colijnit/sharedcomponents 1.0.9 → 1.0.10
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 +44 -1438
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +0 -7
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +1 -8
- package/esm2015/public-api.js +1 -5
- package/fesm2015/colijnit-sharedcomponents.js +2 -1696
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/package.json +5 -6
- package/public-api.d.ts +0 -4
- package/esm2015/lib/components/send-method-dialog/enums/send-option.js +0 -8
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +0 -203
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +0 -26
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +0 -57
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +0 -254
- package/esm2015/lib/components/stock/stock-location/stock-location.component.js +0 -62
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +0 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +0 -98
- package/esm2015/lib/components/stock/stock.component.js +0 -67
- package/esm2015/lib/components/stock/stock.module.js +0 -44
- package/esm2015/lib/enum/icon.enum.js +0 -23
- package/esm2015/lib/factory/business-object-factory.js +0 -120
- package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
- package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
- package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
- package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
- package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
- package/esm2015/lib/model/business-object.js +0 -81
- package/esm2015/lib/model/icon-svg.js +0 -22
- package/esm2015/lib/service/icon-cache.service.js +0 -51
- package/esm2015/lib/service/ione-connector-adapter.service.js +0 -117
- package/esm2015/lib/service/stock.service.js +0 -33
- package/esm2015/lib/utils/array-utils.js +0 -183
- package/esm2015/lib/utils/is-nill.function.js +0 -5
- package/lib/components/send-method-dialog/enums/send-option.d.ts +0 -6
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +0 -37
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +0 -2
- package/lib/components/send-method-dialog/style/_layout.scss +0 -186
- package/lib/components/send-method-dialog/style/_material-definition.scss +0 -1
- package/lib/components/send-method-dialog/style/_theme.scss +0 -7
- package/lib/components/send-method-dialog/style/material.scss +0 -4
- package/lib/components/stock/stock-information/stock-information.component.d.ts +0 -8
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +0 -43
- package/lib/components/stock/stock-location/stock-location.component.d.ts +0 -12
- package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +0 -4
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +0 -20
- package/lib/components/stock/stock.component.d.ts +0 -19
- package/lib/components/stock/stock.module.d.ts +0 -2
- package/lib/components/stock/style/_layout.scss +0 -206
- package/lib/components/stock/style/_material-definition.scss +0 -20
- package/lib/components/stock/style/_theme.scss +0 -8
- package/lib/components/stock/style/material.scss +0 -4
- package/lib/enum/icon.enum.d.ts +0 -21
- package/lib/factory/business-object-factory.d.ts +0 -23
- package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
- package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
- package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
- package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
- package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
- package/lib/model/business-object.d.ts +0 -7
- package/lib/model/icon-svg.d.ts +0 -4
- package/lib/service/icon-cache.service.d.ts +0 -18
- package/lib/service/ione-connector-adapter.service.d.ts +0 -21
- package/lib/service/stock.service.d.ts +0 -13
- package/lib/utils/array-utils.d.ts +0 -57
- package/lib/utils/is-nill.function.d.ts +0 -1
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
-
import { Icon } from "../../enum/icon.enum";
|
|
3
|
-
import { IconCacheService } from "../../service/icon-cache.service";
|
|
4
|
-
import { SendOption } from "./enums/send-option";
|
|
5
|
-
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
6
|
-
import { StockService } from "../../service/stock.service";
|
|
7
|
-
export class SendMethodDialogComponent {
|
|
8
|
-
constructor(iconCacheService, _stockService) {
|
|
9
|
-
this.iconCacheService = iconCacheService;
|
|
10
|
-
this._stockService = _stockService;
|
|
11
|
-
this.icons = Icon;
|
|
12
|
-
this.sendOption = SendOption;
|
|
13
|
-
this.sendOptions = [
|
|
14
|
-
{ option: SendOption.Email,
|
|
15
|
-
iconName: this.icons.Email },
|
|
16
|
-
{ option: SendOption.Print,
|
|
17
|
-
iconName: this.icons.Print },
|
|
18
|
-
{ option: SendOption.Pdf,
|
|
19
|
-
iconName: this.icons.Pdf },
|
|
20
|
-
{ option: SendOption.Xml,
|
|
21
|
-
iconName: this.icons.Xml }
|
|
22
|
-
];
|
|
23
|
-
this.activeSendOption = SendOption.Email;
|
|
24
|
-
this.amountToPrint = 1;
|
|
25
|
-
this.showStandardPrinterOptions = false;
|
|
26
|
-
this.showPrinterSelections = false;
|
|
27
|
-
this.showExitButton = true;
|
|
28
|
-
this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
|
|
29
|
-
this.models = [false, false, true];
|
|
30
|
-
this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
|
|
31
|
-
this.showDialog = false;
|
|
32
|
-
this.startSignatureClicked = new EventEmitter();
|
|
33
|
-
this.printButtonClicked = new EventEmitter();
|
|
34
|
-
}
|
|
35
|
-
showClass() {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
closeDialogClick() {
|
|
39
|
-
this.showDialog = false;
|
|
40
|
-
}
|
|
41
|
-
handleSignatureStart() {
|
|
42
|
-
this.startSignatureClicked.emit();
|
|
43
|
-
}
|
|
44
|
-
handlePrintClicked() {
|
|
45
|
-
this.printButtonClicked.emit();
|
|
46
|
-
}
|
|
47
|
-
togglePrinterSelection() {
|
|
48
|
-
if (!this.showPrinterSelections) {
|
|
49
|
-
this.showPrinterSelections = true;
|
|
50
|
-
this.headerTitle = 'Printer selectie';
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.showPrinterSelections = false;
|
|
54
|
-
this.headerTitle = 'Verzendopties';
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
SendMethodDialogComponent.decorators = [
|
|
59
|
-
{ type: Component, args: [{
|
|
60
|
-
selector: "ione-send-method-dialog",
|
|
61
|
-
template: `
|
|
62
|
-
<div class="send-method-dialog-wrapper">
|
|
63
|
-
<co-dialog-wizard id="sendOptionsDialog" *ngIf="showDialog" [showCloseIcon]="showExitButton" (closeClick)="closeDialogClick()">
|
|
64
|
-
<ng-container header>
|
|
65
|
-
<span [textContent]="headerTitle"></span>
|
|
66
|
-
</ng-container>
|
|
67
|
-
<div class="dialog-content-wrapper">
|
|
68
|
-
<div class="main-content-container" *ngIf="!showPrinterSelections">
|
|
69
|
-
<div class="send-options-wrapper">
|
|
70
|
-
<div class="custom-button-wrapper" *ngFor="let sendOption of sendOptions"
|
|
71
|
-
[class.selected-option]="sendOption.option === activeSendOption"
|
|
72
|
-
(click)="activeSendOption = sendOption.option">
|
|
73
|
-
<co-icon [iconData]="iconCacheService.getIcon(sendOption.iconName)"></co-icon>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
|
|
77
|
-
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Email || activeSendOption === sendOption.Pdf">
|
|
78
|
-
<div class="emails-container" *ngIf="activeSendOption === sendOption.Email">
|
|
79
|
-
<co-input-checkbox
|
|
80
|
-
*ngFor="let email, let index of emails"
|
|
81
|
-
[name]="email"
|
|
82
|
-
[(model)]="models[index]"
|
|
83
|
-
[label]="email"
|
|
84
|
-
[cssClass]="'input-checkbox-wrapper'"
|
|
85
|
-
></co-input-checkbox>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<div class="lov-wrapper">
|
|
89
|
-
<co-input-combo-box
|
|
90
|
-
[(model)]="selectedLayout"
|
|
91
|
-
[collection]="layouts"
|
|
92
|
-
[forceReadonly]="true"
|
|
93
|
-
placeholder="Layout"
|
|
94
|
-
></co-input-combo-box>
|
|
95
|
-
</div>
|
|
96
|
-
|
|
97
|
-
<div class="signature-button-wrapper">
|
|
98
|
-
<div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
|
|
99
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
|
|
104
|
-
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Print">
|
|
105
|
-
<div class="lov-wrapper">
|
|
106
|
-
<co-input-combo-box
|
|
107
|
-
[(model)]="selectedLayout"
|
|
108
|
-
[collection]="layouts"
|
|
109
|
-
[forceReadonly]="true"
|
|
110
|
-
placeholder="Layout"
|
|
111
|
-
></co-input-combo-box>
|
|
112
|
-
</div>
|
|
113
|
-
|
|
114
|
-
<div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
|
|
115
|
-
<div class="selected-printer-wrapper">
|
|
116
|
-
<div class="printer-option-list-item">
|
|
117
|
-
<co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
|
|
118
|
-
<div class="printer-details">
|
|
119
|
-
<span class="printer-name" [textContent]="defaultPrinter"></span>
|
|
120
|
-
<span class="printer-status" [textContent]="'Online'"></span>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
<co-icon class="select-printer-arrow" [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
<div class="standard-printer-wrapper">
|
|
128
|
-
<div class="standard-printer-link" (click)="showStandardPrinterOptions = !showStandardPrinterOptions">
|
|
129
|
-
<co-icon class="arrow-icon" [iconData]="iconCacheService.getIcon(icons.ArrowFatRight)"></co-icon>
|
|
130
|
-
<span class="standard-printer-message" [textContent]="'Standaard printer voor lay-out instellen'"></span>
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<div class="standard-printer-selections" *ngIf="showStandardPrinterOptions">
|
|
134
|
-
<co-input-checkbox
|
|
135
|
-
[(model)]="models[0]"
|
|
136
|
-
[label]="'Per gebruiker instellen'"
|
|
137
|
-
[cssClass]="'input-checkbox-wrapper'"
|
|
138
|
-
></co-input-checkbox>
|
|
139
|
-
<co-input-checkbox
|
|
140
|
-
[(model)]="models[1]"
|
|
141
|
-
[label]="'Voor alle gebruikers instellen'"
|
|
142
|
-
[cssClass]="'input-checkbox-wrapper'"
|
|
143
|
-
></co-input-checkbox>
|
|
144
|
-
</div>
|
|
145
|
-
</div>
|
|
146
|
-
|
|
147
|
-
<div class="print-footer-wrapper">
|
|
148
|
-
<div class="input-number-wrapper">
|
|
149
|
-
<co-input-number-picker class="number-picker"
|
|
150
|
-
[step]="1" [(model)]="amountToPrint" [min]="1"
|
|
151
|
-
[ngModelOptions]="{debounce: 1}">
|
|
152
|
-
</co-input-number-picker>
|
|
153
|
-
</div>
|
|
154
|
-
<div class="custom-button-wrapper print-button" (click)="handlePrintClicked()">
|
|
155
|
-
<span [textContent]="'Print'"></span>
|
|
156
|
-
</div>
|
|
157
|
-
<div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
|
|
158
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
|
|
164
|
-
<div class="printer-content-container" @slideInOut *ngIf="showPrinterSelections">
|
|
165
|
-
<div class="selected-printer-wrapper selection clickable" *ngFor="let printers of printerList" (click)="togglePrinterSelection()">
|
|
166
|
-
<div class="printer-option-list-item">
|
|
167
|
-
<co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
|
|
168
|
-
<div class="printer-details">
|
|
169
|
-
<span class="printer-name" [textContent]="printers.name"></span>
|
|
170
|
-
<span class="printer-status" [textContent]="'Online'"></span>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
<co-icon class="select-printer-arrow" *ngIf="!showPrinterSelections"
|
|
174
|
-
[iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
|
|
175
|
-
</div>
|
|
176
|
-
</div>
|
|
177
|
-
</div>
|
|
178
|
-
</co-dialog-wizard>
|
|
179
|
-
</div>
|
|
180
|
-
`,
|
|
181
|
-
encapsulation: ViewEncapsulation.None,
|
|
182
|
-
animations: [
|
|
183
|
-
trigger('slideInOut', [
|
|
184
|
-
state('*', style({ transform: 'translateX(0%)', width: '100%', opacity: '1' })),
|
|
185
|
-
state('void', style({ transform: 'translateX(150%)', opacity: '0' })),
|
|
186
|
-
transition('void => *', animate(250))
|
|
187
|
-
])
|
|
188
|
-
]
|
|
189
|
-
},] }
|
|
190
|
-
];
|
|
191
|
-
SendMethodDialogComponent.ctorParameters = () => [
|
|
192
|
-
{ type: IconCacheService },
|
|
193
|
-
{ type: StockService }
|
|
194
|
-
];
|
|
195
|
-
SendMethodDialogComponent.propDecorators = {
|
|
196
|
-
showDialog: [{ type: Input }],
|
|
197
|
-
headerTitle: [{ type: Input }],
|
|
198
|
-
printerList: [{ type: Input }],
|
|
199
|
-
startSignatureClicked: [{ type: Output }],
|
|
200
|
-
printButtonClicked: [{ type: Output }],
|
|
201
|
-
showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
|
|
202
|
-
};
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFzSXpELE1BQU0sT0FBTyx5QkFBeUI7SUFnRHBDLFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCO1FBRDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFqRHJCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQzFCLGVBQVUsR0FBc0IsVUFBVSxDQUFDO1FBRXBELGdCQUFXLEdBQTJDO1lBQzNELEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLO2dCQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDOUIsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5QixFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRztnQkFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzVCLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHO2dCQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7U0FDN0IsQ0FBQTtRQUVNLHFCQUFnQixHQUFlLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDaEQsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFDMUIsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBQzVDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixXQUFNLEdBQVUsQ0FBQyx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RGLFdBQU0sR0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFekMsWUFBTyxHQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUl0RCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUzVCLDBCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR25FLHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBVW5FLENBQUM7SUFQRSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT00sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7U0FDdkM7YUFBTTtZQUNMLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7U0FDcEM7SUFDSCxDQUFDOzs7WUE3TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1SFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsWUFBWSxFQUFFO3dCQUNwQixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDbkUsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3RDLENBQUM7aUJBQ0g7YUFDRjs7O1lBeElPLGdCQUFnQjtZQUloQixZQUFZOzs7eUJBa0tqQixLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSztvQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbmRPcHRpb259IGZyb20gXCIuL2VudW1zL3NlbmQtb3B0aW9uXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZW5kLW1ldGhvZC1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZGlhbG9nLXdpemFyZCBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgKm5nSWY9XCJzaG93RGlhbG9nXCIgW3Nob3dDbG9zZUljb25dPVwic2hvd0V4aXRCdXR0b25cIiAoY2xvc2VDbGljayk9XCJjbG9zZURpYWxvZ0NsaWNrKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJoZWFkZXJUaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC1jb250YWluZXJcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtb3B0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlclwiICpuZ0Zvcj1cImxldCBzZW5kT3B0aW9uIG9mIHNlbmRPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1vcHRpb25dPVwic2VuZE9wdGlvbi5vcHRpb24gPT09IGFjdGl2ZVNlbmRPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVNlbmRPcHRpb24gPSBzZW5kT3B0aW9uLm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihzZW5kT3B0aW9uLmljb25OYW1lKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWwgfHwgYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QZGZcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWxzLWNvbnRhaW5lclwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5FbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbWFpbCwgbGV0IGluZGV4IG9mIGVtYWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImVtYWlsXCJcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzW2luZGV4XVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZExheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmF0dXJlLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1vcHRpb24tY29udGVudFwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QcmludFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZExheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXIgY2xpY2thYmxlXCIgKGNsaWNrKT1cInRvZ2dsZVByaW50ZXJTZWxlY3Rpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1vcHRpb24tbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwcmludGVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiJ09ubGluZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNlbGVjdC1wcmludGVyLWFycm93XCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLWxpbmtcIiAoY2xpY2spPVwic2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnMgPSAhc2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJhcnJvdy1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd0ZhdFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLW1lc3NhZ2VcIiBbdGV4dENvbnRlbnRdPVwiJ1N0YW5kYWFyZCBwcmludGVyIHZvb3IgbGF5LW91dCBpbnN0ZWxsZW4nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItc2VsZWN0aW9uc1wiICpuZ0lmPVwic2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzWzBdXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BlciBnZWJydWlrZXIgaW5zdGVsbGVuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzXT1cIidpbnB1dC1jaGVja2JveC13cmFwcGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInVm9vciBhbGxlIGdlYnJ1aWtlcnMgaW5zdGVsbGVuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzXT1cIidpbnB1dC1jaGVja2JveC13cmFwcGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludC1mb290ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LW51bWJlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwibnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cIjFcIiBbKG1vZGVsKV09XCJhbW91bnRUb1ByaW50XCIgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntkZWJvdW5jZTogMX1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHByaW50LWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVQcmludENsaWNrZWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1ByaW50J1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1jb250ZW50LWNvbnRhaW5lclwiIEBzbGlkZUluT3V0ICpuZ0lmPVwic2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXIgc2VsZWN0aW9uIGNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBwcmludGVycyBvZiBwcmludGVyTGlzdFwiIChjbGljayk9XCJ0b2dnbGVQcmludGVyU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1vcHRpb24tbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5uYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItc3RhdHVzXCIgW3RleHRDb250ZW50XT1cIidPbmxpbmUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiICpuZ0lmPVwiIXNob3dQcmludGVyU2VsZWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWRpYWxvZy13aXphcmQ+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLCBvcGFjaXR5OiAnMCd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMjUwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kT3B0aW9uOiB0eXBlb2YgU2VuZE9wdGlvbiA9IFNlbmRPcHRpb247XHJcblxyXG4gIHB1YmxpYyBzZW5kT3B0aW9uczoge29wdGlvbjogU2VuZE9wdGlvbiwgaWNvbk5hbWU6IEljb259W10gPSBbXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5FbWFpbCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuRW1haWwgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlByaW50LFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QcmludCB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uUGRmLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QZGYgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlhtbCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuWG1sIH1cclxuICBdXHJcblxyXG4gIHB1YmxpYyBhY3RpdmVTZW5kT3B0aW9uOiBTZW5kT3B0aW9uID0gU2VuZE9wdGlvbi5FbWFpbDtcclxuICBwdWJsaWMgYW1vdW50VG9QcmludDogbnVtYmVyID0gMTtcclxuICBwdWJsaWMgc2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1ByaW50ZXJTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeGl0QnV0dG9uID0gdHJ1ZTtcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGVtYWlsczogYW55W10gPSBbJ2xhcnMudmR2QGNvbGlqbi1pdC5ubCcsICdkYXZpZEBjb2xpam4taXQubmwnLCAncnViZW5AY29saWpuLWl0Lm5sJ107XHJcbiAgcHVibGljIG1vZGVsczogYm9vbGVhbltdID0gW2ZhbHNlLCBmYWxzZSwgdHJ1ZV07XHJcblxyXG4gIHB1YmxpYyBsYXlvdXRzOiBhbnlbXSA9IFsnTGF5b3V0IDEnLCAnTGF5b3V0IDInLCAnTGF5b3V0IDMnXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRMYXlvdXQ6ICdMYXlvdXQgMSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0U2lnbmF0dXJlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByaW50QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VEaWFsb2dDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByaW50Q2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJpbnRCdXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQcmludGVyU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnUHJpbnRlciBzZWxlY3RpZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ZlcnplbmRvcHRpZXMnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { CoDialogPromptModule, CoDialogWizardModule, IconModule, InputCheckboxModule, InputComboBoxModule, InputNumberPickerModule } from "@colijnit/corecomponents_v12";
|
|
4
|
-
import { SendMethodDialogComponent } from "./send-method-dialog.component";
|
|
5
|
-
export class SendMethodDialogModule {
|
|
6
|
-
}
|
|
7
|
-
SendMethodDialogModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
declarations: [
|
|
10
|
-
SendMethodDialogComponent
|
|
11
|
-
],
|
|
12
|
-
imports: [
|
|
13
|
-
CommonModule,
|
|
14
|
-
CoDialogPromptModule,
|
|
15
|
-
InputCheckboxModule,
|
|
16
|
-
InputComboBoxModule,
|
|
17
|
-
IconModule,
|
|
18
|
-
InputNumberPickerModule,
|
|
19
|
-
CoDialogWizardModule
|
|
20
|
-
],
|
|
21
|
-
exports: [
|
|
22
|
-
SendMethodDialogComponent
|
|
23
|
-
]
|
|
24
|
-
},] }
|
|
25
|
-
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQ3RELG1CQUFtQixFQUNuQixtQkFBbUIsRUFBRSx1QkFBdUIsRUFDN0MsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQW1CekUsTUFBTSxPQUFPLHNCQUFzQjs7O1lBakJsQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29EaWFsb2dQcm9tcHRNb2R1bGUsIENvRGlhbG9nV2l6YXJkTW9kdWxlLCBJY29uTW9kdWxlLFxyXG4gIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgSW5wdXRDb21ib0JveE1vZHVsZSwgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGVcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2REaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3NlbmQtbWV0aG9kLWRpYWxvZy5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBDb0RpYWxvZ1Byb21wdE1vZHVsZSxcclxuICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJbnB1dENvbWJvQm94TW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dXaXphcmRNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
-
export class StockInformationComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.stockStatus = "medium";
|
|
5
|
-
this.show = false;
|
|
6
|
-
this.hideOrShowLocationTab = false;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
StockInformationComponent.decorators = [
|
|
10
|
-
{ type: Component, args: [{
|
|
11
|
-
selector: "co-stock-information",
|
|
12
|
-
template: `
|
|
13
|
-
<div class="stock-info">
|
|
14
|
-
<div class="stock-info-row">
|
|
15
|
-
<div class="stock-info-row-image">
|
|
16
|
-
<div class="stock-image">
|
|
17
|
-
<co-image class="stock-image" [source]="article?.imageData"></co-image>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="stock-good-info">
|
|
21
|
-
<div>
|
|
22
|
-
<span [textContent]="article?.name"></span>
|
|
23
|
-
</div>
|
|
24
|
-
<div>
|
|
25
|
-
<span [textContent]="article?.articleNumber"></span>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="stock-status">
|
|
30
|
-
<label [textContent]="article?.stockStatus"></label>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="stock-status">
|
|
33
|
-
<label [textContent]="'STOCK'"></label>
|
|
34
|
-
<span></span>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="stock-status">
|
|
37
|
-
<label [textContent]="article?.stockAvailable"></label>
|
|
38
|
-
<span>totalAmountAvailable</span>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="stock-status">
|
|
41
|
-
<label [textContent]="'ECONOMICAL_STOCK'"></label>
|
|
42
|
-
<span></span>
|
|
43
|
-
</div>
|
|
44
|
-
<div class="stock-status">
|
|
45
|
-
<label [textContent]="'PHYSICAL_STOCK'"></label>
|
|
46
|
-
<span></span>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
`,
|
|
50
|
-
encapsulation: ViewEncapsulation.None
|
|
51
|
-
},] }
|
|
52
|
-
];
|
|
53
|
-
StockInformationComponent.ctorParameters = () => [];
|
|
54
|
-
StockInformationComponent.propDecorators = {
|
|
55
|
-
article: [{ type: Input }]
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBNEMxRSxNQUFNLE9BQU8seUJBQXlCO0lBVXBDO1FBUk8sZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFFL0IsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFPOUMsQ0FBQzs7O1lBdERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozs7c0JBUUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm9cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvLXJvdy1pbWFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW1hZ2VcIj5cclxuICAgICAgICAgICAgICA8Y28taW1hZ2UgY2xhc3M9XCJzdG9jay1pbWFnZVwiIFtzb3VyY2VdPVwiYXJ0aWNsZT8uaW1hZ2VEYXRhXCI+PC9jby1pbWFnZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1nb29kLWluZm9cIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZT8ubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGU/LmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlPy5zdG9ja1N0YXR1c1wiPjwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cImFydGljbGU/LnN0b2NrQXZhaWxhYmxlXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuPnRvdGFsQW1vdW50QXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0VDT05PTUlDQUxfU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidQSFlTSUNBTF9TVE9DSydcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrSW5mb3JtYXRpb25Db21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGF0dXM6IHN0cmluZyA9IFwibWVkaXVtXCI7XHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaGlkZU9yU2hvd0xvY2F0aW9uVGFiOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js
DELETED
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Output, ViewChild, ViewEncapsulation, EventEmitter } from "@angular/core";
|
|
3
|
-
import { StockService } from "../../../service/stock.service";
|
|
4
|
-
export class StockInformationGridComponent {
|
|
5
|
-
constructor(_stockService) {
|
|
6
|
-
this._stockService = _stockService;
|
|
7
|
-
this.locationLineClicked = new EventEmitter();
|
|
8
|
-
this.transferIconClicked = new EventEmitter();
|
|
9
|
-
this.MAX_GRID_ROWS = 10;
|
|
10
|
-
this.stockStatus = "medium";
|
|
11
|
-
this.show = false;
|
|
12
|
-
this.hideOrShowLocationTab = false;
|
|
13
|
-
this.showStockHistory = false;
|
|
14
|
-
this.data = [
|
|
15
|
-
{ test: "test" }
|
|
16
|
-
];
|
|
17
|
-
this.stockInformation = [
|
|
18
|
-
{ warehouseNumber: "1", warehouseDescription: "Colijn IT Warehouse", amountInStock: "17", amountAvailable: "13", amountLaterAvailable: "4", location: "test" },
|
|
19
|
-
{ warehouseNumber: "2", warehouseDescription: "Colijn IT Warehouse", amountInStock: "17", amountAvailable: "13", amountLaterAvailable: "4", location: "Test nummer 2" },
|
|
20
|
-
{ warehouseNumber: "3", warehouseDescription: "Colijn IT Warehouse", amountInStock: "17", amountAvailable: "13", amountLaterAvailable: "4", location: "Amundsenweg" },
|
|
21
|
-
];
|
|
22
|
-
this.stockLocationInformation = [
|
|
23
|
-
{ location: "title 1", batch: "1", serialNo: "1", amountInStock: "1", allocated: "1", amountAvailable: "1" },
|
|
24
|
-
{ location: "title 2", amountInStock: "2" },
|
|
25
|
-
{ location: "title 3", amountInStock: "3" },
|
|
26
|
-
{ location: "title 4", amountInStock: "4" },
|
|
27
|
-
{ location: "title 5", amountInStock: "5" },
|
|
28
|
-
];
|
|
29
|
-
this.inOrderInformation = [
|
|
30
|
-
{ inOrder: "275432", customer: "Test customer", orderDate: "date", orderAmount: "2", warehouseNumber: "8", warehouseDescription: "A nice warehouse", amountInStock: "17", commission: "4014321" },
|
|
31
|
-
{ inOrder: "275432", customer: "Test customer", orderDate: "date", orderAmount: "2", warehouseNumber: "8", warehouseDescription: "A nice warehouse", amountInStock: "17", commission: "4014321" },
|
|
32
|
-
{ inOrder: "275432", customer: "Test customer", orderDate: "date", orderAmount: "2", warehouseNumber: "8", warehouseDescription: "A nice warehouse", amountInStock: "17", commission: "4014321" },
|
|
33
|
-
{ inOrder: "275432", customer: "Test customer", orderDate: "date", orderAmount: "2", warehouseNumber: "8", warehouseDescription: "A nice warehouse", amountInStock: "17", commission: "4014321" },
|
|
34
|
-
{ inOrder: "275432", customer: "Test customer", orderDate: "date", orderAmount: "2", warehouseNumber: "8", warehouseDescription: "A nice warehouse", amountInStock: "17", commission: "4014321" },
|
|
35
|
-
];
|
|
36
|
-
this.stockHistoryInformation = [];
|
|
37
|
-
this.orderInformation = [];
|
|
38
|
-
this.stockColumns = [];
|
|
39
|
-
this.stockLocationColumns = [];
|
|
40
|
-
this.inOrderColumns = [];
|
|
41
|
-
this.orderColumns = [];
|
|
42
|
-
this.hideOrShowTabs = true;
|
|
43
|
-
this.dataWareHouseCode = 0;
|
|
44
|
-
this.dataWareHouseFields = { text: "warehouseDescription", value: "warehouseNumber" };
|
|
45
|
-
this.tabs = [
|
|
46
|
-
"STOCK",
|
|
47
|
-
"IN_ORDER2",
|
|
48
|
-
"ORDERS1"
|
|
49
|
-
];
|
|
50
|
-
this.activeTab = this.tabs[0];
|
|
51
|
-
}
|
|
52
|
-
get activeTabText() {
|
|
53
|
-
switch (this.activeTab) {
|
|
54
|
-
case this.tabs[0]:
|
|
55
|
-
return "Voorraadregels";
|
|
56
|
-
case this.tabs[1]:
|
|
57
|
-
return "Gevonden in order(s)";
|
|
58
|
-
case this.tabs[2]:
|
|
59
|
-
return "Gevonden in bestellingen";
|
|
60
|
-
default:
|
|
61
|
-
return "Voorraadlocatie regels";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
handleTabClick(tabData) {
|
|
65
|
-
this.activeTab = tabData;
|
|
66
|
-
}
|
|
67
|
-
onLocationClick(event) {
|
|
68
|
-
// this.locationLineClicked.emit(event[0].location);
|
|
69
|
-
this.hideOrShowTabs = false;
|
|
70
|
-
this.hideOrShowLocationTab = true;
|
|
71
|
-
}
|
|
72
|
-
onRowClick(args) {
|
|
73
|
-
}
|
|
74
|
-
onPopupClose() {
|
|
75
|
-
this.show = false;
|
|
76
|
-
}
|
|
77
|
-
handleHistoryClick() {
|
|
78
|
-
this.showStockHistory = true;
|
|
79
|
-
}
|
|
80
|
-
handleCloseClick() {
|
|
81
|
-
this.onPopupClose();
|
|
82
|
-
}
|
|
83
|
-
handleStockTransferClick(event) {
|
|
84
|
-
this.transferIconClicked.emit(event);
|
|
85
|
-
}
|
|
86
|
-
handleBackToStockClick() {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
this.activeTab = this.tabs[0];
|
|
89
|
-
this.hideOrShowTabs = true;
|
|
90
|
-
this.hideOrShowLocationTab = false;
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
handleStickerClick() {
|
|
94
|
-
}
|
|
95
|
-
handleTransferClick() {
|
|
96
|
-
}
|
|
97
|
-
onOkClick() {
|
|
98
|
-
}
|
|
99
|
-
onCancelClick() {
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
StockInformationGridComponent.decorators = [
|
|
103
|
-
{ type: Component, args: [{
|
|
104
|
-
selector: "co-stock-information-grid",
|
|
105
|
-
template: `
|
|
106
|
-
<div class="tab-link show" *ngIf="hideOrShowTabs">
|
|
107
|
-
<span class="tab-link-buttons"
|
|
108
|
-
*ngFor="let tab of tabs"
|
|
109
|
-
(click)="handleTabClick(tab)"
|
|
110
|
-
[textContent]="tab"
|
|
111
|
-
[class.active]="tab === activeTab"
|
|
112
|
-
></span>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<div class="stock-line">
|
|
116
|
-
<div [textContent]="activeTabText"></div>
|
|
117
|
-
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
<div class="stock-grid">
|
|
121
|
-
<co-simple-grid *ngIf="activeTab === tabs[0] && hideOrShowTabs"
|
|
122
|
-
[data]="stockInformation"
|
|
123
|
-
>
|
|
124
|
-
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'warehouseNumber'"></co-simple-grid-column>
|
|
125
|
-
<co-simple-grid-column [headerText]="'DESCRIPTION'" [field]="'warehouseDescription'"></co-simple-grid-column>
|
|
126
|
-
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'"></co-simple-grid-column>
|
|
127
|
-
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK'" [field]="'amountAvailable'"></co-simple-grid-column>
|
|
128
|
-
<co-simple-grid-column [headerText]="'ECONOMICAL_STOCK'" [field]="'amountLaterAvailable'"></co-simple-grid-column>
|
|
129
|
-
<co-simple-grid-column [headerText]="'LOCATION'" [field]="'location'">
|
|
130
|
-
<ng-template let-row="row">
|
|
131
|
-
<a [textContent]="'bekijken'" (click)="onLocationClick($event)"></a>
|
|
132
|
-
</ng-template>
|
|
133
|
-
</co-simple-grid-column>
|
|
134
|
-
</co-simple-grid>
|
|
135
|
-
|
|
136
|
-
<co-simple-grid *ngIf="activeTab === tabs[1]"
|
|
137
|
-
[data]="inOrderInformation"
|
|
138
|
-
>
|
|
139
|
-
<co-simple-grid-column [headerText]="'IN_ORDER2'" [field]="'inOrder'"></co-simple-grid-column>
|
|
140
|
-
<co-simple-grid-column [headerText]="'CUSTOMER'" [field]="'customer'"></co-simple-grid-column>
|
|
141
|
-
<co-simple-grid-column [headerText]="'DATE'" [field]="'orderDate'"></co-simple-grid-column>
|
|
142
|
-
<co-simple-grid-column [headerText]="'AMOUNT'" [field]="'orderAmount'"></co-simple-grid-column>
|
|
143
|
-
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'warehouseNumber'"></co-simple-grid-column>
|
|
144
|
-
<co-simple-grid-column [headerText]="'DESCRIPTION'" [field]="'warehouseDescription'"></co-simple-grid-column>
|
|
145
|
-
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'"></co-simple-grid-column>
|
|
146
|
-
<co-simple-grid-column [headerText]="'COMMISSION2'" [field]="'commission'"></co-simple-grid-column>
|
|
147
|
-
<co-simple-grid-column [headerText]="'TRANSFER'" [field]="'transfer'">
|
|
148
|
-
<ng-template let-row="row">
|
|
149
|
-
|
|
150
|
-
</ng-template>
|
|
151
|
-
</co-simple-grid-column>
|
|
152
|
-
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
153
|
-
<ng-template let-row="row">
|
|
154
|
-
|
|
155
|
-
</ng-template>
|
|
156
|
-
</co-simple-grid-column>
|
|
157
|
-
</co-simple-grid>
|
|
158
|
-
|
|
159
|
-
<co-simple-grid *ngIf="activeTab === tabs[2]"
|
|
160
|
-
[data]="orderInformation"
|
|
161
|
-
>
|
|
162
|
-
<co-simple-grid-column [headerText]="'PURCHASE_ORDER_NR'" [field]="'purchaseOrderNo'"></co-simple-grid-column>
|
|
163
|
-
<co-simple-grid-column [headerText]="'DATE'" [field]="'orderDate'"></co-simple-grid-column>
|
|
164
|
-
<co-simple-grid-column [headerText]="'AMOUNT'" [field]="'orderAmount'"></co-simple-grid-column>
|
|
165
|
-
<co-simple-grid-column [headerText]="'RESERVED'" [field]="'reserved'"></co-simple-grid-column>
|
|
166
|
-
<co-simple-grid-column [headerText]="'FREE_STOCK'" [field]="'freeStock'"></co-simple-grid-column>
|
|
167
|
-
<co-simple-grid-column [headerText]="'DELIVERY_DATE1'" [field]="'deliveryDate'"></co-simple-grid-column>
|
|
168
|
-
<co-simple-grid-column [headerText]="'RESERVE'" [field]="'reservation'"></co-simple-grid-column>
|
|
169
|
-
</co-simple-grid>
|
|
170
|
-
</div>
|
|
171
|
-
|
|
172
|
-
<div class="stock-grid" *ngIf="hideOrShowLocationTab">
|
|
173
|
-
<div class="stock-location-group">
|
|
174
|
-
<div class="stock-location-left-group">
|
|
175
|
-
<span class="stock-button-back" [textContent]="'BACK_TO_STOCK_LINES'" (click)="handleBackToStockClick()"></span>
|
|
176
|
-
</div>
|
|
177
|
-
<div class="stock-location-right-group">
|
|
178
|
-
<co-input-combo-box [(model)]="dataWareHouseCode"
|
|
179
|
-
[fields]="dataWareHouseFields"
|
|
180
|
-
[placeholder]="'WAREHOUSE'"
|
|
181
|
-
[required]="true"
|
|
182
|
-
></co-input-combo-box>
|
|
183
|
-
</div>
|
|
184
|
-
</div>
|
|
185
|
-
|
|
186
|
-
<co-simple-grid [data]="stockLocationInformation"
|
|
187
|
-
>
|
|
188
|
-
<div class="stock-location-group">
|
|
189
|
-
<div class="stock-location-left-group">
|
|
190
|
-
<co-button class="stock-lines-button" [textContent]="'BACK_TO_STOCK_LINES'" (click)="handleBackToStockClick()"></co-button>
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
193
|
-
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'location'"></co-simple-grid-column>
|
|
194
|
-
<co-simple-grid-column [headerText]="'BATCH'" [field]="'batch'"></co-simple-grid-column>
|
|
195
|
-
<co-simple-grid-column [headerText]="'SERIAL_NO'" [field]="'serialNo'"></co-simple-grid-column>
|
|
196
|
-
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'"></co-simple-grid-column>
|
|
197
|
-
<co-simple-grid-column [headerText]="'ALLOCATED'" [field]="'allocated'"></co-simple-grid-column>
|
|
198
|
-
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK'" [field]="'amountAvailable'"></co-simple-grid-column>
|
|
199
|
-
<co-simple-grid-column [headerText]="'TRANSFER'" [field]="'transfer'">
|
|
200
|
-
<ng-template let-row="row">
|
|
201
|
-
<span [textContent]="'Transfer'" (click)="handleStockTransferClick($event)"></span>
|
|
202
|
-
</ng-template>
|
|
203
|
-
</co-simple-grid-column>
|
|
204
|
-
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
205
|
-
<ng-template let-row="row">
|
|
206
|
-
|
|
207
|
-
</ng-template>
|
|
208
|
-
</co-simple-grid-column>
|
|
209
|
-
</co-simple-grid>
|
|
210
|
-
</div>
|
|
211
|
-
|
|
212
|
-
<div class="stock-grid" *ngIf="showStockHistory">
|
|
213
|
-
<co-simple-grid [data]="stockHistoryInformation"
|
|
214
|
-
>
|
|
215
|
-
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'location'"></co-simple-grid-column>
|
|
216
|
-
<co-simple-grid-column [headerText]="'BATCH'" [field]="'batch'"></co-simple-grid-column>
|
|
217
|
-
<co-simple-grid-column [headerText]="'SERIAL_NO'" [field]="'serialNo'"></co-simple-grid-column>
|
|
218
|
-
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'"></co-simple-grid-column>
|
|
219
|
-
<co-simple-grid-column [headerText]="'ALLOCATED'" [field]="'allocated'"></co-simple-grid-column>
|
|
220
|
-
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK'" [field]="'amountAvailable'"></co-simple-grid-column>
|
|
221
|
-
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
222
|
-
<ng-template let-row="row">
|
|
223
|
-
|
|
224
|
-
</ng-template>
|
|
225
|
-
</co-simple-grid-column>
|
|
226
|
-
</co-simple-grid>
|
|
227
|
-
</div>
|
|
228
|
-
|
|
229
|
-
<div class="stock-button-toolbar">
|
|
230
|
-
<div class="stock-button-left-group">
|
|
231
|
-
<co-button [label]="'HISTORY'" (click)="handleHistoryClick()"></co-button>
|
|
232
|
-
</div>
|
|
233
|
-
<div class="stock-button-middle-group">
|
|
234
|
-
<div class="button-left">
|
|
235
|
-
<co-button [textContent]="'Ok'" (click)="onOkClick()"></co-button>
|
|
236
|
-
</div>
|
|
237
|
-
<div class="button-right">
|
|
238
|
-
<co-button [textContent]="'Annuleren'" (click)="onCancelClick()"></co-button>
|
|
239
|
-
</div>
|
|
240
|
-
</div>
|
|
241
|
-
</div>
|
|
242
|
-
`,
|
|
243
|
-
encapsulation: ViewEncapsulation.None
|
|
244
|
-
},] }
|
|
245
|
-
];
|
|
246
|
-
StockInformationGridComponent.ctorParameters = () => [
|
|
247
|
-
{ type: StockService }
|
|
248
|
-
];
|
|
249
|
-
StockInformationGridComponent.propDecorators = {
|
|
250
|
-
stock: [{ type: ViewChild, args: [StockInformationGridComponent,] }],
|
|
251
|
-
locationLineClicked: [{ type: Output }],
|
|
252
|
-
transferIconClicked: [{ type: Output }]
|
|
253
|
-
};
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQWdKNUQsTUFBTSxPQUFPLDZCQUE2QjtJQTZFeEMsWUFDVSxhQUEyQjtRQUEzQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXhFckIsd0JBQW1CLEdBQXFCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHM0Qsd0JBQW1CLEdBQXFCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Qsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFcEMsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFFL0IsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWxDLFNBQUksR0FBVTtZQUNuQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUM7U0FDZixDQUFDO1FBRUsscUJBQWdCLEdBQWE7WUFDbEMsRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztZQUM1SixFQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsb0JBQW9C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LElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLENBQUM7S0FBQTtJQUVNLGtCQUFrQjtJQUV6QixDQUFDO0lBRU0sbUJBQW1CO0lBRTFCLENBQUM7SUFFTSxTQUFTO0lBRWhCLENBQUM7SUFFTSxhQUFhO0lBRXBCLENBQUM7OztZQWpSRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlJVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBL0lPLFlBQVk7OztvQkFrSmpCLFNBQVMsU0FBQyw2QkFBNkI7a0NBR3ZDLE1BQU07a0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uLWdyaWRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRhYi1saW5rIHNob3dcIiAqbmdJZj1cImhpZGVPclNob3dUYWJzXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGFiLWxpbmstYnV0dG9uc1wiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUYWJDbGljayh0YWIpXCJcclxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRhYlwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiID09PSBhY3RpdmVUYWJcIlxyXG4gICAgICA+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWxpbmVcIj5cclxuICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiYWN0aXZlVGFiVGV4dFwiPjwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCI+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1swXSAmJiBoaWRlT3JTaG93VGFic1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlTnVtYmVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VEZXNjcmlwdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FWQUlMQUJMRV9TVE9DSydcIiBbZmllbGRdPVwiJ2Ftb3VudEF2YWlsYWJsZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0VDT05PTUlDQUxfU1RPQ0snXCIgW2ZpZWxkXT1cIidhbW91bnRMYXRlckF2YWlsYWJsZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb24nXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGEgW3RleHRDb250ZW50XT1cIidiZWtpamtlbidcIiAoY2xpY2spPVwib25Mb2NhdGlvbkNsaWNrKCRldmVudClcIj48L2E+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuXHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbk9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVIyJ1wiIFtmaWVsZF09XCInaW5PcmRlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidDVVNUT01FUidcIiBbZmllbGRdPVwiJ2N1c3RvbWVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RBVEUnXCIgW2ZpZWxkXT1cIidvcmRlckRhdGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQU1PVU5UJ1wiIFtmaWVsZF09XCInb3JkZXJBbW91bnQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlTnVtYmVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlRGVzY3JpcHRpb24nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0snXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NPTU1JU1NJT04yJ1wiIFtmaWVsZF09XCInY29tbWlzc2lvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidUUkFOU0ZFUidcIiBbZmllbGRdPVwiJ3RyYW5zZmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuXHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuXHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkICpuZ0lmPVwiYWN0aXZlVGFiID09PSB0YWJzWzJdXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIm9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUFVSQ0hBU0VfT1JERVJfTlInXCIgW2ZpZWxkXT1cIidwdXJjaGFzZU9yZGVyTm8nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREFURSdcIiBbZmllbGRdPVwiJ29yZGVyRGF0ZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnXCIgW2ZpZWxkXT1cIidvcmRlckFtb3VudCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidSRVNFUlZFRCdcIiBbZmllbGRdPVwiJ3Jlc2VydmVkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0ZSRUVfU1RPQ0snXCIgW2ZpZWxkXT1cIidmcmVlU3RvY2snXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVMSVZFUllfREFURTEnXCIgW2ZpZWxkXT1cIidkZWxpdmVyeURhdGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUkVTRVJWRSdcIiBbZmllbGRdPVwiJ3Jlc2VydmF0aW9uJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIiAqbmdJZj1cImhpZGVPclNob3dMb2NhdGlvblRhYlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdG9jay1idXR0b24tYmFja1wiIFt0ZXh0Q29udGVudF09XCInQkFDS19UT19TVE9DS19MSU5FUydcIiAoY2xpY2spPVwiaGFuZGxlQmFja1RvU3RvY2tDbGljaygpXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1sb2NhdGlvbi1yaWdodC1ncm91cFwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveCBbKG1vZGVsKV09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YVdhcmVIb3VzZUZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwic3RvY2tMb2NhdGlvbkluZm9ybWF0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1sb2NhdGlvbi1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInN0b2NrLWxpbmVzLWJ1dHRvblwiIFt0ZXh0Q29udGVudF09XCInQkFDS19UT19TVE9DS19MSU5FUydcIiAoY2xpY2spPVwiaGFuZGxlQmFja1RvU3RvY2tDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidXQVJFSE9VU0UnXCIgW2ZpZWxkXT1cIidsb2NhdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidCQVRDSCdcIiBbZmllbGRdPVwiJ2JhdGNoJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTydcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTExPQ0FURUQnXCIgW2ZpZWxkXT1cIidhbGxvY2F0ZWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50QXZhaWxhYmxlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1RSQU5TRkVSJ1wiIFtmaWVsZF09XCIndHJhbnNmZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInVHJhbnNmZXInXCIgKGNsaWNrKT1cImhhbmRsZVN0b2NrVHJhbnNmZXJDbGljaygkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVElDS0VSJ1wiIFtmaWVsZF09XCInc3RpY2tlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcblxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCIgKm5nSWY9XCJzaG93U3RvY2tIaXN0b3J5XCI+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJzdG9ja0hpc3RvcnlJbmZvcm1hdGlvblwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidXQVJFSE9VU0UnXCIgW2ZpZWxkXT1cIidsb2NhdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidCQVRDSCdcIiBbZmllbGRdPVwiJ2JhdGNoJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTydcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTExPQ0FURUQnXCIgW2ZpZWxkXT1cIidhbGxvY2F0ZWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50QXZhaWxhYmxlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuXHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi10b29sYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidISVNUT1JZJ1wiIChjbGljayk9XCJoYW5kbGVIaXN0b3J5Q2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1taWRkbGUtZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWxlZnRcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidPaydcIiAoY2xpY2spPVwib25Pa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInQW5udWxlcmVuJ1wiIChjbGljayk9XCJvbkNhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50IHtcclxuXHJcbiAgQFZpZXdDaGlsZChTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudClcclxuICBwdWJsaWMgc3RvY2s6IFN0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25MaW5lQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBNQVhfR1JJRF9ST1dTOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RhdHVzOiBzdHJpbmcgPSBcIm1lZGl1bVwiO1xyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVPclNob3dMb2NhdGlvblRhYjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93U3RvY2tIaXN0b3J5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkYXRhOiBhbnlbXSA9IFtcclxuICAgIHt0ZXN0OiBcInRlc3RcIn1cclxuICBdO1xyXG5cclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogT2JqZWN0W10gPSBbXHJcbiAgICB7d2FyZWhvdXNlTnVtYmVyOiBcIjFcIiwgd2FyZWhvdXNlRGVzY3JpcHRpb246IFwiQ29saWpuIElUIFdhcmVob3VzZVwiLCBhbW91bnRJblN0b2NrOiBcIjE3XCIsIGFtb3VudEF2YWlsYWJsZTogXCIxM1wiLCBhbW91bnRMYXRlckF2YWlsYWJsZTogXCI0XCIsIGxvY2F0aW9uOiBcInRlc3RcIn0sXHJcbiAgICB7d2FyZWhvdXNlTnVtYmVyOiBcIjJcIiwgd2FyZWhvdXNlRGVzY3JpcHRpb246IFwiQ29saWpuIElUIFdhcmVob3VzZVwiLCBhbW91bnRJblN0b2NrOiBcIjE3XCIsIGFtb3VudEF2YWlsYWJsZTogXCIxM1wiLCBhbW91bnRMYXRlckF2YWlsYWJsZTogXCI0XCIsIGxvY2F0aW9uOiBcIlRlc3QgbnVtbWVyIDJcIn0sXHJcbiAgICB7d2FyZWhvdXNlTnVtYmVyOiBcIjNcIiwgd2FyZWhvdXNlRGVzY3JpcHRpb246IFwiQ29saWpuIElUIFdhcmVob3VzZVwiLCBhbW91bnRJblN0b2NrOiBcIjE3XCIsIGFtb3VudEF2YWlsYWJsZTogXCIxM1wiLCBhbW91bnRMYXRlckF2YWlsYWJsZTogXCI0XCIsIGxvY2F0aW9uOiBcIkFtdW5kc2Vud2VnXCJ9LFxyXG4gIF07XHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25JbmZvcm1hdGlvbjogT2JqZWN0W10gPSBbXHJcbiAgICB7bG9jYXRpb246IFwidGl0bGUgMVwiLCBiYXRjaDogXCIxXCIsIHNlcmlhbE5vOiBcIjFcIiwgYW1vdW50SW5TdG9jazogXCIxXCIsIGFsbG9jYXRlZDogXCIxXCIsIGFtb3VudEF2YWlsYWJsZTogXCIxXCJ9LFxyXG4gICAge2xvY2F0aW9uOiBcInRpdGxlIDJcIiwgYW1vdW50SW5TdG9jazogXCIyXCJ9LFxyXG4gICAge2xvY2F0aW9uOiBcInRpdGxlIDNcIiwgYW1vdW50SW5TdG9jazogXCIzXCJ9LFxyXG4gICAge2xvY2F0aW9uOiBcInRpdGxlIDRcIiwgYW1vdW50SW5TdG9jazogXCI0XCJ9LFxyXG4gICAge2xvY2F0aW9uOiBcInRpdGxlIDVcIiwgYW1vdW50SW5TdG9jazogXCI1XCJ9LFxyXG4gIF07XHJcbiAgcHVibGljIGluT3JkZXJJbmZvcm1hdGlvbjogT2JqZWN0W10gPSBbXHJcbiAgICB7aW5PcmRlcjogXCIyNzU0MzJcIiwgY3VzdG9tZXI6IFwiVGVzdCBjdXN0b21lclwiLCBvcmRlckRhdGU6IFwiZGF0ZVwiLCBvcmRlckFtb3VudDogXCIyXCIsIHdhcmVob3VzZU51bWJlcjogXCI4XCIsIHdhcmVob3VzZURlc2NyaXB0aW9uOiBcIkEgbmljZSB3YXJlaG91c2VcIiwgYW1vdW50SW5TdG9jazogXCIxN1wiLCBjb21taXNzaW9uOiBcIjQwMTQzMjFcIn0sXHJcbiAgICB7aW5PcmRlcjogXCIyNzU0MzJcIiwgY3VzdG9tZXI6IFwiVGVzdCBjdXN0b21lclwiLCBvcmRlckRhdGU6IFwiZGF0ZVwiLCBvcmRlckFtb3VudDogXCIyXCIsIHdhcmVob3VzZU51bWJlcjogXCI4XCIsIHdhcmVob3VzZURlc2NyaXB0aW9uOiBcIkEgbmljZSB3YXJlaG91c2VcIiwgYW1vdW50SW5TdG9jazogXCIxN1wiLCBjb21taXNzaW9uOiBcIjQwMTQzMjFcIn0sXHJcbiAgICB7aW5PcmRlcjogXCIyNzU0MzJcIiwgY3VzdG9tZXI6IFwiVGVzdCBjdXN0b21lclwiLCBvcmRlckRhdGU6IFwiZGF0ZVwiLCBvcmRlckFtb3VudDogXCIyXCIsIHdhcmVob3VzZU51bWJlcjogXCI4XCIsIHdhcmVob3VzZURlc2NyaXB0aW9uOiBcIkEgbmljZSB3YXJlaG91c2VcIiwgYW1vdW50SW5TdG9jazogXCIxN1wiLCBjb21taXNzaW9uOiBcIjQwMTQzMjFcIn0sXHJcbiAgICB7aW5PcmRlcjogXCIyNzU0MzJcIiwgY3VzdG9tZXI6IFwiVGVzdCBjdXN0b21lclwiLCBvcmRlckRhdGU6IFwiZGF0ZVwiLCBvcmRlckFtb3VudDogXCIyXCIsIHdhcmVob3VzZU51bWJlcjogXCI4XCIsIHdhcmVob3VzZURlc2NyaXB0aW9uOiBcIkEgbmljZSB3YXJlaG91c2VcIiwgYW1vdW50SW5TdG9jazogXCIxN1wiLCBjb21taXNzaW9uOiBcIjQwMTQzMjFcIn0sXHJcbiAgICB7aW5PcmRlcjogXCIyNzU0MzJcIiwgY3VzdG9tZXI6IFwiVGVzdCBjdXN0b21lclwiLCBvcmRlckRhdGU6IFwiZGF0ZVwiLCBvcmRlckFtb3VudDogXCIyXCIsIHdhcmVob3VzZU51bWJlcjogXCI4XCIsIHdhcmVob3VzZURlc2NyaXB0aW9uOiBcIkEgbmljZSB3YXJlaG91c2VcIiwgYW1vdW50SW5TdG9jazogXCIxN1wiLCBjb21taXNzaW9uOiBcIjQwMTQzMjFcIn0sXHJcbiAgXTtcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IE9iamVjdFtdID0gW1xyXG5cclxuICBdO1xyXG4gIHB1YmxpYyBvcmRlckluZm9ybWF0aW9uOiBhbnlbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc3RvY2tDb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja0xvY2F0aW9uQ29sdW1uczogYW55W10gPSBbXTtcclxuICBwdWJsaWMgaW5PcmRlckNvbHVtbnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIG9yZGVyQ29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgcHVibGljIGhpZGVPclNob3dUYWJzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VDb2RlOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlRmllbGRzOiBPYmplY3QgPSB7IHRleHQ6IFwid2FyZWhvdXNlRGVzY3JpcHRpb25cIiwgdmFsdWU6IFwid2FyZWhvdXNlTnVtYmVyXCIgfTtcclxuXHJcbiAgcHVibGljIHRhYnM6IHN0cmluZ1tdID0gW1xyXG4gICAgXCJTVE9DS1wiLFxyXG4gICAgXCJJTl9PUkRFUjJcIixcclxuICAgIFwiT1JERVJTMVwiXHJcbiAgXTtcclxuICBwdWJsaWMgYWN0aXZlVGFiOiBzdHJpbmcgPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVRhYikge1xyXG4gICAgICBjYXNlIHRoaXMudGFic1swXTpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZHJlZ2Vsc1wiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1sxXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBvcmRlcihzKVwiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1syXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBiZXN0ZWxsaW5nZW5cIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZGxvY2F0aWUgcmVnZWxzXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGFiQ2xpY2sodGFiRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWJEYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5sb2NhdGlvbkxpbmVDbGlja2VkLmVtaXQoZXZlbnRbMF0ubG9jYXRpb24pO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IGZhbHNlO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93TG9jYXRpb25UYWIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUm93Q2xpY2soYXJnczogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Qb3B1cENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSGlzdG9yeUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tIaXN0b3J5ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbG9zZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblBvcHVwQ2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVCYWNrVG9TdG9ja0NsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0aGlzLnRhYnNbMF07XHJcbiAgICB0aGlzLmhpZGVPclNob3dUYWJzID0gdHJ1ZTtcclxuICAgIHRoaXMuaGlkZU9yU2hvd0xvY2F0aW9uVGFiID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUcmFuc2ZlckNsaWNrKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9rQ2xpY2soKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
|