valtech-components 4.0.1000 → 4.0.1002
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/esm2022/lib/components/organisms/field-schema-editor/field-schema-editor.i18n.mjs +3 -1
- package/esm2022/lib/components/organisms/form/form.component.mjs +34 -2
- package/esm2022/lib/components/organisms/survey-builder/types.mjs +2 -1
- package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +20 -29
- package/esm2022/lib/components/organisms/survey-response/survey-response.i18n.mjs +5 -3
- package/esm2022/lib/components/types.mjs +3 -1
- package/esm2022/lib/services/forms/form-schema-builder.service.mjs +14 -1
- package/esm2022/lib/services/forms/types.mjs +1 -1
- package/esm2022/lib/shared/utils/form-defaults.mjs +3 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +76 -32
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/article/article.component.d.ts +1 -3
- package/lib/components/organisms/form/form.component.d.ts +3 -0
- package/lib/components/organisms/survey-response/survey-response.component.d.ts +1 -0
- package/lib/components/types.d.ts +15 -1
- package/lib/services/forms/types.d.ts +12 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -30,6 +30,7 @@ const NAMESPACE = 'SurveyResponse';
|
|
|
30
30
|
const INVITE_USED_CODE = 'SURVEY_INVITE_ALREADY_USED';
|
|
31
31
|
/** Tipos cuya respuesta es un booleano, no un texto. */
|
|
32
32
|
const BOOLEAN_TYPES = ['CHECK', 'TOGGLE'];
|
|
33
|
+
const DEFAULT_SUCCESS_IMAGE = 'data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 220%22 role=%22img%22 aria-label=%22Success%22%3E%3Crect width=%22320%22 height=%22220%22 rx=%2232%22 fill=%22%23fff5fb%22/%3E%3Ccircle cx=%22160%22 cy=%2294%22 r=%2256%22 fill=%22%23f900b2%22/%3E%3Cpath d=%22M132 94.5 153.5 116 191 77%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%2214%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M92 168h136%22 stroke=%22%232b2836%22 stroke-width=%2210%22 stroke-linecap=%22round%22 opacity=%22.16%22/%3E%3Cpath d=%22M116 187h88%22 stroke=%22%232b2836%22 stroke-width=%228%22 stroke-linecap=%22round%22 opacity=%22.12%22/%3E%3C/svg%3E';
|
|
33
34
|
/**
|
|
34
35
|
* val-survey-response
|
|
35
36
|
*
|
|
@@ -101,14 +102,10 @@ export class SurveyResponseComponent {
|
|
|
101
102
|
});
|
|
102
103
|
this.successPresentation = computed(() => {
|
|
103
104
|
const cfg = this.typeConfig();
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
const imageUrl = cfg.presentation.successImageUrl?.trim() || '';
|
|
109
|
-
if (!cfg.presentation.successTitle && !cfg.presentation.successMessage && !imageUrl)
|
|
110
|
-
return null;
|
|
111
|
-
return { title, message, imageUrl };
|
|
105
|
+
const title = cfg?.presentation?.successTitle?.trim() || this.t('sentTitle');
|
|
106
|
+
const message = cfg?.presentation?.successMessage?.trim() || this.t('sentBody');
|
|
107
|
+
const imageUrl = cfg?.presentation?.successImageUrl?.trim() || DEFAULT_SUCCESS_IMAGE;
|
|
108
|
+
return { title, message, imageUrl, closeNote: this.t('sentCloseNote') };
|
|
112
109
|
});
|
|
113
110
|
this.loadErrorState = computed(() => {
|
|
114
111
|
this.i18n.lang();
|
|
@@ -313,19 +310,16 @@ export class SurveyResponseComponent {
|
|
|
313
310
|
} @else if (alreadyAnswered()) {
|
|
314
311
|
<val-empty-state [props]="alreadyAnsweredState()" />
|
|
315
312
|
} @else if (sent()) {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
320
|
-
}
|
|
313
|
+
<section class="survey-response survey-response__success" aria-live="polite">
|
|
314
|
+
@if (successPresentation(); as success) {
|
|
315
|
+
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
321
316
|
<val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
|
|
322
317
|
@if (success.message) {
|
|
323
318
|
<val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
|
|
324
319
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
320
|
+
<p class="survey-response__success-note">{{ success.closeNote }}</p>
|
|
321
|
+
}
|
|
322
|
+
</section>
|
|
329
323
|
} @else {
|
|
330
324
|
@if (typeConfig(); as cfg) {
|
|
331
325
|
@if (!canRespond()) {
|
|
@@ -365,7 +359,7 @@ export class SurveyResponseComponent {
|
|
|
365
359
|
}
|
|
366
360
|
}
|
|
367
361
|
}
|
|
368
|
-
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
|
|
362
|
+
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
|
|
369
363
|
}
|
|
370
364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyResponseComponent, decorators: [{
|
|
371
365
|
type: Component,
|
|
@@ -393,19 +387,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
393
387
|
} @else if (alreadyAnswered()) {
|
|
394
388
|
<val-empty-state [props]="alreadyAnsweredState()" />
|
|
395
389
|
} @else if (sent()) {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
400
|
-
}
|
|
390
|
+
<section class="survey-response survey-response__success" aria-live="polite">
|
|
391
|
+
@if (successPresentation(); as success) {
|
|
392
|
+
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
401
393
|
<val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
|
|
402
394
|
@if (success.message) {
|
|
403
395
|
<val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
|
|
404
396
|
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}
|
|
397
|
+
<p class="survey-response__success-note">{{ success.closeNote }}</p>
|
|
398
|
+
}
|
|
399
|
+
</section>
|
|
409
400
|
} @else {
|
|
410
401
|
@if (typeConfig(); as cfg) {
|
|
411
402
|
@if (!canRespond()) {
|
|
@@ -445,7 +436,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
445
436
|
}
|
|
446
437
|
}
|
|
447
438
|
}
|
|
448
|
-
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
|
|
439
|
+
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
|
|
449
440
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
450
441
|
type: Input
|
|
451
442
|
}], submitted: [{
|
|
@@ -454,4 +445,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
454
445
|
type: ViewChild,
|
|
455
446
|
args: [FormComponent]
|
|
456
447
|
}] } });
|
|
457
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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QUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBZ0NELENBQUMsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F6UlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0xBR3ZCLGFBQWEsZ0RBM0dkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQsMHFCQTVFQyxZQUFZLDhCQUNaLG1CQUFtQiwrQkFDbkIsZ0JBQWdCLDJFQUNoQixjQUFjLHlFQUNkLGtCQUFrQix3RkFTbEIsbUJBQW1CLCtFQUNuQixhQUFhOzs0RkEwR0osdUJBQXVCO2tCQTVIbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDt3REE2Q1EsS0FBSztzQkFBYixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLE1BQU07Z0JBQzJCLGFBQWE7c0JBQTlDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdHMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkU2NoZW1hRGVmLCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORywgUmVxdWVzdFR5cGVDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy90eXBlcyc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy9pbnRlcnByZXQtZXJyb3InO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dGFyZWEtaW5wdXQvdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtb2ppUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZW1vamktcmF0aW5nL2Vtb2ppLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcbmltcG9ydCB7IFN1cnZleVJlc3BvbnNlTWV0YWRhdGEsIFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNVUlZFWV9SRVNQT05TRV9JMThOIH0gZnJvbSAnLi9zdXJ2ZXktcmVzcG9uc2UuaTE4bic7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlSZXNwb25zZSc7XG5cbi8qKiBDb2RlIGRlbCBiYWNrZW5kIGN1YW5kbyBsYSBpbnZpdGFjacOzbiBkZSBlc2EgcGVyc29uYSB5YSBzZSByZXNwb25kacOzLiAqL1xuY29uc3QgSU5WSVRFX1VTRURfQ09ERSA9ICdTVVJWRVlfSU5WSVRFX0FMUkVBRFlfVVNFRCc7XG5cbi8qKiBUaXBvcyBjdXlhIHJlc3B1ZXN0YSBlcyB1biBib29sZWFubywgbm8gdW4gdGV4dG8uICovXG5jb25zdCBCT09MRUFOX1RZUEVTID0gWydDSEVDSycsICdUT0dHTEUnXTtcblxuLyoqXG4gKiB2YWwtc3VydmV5LXJlc3BvbnNlXG4gKlxuICogVG9tYSB1bmEgZW5jdWVzdGEgKGBSZXF1ZXN0VHlwZUNvbmZpZ2AgY29uIGBUeXBlOiBcInN1cnZleTo8c2x1Zz5cImAsIEFEUi0wOTIpXG4gKiB5IGxhIHByZXNlbnRhIGNvbW8gZm9ybXVsYXJpbyBkZSByZXNwdWVzdGEg4oCUIGVsIG9yZ2FuaXNtIHF1ZSB1biB2aXNpdGFudGVcbiAqIHZlIGFsIGFicmlyIGVsIGxpbmsgZGUgdW5hIGVuY3Vlc3RhLiBTZWxmLWNvbnRhaW5lZCwgaWd1YWwgcXVlXG4gKiBgdmFsLWNvbnRlbnQtcmVhY3Rpb25gL2B2YWwtYWNjZXNzLXJlcXVlc3Qtdmlld2A6IGxlZSBlbCB0aXBvLCBhcm1hIGVsXG4gKiBmb3JtdWxhcmlvLCBlbnbDrWEgbGEgcmVzcHVlc3RhLCBzaW4gcXVlIGVsIGNvbnN1bWVyIHRlbmdhIHF1ZSBvcnF1ZXN0YXJcbiAqIG5hZGEgZGUgZXNvLlxuICpcbiAqIFNvbG8gbGVlIHRpcG9zIGB2aXNpYmlsaXR5OiAnUFVCTElDJ2AgKHbDrWEgYGdldFB1YmxpY1JlcXVlc3RUeXBlYCwgc2luXG4gKiBhdXRoKSDigJQgZXMgZWwgY2FzbyBkZSB1c28gcXVlIGRlc2NyaWJlIGVsIEFEUiAobGluayBlbnZpYWRvIGEgY29tcHJhZG9yZXMsXG4gKiBxdWUgcHVlZGVuIG5vIHRlbmVyIGN1ZW50YSkuIEVuY3Vlc3RhcyBBVVRIRU5USUNBVEVEL09SRy9JTlRFUk5BTCBlc3TDoW5cbiAqIGZ1ZXJhIGRlIGFsY2FuY2UgZGUgZXN0ZSBjb21wb25lbnRlIHBvciBhaG9yYS5cbiAqXG4gKiBDYWRhIHByZWd1bnRhIHNlIHJlbmRlcml6YSBzZWfDum4gc3UgYEZpZWxkU2NoZW1hRGVmLnR5cGVgOiBgRU1PSklfUkFUSU5HYFxuICogdXNhIGB2YWwtZW1vamktcmF0aW5nYCAoTlVOQ0EgcGFzYSBwb3IgYHZhbC1mb3JtYCwgbm8gbG8gc2FiZSBydXRlYXIpO1xuICogY3VhbHF1aWVyIG90cm8gdGlwbyAodjE6IHNvbG8gYFRFWFRBUkVBYCkgdXNhIGB2YWwtdGV4dGFyZWEtaW5wdXRgLiBObyBoYXlcbiAqIGB2YWwtZm9ybWAgZGUgcG9yIG1lZGlvIOKAlCB1biBGb3JtR3JvdXAgYXJtYWRvIGEgbWFubywgcG9ycXVlIG1lemNsYXIgdGlwb3NcbiAqIGN1c3RvbSBjb24gZWwgZm9ybSBnZW7DqXJpY28gZXMgbcOhcyBjb21wbGljYWRvIHF1ZSBjb25zdHJ1aXIgZWwgcHJvcGlvLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc3VydmV5LXJlc3BvbnNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG4gICAgUmFkaW9JbnB1dENvbXBvbmVudCxcbiAgICBDaGVja0lucHV0Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIEVtb2ppUmF0aW5nQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIEZvcm1Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX2xvYWRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cbiAgICB9IEBlbHNlIGlmIChsb2FkRXJyb3IoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9hZEVycm9yU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoYWxyZWFkeUFuc3dlcmVkKCkpIHtcbiAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cImFscmVhZHlBbnN3ZXJlZFN0YXRlKClcIiAvPlxuICAgIH0gQGVsc2UgaWYgKHNlbnQoKSkge1xuICAgICAgQGlmIChzdWNjZXNzUHJlc2VudGF0aW9uKCk7IGFzIHN1Y2Nlc3MpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2Ugc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAgQGlmIChzdWNjZXNzLmltYWdlVXJsKSB7XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlXCIgW3NyY109XCJzdWNjZXNzLmltYWdlVXJsXCIgW2FsdF09XCJzdWNjZXNzLnRpdGxlXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHN1Y2Nlc3MudGl0bGUsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICAgICAgQGlmIChzdWNjZXNzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogc3VjY2Vzcy5tZXNzYWdlLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cInNlbnRTdGF0ZSgpXCIgLz5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAodHlwZUNvbmZpZygpOyBhcyBjZmcpIHtcbiAgICAgICAgQGlmICghY2FuUmVzcG9uZCgpKSB7XG4gICAgICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9naW5SZXF1aXJlZFN0YXRlKClcIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXJlc3BvbnNlXCI+XG4gICAgICAgICAgICBAaWYgKGNmZy5wcmVzZW50YXRpb24/LmhlYWRlckltYWdlVXJsKSB7XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX2hlYWRlci1pbWFnZVwiIFtzcmNdPVwiY2ZnLnByZXNlbnRhdGlvbj8uaGVhZGVySW1hZ2VVcmxcIiBbYWx0XT1cImNmZy5sYWJlbFwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogY2ZnLmxhYmVsLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICAgICAgQGlmIChjZmcuc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBjZmcuc3VidGl0bGUsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gU29sbyBzaSBlbCBUSVBPIGxvIGV4aWdlIChza2lwU3VibWl0dGVySWRlbnRpdHkgYXVzZW50ZS9mYWxzZSkuXG4gICAgICAgICAgICAgICAgIFVuYSBlbmN1ZXN0YSBsbyBwb25lIGVuIHRydWUgeSBhY8OhIG5vIHNlIHBpZGUgbmFkYTogc2kgZWxcbiAgICAgICAgICAgICAgICAgZm9ybXVsYXJpbyBsb3MgZXhpZ2llcmEgaWd1YWwsIHF1ZWRhcsOtYW4gcmVxdWVyaWRvcyBlXG4gICAgICAgICAgICAgICAgIGludmlzaWJsZXMgeSBlbCBlbnbDrW8gc2UgYmxvcXVlYXLDrWEgc2luIG1vdGl2byBhIGxhIHZpc3RhLiAtLT5cbiAgICAgICAgICAgIEBpZiAobmVlZHNJZGVudGl0eSgpKSB7XG4gICAgICAgICAgICAgIDx2YWwtdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7IGNvbnRyb2w6IG5hbWVDb250cm9sLCBsYWJlbDogdCgnbmFtZUxhYmVsJyksIHBsYWNlaG9sZGVyOiB0KCduYW1lUGxhY2Vob2xkZXInKSB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGVtYWlsQ29udHJvbCxcbiAgICAgICAgICAgICAgICAgIGlucHV0VHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB0KCdlbWFpbExhYmVsJyksXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogdCgnZW1haWxQbGFjZWhvbGRlcicpLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGZvcm1Qcm9wcygpOyBhcyBwcm9wcykge1xuICAgICAgICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cInByb3BzXCIgKG9uU3VibWl0KT1cInN1Ym1pdCgkZXZlbnQpXCIgKG9uSW52YWxpZCk9XCJtYXJrSW52YWxpZCgpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19oZWFkZXItaW1hZ2UsXG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9faGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19sb2FkaW5nIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5UmVzcG9uc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wcyE6IFN1cnZleVJlc3BvbnNlTWV0YWRhdGE7XG4gIEBPdXRwdXQoKSByZWFkb25seSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQ+KCk7XG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudCkgcHJpdmF0ZSBmb3JtQ29tcG9uZW50PzogRm9ybUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RzID0gaW5qZWN0KFJlcXVlc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBlbW9qaVR5cGUgPSBGSUVMRF9UWVBFX0VNT0pJX1JBVElORztcbiAgcmVhZG9ubHkgc2VsZWN0VHlwZSA9IElucHV0VHlwZS5TRUxFQ1Q7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VudCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbmRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSB0eXBlQ29uZmlnID0gc2lnbmFsPFJlcXVlc3RUeXBlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgbmFtZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGVtYWlsQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKE5BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKE5BTUVTUEFDRSwgU1VSVkVZX1JFU1BPTlNFX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlcXVlc3RzLmdldFB1YmxpY1JlcXVlc3RUeXBlKHRoaXMucHJvcHMudHlwZUlkKSk7XG4gICAgICB0aGlzLnR5cGVDb25maWcuc2V0KGNmZyk7XG4gICAgICB0aGlzLmJ1aWxkQ29tcGF0aWJpbGl0eUZvcm0oY2ZnKTtcbiAgICAgIHRoaXMuY29uZmlndXJlSWRlbnRpdHkoY2ZnKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMubG9hZEVycm9yLnNldCh0cnVlKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVJZGVudGl0eShjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmVlZHNJZGVudGl0eUZvcihjZmcpKSB7XG4gICAgICAvLyBzZXRWYWxpZGF0b3JzIHBvciBzw60gc29sbyBubyByZWNhbGN1bGEgZWwgc3RhdHVzIGRlbCBjb250cm9sIOKAlCBzaW4gZWxcbiAgICAgIC8vIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSBkZSBhbCBsYWRvLCBuYW1lL2VtYWlsIHF1ZWRhYmFuIFZBTElEIGhhc3RhXG4gICAgICAvLyBlbCBwcsOzeGltbyBjYW1iaW8gZGUgdmFsb3IsIHkgc3VibWl0KCkgZGVqYWJhIHBhc2FyIHVuIGVudsOtbyBhbsOzbmltb1xuICAgICAgLy8gc2luIGlkZW50aWRhZC5cbiAgICAgIHRoaXMubmFtZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgdGhpcy5uYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbXBhdGliaWxpdHlGb3JtKGNmZzogUmVxdWVzdFR5cGVDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cDogUmVjb3JkPHN0cmluZywgRm9ybUNvbnRyb2w+ID0ge307XG4gICAgZm9yIChjb25zdCBxIG9mIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpKSB7XG4gICAgICBjb25zdCBpbml0aWFsID0gcS50eXBlID09PSAnTVVMVElfU0VMRUNUX1NJTVBMRScgPyBbXSA6IHEudHlwZSA9PT0gJ1RPR0dMRScgPyBmYWxzZSA6ICcnO1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHEucmVxdWlyZWQgJiYgcS50eXBlICE9PSAnVE9HR0xFJyA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuICAgICAgZ3JvdXBbcS5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChpbml0aWFsLCB2YWxpZGF0b3JzKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChncm91cCk7XG4gIH1cblxuICByZWFkb25seSBmb3JtUHJvcHMgPSBjb21wdXRlZDxGb3JtTWV0YWRhdGEgfCBudWxsPigoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TY2hlbWFzLmJ1aWxkRm9ybShcbiAgICAgIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpLFxuICAgICAgTkFNRVNQQUNFLFxuICAgICAgJycsXG4gICAgICAnc3VibWl0JyxcbiAgICAgIHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uZm9ybSwgc2hvd0RpdmlkZXJzOiBmYWxzZSwgZmllbGRTcGFjaW5nOiAxNiB9O1xuICB9KTtcblxuICAvKiogUHJlZ3VudGFzIG9yZGVuYWRhcywgZXhwdWVzdGFzIHBhcmEgdGVzdHMvaG9zdHMgcXVlIGluc3BlY2Npb25hbiBlbCBzY2hlbWEgcmVzdWVsdG8uICovXG4gIHJlYWRvbmx5IHF1ZXN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICByZXR1cm4gY2ZnID8gWy4uLmNmZy5maWVsZFNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpIDogW107XG4gIH0pO1xuXG4gIHF1ZXN0aW9uQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0KG5hbWUpID8/IHRoaXMuZm9ybS5nZXQobmFtZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgb3B0aW9uc09mKHE6IHsgb3B0aW9ucz86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBvcmRlcj86IG51bWJlciB9W10gfSk6IElucHV0T3B0aW9uW10ge1xuICAgIHJldHVybiBbLi4uKHEub3B0aW9ucyA/PyBbXSldXG4gICAgICAubWFwKChvLCBpbmRleCkgPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgPz8gaW5kZXggfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG5cbiAgaW5wdXRUeXBlT2YodHlwZTogc3RyaW5nKTogJ3RleHQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnRU1BSUwnOlxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcbiAgICAgIGNhc2UgJ05VTUJFUic6XG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgIGNhc2UgJ1BIT05FJzpcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1cnZleVNjaGVtYUZvckZvcm0oc2NoZW1hOiBGaWVsZFNjaGVtYURlZltdKTogRmllbGRTY2hlbWFEZWZbXSB7XG4gICAgcmV0dXJuIHNjaGVtYS5tYXAocSA9PiB7XG4gICAgICBpZiAocS50eXBlID09PSAnTVVMVElfU0VMRUNUJykge1xuICAgICAgICByZXR1cm4geyAuLi5xLCB0eXBlOiAnTVVMVElfU0VMRUNUX1NJTVBMRScsIHZhbHVlOiBbXSB9O1xuICAgICAgfVxuICAgICAgaWYgKEJPT0xFQU5fVFlQRVMuaW5jbHVkZXMocS50eXBlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnEsXG4gICAgICAgICAgdHlwZTogJ1RPR0dMRScsXG4gICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IChxLnZhbGlkYXRvcnMgPz8gW10pLmZpbHRlcih2ID0+IHYgIT09ICdyZXF1aXJlZCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHE7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUHVlZGUgcmVzcG9uZGVyIHNpbiBzZXNpw7NuIHNpIGVsIHRpcG8gbG8gcGVybWl0ZTsgc2kgbm8sIGhhY2UgZmFsdGEgbG9naW4uICovXG4gIHJlYWRvbmx5IGNhblJlc3BvbmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICEhdGhpcy50eXBlQ29uZmlnKCk/LmFsbG93QW5vbnltb3VzO1xuICB9KTtcblxuICAvKipcbiAgICogRWwgdGlwbyBwdWVkZSBzZWd1aXIgZXhpZ2llbmRvIGlkZW50aWRhZCBhbCBhbsOzbmltbyAoYHNraXBTdWJtaXR0ZXJJZGVudGl0eWBcbiAgICogYXVzZW50ZSBvIGZhbHNlKTogZXMgZWwgY2FzbyBkZSBsYXMgc29saWNpdHVkZXMgZGUgQ2hlc2VkL09raGVsaWEsIGRvbmRlXG4gICAqIHNhYmVyIHF1acOpbiBwaWRpw7MgRVMgZWwgcHVudG8uIFVuYSBlbmN1ZXN0YSBwb25lIGVsIGZsYWcgZW4gdHJ1ZSB5IGVudG9uY2VzXG4gICAqIG5vIHNlIHBpZGUgbmFkYSDigJQgc2kgbGEgb3JnYW5pemFjacOzbiBuZWNlc2l0YSBlbCBjb3JyZW8gZGUgcXVpZW4gcmVzcG9uZGUsXG4gICAqIGxvIGFncmVnYSBjb21vIHVuYSBQUkVHVU5UQSBkZSB0aXBvIENvcnJlby4gRXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhOyBlbCBmb3JtdWxhcmlvIG5vIGNvYnJhIHBlYWplIHBvciBzdSBjdWVudGEuXG4gICAqL1xuICBuZWVkc0lkZW50aXR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIXRoaXMudHlwZUNvbmZpZygpPy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICBwcml2YXRlIG5lZWRzSWRlbnRpdHlGb3IoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIWNmZy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICByZWFkb25seSBzdWJtaXRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlbmRpbmcoKSA/ICdXT1JLSU5HJyA6ICdFTkFCTEVEJykpO1xuXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0RXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbkNvbnRyb2xNZW1vID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPGJvb2xlYW4+PigpO1xuXG4gIG9wdGlvbkNvbnRyb2wobmFtZTogc3RyaW5nLCBvcHRpb25JZDogc3RyaW5nKTogRm9ybUNvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke25hbWV9Ojoke29wdGlvbklkfWA7XG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLm9wdGlvbkNvbnRyb2xNZW1vLmdldChrZXkpO1xuICAgIGlmIChjb250cm9sKSByZXR1cm4gY29udHJvbDtcbiAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjb21wYXRpYmlsaXR5Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjdXJyZW50ID0gQXJyYXkuaXNBcnJheShmb3JtQ29udHJvbD8udmFsdWUpXG4gICAgICAgID8gZm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgOiBBcnJheS5pc0FycmF5KGNvbXBhdGliaWxpdHlDb250cm9sPy52YWx1ZSlcbiAgICAgICAgICA/IGNvbXBhdGliaWxpdHlDb250cm9sLnZhbHVlXG4gICAgICAgICAgOiBbXTtcbiAgICAgIGNvbnN0IG5leHQgPSBzZWxlY3RlZFxuICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi5jdXJyZW50LCBvcHRpb25JZF0pXVxuICAgICAgICA6IGN1cnJlbnQuZmlsdGVyKChpZDogc3RyaW5nKSA9PiBpZCAhPT0gb3B0aW9uSWQpO1xuICAgICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgICAgY29tcGF0aWJpbGl0eUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgIH0pO1xuICAgIHRoaXMub3B0aW9uQ29udHJvbE1lbW8uc2V0KGtleSwgY29udHJvbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBtYXJrSW52YWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0RXJyb3Iuc2V0KHRydWUpO1xuICAgIHRoaXMubmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChldmVudD86IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZW5kaW5nKCkpIHJldHVybjtcbiAgICBpZiAoIWV2ZW50ICYmIHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghZXZlbnQgJiYgdGhpcy5oYXNNaXNzaW5nUmVxdWlyZWRNdWx0aVNlbGVjdCgpKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHkoKSAmJiAodGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkIHx8IHRoaXMuZW1haWxDb250cm9sLmludmFsaWQpKSB7XG4gICAgICB0aGlzLm5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuO1xuXG4gICAgdGhpcy5zZW5kaW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogY2ZnLnR5cGVJZCxcbiAgICAgIHRpdGxlOiBjZmcubGFiZWwsXG4gICAgICBmaWVsZHM6IGV2ZW50Py5maWVsZHMgPz8gdGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldFJhd1ZhbHVlKCkgPz8gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXG4gICAgICAuLi4odGhpcy5wcm9wcy5pbnZpdGVUb2tlbiA/IHsgaW52aXRlVG9rZW46IHRoaXMucHJvcHMuaW52aXRlVG9rZW4gfSA6IHt9KSxcbiAgICAgIC4uLih0aGlzLm5lZWRzSWRlbnRpdHkoKVxuICAgICAgICA/IHsgc3VibWl0dGVyOiB7IG5hbWU6IHRoaXMubmFtZUNvbnRyb2wudmFsdWUudHJpbSgpLCBlbWFpbDogdGhpcy5lbWFpbENvbnRyb2wudmFsdWUudHJpbSgpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbCQgPSB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKClcbiAgICAgID8gdGhpcy5yZXF1ZXN0cy5jcmVhdGVSZXF1ZXN0KHBheWxvYWQpXG4gICAgICA6IHRoaXMucmVxdWVzdHMuY3JlYXRlQW5vbnltb3VzUmVxdWVzdChwYXlsb2FkKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShjYWxsJCk7XG4gICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuc2VudC5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHsgcmVxdWVzdElkOiByZXMucmVxdWVzdElkIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICAvLyBVbmEgaW52aXRhY2nDs24geWEgdXNhZGEgbm8gZXMgdW4gZmFsbG86IGVzIGxhIHJlc3B1ZXN0YSBjb3JyZWN0YSBhbFxuICAgICAgLy8gc2VndW5kbyBpbnRlbnRvLiBVbiB0b2FzdCByb2pvIGRlIFwibm8gcHVkaW1vcyBlbnZpYXJcIiBoYXLDrWEgY3JlZXIgcXVlXG4gICAgICAvLyBzZSBwZXJkacOzIGxvIHF1ZSB5YSBzZSBoYWLDrWEgcmVzcG9uZGlkby5cbiAgICAgIGlmIChpbnRlcnByZXRFcnJvcihlcnIpLmNvZGUgPT09IElOVklURV9VU0VEX0NPREUpIHtcbiAgICAgICAgdGhpcy5hbHJlYWR5QW5zd2VyZWQuc2V0KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdzdXJ2ZXlSZXNwb25zZS5zdWJtaXQnLFxuICAgICAgICBmYWxsYmFja0tleTogJ3NlbmRFcnJvcicsXG4gICAgICAgIGkxOG5OYW1lc3BhY2U6IE5BTUVTUEFDRSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzTWlzc2luZ1JlcXVpcmVkTXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb25zKClcbiAgICAgIC5maWx0ZXIocSA9PiBxLnR5cGUgPT09ICdNVUxUSV9TRUxFQ1QnICYmIHEucmVxdWlyZWQpXG4gICAgICAuc29tZShxID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHEubmFtZSk/LnZhbHVlO1xuICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5sZW5ndGg7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdhbHJlYWR5VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnYWxyZWFkeUJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBzZW50U3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0aGlzLnQoJ3NlbnRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdzZW50Qm9keScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQcmVzZW50YXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmc/LnByZXNlbnRhdGlvbikgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgdGl0bGUgPSBjZmcucHJlc2VudGF0aW9uLnN1Y2Nlc3NUaXRsZT8udHJpbSgpIHx8IHRoaXMudCgnc2VudFRpdGxlJyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNmZy5wcmVzZW50YXRpb24uc3VjY2Vzc01lc3NhZ2U/LnRyaW0oKSB8fCB0aGlzLnQoJ3NlbnRCb2R5Jyk7XG4gICAgY29uc3QgaW1hZ2VVcmwgPSBjZmcucHJlc2VudGF0aW9uLnN1Y2Nlc3NJbWFnZVVybD8udHJpbSgpIHx8ICcnO1xuICAgIGlmICghY2ZnLnByZXNlbnRhdGlvbi5zdWNjZXNzVGl0bGUgJiYgIWNmZy5wcmVzZW50YXRpb24uc3VjY2Vzc01lc3NhZ2UgJiYgIWltYWdlVXJsKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4geyB0aXRsZSwgbWVzc2FnZSwgaW1hZ2VVcmwgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZEVycm9yU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvYWRFcnJvclRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2xvYWRFcnJvckJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBsb2dpblJlcXVpcmVkU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvZ2luUmVxdWlyZWRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdsb2dpblJlcXVpcmVkQm9keScpIH07XG4gIH0pO1xuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIE5BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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SSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F2UlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0xBR3ZCLGFBQWEsZ0RBOUdkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RFQsMHhCQXpFQyxZQUFZLDhCQUNaLG1CQUFtQiwrQkFDbkIsZ0JBQWdCLDJFQUNoQixjQUFjLHlFQUNkLGtCQUFrQix3RkFTbEIsbUJBQW1CLCtFQUNuQixhQUFhOzs0RkE2R0osdUJBQXVCO2tCQS9IbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlEVDt3REFtRFEsS0FBSztzQkFBYixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLE1BQU07Z0JBQzJCLGFBQWE7c0JBQTlDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdHMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkU2NoZW1hRGVmLCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORywgUmVxdWVzdFR5cGVDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy90eXBlcyc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy9pbnRlcnByZXQtZXJyb3InO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dGFyZWEtaW5wdXQvdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtb2ppUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZW1vamktcmF0aW5nL2Vtb2ppLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcbmltcG9ydCB7IFN1cnZleVJlc3BvbnNlTWV0YWRhdGEsIFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNVUlZFWV9SRVNQT05TRV9JMThOIH0gZnJvbSAnLi9zdXJ2ZXktcmVzcG9uc2UuaTE4bic7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlSZXNwb25zZSc7XG5cbi8qKiBDb2RlIGRlbCBiYWNrZW5kIGN1YW5kbyBsYSBpbnZpdGFjacOzbiBkZSBlc2EgcGVyc29uYSB5YSBzZSByZXNwb25kacOzLiAqL1xuY29uc3QgSU5WSVRFX1VTRURfQ09ERSA9ICdTVVJWRVlfSU5WSVRFX0FMUkVBRFlfVVNFRCc7XG5cbi8qKiBUaXBvcyBjdXlhIHJlc3B1ZXN0YSBlcyB1biBib29sZWFubywgbm8gdW4gdGV4dG8uICovXG5jb25zdCBCT09MRUFOX1RZUEVTID0gWydDSEVDSycsICdUT0dHTEUnXTtcbmNvbnN0IERFRkFVTFRfU1VDQ0VTU19JTUFHRSA9XG4gICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyIHZpZXdCb3g9JTIyMCAwIDMyMCAyMjAlMjIgcm9sZT0lMjJpbWclMjIgYXJpYS1sYWJlbD0lMjJTdWNjZXNzJTIyJTNFJTNDcmVjdCB3aWR0aD0lMjIzMjAlMjIgaGVpZ2h0PSUyMjIyMCUyMiByeD0lMjIzMiUyMiBmaWxsPSUyMiUyM2ZmZjVmYiUyMi8lM0UlM0NjaXJjbGUgY3g9JTIyMTYwJTIyIGN5PSUyMjk0JTIyIHI9JTIyNTYlMjIgZmlsbD0lMjIlMjNmOTAwYjIlMjIvJTNFJTNDcGF0aCBkPSUyMk0xMzIgOTQuNSAxNTMuNSAxMTYgMTkxIDc3JTIyIGZpbGw9JTIybm9uZSUyMiBzdHJva2U9JTIyJTIzZmZmJTIyIHN0cm9rZS13aWR0aD0lMjIxNCUyMiBzdHJva2UtbGluZWNhcD0lMjJyb3VuZCUyMiBzdHJva2UtbGluZWpvaW49JTIycm91bmQlMjIvJTNFJTNDcGF0aCBkPSUyMk05MiAxNjhoMTM2JTIyIHN0cm9rZT0lMjIlMjMyYjI4MzYlMjIgc3Ryb2tlLXdpZHRoPSUyMjEwJTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjE2JTIyLyUzRSUzQ3BhdGggZD0lMjJNMTE2IDE4N2g4OCUyMiBzdHJva2U9JTIyJTIzMmIyODM2JTIyIHN0cm9rZS13aWR0aD0lMjI4JTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjEyJTIyLyUzRSUzQy9zdmclM0UnO1xuXG4vKipcbiAqIHZhbC1zdXJ2ZXktcmVzcG9uc2VcbiAqXG4gKiBUb21hIHVuYSBlbmN1ZXN0YSAoYFJlcXVlc3RUeXBlQ29uZmlnYCBjb24gYFR5cGU6IFwic3VydmV5OjxzbHVnPlwiYCwgQURSLTA5MilcbiAqIHkgbGEgcHJlc2VudGEgY29tbyBmb3JtdWxhcmlvIGRlIHJlc3B1ZXN0YSDigJQgZWwgb3JnYW5pc20gcXVlIHVuIHZpc2l0YW50ZVxuICogdmUgYWwgYWJyaXIgZWwgbGluayBkZSB1bmEgZW5jdWVzdGEuIFNlbGYtY29udGFpbmVkLCBpZ3VhbCBxdWVcbiAqIGB2YWwtY29udGVudC1yZWFjdGlvbmAvYHZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3YDogbGVlIGVsIHRpcG8sIGFybWEgZWxcbiAqIGZvcm11bGFyaW8sIGVudsOtYSBsYSByZXNwdWVzdGEsIHNpbiBxdWUgZWwgY29uc3VtZXIgdGVuZ2EgcXVlIG9ycXVlc3RhclxuICogbmFkYSBkZSBlc28uXG4gKlxuICogU29sbyBsZWUgdGlwb3MgYHZpc2liaWxpdHk6ICdQVUJMSUMnYCAodsOtYSBgZ2V0UHVibGljUmVxdWVzdFR5cGVgLCBzaW5cbiAqIGF1dGgpIOKAlCBlcyBlbCBjYXNvIGRlIHVzbyBxdWUgZGVzY3JpYmUgZWwgQURSIChsaW5rIGVudmlhZG8gYSBjb21wcmFkb3JlcyxcbiAqIHF1ZSBwdWVkZW4gbm8gdGVuZXIgY3VlbnRhKS4gRW5jdWVzdGFzIEFVVEhFTlRJQ0FURUQvT1JHL0lOVEVSTkFMIGVzdMOhblxuICogZnVlcmEgZGUgYWxjYW5jZSBkZSBlc3RlIGNvbXBvbmVudGUgcG9yIGFob3JhLlxuICpcbiAqIENhZGEgcHJlZ3VudGEgc2UgcmVuZGVyaXphIHNlZ8O6biBzdSBgRmllbGRTY2hlbWFEZWYudHlwZWA6IGBFTU9KSV9SQVRJTkdgXG4gKiB1c2EgYHZhbC1lbW9qaS1yYXRpbmdgIChOVU5DQSBwYXNhIHBvciBgdmFsLWZvcm1gLCBubyBsbyBzYWJlIHJ1dGVhcik7XG4gKiBjdWFscXVpZXIgb3RybyB0aXBvICh2MTogc29sbyBgVEVYVEFSRUFgKSB1c2EgYHZhbC10ZXh0YXJlYS1pbnB1dGAuIE5vIGhheVxuICogYHZhbC1mb3JtYCBkZSBwb3IgbWVkaW8g4oCUIHVuIEZvcm1Hcm91cCBhcm1hZG8gYSBtYW5vLCBwb3JxdWUgbWV6Y2xhciB0aXBvc1xuICogY3VzdG9tIGNvbiBlbCBmb3JtIGdlbsOpcmljbyBlcyBtw6FzIGNvbXBsaWNhZG8gcXVlIGNvbnN0cnVpciBlbCBwcm9waW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zdXJ2ZXktcmVzcG9uc2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBSYWRpb0lucHV0Q29tcG9uZW50LFxuICAgIENoZWNrSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgRW1vamlSYXRpbmdDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fbG9hZGluZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxuICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJsb2FkRXJyb3JTdGF0ZSgpXCIgLz5cbiAgICB9IEBlbHNlIGlmIChhbHJlYWR5QW5zd2VyZWQoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwiYWxyZWFkeUFuc3dlcmVkU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoc2VudCgpKSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInN1cnZleS1yZXNwb25zZSBzdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3NcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgQGlmIChzdWNjZXNzUHJlc2VudGF0aW9uKCk7IGFzIHN1Y2Nlc3MpIHtcbiAgICAgICAgICA8aW1nIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlXCIgW3NyY109XCJzdWNjZXNzLmltYWdlVXJsXCIgW2FsdF09XCJzdWNjZXNzLnRpdGxlXCIgLz5cbiAgICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogc3VjY2Vzcy50aXRsZSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgICAgICBAaWYgKHN1Y2Nlc3MubWVzc2FnZSkge1xuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBzdWNjZXNzLm1lc3NhZ2UsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxwIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLW5vdGVcIj57eyBzdWNjZXNzLmNsb3NlTm90ZSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgPC9zZWN0aW9uPlxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICh0eXBlQ29uZmlnKCk7IGFzIGNmZykge1xuICAgICAgICBAaWYgKCFjYW5SZXNwb25kKCkpIHtcbiAgICAgICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJsb2dpblJlcXVpcmVkU3RhdGUoKVwiIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VcIj5cbiAgICAgICAgICAgIEBpZiAoY2ZnLnByZXNlbnRhdGlvbj8uaGVhZGVySW1hZ2VVcmwpIHtcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9faGVhZGVyLWltYWdlXCIgW3NyY109XCJjZmcucHJlc2VudGF0aW9uPy5oZWFkZXJJbWFnZVVybFwiIFthbHRdPVwiY2ZnLmxhYmVsXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiBjZmcubGFiZWwsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICAgICAgICBAaWYgKGNmZy5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IGNmZy5zdWJ0aXRsZSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBTb2xvIHNpIGVsIFRJUE8gbG8gZXhpZ2UgKHNraXBTdWJtaXR0ZXJJZGVudGl0eSBhdXNlbnRlL2ZhbHNlKS5cbiAgICAgICAgICAgICAgICAgVW5hIGVuY3Vlc3RhIGxvIHBvbmUgZW4gdHJ1ZSB5IGFjw6Egbm8gc2UgcGlkZSBuYWRhOiBzaSBlbFxuICAgICAgICAgICAgICAgICBmb3JtdWxhcmlvIGxvcyBleGlnaWVyYSBpZ3VhbCwgcXVlZGFyw61hbiByZXF1ZXJpZG9zIGVcbiAgICAgICAgICAgICAgICAgaW52aXNpYmxlcyB5IGVsIGVudsOtbyBzZSBibG9xdWVhcsOtYSBzaW4gbW90aXZvIGEgbGEgdmlzdGEuIC0tPlxuICAgICAgICAgICAgQGlmIChuZWVkc0lkZW50aXR5KCkpIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cInsgY29udHJvbDogbmFtZUNvbnRyb2wsIGxhYmVsOiB0KCduYW1lTGFiZWwnKSwgcGxhY2Vob2xkZXI6IHQoJ25hbWVQbGFjZWhvbGRlcicpIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLXRleHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgY29udHJvbDogZW1haWxDb250cm9sLFxuICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlOiAnZW1haWwnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IHQoJ2VtYWlsTGFiZWwnKSxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0KCdlbWFpbFBsYWNlaG9sZGVyJyksXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoZm9ybVByb3BzKCk7IGFzIHByb3BzKSB7XG4gICAgICAgICAgICAgIDx2YWwtZm9ybSBbcHJvcHNdPVwicHJvcHNcIiAob25TdWJtaXQpPVwic3VibWl0KCRldmVudClcIiAob25JbnZhbGlkKT1cIm1hcmtJbnZhbGlkKClcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2hlYWRlci1pbWFnZSxcbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3MtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS12YWwtcmFkaXVzLW1kLCAxMnB4KTtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3Mge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3Mtbm90ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9faGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19sb2FkaW5nIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5UmVzcG9uc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wcyE6IFN1cnZleVJlc3BvbnNlTWV0YWRhdGE7XG4gIEBPdXRwdXQoKSByZWFkb25seSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQ+KCk7XG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudCkgcHJpdmF0ZSBmb3JtQ29tcG9uZW50PzogRm9ybUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RzID0gaW5qZWN0KFJlcXVlc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBlbW9qaVR5cGUgPSBGSUVMRF9UWVBFX0VNT0pJX1JBVElORztcbiAgcmVhZG9ubHkgc2VsZWN0VHlwZSA9IElucHV0VHlwZS5TRUxFQ1Q7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VudCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbmRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSB0eXBlQ29uZmlnID0gc2lnbmFsPFJlcXVlc3RUeXBlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgbmFtZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGVtYWlsQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKE5BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKE5BTUVTUEFDRSwgU1VSVkVZX1JFU1BPTlNFX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlcXVlc3RzLmdldFB1YmxpY1JlcXVlc3RUeXBlKHRoaXMucHJvcHMudHlwZUlkKSk7XG4gICAgICB0aGlzLnR5cGVDb25maWcuc2V0KGNmZyk7XG4gICAgICB0aGlzLmJ1aWxkQ29tcGF0aWJpbGl0eUZvcm0oY2ZnKTtcbiAgICAgIHRoaXMuY29uZmlndXJlSWRlbnRpdHkoY2ZnKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMubG9hZEVycm9yLnNldCh0cnVlKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVJZGVudGl0eShjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmVlZHNJZGVudGl0eUZvcihjZmcpKSB7XG4gICAgICAvLyBzZXRWYWxpZGF0b3JzIHBvciBzw60gc29sbyBubyByZWNhbGN1bGEgZWwgc3RhdHVzIGRlbCBjb250cm9sIOKAlCBzaW4gZWxcbiAgICAgIC8vIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSBkZSBhbCBsYWRvLCBuYW1lL2VtYWlsIHF1ZWRhYmFuIFZBTElEIGhhc3RhXG4gICAgICAvLyBlbCBwcsOzeGltbyBjYW1iaW8gZGUgdmFsb3IsIHkgc3VibWl0KCkgZGVqYWJhIHBhc2FyIHVuIGVudsOtbyBhbsOzbmltb1xuICAgICAgLy8gc2luIGlkZW50aWRhZC5cbiAgICAgIHRoaXMubmFtZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgdGhpcy5uYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbXBhdGliaWxpdHlGb3JtKGNmZzogUmVxdWVzdFR5cGVDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cDogUmVjb3JkPHN0cmluZywgRm9ybUNvbnRyb2w+ID0ge307XG4gICAgZm9yIChjb25zdCBxIG9mIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpKSB7XG4gICAgICBjb25zdCBpbml0aWFsID0gcS50eXBlID09PSAnTVVMVElfU0VMRUNUX1NJTVBMRScgPyBbXSA6IHEudHlwZSA9PT0gJ1RPR0dMRScgPyBmYWxzZSA6ICcnO1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHEucmVxdWlyZWQgJiYgcS50eXBlICE9PSAnVE9HR0xFJyA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuICAgICAgZ3JvdXBbcS5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChpbml0aWFsLCB2YWxpZGF0b3JzKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChncm91cCk7XG4gIH1cblxuICByZWFkb25seSBmb3JtUHJvcHMgPSBjb21wdXRlZDxGb3JtTWV0YWRhdGEgfCBudWxsPigoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TY2hlbWFzLmJ1aWxkRm9ybShcbiAgICAgIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpLFxuICAgICAgTkFNRVNQQUNFLFxuICAgICAgJycsXG4gICAgICAnc3VibWl0JyxcbiAgICAgIHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uZm9ybSwgc2hvd0RpdmlkZXJzOiBmYWxzZSwgZmllbGRTcGFjaW5nOiAxNiB9O1xuICB9KTtcblxuICAvKiogUHJlZ3VudGFzIG9yZGVuYWRhcywgZXhwdWVzdGFzIHBhcmEgdGVzdHMvaG9zdHMgcXVlIGluc3BlY2Npb25hbiBlbCBzY2hlbWEgcmVzdWVsdG8uICovXG4gIHJlYWRvbmx5IHF1ZXN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICByZXR1cm4gY2ZnID8gWy4uLmNmZy5maWVsZFNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpIDogW107XG4gIH0pO1xuXG4gIHF1ZXN0aW9uQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0KG5hbWUpID8/IHRoaXMuZm9ybS5nZXQobmFtZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgb3B0aW9uc09mKHE6IHsgb3B0aW9ucz86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBvcmRlcj86IG51bWJlciB9W10gfSk6IElucHV0T3B0aW9uW10ge1xuICAgIHJldHVybiBbLi4uKHEub3B0aW9ucyA/PyBbXSldXG4gICAgICAubWFwKChvLCBpbmRleCkgPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgPz8gaW5kZXggfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG5cbiAgaW5wdXRUeXBlT2YodHlwZTogc3RyaW5nKTogJ3RleHQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnRU1BSUwnOlxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcbiAgICAgIGNhc2UgJ05VTUJFUic6XG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgIGNhc2UgJ1BIT05FJzpcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1cnZleVNjaGVtYUZvckZvcm0oc2NoZW1hOiBGaWVsZFNjaGVtYURlZltdKTogRmllbGRTY2hlbWFEZWZbXSB7XG4gICAgcmV0dXJuIHNjaGVtYS5tYXAocSA9PiB7XG4gICAgICBpZiAocS50eXBlID09PSAnTVVMVElfU0VMRUNUJykge1xuICAgICAgICByZXR1cm4geyAuLi5xLCB0eXBlOiAnTVVMVElfU0VMRUNUX1NJTVBMRScsIHZhbHVlOiBbXSB9O1xuICAgICAgfVxuICAgICAgaWYgKEJPT0xFQU5fVFlQRVMuaW5jbHVkZXMocS50eXBlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnEsXG4gICAgICAgICAgdHlwZTogJ1RPR0dMRScsXG4gICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IChxLnZhbGlkYXRvcnMgPz8gW10pLmZpbHRlcih2ID0+IHYgIT09ICdyZXF1aXJlZCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHE7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUHVlZGUgcmVzcG9uZGVyIHNpbiBzZXNpw7NuIHNpIGVsIHRpcG8gbG8gcGVybWl0ZTsgc2kgbm8sIGhhY2UgZmFsdGEgbG9naW4uICovXG4gIHJlYWRvbmx5IGNhblJlc3BvbmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICEhdGhpcy50eXBlQ29uZmlnKCk/LmFsbG93QW5vbnltb3VzO1xuICB9KTtcblxuICAvKipcbiAgICogRWwgdGlwbyBwdWVkZSBzZWd1aXIgZXhpZ2llbmRvIGlkZW50aWRhZCBhbCBhbsOzbmltbyAoYHNraXBTdWJtaXR0ZXJJZGVudGl0eWBcbiAgICogYXVzZW50ZSBvIGZhbHNlKTogZXMgZWwgY2FzbyBkZSBsYXMgc29saWNpdHVkZXMgZGUgQ2hlc2VkL09raGVsaWEsIGRvbmRlXG4gICAqIHNhYmVyIHF1acOpbiBwaWRpw7MgRVMgZWwgcHVudG8uIFVuYSBlbmN1ZXN0YSBwb25lIGVsIGZsYWcgZW4gdHJ1ZSB5IGVudG9uY2VzXG4gICAqIG5vIHNlIHBpZGUgbmFkYSDigJQgc2kgbGEgb3JnYW5pemFjacOzbiBuZWNlc2l0YSBlbCBjb3JyZW8gZGUgcXVpZW4gcmVzcG9uZGUsXG4gICAqIGxvIGFncmVnYSBjb21vIHVuYSBQUkVHVU5UQSBkZSB0aXBvIENvcnJlby4gRXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhOyBlbCBmb3JtdWxhcmlvIG5vIGNvYnJhIHBlYWplIHBvciBzdSBjdWVudGEuXG4gICAqL1xuICBuZWVkc0lkZW50aXR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIXRoaXMudHlwZUNvbmZpZygpPy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICBwcml2YXRlIG5lZWRzSWRlbnRpdHlGb3IoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIWNmZy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICByZWFkb25seSBzdWJtaXRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlbmRpbmcoKSA/ICdXT1JLSU5HJyA6ICdFTkFCTEVEJykpO1xuXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0RXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbkNvbnRyb2xNZW1vID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPGJvb2xlYW4+PigpO1xuXG4gIG9wdGlvbkNvbnRyb2wobmFtZTogc3RyaW5nLCBvcHRpb25JZDogc3RyaW5nKTogRm9ybUNvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke25hbWV9Ojoke29wdGlvbklkfWA7XG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLm9wdGlvbkNvbnRyb2xNZW1vLmdldChrZXkpO1xuICAgIGlmIChjb250cm9sKSByZXR1cm4gY29udHJvbDtcbiAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjb21wYXRpYmlsaXR5Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjdXJyZW50ID0gQXJyYXkuaXNBcnJheShmb3JtQ29udHJvbD8udmFsdWUpXG4gICAgICAgID8gZm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgOiBBcnJheS5pc0FycmF5KGNvbXBhdGliaWxpdHlDb250cm9sPy52YWx1ZSlcbiAgICAgICAgICA/IGNvbXBhdGliaWxpdHlDb250cm9sLnZhbHVlXG4gICAgICAgICAgOiBbXTtcbiAgICAgIGNvbnN0IG5leHQgPSBzZWxlY3RlZFxuICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi5jdXJyZW50LCBvcHRpb25JZF0pXVxuICAgICAgICA6IGN1cnJlbnQuZmlsdGVyKChpZDogc3RyaW5nKSA9PiBpZCAhPT0gb3B0aW9uSWQpO1xuICAgICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgICAgY29tcGF0aWJpbGl0eUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgIH0pO1xuICAgIHRoaXMub3B0aW9uQ29udHJvbE1lbW8uc2V0KGtleSwgY29udHJvbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBtYXJrSW52YWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0RXJyb3Iuc2V0KHRydWUpO1xuICAgIHRoaXMubmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChldmVudD86IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZW5kaW5nKCkpIHJldHVybjtcbiAgICBpZiAoIWV2ZW50ICYmIHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghZXZlbnQgJiYgdGhpcy5oYXNNaXNzaW5nUmVxdWlyZWRNdWx0aVNlbGVjdCgpKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHkoKSAmJiAodGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkIHx8IHRoaXMuZW1haWxDb250cm9sLmludmFsaWQpKSB7XG4gICAgICB0aGlzLm5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuO1xuXG4gICAgdGhpcy5zZW5kaW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogY2ZnLnR5cGVJZCxcbiAgICAgIHRpdGxlOiBjZmcubGFiZWwsXG4gICAgICBmaWVsZHM6IGV2ZW50Py5maWVsZHMgPz8gdGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldFJhd1ZhbHVlKCkgPz8gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXG4gICAgICAuLi4odGhpcy5wcm9wcy5pbnZpdGVUb2tlbiA/IHsgaW52aXRlVG9rZW46IHRoaXMucHJvcHMuaW52aXRlVG9rZW4gfSA6IHt9KSxcbiAgICAgIC4uLih0aGlzLm5lZWRzSWRlbnRpdHkoKVxuICAgICAgICA/IHsgc3VibWl0dGVyOiB7IG5hbWU6IHRoaXMubmFtZUNvbnRyb2wudmFsdWUudHJpbSgpLCBlbWFpbDogdGhpcy5lbWFpbENvbnRyb2wudmFsdWUudHJpbSgpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbCQgPSB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKClcbiAgICAgID8gdGhpcy5yZXF1ZXN0cy5jcmVhdGVSZXF1ZXN0KHBheWxvYWQpXG4gICAgICA6IHRoaXMucmVxdWVzdHMuY3JlYXRlQW5vbnltb3VzUmVxdWVzdChwYXlsb2FkKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShjYWxsJCk7XG4gICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuc2VudC5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHsgcmVxdWVzdElkOiByZXMucmVxdWVzdElkIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICAvLyBVbmEgaW52aXRhY2nDs24geWEgdXNhZGEgbm8gZXMgdW4gZmFsbG86IGVzIGxhIHJlc3B1ZXN0YSBjb3JyZWN0YSBhbFxuICAgICAgLy8gc2VndW5kbyBpbnRlbnRvLiBVbiB0b2FzdCByb2pvIGRlIFwibm8gcHVkaW1vcyBlbnZpYXJcIiBoYXLDrWEgY3JlZXIgcXVlXG4gICAgICAvLyBzZSBwZXJkacOzIGxvIHF1ZSB5YSBzZSBoYWLDrWEgcmVzcG9uZGlkby5cbiAgICAgIGlmIChpbnRlcnByZXRFcnJvcihlcnIpLmNvZGUgPT09IElOVklURV9VU0VEX0NPREUpIHtcbiAgICAgICAgdGhpcy5hbHJlYWR5QW5zd2VyZWQuc2V0KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdzdXJ2ZXlSZXNwb25zZS5zdWJtaXQnLFxuICAgICAgICBmYWxsYmFja0tleTogJ3NlbmRFcnJvcicsXG4gICAgICAgIGkxOG5OYW1lc3BhY2U6IE5BTUVTUEFDRSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzTWlzc2luZ1JlcXVpcmVkTXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb25zKClcbiAgICAgIC5maWx0ZXIocSA9PiBxLnR5cGUgPT09ICdNVUxUSV9TRUxFQ1QnICYmIHEucmVxdWlyZWQpXG4gICAgICAuc29tZShxID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHEubmFtZSk/LnZhbHVlO1xuICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5sZW5ndGg7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdhbHJlYWR5VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnYWxyZWFkeUJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBzZW50U3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0aGlzLnQoJ3NlbnRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdzZW50Qm9keScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQcmVzZW50YXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgY29uc3QgdGl0bGUgPSBjZmc/LnByZXNlbnRhdGlvbj8uc3VjY2Vzc1RpdGxlPy50cmltKCkgfHwgdGhpcy50KCdzZW50VGl0bGUnKTtcbiAgICBjb25zdCBtZXNzYWdlID0gY2ZnPy5wcmVzZW50YXRpb24/LnN1Y2Nlc3NNZXNzYWdlPy50cmltKCkgfHwgdGhpcy50KCdzZW50Qm9keScpO1xuICAgIGNvbnN0IGltYWdlVXJsID0gY2ZnPy5wcmVzZW50YXRpb24/LnN1Y2Nlc3NJbWFnZVVybD8udHJpbSgpIHx8IERFRkFVTFRfU1VDQ0VTU19JTUFHRTtcbiAgICByZXR1cm4geyB0aXRsZSwgbWVzc2FnZSwgaW1hZ2VVcmwsIGNsb3NlTm90ZTogdGhpcy50KCdzZW50Q2xvc2VOb3RlJykgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZEVycm9yU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvYWRFcnJvclRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2xvYWRFcnJvckJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBsb2dpblJlcXVpcmVkU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvZ2luUmVxdWlyZWRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdsb2dpblJlcXVpcmVkQm9keScpIH07XG4gIH0pO1xuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIE5BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,8 @@ export const SURVEY_RESPONSE_I18N = {
|
|
|
14
14
|
alreadyTitle: 'Ya respondiste esta encuesta',
|
|
15
15
|
alreadyBody: 'Tu respuesta quedó registrada la primera vez. Gracias por tu tiempo.',
|
|
16
16
|
sentTitle: 'Gracias por responder',
|
|
17
|
-
sentBody: 'Tu respuesta quedó registrada.',
|
|
17
|
+
sentBody: 'Tu respuesta quedó registrada. Gracias por ayudarnos a mejorar.',
|
|
18
|
+
sentCloseNote: 'Ya puedes cerrar esta pestaña.',
|
|
18
19
|
loadErrorTitle: 'No pudimos cargar la encuesta',
|
|
19
20
|
loadErrorBody: 'Puede que el link esté vencido o ya no esté disponible.',
|
|
20
21
|
loginRequiredTitle: 'Necesitas iniciar sesión',
|
|
@@ -36,7 +37,8 @@ export const SURVEY_RESPONSE_I18N = {
|
|
|
36
37
|
alreadyTitle: 'You already answered this survey',
|
|
37
38
|
alreadyBody: 'Your response was recorded the first time. Thanks for your time.',
|
|
38
39
|
sentTitle: 'Thanks for answering',
|
|
39
|
-
sentBody: 'Your response was recorded.',
|
|
40
|
+
sentBody: 'Your response was recorded. Thanks for helping us improve.',
|
|
41
|
+
sentCloseNote: 'You can close this tab now.',
|
|
40
42
|
loadErrorTitle: "We couldn't load the survey",
|
|
41
43
|
loadErrorBody: 'The link may be expired or no longer available.',
|
|
42
44
|
loginRequiredTitle: 'You need to sign in',
|
|
@@ -44,4 +46,4 @@ export const SURVEY_RESPONSE_I18N = {
|
|
|
44
46
|
sendError: "We couldn't send your response. Please try again in a while.",
|
|
45
47
|
},
|
|
46
48
|
};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3N1cnZleS1yZXNwb25zZS9zdXJ2ZXktcmVzcG9uc2UuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBcUI7SUFDcEQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFdBQVc7UUFDdEIsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxVQUFVLEVBQUUsUUFBUTtRQUNwQixnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxZQUFZLEVBQUUscUNBQXFDO1FBQ25ELFFBQVEsRUFBRSw4QkFBOEI7UUFDeEMsR0FBRyxFQUFFLElBQUk7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFlBQVksRUFBRSw4QkFBOEI7UUFDNUMsV0FBVyxFQUFFLHNFQUFzRTtRQUNuRixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLFFBQVEsRUFBRSxpRUFBaUU7UUFDM0UsYUFBYSxFQUFFLGdDQUFnQztRQUMvQyxjQUFjLEVBQUUsK0JBQStCO1FBQy9DLGFBQWEsRUFBRSx5REFBeUQ7UUFDeEUsa0JBQWtCLEVBQUUsMEJBQTBCO1FBQzlDLGlCQUFpQixFQUFFLDhDQUE4QztRQUNqRSxTQUFTLEVBQUUsZ0VBQWdFO0tBQzVFO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFdBQVc7UUFDdEIsZUFBZSxFQUFFLHlCQUF5QjtRQUMxQyxVQUFVLEVBQUUsT0FBTztRQUNuQixnQkFBZ0IsRUFBRSxlQUFlO1FBQ2pDLE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixZQUFZLEVBQUUsc0NBQXNDO1FBQ3BELFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsR0FBRyxFQUFFLEtBQUs7UUFDVixFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFlBQVksRUFBRSxrQ0FBa0M7UUFDaEQsV0FBVyxFQUFFLGtFQUFrRTtRQUMvRSxTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLFFBQVEsRUFBRSw0REFBNEQ7UUFDdEUsYUFBYSxFQUFFLDZCQUE2QjtRQUM1QyxjQUFjLEVBQUUsNkJBQTZCO1FBQzdDLGFBQWEsRUFBRSxpREFBaUQ7UUFDaEUsa0JBQWtCLEVBQUUscUJBQXFCO1FBQ3pDLGlCQUFpQixFQUFFLGlEQUFpRDtRQUNwRSxTQUFTLEVBQUUsOERBQThEO0tBQzFFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IFNVUlZFWV9SRVNQT05TRV9JMThOOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIG5hbWVMYWJlbDogJ1R1IG5vbWJyZScsXG4gICAgbmFtZVBsYWNlaG9sZGVyOiAnQ8OzbW8gdGUgbGxhbWFtb3MnLFxuICAgIGVtYWlsTGFiZWw6ICdDb3JyZW8nLFxuICAgIGVtYWlsUGxhY2Vob2xkZXI6ICd0dUBlbWFpbC5jb20nLFxuICAgIG5vTmFtZTogJ05lY2VzaXRhbW9zIHVuIG5vbWJyZScsXG4gICAgbm9FbWFpbDogJ05lY2VzaXRhbW9zIHVuIGNvcnJlbycsXG4gICAgaW52YWxpZEVtYWlsOiAnUmV2aXNhIGVsIGNvcnJlbywgcGFyZWNlIGluY29tcGxldG8nLFxuICAgIHJlcXVpcmVkOiAnRXN0YSBwcmVndW50YSBlcyBvYmxpZ2F0b3JpYScsXG4gICAgeWVzOiAnU8OtJyxcbiAgICBubzogJ05vJyxcbiAgICBzdWJtaXQ6ICdFbnZpYXInLFxuICAgIGFscmVhZHlUaXRsZTogJ1lhIHJlc3BvbmRpc3RlIGVzdGEgZW5jdWVzdGEnLFxuICAgIGFscmVhZHlCb2R5OiAnVHUgcmVzcHVlc3RhIHF1ZWTDsyByZWdpc3RyYWRhIGxhIHByaW1lcmEgdmV6LiBHcmFjaWFzIHBvciB0dSB0aWVtcG8uJyxcbiAgICBzZW50VGl0bGU6ICdHcmFjaWFzIHBvciByZXNwb25kZXInLFxuICAgIHNlbnRCb2R5OiAnVHUgcmVzcHVlc3RhIHF1ZWTDsyByZWdpc3RyYWRhLiBHcmFjaWFzIHBvciBheXVkYXJub3MgYSBtZWpvcmFyLicsXG4gICAgc2VudENsb3NlTm90ZTogJ1lhIHB1ZWRlcyBjZXJyYXIgZXN0YSBwZXN0YcOxYS4nLFxuICAgIGxvYWRFcnJvclRpdGxlOiAnTm8gcHVkaW1vcyBjYXJnYXIgbGEgZW5jdWVzdGEnLFxuICAgIGxvYWRFcnJvckJvZHk6ICdQdWVkZSBxdWUgZWwgbGluayBlc3TDqSB2ZW5jaWRvIG8geWEgbm8gZXN0w6kgZGlzcG9uaWJsZS4nLFxuICAgIGxvZ2luUmVxdWlyZWRUaXRsZTogJ05lY2VzaXRhcyBpbmljaWFyIHNlc2nDs24nLFxuICAgIGxvZ2luUmVxdWlyZWRCb2R5OiAnRXN0YSBlbmN1ZXN0YSBubyBhY2VwdGEgcmVzcHVlc3RhcyBhbsOzbmltYXMuJyxcbiAgICBzZW5kRXJyb3I6ICdObyBwdWRpbW9zIGVudmlhciB0dSByZXNwdWVzdGEuIEludMOpbnRhbG8gZGUgbnVldm8gZW4gdW4gcmF0by4nLFxuICB9LFxuICBlbjoge1xuICAgIG5hbWVMYWJlbDogJ1lvdXIgbmFtZScsXG4gICAgbmFtZVBsYWNlaG9sZGVyOiAnV2hhdCBzaG91bGQgd2UgY2FsbCB5b3UnLFxuICAgIGVtYWlsTGFiZWw6ICdFbWFpbCcsXG4gICAgZW1haWxQbGFjZWhvbGRlcjogJ3lvdUBlbWFpbC5jb20nLFxuICAgIG5vTmFtZTogJ1dlIG5lZWQgYSBuYW1lJyxcbiAgICBub0VtYWlsOiAnV2UgbmVlZCBhbiBlbWFpbCcsXG4gICAgaW52YWxpZEVtYWlsOiAnQ2hlY2sgdGhlIGVtYWlsLCBpdCBsb29rcyBpbmNvbXBsZXRlJyxcbiAgICByZXF1aXJlZDogJ1RoaXMgcXVlc3Rpb24gaXMgcmVxdWlyZWQnLFxuICAgIHllczogJ1llcycsXG4gICAgbm86ICdObycsXG4gICAgc3VibWl0OiAnU3VibWl0JyxcbiAgICBhbHJlYWR5VGl0bGU6ICdZb3UgYWxyZWFkeSBhbnN3ZXJlZCB0aGlzIHN1cnZleScsXG4gICAgYWxyZWFkeUJvZHk6ICdZb3VyIHJlc3BvbnNlIHdhcyByZWNvcmRlZCB0aGUgZmlyc3QgdGltZS4gVGhhbmtzIGZvciB5b3VyIHRpbWUuJyxcbiAgICBzZW50VGl0bGU6ICdUaGFua3MgZm9yIGFuc3dlcmluZycsXG4gICAgc2VudEJvZHk6ICdZb3VyIHJlc3BvbnNlIHdhcyByZWNvcmRlZC4gVGhhbmtzIGZvciBoZWxwaW5nIHVzIGltcHJvdmUuJyxcbiAgICBzZW50Q2xvc2VOb3RlOiAnWW91IGNhbiBjbG9zZSB0aGlzIHRhYiBub3cuJyxcbiAgICBsb2FkRXJyb3JUaXRsZTogXCJXZSBjb3VsZG4ndCBsb2FkIHRoZSBzdXJ2ZXlcIixcbiAgICBsb2FkRXJyb3JCb2R5OiAnVGhlIGxpbmsgbWF5IGJlIGV4cGlyZWQgb3Igbm8gbG9uZ2VyIGF2YWlsYWJsZS4nLFxuICAgIGxvZ2luUmVxdWlyZWRUaXRsZTogJ1lvdSBuZWVkIHRvIHNpZ24gaW4nLFxuICAgIGxvZ2luUmVxdWlyZWRCb2R5OiBcIlRoaXMgc3VydmV5IGRvZXNuJ3QgYWNjZXB0IGFub255bW91cyByZXNwb25zZXMuXCIsXG4gICAgc2VuZEVycm9yOiBcIldlIGNvdWxkbid0IHNlbmQgeW91ciByZXNwb25zZS4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIHdoaWxlLlwiLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -56,6 +56,8 @@ export var InputType;
|
|
|
56
56
|
* apilan en vertical y su objetivo táctil es el círculo, no la etiqueta.
|
|
57
57
|
*/
|
|
58
58
|
InputType[InputType["CHIP_SELECT"] = 27] = "CHIP_SELECT";
|
|
59
|
+
/** Selector numérico con controles -/+ (`val-number-picker`). */
|
|
60
|
+
InputType[InputType["NUMBER_PICKER"] = 28] = "NUMBER_PICKER";
|
|
59
61
|
})(InputType || (InputType = {}));
|
|
60
62
|
/**
|
|
61
63
|
* Possible action types for a toolbar.
|
|
@@ -67,4 +69,4 @@ export var ToolbarActionType;
|
|
|
67
69
|
ToolbarActionType["IMAGE"] = "IMAGE";
|
|
68
70
|
ToolbarActionType["BUTTON"] = "BUTTON";
|
|
69
71
|
})(ToolbarActionType || (ToolbarActionType = {}));
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFPLEdBQW1CLFNBQVMsQ0FBQztBQUMxQyxNQUFNLFFBQVEsR0FBbUIsVUFBVSxDQUFDO0FBQzVDLE1BQU0sT0FBTyxHQUFtQixTQUFTLENBQUM7QUFDMUMsTUFBTSxLQUFLLEdBQW1CLE9BQU8sQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQixpRUFBZSxDQUFBO0lBQ2YsbUVBQWdCLENBQUE7SUFDaEIsaUVBQWUsQ0FBQTtJQUNmLCtEQUFjLENBQUE7SUFDZCx1RUFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckI7QUFjRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBbUNYO0FBbkNELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osaURBQVEsQ0FBQTtJQUNSLDJDQUFLLENBQUE7SUFDTCxpREFBUSxDQUFBO0lBQ1IsK0NBQU8sQ0FBQTtJQUNQLDZDQUFNLENBQUE7SUFDTiw2REFBYyxDQUFBO0lBQ2QsaURBQVEsQ0FBQTtJQUNSLHlDQUFJLENBQUE7SUFDSixxREFBVSxDQUFBO0lBQ1YsMENBQUksQ0FBQTtJQUNKLDRDQUFLLENBQUE7SUFDTCw0Q0FBSyxDQUFBO0lBQ0wsOENBQU0sQ0FBQTtJQUNOLDREQUFhLENBQUE7SUFDYiwwREFBWSxDQUFBO0lBQ1osd0VBQW1CLENBQUE7SUFDbkIsMENBQUksQ0FBQTtJQUNKLDhDQUFNLENBQUE7SUFDTiw0Q0FBSyxDQUFBO0lBQ0wsNENBQUssQ0FBQTtJQUNMLGtEQUFRLENBQUE7SUFDUiw4REFBYyxDQUFBO0lBQ2QsOENBQU0sQ0FBQTtJQUNOLHNEQUFVLENBQUE7SUFDVix3REFBVyxDQUFBO0lBQ1gsNkVBQTZFO0lBQzdFLDBEQUFZLENBQUE7SUFDWjs7OztPQUlHO0lBQ0gsd0RBQVcsQ0FBQTtBQUNiLENBQUMsRUFuQ1csU0FBUyxLQUFULFNBQVMsUUFtQ3BCO0FBeU5EOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBYSxDQUFBO0lBQ2Isb0NBQWUsQ0FBQTtJQUNmLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBJbWFnZU1ldGFkYXRhIH0gZnJvbSAnLi9hdG9tcy9pbWFnZS90eXBlcyc7XG5cbi8qKlxuICogUG9zc2libGUgc3RhdGVzIGZvciBhbiBpbnRlcmFjdGl2ZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudFN0YXRlID0gJ0VOQUJMRUQnIHwgJ0RJU0FCTEVEJyB8ICdXT1JLSU5HJyB8ICdFUlJPUic7XG5jb25zdCBFTkFCTEVEOiBDb21wb25lbnRTdGF0ZSA9ICdFTkFCTEVEJztcbmNvbnN0IERJU0FCTEVEOiBDb21wb25lbnRTdGF0ZSA9ICdESVNBQkxFRCc7XG5jb25zdCBXT1JLSU5HOiBDb21wb25lbnRTdGF0ZSA9ICdXT1JLSU5HJztcbmNvbnN0IEVSUk9SOiBDb21wb25lbnRTdGF0ZSA9ICdFUlJPUic7XG5cbi8qKlxuICogT2JqZWN0IGNvbnRhaW5pbmcgYWxsIHBvc3NpYmxlIGNvbXBvbmVudCBzdGF0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDb21wb25lbnRTdGF0ZXMgPSB7IEVOQUJMRUQsIERJU0FCTEVELCBXT1JLSU5HLCBFUlJPUiB9O1xuXG4vKipcbiAqIFR5cGVzIG9mIGFjdGlvbnMgdGhhdCBhIGJ1dHRvbiBvciBsaW5rIGNhbiBwZXJmb3JtLlxuICovXG5leHBvcnQgZW51bSBBY3Rpb25UeXBlIHtcbiAgQlJPV1NFUl9ORVdfVEFCLCAvLyBPcGVuIGluIGEgbmV3IGJyb3dzZXIgdGFiXG4gIEJST1dTRVJfRE9XTkxPQUQsIC8vIERvd25sb2FkIHZpYSBicm93c2VyXG4gIE5BVElWRV9ET1dOTE9BRCwgLy8gRG93bmxvYWQgdXNpbmcgbmF0aXZlIGNhcGFiaWxpdGllc1xuICBBUFBfTkFWSUdBVElPTiwgLy8gSW50ZXJuYWwgYXBwIG5hdmlnYXRpb25cbiAgQlJPV1NFUl9OQVZJR0FUSU9OLCAvLyBOYXZpZ2F0aW9uIGluIHRoZSBicm93c2VyXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBleGVjdXRhYmxlIGFjdGlvbiBmb3IgYSBidXR0b24gb3IgbGluay5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uID0ge1xuICAvKiogQWN0aW9uIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKiBBY3Rpb24gdHlwZSAqL1xuICB0eXBlOiBBY3Rpb25UeXBlO1xuICAvKiogQWN0aW9uIHNvdXJjZSBvciBkZXN0aW5hdGlvbiAqL1xuICBzb3VyY2U6IHN0cmluZztcbn07XG5cbi8qKlxuICogU3VwcG9ydGVkIGlucHV0IHR5cGVzIGZvciBmb3Jtcy5cbiAqL1xuZXhwb3J0IGVudW0gSW5wdXRUeXBlIHtcbiAgVEVYVCxcbiAgVEVYVEFSRUEsXG4gIEVNQUlMLFxuICBQQVNTV09SRCxcbiAgQ09NTUVOVCxcbiAgTlVNQkVSLFxuICBOVU1CRVJfRlJPTV9UTyxcbiAgUElOX0NPREUsXG4gIERBVEUsXG4gIERBVEVfUkFOR0UsXG4gIEhPVVIsXG4gIENIRUNLLFxuICBSQURJTyxcbiAgU0VMRUNULFxuICBTRUFSQ0hfU0VMRUNULFxuICBNVUxUSV9TRUxFQ1QsXG4gIE1VTFRJX1NFTEVDVF9TSU1QTEUsXG4gIEZJTEUsXG4gIFRPR0dMRSxcbiAgUkFOR0UsXG4gIFBIT05FLFxuICBDVVJSRU5DWSxcbiAgQ0hFQ0tCT1hfUkFESU8sXG4gIEhBTkRMRSxcbiAgQVRUQUNITUVOVCxcbiAgREFURV9QSUNLRVIsXG4gIC8qKiBFc2NhbGEgY29ydGEgZGUgc2F0aXNmYWNjacOzbiBjb24gZW1vamlzLiBVc2FkYSBwb3IgZW5jdWVzdGFzIHDDumJsaWNhcy4gKi9cbiAgRU1PSklfUkFUSU5HLFxuICAvKipcbiAgICogT3BjacOzbiDDum5pY2EgZW4gY2hpcHMgKGB2YWwtY2hpcC1zZWxlY3RgKS4gUHJlZmVyaWxvIHNvYnJlIENIRUNLQk9YX1JBRElPXG4gICAqIGN1YW5kbyBsYXMgZXRpcXVldGFzIHNvbiBjb3J0YXMgeSBsYSBwYW50YWxsYSBlcyB1biB0ZWzDqWZvbm86IGxvcyByYWRpb3Mgc2VcbiAgICogYXBpbGFuIGVuIHZlcnRpY2FsIHkgc3Ugb2JqZXRpdm8gdMOhY3RpbCBlcyBlbCBjw61yY3Vsbywgbm8gbGEgZXRpcXVldGEuXG4gICAqL1xuICBDSElQX1NFTEVDVCxcbn1cblxuLyoqXG4gKiBPcHRpb24gZm9yIHNlbGVjdCwgcmFkaW8sIGV0Yy4gaW5wdXRzLlxuICovXG5leHBvcnQgdHlwZSBJbnB1dE9wdGlvbiA9IHtcbiAgLyoqIFVuaXF1ZSBvcHRpb24gaWRlbnRpZmllciAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogRGlzcGxheSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0ICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgLyoqIERpc3BsYXkgb3JkZXIgKi9cbiAgb3JkZXI6IG51bWJlcjtcbn07XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGEgZm9ybSBmaWVsZC5cbiAqL1xuZXhwb3J0IHR5cGUgSW5wdXRNZXRhZGF0YSA9IHtcbiAgLyoqIEFzc29jaWF0ZWQgZm9ybSBjb250cm9sIChvcHRpb25hbCwgY3JlYXRlZCBpbnRlcm5hbGx5IGJ5IHZhbC1mb3JtKSAqL1xuICBjb250cm9sPzogRm9ybUNvbnRyb2w7XG4gIC8qKiBGcm9tIGNvbnRyb2wgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIGZyb21Db250cm9sPzogRm9ybUNvbnRyb2w7XG4gIC8qKiBUbyBjb250cm9sIChvbmx5IGZvciBOVU1CRVJfRlJPTV9UTyB0eXBlKSAqL1xuICB0b0NvbnRyb2w/OiBGb3JtQ29udHJvbDtcbiAgLyoqIFVuaXF1ZSB0b2tlbiBmb3IgdGhlIGlucHV0ICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBEaXNwbGF5IGxhYmVsICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIEhlbHAgdGV4dCAoc2hvd24gYmVsb3cgaW5wdXQsIGZvciB2YWxpZGF0aW9uIGhpbnRzKSAqL1xuICBoaW50OiBzdHJpbmc7XG4gIC8qKiBEZXNjcmlwdGlvbiB0ZXh0IChzaG93biBiZWxvdyBsYWJlbCwgZXhwbGFpbnMgdGhlIGZpZWxkIHB1cnBvc2UpICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogSW5wdXQgcGxhY2Vob2xkZXIgKi9cbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgLyoqIElucHV0IHR5cGUgKGRyaXZlcyB2YWwtZm9ybSByb3V0aW5nIOKAlCB3aGljaCBpbnB1dCBjb21wb25lbnQgcmVuZGVycykgKi9cbiAgdHlwZTogSW5wdXRUeXBlO1xuICAvKipcbiAgICogTmF0aXZlIEhUTUwgaW5wdXQgdHlwZSBmb3IgYHZhbC10ZXh0LWlucHV0YCAodGhlIGBbdHlwZV1gIGF0dHJpYnV0ZSBvZiB0aGVcbiAgICogdW5kZXJseWluZyBgPGlvbi1pbnB1dD5gIC8gY29udHJvbCkuIERlY291cGxlZCBmcm9tIGBJbnB1dFR5cGVgICh3aGljaCBpcyB0aGVcbiAgICogZm9ybS1yb3V0aW5nIGVudW0pLiBXaGVuIGB0eXBlID09PSBJbnB1dFR5cGUuVEVYVGAsIGB2YWwtZm9ybWAgZm9yd2FyZHMgYVxuICAgKiBzZW5zaWJsZSBgaW5wdXRUeXBlYCAoJ3RleHQnIGJ5IGRlZmF1bHQsICdlbWFpbCcvJ251bWJlcicvJ3RpbWUnLy4uLiBmb3IgdGhlXG4gICAqIGNvbGxhcHNlZCBlbWFpbC9udW1iZXIvaG91ciBjYXNlcykuIGAndGltZSdgIG1ha2VzIGB2YWwtdGV4dC1pbnB1dGAgcmVuZGVyIGFuXG4gICAqIGA8aW9uLWRhdGV0aW1lIHByZXNlbnRhdGlvbj1cInRpbWVcIj5gIGluc3RlYWQgb2YgYW4gYDxpb24taW5wdXQ+YC5cbiAgICovXG4gIGlucHV0VHlwZT86ICd0ZXh0JyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3Bhc3N3b3JkJyB8ICd0aW1lJyB8ICd1cmwnIHwgJ3NlYXJjaCcgfCAnZGF0ZSc7XG4gIC8qKiBEaXNwbGF5IG9yZGVyICovXG4gIG9yZGVyOiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb2xvciBkZWwgY2hpcCBzZWxlY2Npb25hZG8gKHNvbG8gQ0hJUF9TRUxFQ1QpLiBEZWZhdWx0OiAncHJpbWFyeScuXG4gICAqL1xuICBjaGlwQ29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb2xvciBwb3Igb3BjacOzbiAoc29sbyBDSElQX1NFTEVDVCksIGluZGV4YWRvIHBvciBgb3B0aW9uLmlkYC4gUGVybWl0ZSBxdWVcbiAgICogdW5hIHNldmVyaWRhZCBhbHRhIHNlIHZlYSBkaXN0aW50YSBkZSB1bmEgYmFqYSBzaW4gcXVlIGVsIGNvbnN1bWlkb3JcbiAgICogZXNjcmliYSBDU1MgcHJvcGlvLiBQaXNhIGEgYGNoaXBDb2xvcmAgcGFyYSBlc2Egb3BjacOzbi5cbiAgICovXG4gIGNoaXBDb2xvcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogQXNzb2NpYXRlZCB2YWxpZGF0b3JzICovXG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG4gIC8qKiBPcHRpb25zIChmb3Igc2VsZWN0LCByYWRpbywgZXRjLikgKi9cbiAgb3B0aW9ucz86IElucHV0T3B0aW9uW107XG4gIC8qKiBBbGxvd2VkIHJhbmdlIChmb3IgbnVtYmVyLCBkYXRlLCBldGMuKSAqL1xuICByYW5nZT86IHtcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgfTtcbiAgLyoqIEN1c3RvbSBlcnJvciBtZXNzYWdlcyAqL1xuICBlcnJvcnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG4gIC8qKiBJbml0aWFsIHZhbHVlIGZvciB0aGUgZmllbGQgKi9cbiAgdmFsdWU/OiBhbnk7XG4gIC8qKiBEZWZhdWx0IHZhbHVlIGNvbmZpZ3VyYXRpb24gLSBzdHJpbmcgZm9yIGN1c3RvbSBkZWZhdWx0cywgdHJ1ZSBmb3IgYXV0byBkZWZhdWx0cyAqL1xuICB3aXRoRGVmYXVsdD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBGaWVsZCBzdGF0ZSAqL1xuICBzdGF0ZTogQ29tcG9uZW50U3RhdGU7XG4gIC8qKiBMYWJlbCBmb3IgXCJmcm9tXCIgZmllbGQgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIGZyb21MYWJlbD86IHN0cmluZztcbiAgLyoqIExhYmVsIGZvciBcInRvXCIgZmllbGQgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIHRvTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBQbGFjZWhvbGRlciBmb3IgXCJmcm9tXCIgZmllbGQgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIGZyb21QbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqIFBsYWNlaG9sZGVyIGZvciBcInRvXCIgZmllbGQgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIHRvUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLy8gaTE4biBzdXBwb3J0IHByb3BlcnRpZXNcbiAgLyoqIEtleSBmb3IgY29udGVudCBsb29rdXAgKi9cbiAgY29udGVudEtleT86IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCBjbGFzcyBuYW1lIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnQga2V5IGlzIG5vdCBmb3VuZCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG5cbiAgLy8gc2VsZWN0LWlucHV0IHNwZWNpZmljIGkxOG4gcHJvcGVydGllc1xuICAvKiogQ3VzdG9tIGhlYWRlciB0ZXh0IGZvciBzZWxlY3QgbW9kYWwgKi9cbiAgbW9kYWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBDdXN0b20gY2FuY2VsIGJ1dHRvbiB0ZXh0IGZvciBzZWxlY3QgbW9kYWwgKi9cbiAgY2FuY2VsVGV4dD86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBPSyBidXR0b24gdGV4dCBmb3Igc2VsZWN0IG1vZGFsICovXG4gIG9rVGV4dD86IHN0cmluZztcbiAgLyoqIEludGVyZmFjZSBkZWwgaW9uLXNlbGVjdCAoZGVmYXVsdDogJ3BvcG92ZXInKS4gJ21vZGFsJyBwYXJhIGxpc3RhcyBsYXJnYXMuICovXG4gIHNlbGVjdEludGVyZmFjZT86ICdwb3BvdmVyJyB8ICdtb2RhbCcgfCAnYWN0aW9uLXNoZWV0JyB8ICdhbGVydCc7XG5cbiAgLy8gUEhPTkUgc3BlY2lmaWMgcHJvcGVydGllc1xuICAvKiogVmFsaWRhdGUgcGhvbmUgZm9ybWF0IGFuZCBhdHRhY2ggYHBob25lSW52YWxpZGAgd2hlbiB0aGUgdmFsdWUgaXMgbWFsZm9ybWVkLiAqL1xuICB2YWxpZGF0ZUZvcm1hdD86IGJvb2xlYW47XG4gIC8qKiBNaW5pbXVtIG5hdGlvbmFsIGRpZ2l0cyBmb3IgUEhPTkUgZmllbGRzLiAqL1xuICBtaW5EaWdpdHM/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG5hdGlvbmFsIGRpZ2l0cyBmb3IgUEhPTkUgZmllbGRzLiAqL1xuICBtYXhEaWdpdHM/OiBudW1iZXI7XG4gIC8qKiBDdXN0b20gbmF0aW9uYWwtbnVtYmVyIHZhbGlkYXRpb24gcGF0dGVybiBmb3IgUEhPTkUgZmllbGRzLiAqL1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuXG4gIC8vIGNoZWNrLWlucHV0IHNwZWNpZmljIHByb3BlcnRpZXNcbiAgLyoqIFBvc2l0aW9uIG9mIGxhYmVsIGZvciBjaGVja2JveCAoJ3N0YXJ0JyB8ICdlbmQnKSAqL1xuICBsYWJlbFBsYWNlbWVudD86ICdzdGFydCcgfCAnZW5kJztcblxuICAvLyBQSU5fQ09ERSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gIC8qKiBOdW1iZXIgb2YgZGlnaXRzIGluIFBJTiAoZGVmYXVsdDogNSwgb25seSBmb3IgUElOX0NPREUgdHlwZSkgKi9cbiAgbGVuZ3RoPzogbnVtYmVyO1xuICAvKiogU2l6ZSBvZiB0aGUgaW5wdXQgYm94ZXM6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgKGRlZmF1bHQ6ICdtZWRpdW0nLCBvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbiAgLyoqIEFsbG93IG9ubHkgbnVtYmVycyAoZGVmYXVsdDogdHJ1ZSwgb25seSBmb3IgUElOX0NPREUgdHlwZSkgKi9cbiAgYWxsb3dOdW1iZXJzT25seT86IGJvb2xlYW47XG4gIC8qKiBNYXNrIGlucHV0IC0gc2hvdyBkb3RzIGluc3RlYWQgb2YgY2hhcmFjdGVycyAob25seSBmb3IgUElOX0NPREUgdHlwZSkgKi9cbiAgbWFzaz86IGJvb2xlYW47XG4gIC8qKiBBdXRvIGZvY3VzIGZpcnN0IGlucHV0IChvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBhdXRvRm9jdXM/OiBib29sZWFuO1xuICAvKiogQ3VzdG9tIGlucHV0IHN0eWxlcyAob25seSBmb3IgUElOX0NPREUgdHlwZSkgKi9cbiAgaW5wdXRTdHlsZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKiBVcGxvYWQgZnVuY3Rpb24gKG9ubHkgZm9yIEFUVEFDSE1FTlQgdHlwZSkuIFJlY2VpdmVzIGEgRmlsZSwgbXVzdCByZXNvbHZlIHRvIHRoZSB1cGxvYWRlZCBVUkwuICovXG4gIHVwbG9hZEZuPzogKGZpbGU6IEZpbGUpID0+IFByb21pc2U8c3RyaW5nPjtcblxuICAvLyBBY2Nlc3NpYmlsaXR5IHdpcmluZyAob3JjaGVzdHJhdGVkIGJ5IHZhbC1mb3JtKVxuICAvKipcbiAgICogSWQgZGVsIGVsZW1lbnRvIHF1ZSBhY3TDumEgY29tbyBsYWJlbCB2aXNpYmxlIGRlbCBjYW1wby4gYHZhbC1mb3JtYCBsbyBhc2lnbmFcbiAgICogYWwgYDx2YWwtdGl0bGU+YCBxdWUgcmVuZGVyaXphIHNvYnJlIGVsIGlucHV0IHkgbG8gcGFzYSBhbCBpbnB1dCBwYXJhIGVubGF6YXJcbiAgICogdsOtYSBgYXJpYS1sYWJlbGxlZGJ5YC4gU2kgc2Ugb21pdGUsIGVsIGlucHV0IGdlbmVyYSBzdSBwcm9waW8gaWQgaW50ZXJuby5cbiAgICovXG4gIGxhYmVsSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZCBkZWwgY29udGVuZWRvciBkZSBlcnJvciAoYHZhbC1oaW50YCkuIGB2YWwtZm9ybWAgbG8gYXNpZ25hIGFsIGA8dmFsLWhpbnQ+YFxuICAgKiB5IGxvIHBhc2EgYWwgaW5wdXQgcGFyYSBlbmxhemFyIHbDrWEgYGFyaWEtZGVzY3JpYmVkYnlgIGN1YW5kbyBoYXkgZXJyb3IuXG4gICAqL1xuICBlcnJvcklkPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIHNlY3Rpb24gaW4gYSBmb3JtLCBncm91cGluZyBtdWx0aXBsZSBmaWVsZHMuXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1TZWN0aW9uID0ge1xuICAvKiogU2VjdGlvbiBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIERpc3BsYXkgb3JkZXIgKi9cbiAgb3JkZXI6IG51bWJlcjtcbiAgLyoqIEZpZWxkcyBpbmNsdWRlZCBpbiB0aGUgc2VjdGlvbiAqL1xuICBmaWVsZHM6IElucHV0TWV0YWRhdGFbXTtcbn07XG5cbi8qKlxuICogRGF0YSBzZW50IHdoZW4gc3VibWl0dGluZyBhIGZvcm0uXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1TdWJtaXQgPSB7XG4gIC8qKiBGb3JtIGZpZWxkIHZhbHVlcyBhcyBrZXktdmFsdWUgcGFpcnMgKi9cbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKiogT3B0aW9uYWwgdG9rZW4gZm9yIHRoZSBvcGVyYXRpb24gKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIE1ldGFkYXRhIGZvciBhIGNvbXBsZXRlIGZvcm0uXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1NZXRhZGF0YSA9IHtcbiAgLyoqIEZvcm0gbmFtZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBGb3JtIHNlY3Rpb25zICovXG4gIHNlY3Rpb25zOiBGb3JtU2VjdGlvbltdO1xuICAvKipcbiAgICogQ29uZmlndXJhY2nDs24gZGVsIGJvdMOzbiBkZSBzdWJtaXQuIE9wY2lvbmFsOiBlbiBtb2RvIGBjb250cm9sbGVkYCBlbCBmb3JtXG4gICAqIG5vIHJlbmRlcml6YSBzdWJtaXQgcHJvcGlvIChsbyBtYW5lamEgZWwgaG9zdCkgeSBgYWN0aW9uc2Agc2UgaWdub3JhLlxuICAgKi9cbiAgYWN0aW9ucz86IEJ1dHRvbk1ldGFkYXRhO1xuICAvKiogR2xvYmFsIGZvcm0gc3RhdGUgKi9cbiAgc3RhdGU6IENvbXBvbmVudFN0YXRlO1xuICAvKipcbiAgICogRXNwYWNpbyB2ZXJ0aWNhbCBlbnRyZSBjYW1wb3MsIGVuIHB4LiBTaSBzZSBvbWl0ZSwgdXNhIGVsIGRlZmF1bHRcbiAgICogcmVzcG9uc2l2byBkZSBsYSBsaWIgKDhweCBtb2JpbGUgLyAxMnB4IGRlc2t0b3ApLiDDmnRpbCBwYXJhIGZvcm11bGFyaW9zXG4gICAqIGRlbnNvcyBvIG3DoXMgYWlyZWFkb3Mgc2luIHRvY2FyIENTUyBkZWwgY29uc3VtZXIuXG4gICAqL1xuICBmaWVsZFNwYWNpbmc/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNdWVzdHJhIGVsIGRpdmlkZXIgZW50cmUgc2VjY2lvbmVzLiBEZWZhdWx0IGB0cnVlYC5cbiAgICogw5p0aWwgcGFyYSBmb3JtdWxhcmlvcyBlbWJlYmlkb3MgZW4gd2l6YXJkcy9jYXJkcyBkb25kZSBlbCBkaXZpZGVyIHZpc3VhbFxuICAgKiBjb21waXRlIGNvbiBlbCBsYXlvdXQgZGVsIGhvc3QuXG4gICAqL1xuICBzaG93RGl2aWRlcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogTW9kbyBlbWJlYmlkbzogZWwgZm9ybSBOTyByZW5kZXJpemEgc3UgYnV0dG9uLWdyb3VwL2Zvb3RlciBkZSBzdWJtaXQuXG4gICAqIFNvbG8gY2FtcG9zICsgdmFsaWRhY2nDs24uIFBhcmEgd2l6YXJkcy9ob3N0cyBxdWUgY29udHJvbGFuIGxhIG5hdmVnYWNpw7NuXG4gICAqIHkgbGVlbiBlbCBlc3RhZG8gZGVsIGZvcm0gdsOtYSBgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KWAgKHNpZ25hbHMgcMO6YmxpY29zXG4gICAqIGB2YWx1ZWAvYHZhbGlkYCArIG3DqXRvZG8gYHZhbGlkYXRlKClgL2BtYXJrQWxsVG91Y2hlZCgpYCkuXG4gICAqIEN1YW5kbyBlcyBgdHJ1ZWAsIGlnbm9yYSBgc3RpY2t5Rm9vdGVyYC5cbiAgICovXG4gIGNvbnRyb2xsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRmlqYSBlbCBidXR0b24tZ3JvdXAgZGUgc3VibWl0IGFsIGZvbmRvIChgcG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAwYClcbiAgICogcGFyYSBtb2RhbGVzIGxhcmdvcyBjb24gc2Nyb2xsLiBTb2xvIGFwbGljYSBzaSBOTyBlcyBgY29udHJvbGxlZGAuXG4gICAqIFBvciBkZWZlY3RvIChzaW4gZmxhZ3MpIGVsIHN1Ym1pdCBlcyBpbmxpbmUgYWwgZmluYWwgZGVsIGZvcm0uXG4gICAqL1xuICBzdGlja3lGb290ZXI/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBQb3NzaWJsZSBhY3Rpb24gdHlwZXMgZm9yIGEgdG9vbGJhci5cbiAqL1xuZXhwb3J0IGVudW0gVG9vbGJhckFjdGlvblR5cGUge1xuICBBVkFUQVIgPSAnQVZBVEFSJyxcbiAgSUNPTiA9ICdJQ09OJyxcbiAgSU1BR0UgPSAnSU1BR0UnLFxuICBCVVRUT04gPSAnQlVUVE9OJyxcbn1cblxuLyoqXG4gKiBUb29sYmFyIGFjdGlvbiBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgdHlwZSBUb29sYmFyQWN0aW9uID0ge1xuICAvKiogQWN0aW9uIHR5cGUgKi9cbiAgdHlwZTogJ0FWQVRBUicgfCAnSUNPTicgfCAnSU1BR0UnIHwgJ0JVVFRPTic7XG4gIC8qKiBPcHRpb25hbCB0b2tlbiBpZGVudGlmaWVyICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKiogVG9vbGJhciBwb3NpdGlvbiAqL1xuICBwb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuICAvKiogT3B0aW9uYWwgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBBc3NvY2lhdGVkIGltYWdlIChpZiBhbnkpICovXG4gIGltYWdlPzogSW1hZ2VNZXRhZGF0YTtcbiAgLyoqXG4gICAqIFVzZXIgc2hhcGUgcGFyYSBlbCBtb2RvIGBBVkFUQVJgIOKAlCBoYWJpbGl0YSBmYWxsYmFjayBpbnRlbGlnZW50ZTpcbiAgICogZm90byDihpIgaW5pY2lhbGVzIChkZSBgbmFtZWAvYGVtYWlsYCkg4oaSIGljb25vIHBlcnNvbmEuIFNpIHNlIG9taXRlLCBlbFxuICAgKiB0b29sYmFyIHNvbG8gbXVlc3RyYSBsYSBpbWFnZW4gcGFzYWRhIGVuIGBkZXNjcmlwdGlvbmAuXG4gICAqL1xuICB1c2VyPzogeyBuYW1lPzogc3RyaW5nOyBlbWFpbD86IHN0cmluZzsgYXZhdGFyVXJsPzogc3RyaW5nOyBoYW5kbGU/OiBzdHJpbmcgfSB8IG51bGw7XG4gIC8qKiBDb250cm9scyBhdmF0YXIgc2l6ZSB3aGVuIHR5cGUgaXMgQVZBVEFSLiBEZWZhdWx0cyB0byAnc21hbGwnLiAqL1xuICBhdmF0YXJTaXplPzogJ3hzbWFsbCcgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG59O1xuXG4vKipcbiAqIE1ldGFkYXRhIGZvciBhbiBpY29uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEljb25NZXRhZGEge1xuICAvKiogSWNvbiBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFBvc2ljacOzbiBkZWwgaWNvbm8uIGBpY29uLW9ubHlgIGVzIHBhcmEgdW4gYm90w7NuIFNJTiB0ZXh0bzogSW9uaWMgbGUgcXVpdGFcbiAgICogZWwgbWFyZ2VuIGxhdGVyYWwgcXVlIHJlc2VydmEgcGFyYSBsYSBldGlxdWV0YSwgeSBgdmFsLWJ1dHRvbmAgbG8gZGV0ZWN0YVxuICAgKiBwYXJhIGRpbWVuc2lvbmFybG8gY3VhZHJhZG8gZW4gdmV6IGRlIGPDoXBzdWxhLlxuICAgKi9cbiAgc2xvdDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2ljb24tb25seSc7XG59XG5cbi8qKlxuICogQnV0dG9uIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgYW5kIHJlYWN0aXZlIGNvbnRlbnQuXG4gKiBAdHlwZSB7QnV0dG9uTWV0YWRhdGF9XG4gKiBAcHJvcGVydHkgdGV4dCAtIFN0YXRpYyBidXR0b24gbGFiZWwgKHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0ZXh0Q29uZmlnKS5cbiAqIEBwcm9wZXJ0eSB0ZXh0Q29uZmlnIC0gUmVhY3RpdmUgY29udGVudCBjb25maWd1cmF0aW9uIGZvciBidXR0b24gdGV4dC5cbiAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSBidXR0b24gY29sb3IgKElvbmljIGNvbG9yIHN0cmluZykuXG4gKiBAcHJvcGVydHkgaWNvbiAtIEljb24gdG8gZGlzcGxheSAob3B0aW9uYWwpLlxuICogQHByb3BlcnR5IHN0YXRlIC0gQnV0dG9uIHN0YXRlIChlbmFibGVkLCBkaXNhYmxlZCwgd29ya2luZywgZXRjLikuXG4gKiBAcHJvcGVydHkgZXhwYW5kLCBmaWxsLCBzaXplLCBzaGFwZSwgaHJlZiwgdGFyZ2V0LCBkb3dubG9hZCwgaGFuZGxlciwgZXRjLiAtIFNlZSBCdXR0b25NZXRhZGF0YSBmb3IgYWxsIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uTWV0YWRhdGEge1xuICAvKiogQXNzb2NpYXRlZCBhY3Rpb24gdHlwZSAqL1xuICBhY3Rpb25UeXBlPzogQWN0aW9uVHlwZTtcbiAgLyoqIEJ1dHRvbiBleHBhbnNpb24gKi9cbiAgZXhwYW5kPzogJ2Z1bGwnIHwgJ2Jsb2NrJztcbiAgLyoqIEFzc29jaWF0ZWQgbGluayAqL1xuICBsaW5rPzogc3RyaW5nO1xuICAvKiogQXNzb2NpYXRlZCBocmVmIGxpbmsgKi9cbiAgaHJlZj86IHN0cmluZztcbiAgLyoqIEFuZ3VsYXIgcm91dGVyIGxpbmsgKFNQQSBuYXZpZ2F0aW9uLCBubyByZWxvYWQpICovXG4gIHJvdXRlckxpbms/OiBzdHJpbmcgfCBhbnlbXTtcbiAgLyoqIExpbmsgdGFyZ2V0ICovXG4gIHRhcmdldD86ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcbiAgLyoqIERvd25sb2FkIGZpbGUgbmFtZSAqL1xuICBkb3dubG9hZD86IHN0cmluZztcbiAgLyoqIEJ1dHRvbiBjb2xvciAqL1xuICBjb2xvcjogQ29sb3I7XG4gIC8qKiBCdXR0b24gc3RhdGUgKi9cbiAgc3RhdGU6IENvbXBvbmVudFN0YXRlO1xuICAvKiogU3RhdGljIGRpc3BsYXkgdGV4dCAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIHJlYWN0aXZlIGNvbnRlbnQpICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKiBSZWFjdGl2ZSBjb250ZW50IGNvbmZpZ3VyYXRpb24gZm9yIGJ1dHRvbiB0ZXh0ICovXG4gIGNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgY2xhc3MgbmFtZSBmb3IgY29udGVudCBsb29rdXAgKHJlcXVpcmVkIHdpdGggY29udGVudEtleSkgKi9cbiAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAvKiogRmFsbGJhY2sgdGV4dCBpZiBjb250ZW50S2V5IGlzIG5vdCBmb3VuZCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG4gIC8qKiBWYWx1ZXMgdG8gaW50ZXJwb2xhdGUgaW50byB0aGUgY29udGVudCBzdHJpbmcgKi9cbiAgY29udGVudEludGVycG9sYXRpb24/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+O1xuICAvKiogQXNzb2NpYXRlZCBpY29uICovXG4gIGljb24/OiBJY29uTWV0YWRhO1xuICAvKiogQnV0dG9uIHNoYXBlICovXG4gIHNoYXBlPzogJ3JvdW5kJztcbiAgLyoqIEJ1dHRvbiBzaXplICovXG4gIHNpemU/OiAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcbiAgLyoqXG4gICAqIEJ1dHRvbiBmaWxsLlxuICAgKlxuICAgKiBgdGludGAgbm8gZXMgdW4gZmlsbCBuYXRpdm8gZGUgSW9uaWMgKHF1ZSBzb2xvIGVudGllbmRlXG4gICAqIGNsZWFyL291dGxpbmUvc29saWQvZGVmYXVsdCkg4oCUIGB2YWwtYnV0dG9uYCBsbyBtYXBlYSBhIGBjbGVhcmAgc29icmUgZWxcbiAgICogYGlvbi1idXR0b25gIHJlYWwgeSBsZSBzdW1hIHVuYSBzdXBlcmZpY2llIHRlbnVlIGRlbCBtaXNtbyBgY29sb3JgXG4gICAqIChgcmdiYSgtLWlvbi1jb2xvci1iYXNlLXJnYiwgMC4xKWAsIHNpbiBib3JkZSkuIEV4aXN0ZSBwb3JxdWUgdW4gYGNsZWFyYFxuICAgKiBwdXJvLCBzaW4gZm9uZG8gbmkgYm9yZGUsIHNlIGNvbmZ1bmRlIGNvbiB0ZXh0byBwbGFubyBjdWFuZG8gYWN0w7phIGNvbW9cbiAgICogYWNjacOzbiBkZSB0YXJqZXRhL2ZpbGEgZW4gdmV6IGRlIGxpbmsgaW5saW5lIOKAlCBlbmNvbnRyYWRvIGF1ZGl0YW5kb1xuICAgKiBPa2hlbGlhICgyMDI2LTA4LTI0KTogXCJDb3BpYXIgbGlzdGFcIiBubyBzZSBsZcOtYSBjb21vIGFsZ28gdG9jYWJsZS5cbiAgICovXG4gIGZpbGw/OiAnY2xlYXInIHwgJ291dGxpbmUnIHwgJ3NvbGlkJyB8ICdkZWZhdWx0JyB8ICd0aW50JztcbiAgLyoqIEJ1dHRvbiB0eXBlICovXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnO1xuICAvKiogT3B0aW9uYWwgdG9rZW4gaWRlbnRpZmllciAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIE5vbWJyZSBhY2Nlc2libGUgZGVsIGJvdMOzbi4gT2JsaWdhdG9yaW8gZW4gdW4gYm90w7NuIGBpY29uLW9ubHlgOiBzaW4gdGV4dG9cbiAgICogdmlzaWJsZSwgdW4gbGVjdG9yIGRlIHBhbnRhbGxhIHNvbG8gYW51bmNpYSBcImJvdMOzblwiIChlbCBgaW9uLWljb25gIHZhXG4gICAqIGBhcmlhLWhpZGRlbmApLiBJZ25vcmFkbyBjdWFuZG8gZWwgYm90w7NuIHRpZW5lIHRleHRvIHByb3Bpby5cbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJlZmVyZW5jZSAqL1xuICByZWY/OiBhbnk7XG4gIC8qKiBBY3Rpb24gaGFuZGxlciAqL1xuICBoYW5kbGVyPzogKHZhbHVlOiBhbnkpID0+IGFueSB8IFByb21pc2U8YW55Pjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciByZWFjdGl2ZSBjb250ZW50IGluIHZhbC1idXR0b24gY29tcG9uZW50LlxuICogVXNlIHRoaXMgaW50ZXJmYWNlIHdoZW4geW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IGNvbnRlbnQtcmVsYXRlZCBwcm9wZXJ0aWVzLlxuICogVGhpcyBmb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgVGV4dENvbnRlbnRDb25maWcgZm9yIGNvbnNpc3RlbmN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkNvbnRlbnRDb25maWcge1xuICBjb250ZW50S2V5OiBzdHJpbmc7XG4gIGNvbnRlbnRDbGFzczogc3RyaW5nO1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG4gIGNvbnRlbnRJbnRlcnBvbGF0aW9uPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbn1cbiJdfQ==
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFPLEdBQW1CLFNBQVMsQ0FBQztBQUMxQyxNQUFNLFFBQVEsR0FBbUIsVUFBVSxDQUFDO0FBQzVDLE1BQU0sT0FBTyxHQUFtQixTQUFTLENBQUM7QUFDMUMsTUFBTSxLQUFLLEdBQW1CLE9BQU8sQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQixpRUFBZSxDQUFBO0lBQ2YsbUVBQWdCLENBQUE7SUFDaEIsaUVBQWUsQ0FBQTtJQUNmLCtEQUFjLENBQUE7SUFDZCx1RUFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckI7QUFjRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBcUNYO0FBckNELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osaURBQVEsQ0FBQTtJQUNSLDJDQUFLLENBQUE7SUFDTCxpREFBUSxDQUFBO0lBQ1IsK0NBQU8sQ0FBQTtJQUNQLDZDQUFNLENBQUE7SUFDTiw2REFBYyxDQUFBO0lBQ2QsaURBQVEsQ0FBQTtJQUNSLHlDQUFJLENBQUE7SUFDSixxREFBVSxDQUFBO0lBQ1YsMENBQUksQ0FBQTtJQUNKLDRDQUFLLENBQUE7SUFDTCw0Q0FBSyxDQUFBO0lBQ0wsOENBQU0sQ0FBQTtJQUNOLDREQUFhLENBQUE7SUFDYiwwREFBWSxDQUFBO0lBQ1osd0VBQW1CLENBQUE7SUFDbkIsMENBQUksQ0FBQTtJQUNKLDhDQUFNLENBQUE7SUFDTiw0Q0FBSyxDQUFBO0lBQ0wsNENBQUssQ0FBQTtJQUNMLGtEQUFRLENBQUE7SUFDUiw4REFBYyxDQUFBO0lBQ2QsOENBQU0sQ0FBQTtJQUNOLHNEQUFVLENBQUE7SUFDVix3REFBVyxDQUFBO0lBQ1gsNkVBQTZFO0lBQzdFLDBEQUFZLENBQUE7SUFDWjs7OztPQUlHO0lBQ0gsd0RBQVcsQ0FBQTtJQUNYLGlFQUFpRTtJQUNqRSw0REFBYSxDQUFBO0FBQ2YsQ0FBQyxFQXJDVyxTQUFTLEtBQVQsU0FBUyxRQXFDcEI7QUFxT0Q7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxpQkFLWDtBQUxELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLGtDQUFhLENBQUE7SUFDYixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEltYWdlTWV0YWRhdGEgfSBmcm9tICcuL2F0b21zL2ltYWdlL3R5cGVzJztcblxuLyoqXG4gKiBQb3NzaWJsZSBzdGF0ZXMgZm9yIGFuIGludGVyYWN0aXZlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tcG9uZW50U3RhdGUgPSAnRU5BQkxFRCcgfCAnRElTQUJMRUQnIHwgJ1dPUktJTkcnIHwgJ0VSUk9SJztcbmNvbnN0IEVOQUJMRUQ6IENvbXBvbmVudFN0YXRlID0gJ0VOQUJMRUQnO1xuY29uc3QgRElTQUJMRUQ6IENvbXBvbmVudFN0YXRlID0gJ0RJU0FCTEVEJztcbmNvbnN0IFdPUktJTkc6IENvbXBvbmVudFN0YXRlID0gJ1dPUktJTkcnO1xuY29uc3QgRVJST1I6IENvbXBvbmVudFN0YXRlID0gJ0VSUk9SJztcblxuLyoqXG4gKiBPYmplY3QgY29udGFpbmluZyBhbGwgcG9zc2libGUgY29tcG9uZW50IHN0YXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBvbmVudFN0YXRlcyA9IHsgRU5BQkxFRCwgRElTQUJMRUQsIFdPUktJTkcsIEVSUk9SIH07XG5cbi8qKlxuICogVHlwZXMgb2YgYWN0aW9ucyB0aGF0IGEgYnV0dG9uIG9yIGxpbmsgY2FuIHBlcmZvcm0uXG4gKi9cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBCUk9XU0VSX05FV19UQUIsIC8vIE9wZW4gaW4gYSBuZXcgYnJvd3NlciB0YWJcbiAgQlJPV1NFUl9ET1dOTE9BRCwgLy8gRG93bmxvYWQgdmlhIGJyb3dzZXJcbiAgTkFUSVZFX0RPV05MT0FELCAvLyBEb3dubG9hZCB1c2luZyBuYXRpdmUgY2FwYWJpbGl0aWVzXG4gIEFQUF9OQVZJR0FUSU9OLCAvLyBJbnRlcm5hbCBhcHAgbmF2aWdhdGlvblxuICBCUk9XU0VSX05BVklHQVRJT04sIC8vIE5hdmlnYXRpb24gaW4gdGhlIGJyb3dzZXJcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGV4ZWN1dGFibGUgYWN0aW9uIGZvciBhIGJ1dHRvbiBvciBsaW5rLlxuICovXG5leHBvcnQgdHlwZSBBY3Rpb24gPSB7XG4gIC8qKiBBY3Rpb24gZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqIEFjdGlvbiB0eXBlICovXG4gIHR5cGU6IEFjdGlvblR5cGU7XG4gIC8qKiBBY3Rpb24gc291cmNlIG9yIGRlc3RpbmF0aW9uICovXG4gIHNvdXJjZTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBTdXBwb3J0ZWQgaW5wdXQgdHlwZXMgZm9yIGZvcm1zLlxuICovXG5leHBvcnQgZW51bSBJbnB1dFR5cGUge1xuICBURVhULFxuICBURVhUQVJFQSxcbiAgRU1BSUwsXG4gIFBBU1NXT1JELFxuICBDT01NRU5ULFxuICBOVU1CRVIsXG4gIE5VTUJFUl9GUk9NX1RPLFxuICBQSU5fQ09ERSxcbiAgREFURSxcbiAgREFURV9SQU5HRSxcbiAgSE9VUixcbiAgQ0hFQ0ssXG4gIFJBRElPLFxuICBTRUxFQ1QsXG4gIFNFQVJDSF9TRUxFQ1QsXG4gIE1VTFRJX1NFTEVDVCxcbiAgTVVMVElfU0VMRUNUX1NJTVBMRSxcbiAgRklMRSxcbiAgVE9HR0xFLFxuICBSQU5HRSxcbiAgUEhPTkUsXG4gIENVUlJFTkNZLFxuICBDSEVDS0JPWF9SQURJTyxcbiAgSEFORExFLFxuICBBVFRBQ0hNRU5ULFxuICBEQVRFX1BJQ0tFUixcbiAgLyoqIEVzY2FsYSBjb3J0YSBkZSBzYXRpc2ZhY2Npw7NuIGNvbiBlbW9qaXMuIFVzYWRhIHBvciBlbmN1ZXN0YXMgcMO6YmxpY2FzLiAqL1xuICBFTU9KSV9SQVRJTkcsXG4gIC8qKlxuICAgKiBPcGNpw7NuIMO6bmljYSBlbiBjaGlwcyAoYHZhbC1jaGlwLXNlbGVjdGApLiBQcmVmZXJpbG8gc29icmUgQ0hFQ0tCT1hfUkFESU9cbiAgICogY3VhbmRvIGxhcyBldGlxdWV0YXMgc29uIGNvcnRhcyB5IGxhIHBhbnRhbGxhIGVzIHVuIHRlbMOpZm9ubzogbG9zIHJhZGlvcyBzZVxuICAgKiBhcGlsYW4gZW4gdmVydGljYWwgeSBzdSBvYmpldGl2byB0w6FjdGlsIGVzIGVsIGPDrXJjdWxvLCBubyBsYSBldGlxdWV0YS5cbiAgICovXG4gIENISVBfU0VMRUNULFxuICAvKiogU2VsZWN0b3IgbnVtw6lyaWNvIGNvbiBjb250cm9sZXMgLS8rIChgdmFsLW51bWJlci1waWNrZXJgKS4gKi9cbiAgTlVNQkVSX1BJQ0tFUixcbn1cblxuLyoqXG4gKiBPcHRpb24gZm9yIHNlbGVjdCwgcmFkaW8sIGV0Yy4gaW5wdXRzLlxuICovXG5leHBvcnQgdHlwZSBJbnB1dE9wdGlvbiA9IHtcbiAgLyoqIFVuaXF1ZSBvcHRpb24gaWRlbnRpZmllciAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogRGlzcGxheSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0ICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgLyoqIERpc3BsYXkgb3JkZXIgKi9cbiAgb3JkZXI6IG51bWJlcjtcbn07XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGEgZm9ybSBmaWVsZC5cbiAqL1xuZXhwb3J0IHR5cGUgSW5wdXRNZXRhZGF0YSA9IHtcbiAgLyoqIEFzc29jaWF0ZWQgZm9ybSBjb250cm9sIChvcHRpb25hbCwgY3JlYXRlZCBpbnRlcm5hbGx5IGJ5IHZhbC1mb3JtKSAqL1xuICBjb250cm9sPzogRm9ybUNvbnRyb2w7XG4gIC8qKiBGcm9tIGNvbnRyb2wgKG9ubHkgZm9yIE5VTUJFUl9GUk9NX1RPIHR5cGUpICovXG4gIGZyb21Db250cm9sPzogRm9ybUNvbnRyb2w7XG4gIC8qKiBUbyBjb250cm9sIChvbmx5IGZvciBOVU1CRVJfRlJPTV9UTyB0eXBlKSAqL1xuICB0b0NvbnRyb2w/OiBGb3JtQ29udHJvbDtcbiAgLyoqIFVuaXF1ZSB0b2tlbiBmb3IgdGhlIGlucHV0ICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBEaXNwbGF5IGxhYmVsICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIEhlbHAgdGV4dCAoc2hvd24gYmVsb3cgaW5wdXQsIGZvciB2YWxpZGF0aW9uIGhpbnRzKSAqL1xuICBoaW50OiBzdHJpbmc7XG4gIC8qKiBEZXNjcmlwdGlvbiB0ZXh0IChzaG93biBiZWxvdyBsYWJlbCwgZXhwbGFpbnMgdGhlIGZpZWxkIHB1cnBvc2UpICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogSW5wdXQgcGxhY2Vob2xkZXIgKi9cbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgLyoqIElucHV0IHR5cGUgKGRyaXZlcyB2YWwtZm9ybSByb3V0aW5nIOKAlCB3aGljaCBpbnB1dCBjb21wb25lbnQgcmVuZGVycykgKi9cbiAgdHlwZTogSW5wdXRUeXBlO1xuICAvKipcbiAgICogTmF0aXZlIEhUTUwgaW5wdXQgdHlwZSBmb3IgYHZhbC10ZXh0LWlucHV0YCAodGhlIGBbdHlwZV1gIGF0dHJpYnV0ZSBvZiB0aGVcbiAgICogdW5kZXJseWluZyBgPGlvbi1pbnB1dD5gIC8gY29udHJvbCkuIERlY291cGxlZCBmcm9tIGBJbnB1dFR5cGVgICh3aGljaCBpcyB0aGVcbiAgICogZm9ybS1yb3V0aW5nIGVudW0pLiBXaGVuIGB0eXBlID09PSBJbnB1dFR5cGUuVEVYVGAsIGB2YWwtZm9ybWAgZm9yd2FyZHMgYVxuICAgKiBzZW5zaWJsZSBgaW5wdXRUeXBlYCAoJ3RleHQnIGJ5IGRlZmF1bHQsICdlbWFpbCcvJ251bWJlcicvJ3RpbWUnLy4uLiBmb3IgdGhlXG4gICAqIGNvbGxhcHNlZCBlbWFpbC9udW1iZXIvaG91ciBjYXNlcykuIGAndGltZSdgIG1ha2VzIGB2YWwtdGV4dC1pbnB1dGAgcmVuZGVyIGFuXG4gICAqIGA8aW9uLWRhdGV0aW1lIHByZXNlbnRhdGlvbj1cInRpbWVcIj5gIGluc3RlYWQgb2YgYW4gYDxpb24taW5wdXQ+YC5cbiAgICovXG4gIGlucHV0VHlwZT86ICd0ZXh0JyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3Bhc3N3b3JkJyB8ICd0aW1lJyB8ICd1cmwnIHwgJ3NlYXJjaCcgfCAnZGF0ZSc7XG4gIC8qKiBEaXNwbGF5IG9yZGVyICovXG4gIG9yZGVyOiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb2xvciBkZWwgY2hpcCBzZWxlY2Npb25hZG8gKHNvbG8gQ0hJUF9TRUxFQ1QpLiBEZWZhdWx0OiAncHJpbWFyeScuXG4gICAqL1xuICBjaGlwQ29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb2xvciBwb3Igb3BjacOzbiAoc29sbyBDSElQX1NFTEVDVCksIGluZGV4YWRvIHBvciBgb3B0aW9uLmlkYC4gUGVybWl0ZSBxdWVcbiAgICogdW5hIHNldmVyaWRhZCBhbHRhIHNlIHZlYSBkaXN0aW50YSBkZSB1bmEgYmFqYSBzaW4gcXVlIGVsIGNvbnN1bWlkb3JcbiAgICogZXNjcmliYSBDU1MgcHJvcGlvLiBQaXNhIGEgYGNoaXBDb2xvcmAgcGFyYSBlc2Egb3BjacOzbi5cbiAgICovXG4gIGNoaXBDb2xvcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogQXNzb2NpYXRlZCB2YWxpZGF0b3JzICovXG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG4gIC8qKiBPcHRpb25zIChmb3Igc2VsZWN0LCByYWRpbywgZXRjLikgKi9cbiAgb3B0aW9ucz86IElucHV0T3B0aW9uW107XG4gIC8qKiBBbGxvd2VkIHJhbmdlIChmb3IgbnVtYmVyLCBkYXRlLCBldGMuKSAqL1xuICByYW5nZT86IHtcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgfTtcbiAgLyoqIEluY3JlbWVudG8gcGFyYSBOVU1CRVJfUElDS0VSLiBEZWZhdWx0IDEuICovXG4gIHN0ZXA/OiBudW1iZXI7XG4gIC8qKiBVbmlkYWQgdmlzaWJsZSBwYXJhIE5VTUJFUl9QSUNLRVIsIHBvciBlamVtcGxvIGtnLCBjbSwgYcOxb3MuICovXG4gIHVuaXRMYWJlbD86IHN0cmluZztcbiAgLyoqIFZhcmlhbnRlIHZpc3VhbCBwYXJhIE5VTUJFUl9QSUNLRVIuIERlZmF1bHQgZmllbGQtc3RlcHBlci4gKi9cbiAgbnVtYmVyUGlja2VyVmFyaWFudD86ICd3aGVlbCcgfCAnZmllbGQtc3RlcHBlcicgfCAnY29tcGFjdC1zdGVwcGVyJztcbiAgLyoqIFBlcm1pdGUgZXNjcmliaXIgbWFudWFsbWVudGUgZW4gTlVNQkVSX1BJQ0tFUi4gRGVmYXVsdCB0cnVlLiAqL1xuICBudW1iZXJQaWNrZXJFZGl0YWJsZT86IGJvb2xlYW47XG4gIC8qKiBNb2RvIGRlIHRlY2xhZG8gcGFyYSBOVU1CRVJfUElDS0VSLiBEZWZhdWx0IG51bWVyaWMuICovXG4gIG51bWJlclBpY2tlcklucHV0TW9kZT86ICdudW1lcmljJyB8ICdkZWNpbWFsJztcbiAgLyoqIERlY2ltYWxlcyBwYXJhIE5VTUJFUl9QSUNLRVIuIERlZmF1bHQgMC4gKi9cbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICAvKiogQ3VzdG9tIGVycm9yIG1lc3NhZ2VzICovXG4gIGVycm9yczoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbiAgLyoqIEluaXRpYWwgdmFsdWUgZm9yIHRoZSBmaWVsZCAqL1xuICB2YWx1ZT86IGFueTtcbiAgLyoqIERlZmF1bHQgdmFsdWUgY29uZmlndXJhdGlvbiAtIHN0cmluZyBmb3IgY3VzdG9tIGRlZmF1bHRzLCB0cnVlIGZvciBhdXRvIGRlZmF1bHRzICovXG4gIHdpdGhEZWZhdWx0Pzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgLyoqIEZpZWxkIHN0YXRlICovXG4gIHN0YXRlOiBDb21wb25lbnRTdGF0ZTtcbiAgLyoqIExhYmVsIGZvciBcImZyb21cIiBmaWVsZCAob25seSBmb3IgTlVNQkVSX0ZST01fVE8gdHlwZSkgKi9cbiAgZnJvbUxhYmVsPzogc3RyaW5nO1xuICAvKiogTGFiZWwgZm9yIFwidG9cIiBmaWVsZCAob25seSBmb3IgTlVNQkVSX0ZST01fVE8gdHlwZSkgKi9cbiAgdG9MYWJlbD86IHN0cmluZztcbiAgLyoqIFBsYWNlaG9sZGVyIGZvciBcImZyb21cIiBmaWVsZCAob25seSBmb3IgTlVNQkVSX0ZST01fVE8gdHlwZSkgKi9cbiAgZnJvbVBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogUGxhY2Vob2xkZXIgZm9yIFwidG9cIiBmaWVsZCAob25seSBmb3IgTlVNQkVSX0ZST01fVE8gdHlwZSkgKi9cbiAgdG9QbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvLyBpMThuIHN1cHBvcnQgcHJvcGVydGllc1xuICAvKiogS2V5IGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIG5hbWUgZm9yIGNvbnRlbnQgbG9va3VwICovXG4gIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgLyoqIEZhbGxiYWNrIHRleHQgaWYgY29udGVudCBrZXkgaXMgbm90IGZvdW5kICovXG4gIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcblxuICAvLyBzZWxlY3QtaW5wdXQgc3BlY2lmaWMgaTE4biBwcm9wZXJ0aWVzXG4gIC8qKiBDdXN0b20gaGVhZGVyIHRleHQgZm9yIHNlbGVjdCBtb2RhbCAqL1xuICBtb2RhbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBjYW5jZWwgYnV0dG9uIHRleHQgZm9yIHNlbGVjdCBtb2RhbCAqL1xuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIE9LIGJ1dHRvbiB0ZXh0IGZvciBzZWxlY3QgbW9kYWwgKi9cbiAgb2tUZXh0Pzogc3RyaW5nO1xuICAvKiogSW50ZXJmYWNlIGRlbCBpb24tc2VsZWN0IChkZWZhdWx0OiAncG9wb3ZlcicpLiAnbW9kYWwnIHBhcmEgbGlzdGFzIGxhcmdhcy4gKi9cbiAgc2VsZWN0SW50ZXJmYWNlPzogJ3BvcG92ZXInIHwgJ21vZGFsJyB8ICdhY3Rpb24tc2hlZXQnIHwgJ2FsZXJ0JztcblxuICAvLyBQSE9ORSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gIC8qKiBWYWxpZGF0ZSBwaG9uZSBmb3JtYXQgYW5kIGF0dGFjaCBgcGhvbmVJbnZhbGlkYCB3aGVuIHRoZSB2YWx1ZSBpcyBtYWxmb3JtZWQuICovXG4gIHZhbGlkYXRlRm9ybWF0PzogYm9vbGVhbjtcbiAgLyoqIE1pbmltdW0gbmF0aW9uYWwgZGlnaXRzIGZvciBQSE9ORSBmaWVsZHMuICovXG4gIG1pbkRpZ2l0cz86IG51bWJlcjtcbiAgLyoqIE1heGltdW0gbmF0aW9uYWwgZGlnaXRzIGZvciBQSE9ORSBmaWVsZHMuICovXG4gIG1heERpZ2l0cz86IG51bWJlcjtcbiAgLyoqIEN1c3RvbSBuYXRpb25hbC1udW1iZXIgdmFsaWRhdGlvbiBwYXR0ZXJuIGZvciBQSE9ORSBmaWVsZHMuICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLy8gY2hlY2staW5wdXQgc3BlY2lmaWMgcHJvcGVydGllc1xuICAvKiogUG9zaXRpb24gb2YgbGFiZWwgZm9yIGNoZWNrYm94ICgnc3RhcnQnIHwgJ2VuZCcpICovXG4gIGxhYmVsUGxhY2VtZW50PzogJ3N0YXJ0JyB8ICdlbmQnO1xuXG4gIC8vIFBJTl9DT0RFIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgLyoqIE51bWJlciBvZiBkaWdpdHMgaW4gUElOIChkZWZhdWx0OiA1LCBvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBsZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBTaXplIG9mIHRoZSBpbnB1dCBib3hlczogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyAoZGVmYXVsdDogJ21lZGl1bScsIG9ubHkgZm9yIFBJTl9DT0RFIHR5cGUpICovXG4gIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICAvKiogQWxsb3cgb25seSBudW1iZXJzIChkZWZhdWx0OiB0cnVlLCBvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBhbGxvd051bWJlcnNPbmx5PzogYm9vbGVhbjtcbiAgLyoqIE1hc2sgaW5wdXQgLSBzaG93IGRvdHMgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzIChvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBtYXNrPzogYm9vbGVhbjtcbiAgLyoqIEF1dG8gZm9jdXMgZmlyc3QgaW5wdXQgKG9ubHkgZm9yIFBJTl9DT0RFIHR5cGUpICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW47XG4gIC8qKiBDdXN0b20gaW5wdXQgc3R5bGVzIChvbmx5IGZvciBQSU5fQ09ERSB0eXBlKSAqL1xuICBpbnB1dFN0eWxlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqIFVwbG9hZCBmdW5jdGlvbiAob25seSBmb3IgQVRUQUNITUVOVCB0eXBlKS4gUmVjZWl2ZXMgYSBGaWxlLCBtdXN0IHJlc29sdmUgdG8gdGhlIHVwbG9hZGVkIFVSTC4gKi9cbiAgdXBsb2FkRm4/OiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTxzdHJpbmc+O1xuXG4gIC8vIEFjY2Vzc2liaWxpdHkgd2lyaW5nIChvcmNoZXN0cmF0ZWQgYnkgdmFsLWZvcm0pXG4gIC8qKlxuICAgKiBJZCBkZWwgZWxlbWVudG8gcXVlIGFjdMO6YSBjb21vIGxhYmVsIHZpc2libGUgZGVsIGNhbXBvLiBgdmFsLWZvcm1gIGxvIGFzaWduYVxuICAgKiBhbCBgPHZhbC10aXRsZT5gIHF1ZSByZW5kZXJpemEgc29icmUgZWwgaW5wdXQgeSBsbyBwYXNhIGFsIGlucHV0IHBhcmEgZW5sYXphclxuICAgKiB2w61hIGBhcmlhLWxhYmVsbGVkYnlgLiBTaSBzZSBvbWl0ZSwgZWwgaW5wdXQgZ2VuZXJhIHN1IHByb3BpbyBpZCBpbnRlcm5vLlxuICAgKi9cbiAgbGFiZWxJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkIGRlbCBjb250ZW5lZG9yIGRlIGVycm9yIChgdmFsLWhpbnRgKS4gYHZhbC1mb3JtYCBsbyBhc2lnbmEgYWwgYDx2YWwtaGludD5gXG4gICAqIHkgbG8gcGFzYSBhbCBpbnB1dCBwYXJhIGVubGF6YXIgdsOtYSBgYXJpYS1kZXNjcmliZWRieWAgY3VhbmRvIGhheSBlcnJvci5cbiAgICovXG4gIGVycm9ySWQ/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEEgc2VjdGlvbiBpbiBhIGZvcm0sIGdyb3VwaW5nIG11bHRpcGxlIGZpZWxkcy5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVNlY3Rpb24gPSB7XG4gIC8qKiBTZWN0aW9uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogRGlzcGxheSBvcmRlciAqL1xuICBvcmRlcjogbnVtYmVyO1xuICAvKiogRmllbGRzIGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uICovXG4gIGZpZWxkczogSW5wdXRNZXRhZGF0YVtdO1xufTtcblxuLyoqXG4gKiBEYXRhIHNlbnQgd2hlbiBzdWJtaXR0aW5nIGEgZm9ybS5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVN1Ym1pdCA9IHtcbiAgLyoqIEZvcm0gZmllbGQgdmFsdWVzIGFzIGtleS12YWx1ZSBwYWlycyAqL1xuICBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKiBPcHRpb25hbCB0b2tlbiBmb3IgdGhlIG9wZXJhdGlvbiAqL1xuICB0b2tlbj86IHN0cmluZztcbn07XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGEgY29tcGxldGUgZm9ybS5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybU1ldGFkYXRhID0ge1xuICAvKiogRm9ybSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIEZvcm0gc2VjdGlvbnMgKi9cbiAgc2VjdGlvbnM6IEZvcm1TZWN0aW9uW107XG4gIC8qKlxuICAgKiBDb25maWd1cmFjacOzbiBkZWwgYm90w7NuIGRlIHN1Ym1pdC4gT3BjaW9uYWw6IGVuIG1vZG8gYGNvbnRyb2xsZWRgIGVsIGZvcm1cbiAgICogbm8gcmVuZGVyaXphIHN1Ym1pdCBwcm9waW8gKGxvIG1hbmVqYSBlbCBob3N0KSB5IGBhY3Rpb25zYCBzZSBpZ25vcmEuXG4gICAqL1xuICBhY3Rpb25zPzogQnV0dG9uTWV0YWRhdGE7XG4gIC8qKiBHbG9iYWwgZm9ybSBzdGF0ZSAqL1xuICBzdGF0ZTogQ29tcG9uZW50U3RhdGU7XG4gIC8qKlxuICAgKiBFc3BhY2lvIHZlcnRpY2FsIGVudHJlIGNhbXBvcywgZW4gcHguIFNpIHNlIG9taXRlLCB1c2EgZWwgZGVmYXVsdFxuICAgKiByZXNwb25zaXZvIGRlIGxhIGxpYiAoOHB4IG1vYmlsZSAvIDEycHggZGVza3RvcCkuIMOadGlsIHBhcmEgZm9ybXVsYXJpb3NcbiAgICogZGVuc29zIG8gbcOhcyBhaXJlYWRvcyBzaW4gdG9jYXIgQ1NTIGRlbCBjb25zdW1lci5cbiAgICovXG4gIGZpZWxkU3BhY2luZz86IG51bWJlcjtcbiAgLyoqXG4gICAqIE11ZXN0cmEgZWwgZGl2aWRlciBlbnRyZSBzZWNjaW9uZXMuIERlZmF1bHQgYHRydWVgLlxuICAgKiDDmnRpbCBwYXJhIGZvcm11bGFyaW9zIGVtYmViaWRvcyBlbiB3aXphcmRzL2NhcmRzIGRvbmRlIGVsIGRpdmlkZXIgdmlzdWFsXG4gICAqIGNvbXBpdGUgY29uIGVsIGxheW91dCBkZWwgaG9zdC5cbiAgICovXG4gIHNob3dEaXZpZGVycz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNb2RvIGVtYmViaWRvOiBlbCBmb3JtIE5PIHJlbmRlcml6YSBzdSBidXR0b24tZ3JvdXAvZm9vdGVyIGRlIHN1Ym1pdC5cbiAgICogU29sbyBjYW1wb3MgKyB2YWxpZGFjacOzbi4gUGFyYSB3aXphcmRzL2hvc3RzIHF1ZSBjb250cm9sYW4gbGEgbmF2ZWdhY2nDs25cbiAgICogeSBsZWVuIGVsIGVzdGFkbyBkZWwgZm9ybSB2w61hIGBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpYCAoc2lnbmFscyBww7pibGljb3NcbiAgICogYHZhbHVlYC9gdmFsaWRgICsgbcOpdG9kbyBgdmFsaWRhdGUoKWAvYG1hcmtBbGxUb3VjaGVkKClgKS5cbiAgICogQ3VhbmRvIGVzIGB0cnVlYCwgaWdub3JhIGBzdGlja3lGb290ZXJgLlxuICAgKi9cbiAgY29udHJvbGxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGaWphIGVsIGJ1dHRvbi1ncm91cCBkZSBzdWJtaXQgYWwgZm9uZG8gKGBwb3NpdGlvbjogc3RpY2t5OyBib3R0b206IDBgKVxuICAgKiBwYXJhIG1vZGFsZXMgbGFyZ29zIGNvbiBzY3JvbGwuIFNvbG8gYXBsaWNhIHNpIE5PIGVzIGBjb250cm9sbGVkYC5cbiAgICogUG9yIGRlZmVjdG8gKHNpbiBmbGFncykgZWwgc3VibWl0IGVzIGlubGluZSBhbCBmaW5hbCBkZWwgZm9ybS5cbiAgICovXG4gIHN0aWNreUZvb3Rlcj86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIFBvc3NpYmxlIGFjdGlvbiB0eXBlcyBmb3IgYSB0b29sYmFyLlxuICovXG5leHBvcnQgZW51bSBUb29sYmFyQWN0aW9uVHlwZSB7XG4gIEFWQVRBUiA9ICdBVkFUQVInLFxuICBJQ09OID0gJ0lDT04nLFxuICBJTUFHRSA9ICdJTUFHRScsXG4gIEJVVFRPTiA9ICdCVVRUT04nLFxufVxuXG4vKipcbiAqIFRvb2xiYXIgYWN0aW9uIGRlZmluaXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFRvb2xiYXJBY3Rpb24gPSB7XG4gIC8qKiBBY3Rpb24gdHlwZSAqL1xuICB0eXBlOiAnQVZBVEFSJyB8ICdJQ09OJyB8ICdJTUFHRScgfCAnQlVUVE9OJztcbiAgLyoqIE9wdGlvbmFsIHRva2VuIGlkZW50aWZpZXIgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBUb29sYmFyIHBvc2l0aW9uICovXG4gIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcic7XG4gIC8qKiBPcHRpb25hbCBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIEFzc29jaWF0ZWQgaW1hZ2UgKGlmIGFueSkgKi9cbiAgaW1hZ2U/OiBJbWFnZU1ldGFkYXRhO1xuICAvKipcbiAgICogVXNlciBzaGFwZSBwYXJhIGVsIG1vZG8gYEFWQVRBUmAg4oCUIGhhYmlsaXRhIGZhbGxiYWNrIGludGVsaWdlbnRlOlxuICAgKiBmb3RvIOKGkiBpbmljaWFsZXMgKGRlIGBuYW1lYC9gZW1haWxgKSDihpIgaWNvbm8gcGVyc29uYS4gU2kgc2Ugb21pdGUsIGVsXG4gICAqIHRvb2xiYXIgc29sbyBtdWVzdHJhIGxhIGltYWdlbiBwYXNhZGEgZW4gYGRlc2NyaXB0aW9uYC5cbiAgICovXG4gIHVzZXI/OiB7IG5hbWU/OiBzdHJpbmc7IGVtYWlsPzogc3RyaW5nOyBhdmF0YXJVcmw/OiBzdHJpbmc7IGhhbmRsZT86IHN0cmluZyB9IHwgbnVsbDtcbiAgLyoqIENvbnRyb2xzIGF2YXRhciBzaXplIHdoZW4gdHlwZSBpcyBBVkFUQVIuIERlZmF1bHRzIHRvICdzbWFsbCcuICovXG4gIGF2YXRhclNpemU/OiAneHNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbn07XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIGFuIGljb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbk1ldGFkYSB7XG4gIC8qKiBJY29uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogUG9zaWNpw7NuIGRlbCBpY29uby4gYGljb24tb25seWAgZXMgcGFyYSB1biBib3TDs24gU0lOIHRleHRvOiBJb25pYyBsZSBxdWl0YVxuICAgKiBlbCBtYXJnZW4gbGF0ZXJhbCBxdWUgcmVzZXJ2YSBwYXJhIGxhIGV0aXF1ZXRhLCB5IGB2YWwtYnV0dG9uYCBsbyBkZXRlY3RhXG4gICAqIHBhcmEgZGltZW5zaW9uYXJsbyBjdWFkcmFkbyBlbiB2ZXogZGUgY8OhcHN1bGEuXG4gICAqL1xuICBzbG90OiAnc3RhcnQnIHwgJ2VuZCcgfCAnaWNvbi1vbmx5Jztcbn1cblxuLyoqXG4gKiBCdXR0b24gY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBTdXBwb3J0cyBib3RoIHN0YXRpYyBhbmQgcmVhY3RpdmUgY29udGVudC5cbiAqIEB0eXBlIHtCdXR0b25NZXRhZGF0YX1cbiAqIEBwcm9wZXJ0eSB0ZXh0IC0gU3RhdGljIGJ1dHRvbiBsYWJlbCAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRleHRDb25maWcpLlxuICogQHByb3BlcnR5IHRleHRDb25maWcgLSBSZWFjdGl2ZSBjb250ZW50IGNvbmZpZ3VyYXRpb24gZm9yIGJ1dHRvbiB0ZXh0LlxuICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIGJ1dHRvbiBjb2xvciAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAqIEBwcm9wZXJ0eSBpY29uIC0gSWNvbiB0byBkaXNwbGF5IChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgc3RhdGUgLSBCdXR0b24gc3RhdGUgKGVuYWJsZWQsIGRpc2FibGVkLCB3b3JraW5nLCBldGMuKS5cbiAqIEBwcm9wZXJ0eSBleHBhbmQsIGZpbGwsIHNpemUsIHNoYXBlLCBocmVmLCB0YXJnZXQsIGRvd25sb2FkLCBoYW5kbGVyLCBldGMuIC0gU2VlIEJ1dHRvbk1ldGFkYXRhIGZvciBhbGwgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdXR0b25NZXRhZGF0YSB7XG4gIC8qKiBBc3NvY2lhdGVkIGFjdGlvbiB0eXBlICovXG4gIGFjdGlvblR5cGU/OiBBY3Rpb25UeXBlO1xuICAvKiogQnV0dG9uIGV4cGFuc2lvbiAqL1xuICBleHBhbmQ/OiAnZnVsbCcgfCAnYmxvY2snO1xuICAvKiogQXNzb2NpYXRlZCBsaW5rICovXG4gIGxpbms/OiBzdHJpbmc7XG4gIC8qKiBBc3NvY2lhdGVkIGhyZWYgbGluayAqL1xuICBocmVmPzogc3RyaW5nO1xuICAvKiogQW5ndWxhciByb3V0ZXIgbGluayAoU1BBIG5hdmlnYXRpb24sIG5vIHJlbG9hZCkgKi9cbiAgcm91dGVyTGluaz86IHN0cmluZyB8IGFueVtdO1xuICAvKiogTGluayB0YXJnZXQgKi9cbiAgdGFyZ2V0PzogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnO1xuICAvKiogRG93bmxvYWQgZmlsZSBuYW1lICovXG4gIGRvd25sb2FkPzogc3RyaW5nO1xuICAvKiogQnV0dG9uIGNvbG9yICovXG4gIGNvbG9yOiBDb2xvcjtcbiAgLyoqIEJ1dHRvbiBzdGF0ZSAqL1xuICBzdGF0ZTogQ29tcG9uZW50U3RhdGU7XG4gIC8qKiBTdGF0aWMgZGlzcGxheSB0ZXh0ICh0YWtlcyBwcmVjZWRlbmNlIG92ZXIgcmVhY3RpdmUgY29udGVudCkgKi9cbiAgdGV4dD86IHN0cmluZztcbiAgLyoqIFJlYWN0aXZlIGNvbnRlbnQgY29uZmlndXJhdGlvbiBmb3IgYnV0dG9uIHRleHQgKi9cbiAgY29udGVudEtleT86IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCBjbGFzcyBuYW1lIGZvciBjb250ZW50IGxvb2t1cCAocmVxdWlyZWQgd2l0aCBjb250ZW50S2V5KSAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnRLZXkgaXMgbm90IGZvdW5kICovXG4gIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcbiAgLyoqIFZhbHVlcyB0byBpbnRlcnBvbGF0ZSBpbnRvIHRoZSBjb250ZW50IHN0cmluZyAqL1xuICBjb250ZW50SW50ZXJwb2xhdGlvbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj47XG4gIC8qKiBBc3NvY2lhdGVkIGljb24gKi9cbiAgaWNvbj86IEljb25NZXRhZGE7XG4gIC8qKiBCdXR0b24gc2hhcGUgKi9cbiAgc2hhcGU/OiAncm91bmQnO1xuICAvKiogQnV0dG9uIHNpemUgKi9cbiAgc2l6ZT86ICdzbWFsbCcgfCAnZGVmYXVsdCcgfCAnbGFyZ2UnO1xuICAvKipcbiAgICogQnV0dG9uIGZpbGwuXG4gICAqXG4gICAqIGB0aW50YCBubyBlcyB1biBmaWxsIG5hdGl2byBkZSBJb25pYyAocXVlIHNvbG8gZW50aWVuZGVcbiAgICogY2xlYXIvb3V0bGluZS9zb2xpZC9kZWZhdWx0KSDigJQgYHZhbC1idXR0b25gIGxvIG1hcGVhIGEgYGNsZWFyYCBzb2JyZSBlbFxuICAgKiBgaW9uLWJ1dHRvbmAgcmVhbCB5IGxlIHN1bWEgdW5hIHN1cGVyZmljaWUgdGVudWUgZGVsIG1pc21vIGBjb2xvcmBcbiAgICogKGByZ2JhKC0taW9uLWNvbG9yLWJhc2UtcmdiLCAwLjEpYCwgc2luIGJvcmRlKS4gRXhpc3RlIHBvcnF1ZSB1biBgY2xlYXJgXG4gICAqIHB1cm8sIHNpbiBmb25kbyBuaSBib3JkZSwgc2UgY29uZnVuZGUgY29uIHRleHRvIHBsYW5vIGN1YW5kbyBhY3TDumEgY29tb1xuICAgKiBhY2Npw7NuIGRlIHRhcmpldGEvZmlsYSBlbiB2ZXogZGUgbGluayBpbmxpbmUg4oCUIGVuY29udHJhZG8gYXVkaXRhbmRvXG4gICAqIE9raGVsaWEgKDIwMjYtMDgtMjQpOiBcIkNvcGlhciBsaXN0YVwiIG5vIHNlIGxlw61hIGNvbW8gYWxnbyB0b2NhYmxlLlxuICAgKi9cbiAgZmlsbD86ICdjbGVhcicgfCAnb3V0bGluZScgfCAnc29saWQnIHwgJ2RlZmF1bHQnIHwgJ3RpbnQnO1xuICAvKiogQnV0dG9uIHR5cGUgKi9cbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCc7XG4gIC8qKiBPcHRpb25hbCB0b2tlbiBpZGVudGlmaWVyICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogTm9tYnJlIGFjY2VzaWJsZSBkZWwgYm90w7NuLiBPYmxpZ2F0b3JpbyBlbiB1biBib3TDs24gYGljb24tb25seWA6IHNpbiB0ZXh0b1xuICAgKiB2aXNpYmxlLCB1biBsZWN0b3IgZGUgcGFudGFsbGEgc29sbyBhbnVuY2lhIFwiYm90w7NuXCIgKGVsIGBpb24taWNvbmAgdmFcbiAgICogYGFyaWEtaGlkZGVuYCkuIElnbm9yYWRvIGN1YW5kbyBlbCBib3TDs24gdGllbmUgdGV4dG8gcHJvcGlvLlxuICAgKi9cbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgcmVmZXJlbmNlICovXG4gIHJlZj86IGFueTtcbiAgLyoqIEFjdGlvbiBoYW5kbGVyICovXG4gIGhhbmRsZXI/OiAodmFsdWU6IGFueSkgPT4gYW55IHwgUHJvbWlzZTxhbnk+O1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHJlYWN0aXZlIGNvbnRlbnQgaW4gdmFsLWJ1dHRvbiBjb21wb25lbnQuXG4gKiBVc2UgdGhpcyBpbnRlcmZhY2Ugd2hlbiB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgY29udGVudC1yZWxhdGVkIHByb3BlcnRpZXMuXG4gKiBUaGlzIGZvbGxvd3MgdGhlIHNhbWUgcGF0dGVybiBhcyBUZXh0Q29udGVudENvbmZpZyBmb3IgY29uc2lzdGVuY3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uQ29udGVudENvbmZpZyB7XG4gIGNvbnRlbnRLZXk6IHN0cmluZztcbiAgY29udGVudENsYXNzOiBzdHJpbmc7XG4gIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcbiAgY29udGVudEludGVycG9sYXRpb24/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+O1xufVxuIl19
|
|
@@ -62,6 +62,12 @@ export class FormSchemaBuilderService {
|
|
|
62
62
|
order: def.order,
|
|
63
63
|
validators,
|
|
64
64
|
options,
|
|
65
|
+
step: def.step,
|
|
66
|
+
unitLabel: def.unitLabel,
|
|
67
|
+
numberPickerVariant: def.numberPickerVariant,
|
|
68
|
+
numberPickerEditable: def.numberPickerEditable,
|
|
69
|
+
numberPickerInputMode: def.numberPickerInputMode,
|
|
70
|
+
precision: def.precision,
|
|
65
71
|
errors,
|
|
66
72
|
value: def.value,
|
|
67
73
|
state,
|
|
@@ -84,6 +90,12 @@ export class FormSchemaBuilderService {
|
|
|
84
90
|
required: !!field.required,
|
|
85
91
|
validators,
|
|
86
92
|
options: this.normalizeOptions(field.options),
|
|
93
|
+
step: field.step,
|
|
94
|
+
unitLabel: field.unitLabel,
|
|
95
|
+
numberPickerVariant: field.numberPickerVariant,
|
|
96
|
+
numberPickerEditable: field.numberPickerEditable,
|
|
97
|
+
numberPickerInputMode: field.numberPickerInputMode,
|
|
98
|
+
precision: field.precision,
|
|
87
99
|
order,
|
|
88
100
|
};
|
|
89
101
|
}
|
|
@@ -186,6 +198,7 @@ export class FormSchemaBuilderService {
|
|
|
186
198
|
TEXTAREA: InputType.TEXTAREA,
|
|
187
199
|
EMAIL: InputType.EMAIL,
|
|
188
200
|
NUMBER: InputType.NUMBER,
|
|
201
|
+
NUMBER_PICKER: InputType.NUMBER_PICKER,
|
|
189
202
|
DATE: InputType.DATE,
|
|
190
203
|
SELECT: InputType.SELECT,
|
|
191
204
|
MULTI_SELECT: InputType.MULTI_SELECT,
|
|
@@ -208,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
208
221
|
type: Injectable,
|
|
209
222
|
args: [{ providedIn: 'root' }]
|
|
210
223
|
}] });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsK0JBQStCLEdBSWhDLE1BQU0sU0FBUyxDQUFDOztBQUdqQixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQXFPcEM7SUFuT0MsU0FBUyxDQUNQLE1BQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGlCQUF5QixRQUFRLEVBQ2pDLFFBQXdCLGVBQWUsQ0FBQyxPQUFPO1FBRS9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sT0FBTyxHQUFn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LENBQUMsT0FBZTtRQUN0QyxNQUFNLEdBQUcsR0FBOEI7WUFDckMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO1lBQ3BDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxtQkFBbUI7WUFDbEQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVTtZQUNoQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzVCLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtTQUNyQyxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDOytHQXJPVSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50U3RhdGUsXG4gIENvbXBvbmVudFN0YXRlcyxcbiAgRm9ybU1ldGFkYXRhLFxuICBGb3JtU2VjdGlvbixcbiAgSW5wdXRNZXRhZGF0YSxcbiAgSW5wdXRPcHRpb24sXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90eXBlcyc7XG5pbXBvcnQgeyBidXR0b24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ2Fub25pY2FsRmllbGRBbGlhc2VzLFxuICBERUZBVUxUX0NBTk9OSUNBTF9GSUVMRF9BTElBU0VTLFxuICBGaWVsZE9wdGlvbixcbiAgRmllbGRTY2hlbWFEZWYsXG4gIEZvcm1TY2hlbWFDb25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgYnVpbGRGb3JtKFxuICAgIHNjaGVtYTogRmllbGRTY2hlbWFEZWZbXSxcbiAgICBpMThuTmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgZm9ybU5hbWU6IHN0cmluZyxcbiAgICBzdWJtaXRMYWJlbEtleTogc3RyaW5nID0gJ3N1Ym1pdCcsXG4gICAgc3RhdGU6IENvbXBvbmVudFN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRURcbiAgKTogRm9ybU1ldGFkYXRhIHtcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc2NoZW1hXS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgY29uc3QgZmllbGRzOiBJbnB1dE1ldGFkYXRhW10gPSBzb3J0ZWQubWFwKGRlZiA9PiB0aGlzLmJ1aWxkRmllbGQoZGVmLCBpMThuTmFtZXNwYWNlLCBzdGF0ZSkpO1xuICAgIGNvbnN0IHNlY3Rpb246IEZvcm1TZWN0aW9uID0geyBuYW1lOiAnJywgb3JkZXI6IDAsIGZpZWxkcyB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGZvcm1OYW1lLFxuICAgICAgc2VjdGlvbnM6IFtzZWN0aW9uXSxcbiAgICAgIGFjdGlvbnM6IGJ1dHRvbih7XG4gICAgICAgIHRleHQ6IHRoaXMuaTE4bi50KHN1Ym1pdExhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSxcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIH0pLFxuICAgICAgc3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEZpZWxkKFxuICAgIGRlZjogRmllbGRTY2hlbWFEZWYsXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZVxuICApOiBJbnB1dE1ldGFkYXRhIHtcbiAgICAvLyBPcmRlbjogdGV4dG8gZGVsIGNsaWVudGUgKHRhbCBjdWFsIGxvIGVzY3JpYmnDsykg4oaSIGNsYXZlIGkxOG4gZGUgcHJvZHVjdG8uXG4gICAgLy8gTG9zICpFcy8qRW4gc29uIHNvbG8gY29tcGF0aWJpbGlkYWQgY29uIGVzcXVlbWFzIHZpZWpvczogc2UgbGVlbiBhbCBmaW5hbFxuICAgIC8vIHkgbmFkaWUgbG9zIGVzY3JpYmUuIFZlciByZWdsYSAjNCBlbiBDTEFVREUubWQuXG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgZGVmLmxhYmVsIHx8XG4gICAgICBkZWYubGFiZWxFcyB8fFxuICAgICAgZGVmLmxhYmVsRW4gfHxcbiAgICAgIChkZWYubGFiZWxLZXkgPyB0aGlzLmkxOG4udChkZWYubGFiZWxLZXksIGkxOG5OYW1lc3BhY2UpIDogZGVmLm5hbWUpO1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyID1cbiAgICAgIGRlZi5wbGFjZWhvbGRlclRleHQgfHxcbiAgICAgIGRlZi5wbGFjZWhvbGRlckVzIHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJFbiB8fFxuICAgICAgKGRlZi5wbGFjZWhvbGRlciA/IHRoaXMuaTE4bi50KGRlZi5wbGFjZWhvbGRlciwgaTE4bk5hbWVzcGFjZSkgOiAnJyk7XG4gICAgY29uc3QgaGludCA9XG4gICAgICBkZWYuaGludFRleHQgfHxcbiAgICAgIGRlZi5oaW50RXMgfHxcbiAgICAgIGRlZi5oaW50RW4gfHxcbiAgICAgIChkZWYuaGludCA/IHRoaXMuaTE4bi50KGRlZi5oaW50LCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5wYXJzZVZhbGlkYXRvcnMoZGVmKTtcbiAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGlmIChkZWYucmVxdWlyZWQgfHwgKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygncmVxdWlyZWQnKSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkUmVxdWlyZWQnLCAnX2NvbW1vbicpO1xuICAgIH1cbiAgICBpZiAoKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgZXJyb3JzWydlbWFpbCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkSW52YWxpZEVtYWlsJywgJ19jb21tb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdIHwgdW5kZWZpbmVkID0gZGVmLm9wdGlvbnNcbiAgICAgID8gZGVmLm9wdGlvbnMubWFwKG8gPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogZGVmLm5hbWUsXG4gICAgICBuYW1lOiBkZWYubmFtZSxcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBoaW50LFxuICAgICAgdHlwZTogdGhpcy5wYXJzZUlucHV0VHlwZShkZWYudHlwZSksXG4gICAgICBvcmRlcjogZGVmLm9yZGVyLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBlcnJvcnMsXG4gICAgICB2YWx1ZTogZGVmLnZhbHVlLFxuICAgICAgc3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUZpZWxkU2NoZW1hKFxuICAgIGZpZWxkOiBQYXJ0aWFsPEZpZWxkU2NoZW1hRGVmPiAmIFBpY2s8RmllbGRTY2hlbWFEZWYsICduYW1lJyB8ICdsYWJlbCc+LFxuICAgIG9yZGVyOiBudW1iZXJcbiAgKTogRmllbGRTY2hlbWFEZWYge1xuICAgIGNvbnN0IHR5cGUgPSBmaWVsZC50eXBlIHx8ICdURVhUJztcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gZmllbGQudmFsaWRhdG9ycyA/PyB0aGlzLmRlZmF1bHRWYWxpZGF0b3JzRm9yKHR5cGUsICEhZmllbGQucmVxdWlyZWQpO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlLFxuICAgICAgbmFtZTogdGhpcy50b1Rva2VuKGZpZWxkLm5hbWUgfHwgZmllbGQubGFiZWwpLFxuICAgICAgbGFiZWxLZXk6IGZpZWxkLmxhYmVsS2V5IHx8IHRoaXMudG9Ub2tlbihmaWVsZC5uYW1lIHx8IGZpZWxkLmxhYmVsKSxcbiAgICAgIC8vIFNpbiAqRXMvKkVuOiBlbCB0ZXh0byBkZWwgY2xpZW50ZSB2YSBlbiB1biBjYW1wbyB5IGVsIGRlIHByb2R1Y3RvIGVuXG4gICAgICAvLyBsYWJlbEtleS4gVmVyIHJlZ2xhICM0IGVuIENMQVVERS5tZC5cbiAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbC50cmltKCksXG4gICAgICBwbGFjZWhvbGRlcjogZmllbGQucGxhY2Vob2xkZXIsXG4gICAgICBwbGFjZWhvbGRlclRleHQ6IGZpZWxkLnBsYWNlaG9sZGVyVGV4dD8udHJpbSgpID8/ICcnLFxuICAgICAgaGludDogZmllbGQuaGludCxcbiAgICAgIGhpbnRUZXh0OiBmaWVsZC5oaW50VGV4dD8udHJpbSgpID8/ICcnLFxuICAgICAgcmVxdWlyZWQ6ICEhZmllbGQucmVxdWlyZWQsXG4gICAgICB2YWxpZGF0b3JzLFxuICAgICAgb3B0aW9uczogdGhpcy5ub3JtYWxpemVPcHRpb25zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgb3JkZXIsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm1TY2hlbWFDb25maWcoaW5wdXQ6IHtcbiAgICBzY2hlbWFJZDogc3RyaW5nO1xuICAgIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gICAgLyoqIFTDrXR1bG8gZGVsIGZvcm11bGFyaW8uIExvIGVzY3JpYmUgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBmaWVsZHM6IEZpZWxkU2NoZW1hRGVmW107XG4gICAgY2Fub25pY2FsQWxpYXNlcz86IENhbm9uaWNhbEZpZWxkQWxpYXNlcztcbiAgfSk6IEZvcm1TY2hlbWFDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWFJZDogaW5wdXQuc2NoZW1hSWQsXG4gICAgICBzY2hlbWFWZXJzaW9uOiBpbnB1dC5zY2hlbWFWZXJzaW9uLFxuICAgICAgbGFiZWw6IGlucHV0LmxhYmVsLFxuICAgICAgY2Fub25pY2FsTWFwOiB0aGlzLmJ1aWxkQ2Fub25pY2FsTWFwKGlucHV0LmZpZWxkcywgaW5wdXQuY2Fub25pY2FsQWxpYXNlcyksXG4gICAgICBmaWVsZFNjaGVtYTogaW5wdXQuZmllbGRzLFxuICAgIH07XG4gIH1cblxuICBidWlsZENhbm9uaWNhbE1hcChcbiAgICBmaWVsZHM6IEZpZWxkU2NoZW1hRGVmW10sXG4gICAgYWxpYXNlczogQ2Fub25pY2FsRmllbGRBbGlhc2VzID0gREVGQVVMVF9DQU5PTklDQUxfRklFTERfQUxJQVNFU1xuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBuYW1lcyA9IG5ldyBTZXQoZmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKSk7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgZm9yIChjb25zdCBbY2Fub25pY2FsTmFtZSwgY2FuZGlkYXRlc10gb2YgT2JqZWN0LmVudHJpZXMoYWxpYXNlcykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gY2FuZGlkYXRlcy5maW5kKGNhbmRpZGF0ZSA9PiBuYW1lcy5oYXMoY2FuZGlkYXRlKSk7XG4gICAgICBpZiAobWF0Y2gpIG1hcFtjYW5vbmljYWxOYW1lXSA9IG1hdGNoO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgdG9Ub2tlbih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVowLTlfIC1dL2csICcnKVxuICAgICAgLnRyaW0oKVxuICAgICAgLnJlcGxhY2UoL1tcXHMtXSsoLikvZywgKF8sIGM6IHN0cmluZykgPT4gYy50b1VwcGVyQ2FzZSgpKVxuICAgICAgLnJlcGxhY2UoL15bQS1aXS8sIGMgPT4gYy50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHVuaXF1ZUZpZWxkTmFtZSh2YWx1ZTogc3RyaW5nLCBleGlzdGluZ0ZpZWxkczogQXJyYXk8UGljazxGaWVsZFNjaGVtYURlZiwgJ25hbWUnPj4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2UgPSB0aGlzLnRvVG9rZW4odmFsdWUpIHx8ICdmaWVsZCc7XG4gICAgY29uc3QgdXNlZCA9IG5ldyBTZXQoZXhpc3RpbmdGaWVsZHMubWFwKGZpZWxkID0+IHRoaXMudG9Ub2tlbihmaWVsZC5uYW1lKSkpO1xuICAgIGlmICghdXNlZC5oYXMoYmFzZSkpIHJldHVybiBiYXNlO1xuICAgIGxldCBzdWZmaXggPSAyO1xuICAgIHdoaWxlICh1c2VkLmhhcyhgJHtiYXNlfSR7c3VmZml4fWApKSBzdWZmaXggKz0gMTtcbiAgICByZXR1cm4gYCR7YmFzZX0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVmFsaWRhdG9ycyhkZWY6IEZpZWxkU2NoZW1hRGVmKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgY29uc3QgZW50cmllcyA9IGRlZi52YWxpZGF0b3JzID8/IFtdO1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gZGVmLnJlcXVpcmVkIHx8IGVudHJpZXMuaW5jbHVkZXMoJ3JlcXVpcmVkJyk7XG5cbiAgICBpZiAoaGFzUmVxdWlyZWQpIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBpZiAoZW50cnkgPT09ICdyZXF1aXJlZCcpIGNvbnRpbnVlO1xuICAgICAgaWYgKGVudHJ5ID09PSAnZW1haWwnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbkxlbmd0aE1hdGNoID0gZW50cnkubWF0Y2goL15taW5MZW5ndGg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1pbkxlbmd0aE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKE51bWJlcihtaW5MZW5ndGhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhMZW5ndGhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWF4TGVuZ3RoOihcXGQrKSQvKTtcbiAgICAgIGlmIChtYXhMZW5ndGhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChOdW1iZXIobWF4TGVuZ3RoTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1pbjooXFxkKykkLyk7XG4gICAgICBpZiAobWluTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5taW4oTnVtYmVyKG1pbk1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heE1hdGNoID0gZW50cnkubWF0Y2goL15tYXg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1heE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWF4KE51bWJlcihtYXhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGRlZmF1bHRWYWxpZGF0b3JzRm9yKHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IG5ldyBTZXQ8c3RyaW5nPihyZXF1aXJlZCA/IFsncmVxdWlyZWQnXSA6IFtdKTtcbiAgICBpZiAodHlwZSA9PT0gJ0VNQUlMJykgdmFsaWRhdG9ycy5hZGQoJ2VtYWlsJyk7XG4gICAgaWYgKHR5cGUgPT09ICdURVhUJyB8fCB0eXBlID09PSAnUEhPTkUnKSB2YWxpZGF0b3JzLmFkZCgnbWF4TGVuZ3RoOjIwMCcpO1xuICAgIHJldHVybiBbLi4udmFsaWRhdG9yc107XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucz86IEZpZWxkT3B0aW9uW10pOiBGaWVsZE9wdGlvbltdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIW9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gWy4uLm9wdGlvbnNdXG4gICAgICAubWFwKChvcHRpb24sIGluZGV4KSA9PiAoe1xuICAgICAgICBpZDogb3B0aW9uLmlkLFxuICAgICAgICBuYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgICAgb3JkZXI6IG9wdGlvbi5vcmRlciA/PyBpbmRleCxcbiAgICAgIH0pKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0VHlwZSh0eXBlU3RyOiBzdHJpbmcpOiBJbnB1dFR5cGUge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgSW5wdXRUeXBlPiA9IHtcbiAgICAgIFRFWFQ6IElucHV0VHlwZS5URVhULFxuICAgICAgVEVYVEFSRUE6IElucHV0VHlwZS5URVhUQVJFQSxcbiAgICAgIEVNQUlMOiBJbnB1dFR5cGUuRU1BSUwsXG4gICAgICBOVU1CRVI6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBEQVRFOiBJbnB1dFR5cGUuREFURSxcbiAgICAgIFNFTEVDVDogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVDogSW5wdXRUeXBlLk1VTFRJX1NFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVF9TSU1QTEU6IElucHV0VHlwZS5NVUxUSV9TRUxFQ1RfU0lNUExFLFxuICAgICAgUkFESU86IElucHV0VHlwZS5SQURJTyxcbiAgICAgIFRPR0dMRTogSW5wdXRUeXBlLlRPR0dMRSxcbiAgICAgIENIRUNLOiBJbnB1dFR5cGUuQ0hFQ0ssXG4gICAgICBGSUxFOiBJbnB1dFR5cGUuRklMRSxcbiAgICAgIEFUVEFDSE1FTlQ6IElucHV0VHlwZS5BVFRBQ0hNRU5ULFxuICAgICAgUEhPTkU6IElucHV0VHlwZS5QSE9ORSxcbiAgICAgIENVUlJFTkNZOiBJbnB1dFR5cGUuQ1VSUkVOQ1ksXG4gICAgICBFTU9KSV9SQVRJTkc6IElucHV0VHlwZS5FTU9KSV9SQVRJTkcsXG4gICAgfTtcbiAgICByZXR1cm4gbWFwW3R5cGVTdHJdID8/IElucHV0VHlwZS5URVhUO1xuICB9XG59XG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsK0JBQStCLEdBSWhDLE1BQU0sU0FBUyxDQUFDOztBQUdqQixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWtQcEM7SUFoUEMsU0FBUyxDQUNQLE1BQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGlCQUF5QixRQUFRLEVBQ2pDLFFBQXdCLGVBQWUsQ0FBQyxPQUFPO1FBRS9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sT0FBTyxHQUFn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dEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzVCLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtTQUNyQyxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDOytHQWxQVSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50U3RhdGUsXG4gIENvbXBvbmVudFN0YXRlcyxcbiAgRm9ybU1ldGFkYXRhLFxuICBGb3JtU2VjdGlvbixcbiAgSW5wdXRNZXRhZGF0YSxcbiAgSW5wdXRPcHRpb24sXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90eXBlcyc7XG5pbXBvcnQgeyBidXR0b24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ2Fub25pY2FsRmllbGRBbGlhc2VzLFxuICBERUZBVUxUX0NBTk9OSUNBTF9GSUVMRF9BTElBU0VTLFxuICBGaWVsZE9wdGlvbixcbiAgRmllbGRTY2hlbWFEZWYsXG4gIEZvcm1TY2hlbWFDb25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgYnVpbGRGb3JtKFxuICAgIHNjaGVtYTogRmllbGRTY2hlbWFEZWZbXSxcbiAgICBpMThuTmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgZm9ybU5hbWU6IHN0cmluZyxcbiAgICBzdWJtaXRMYWJlbEtleTogc3RyaW5nID0gJ3N1Ym1pdCcsXG4gICAgc3RhdGU6IENvbXBvbmVudFN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRURcbiAgKTogRm9ybU1ldGFkYXRhIHtcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc2NoZW1hXS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgY29uc3QgZmllbGRzOiBJbnB1dE1ldGFkYXRhW10gPSBzb3J0ZWQubWFwKGRlZiA9PiB0aGlzLmJ1aWxkRmllbGQoZGVmLCBpMThuTmFtZXNwYWNlLCBzdGF0ZSkpO1xuICAgIGNvbnN0IHNlY3Rpb246IEZvcm1TZWN0aW9uID0geyBuYW1lOiAnJywgb3JkZXI6IDAsIGZpZWxkcyB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGZvcm1OYW1lLFxuICAgICAgc2VjdGlvbnM6IFtzZWN0aW9uXSxcbiAgICAgIGFjdGlvbnM6IGJ1dHRvbih7XG4gICAgICAgIHRleHQ6IHRoaXMuaTE4bi50KHN1Ym1pdExhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSxcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIH0pLFxuICAgICAgc3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEZpZWxkKFxuICAgIGRlZjogRmllbGRTY2hlbWFEZWYsXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZVxuICApOiBJbnB1dE1ldGFkYXRhIHtcbiAgICAvLyBPcmRlbjogdGV4dG8gZGVsIGNsaWVudGUgKHRhbCBjdWFsIGxvIGVzY3JpYmnDsykg4oaSIGNsYXZlIGkxOG4gZGUgcHJvZHVjdG8uXG4gICAgLy8gTG9zICpFcy8qRW4gc29uIHNvbG8gY29tcGF0aWJpbGlkYWQgY29uIGVzcXVlbWFzIHZpZWpvczogc2UgbGVlbiBhbCBmaW5hbFxuICAgIC8vIHkgbmFkaWUgbG9zIGVzY3JpYmUuIFZlciByZWdsYSAjNCBlbiBDTEFVREUubWQuXG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgZGVmLmxhYmVsIHx8XG4gICAgICBkZWYubGFiZWxFcyB8fFxuICAgICAgZGVmLmxhYmVsRW4gfHxcbiAgICAgIChkZWYubGFiZWxLZXkgPyB0aGlzLmkxOG4udChkZWYubGFiZWxLZXksIGkxOG5OYW1lc3BhY2UpIDogZGVmLm5hbWUpO1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyID1cbiAgICAgIGRlZi5wbGFjZWhvbGRlclRleHQgfHxcbiAgICAgIGRlZi5wbGFjZWhvbGRlckVzIHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJFbiB8fFxuICAgICAgKGRlZi5wbGFjZWhvbGRlciA/IHRoaXMuaTE4bi50KGRlZi5wbGFjZWhvbGRlciwgaTE4bk5hbWVzcGFjZSkgOiAnJyk7XG4gICAgY29uc3QgaGludCA9XG4gICAgICBkZWYuaGludFRleHQgfHxcbiAgICAgIGRlZi5oaW50RXMgfHxcbiAgICAgIGRlZi5oaW50RW4gfHxcbiAgICAgIChkZWYuaGludCA/IHRoaXMuaTE4bi50KGRlZi5oaW50LCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5wYXJzZVZhbGlkYXRvcnMoZGVmKTtcbiAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGlmIChkZWYucmVxdWlyZWQgfHwgKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygncmVxdWlyZWQnKSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkUmVxdWlyZWQnLCAnX2NvbW1vbicpO1xuICAgIH1cbiAgICBpZiAoKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgZXJyb3JzWydlbWFpbCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkSW52YWxpZEVtYWlsJywgJ19jb21tb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdIHwgdW5kZWZpbmVkID0gZGVmLm9wdGlvbnNcbiAgICAgID8gZGVmLm9wdGlvbnMubWFwKG8gPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogZGVmLm5hbWUsXG4gICAgICBuYW1lOiBkZWYubmFtZSxcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBoaW50LFxuICAgICAgdHlwZTogdGhpcy5wYXJzZUlucHV0VHlwZShkZWYudHlwZSksXG4gICAgICBvcmRlcjogZGVmLm9yZGVyLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzdGVwOiBkZWYuc3RlcCxcbiAgICAgIHVuaXRMYWJlbDogZGVmLnVuaXRMYWJlbCxcbiAgICAgIG51bWJlclBpY2tlclZhcmlhbnQ6IGRlZi5udW1iZXJQaWNrZXJWYXJpYW50LFxuICAgICAgbnVtYmVyUGlja2VyRWRpdGFibGU6IGRlZi5udW1iZXJQaWNrZXJFZGl0YWJsZSxcbiAgICAgIG51bWJlclBpY2tlcklucHV0TW9kZTogZGVmLm51bWJlclBpY2tlcklucHV0TW9kZSxcbiAgICAgIHByZWNpc2lvbjogZGVmLnByZWNpc2lvbixcbiAgICAgIGVycm9ycyxcbiAgICAgIHZhbHVlOiBkZWYudmFsdWUsXG4gICAgICBzdGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlRmllbGRTY2hlbWEoXG4gICAgZmllbGQ6IFBhcnRpYWw8RmllbGRTY2hlbWFEZWY+ICYgUGljazxGaWVsZFNjaGVtYURlZiwgJ25hbWUnIHwgJ2xhYmVsJz4sXG4gICAgb3JkZXI6IG51bWJlclxuICApOiBGaWVsZFNjaGVtYURlZiB7XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLnR5cGUgfHwgJ1RFWFQnO1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBmaWVsZC52YWxpZGF0b3JzID8/IHRoaXMuZGVmYXVsdFZhbGlkYXRvcnNGb3IodHlwZSwgISFmaWVsZC5yZXF1aXJlZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGUsXG4gICAgICBuYW1lOiB0aGlzLnRvVG9rZW4oZmllbGQubmFtZSB8fCBmaWVsZC5sYWJlbCksXG4gICAgICBsYWJlbEtleTogZmllbGQubGFiZWxLZXkgfHwgdGhpcy50b1Rva2VuKGZpZWxkLm5hbWUgfHwgZmllbGQubGFiZWwpLFxuICAgICAgLy8gU2luICpFcy8qRW46IGVsIHRleHRvIGRlbCBjbGllbnRlIHZhIGVuIHVuIGNhbXBvIHkgZWwgZGUgcHJvZHVjdG8gZW5cbiAgICAgIC8vIGxhYmVsS2V5LiBWZXIgcmVnbGEgIzQgZW4gQ0xBVURFLm1kLlxuICAgICAgbGFiZWw6IGZpZWxkLmxhYmVsLnRyaW0oKSxcbiAgICAgIHBsYWNlaG9sZGVyOiBmaWVsZC5wbGFjZWhvbGRlcixcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogZmllbGQucGxhY2Vob2xkZXJUZXh0Py50cmltKCkgPz8gJycsXG4gICAgICBoaW50OiBmaWVsZC5oaW50LFxuICAgICAgaGludFRleHQ6IGZpZWxkLmhpbnRUZXh0Py50cmltKCkgPz8gJycsXG4gICAgICByZXF1aXJlZDogISFmaWVsZC5yZXF1aXJlZCxcbiAgICAgIHZhbGlkYXRvcnMsXG4gICAgICBvcHRpb25zOiB0aGlzLm5vcm1hbGl6ZU9wdGlvbnMoZmllbGQub3B0aW9ucyksXG4gICAgICBzdGVwOiBmaWVsZC5zdGVwLFxuICAgICAgdW5pdExhYmVsOiBmaWVsZC51bml0TGFiZWwsXG4gICAgICBudW1iZXJQaWNrZXJWYXJpYW50OiBmaWVsZC5udW1iZXJQaWNrZXJWYXJpYW50LFxuICAgICAgbnVtYmVyUGlja2VyRWRpdGFibGU6IGZpZWxkLm51bWJlclBpY2tlckVkaXRhYmxlLFxuICAgICAgbnVtYmVyUGlja2VySW5wdXRNb2RlOiBmaWVsZC5udW1iZXJQaWNrZXJJbnB1dE1vZGUsXG4gICAgICBwcmVjaXNpb246IGZpZWxkLnByZWNpc2lvbixcbiAgICAgIG9yZGVyLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVGb3JtU2NoZW1hQ29uZmlnKGlucHV0OiB7XG4gICAgc2NoZW1hSWQ6IHN0cmluZztcbiAgICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKiBUw610dWxvIGRlbCBmb3JtdWxhcmlvLiBMbyBlc2NyaWJlIGxhIG9yZ2FuaXphY2nDs246IG5vIHNlIHRyYWR1Y2UuICovXG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmllbGRzOiBGaWVsZFNjaGVtYURlZltdO1xuICAgIGNhbm9uaWNhbEFsaWFzZXM/OiBDYW5vbmljYWxGaWVsZEFsaWFzZXM7XG4gIH0pOiBGb3JtU2NoZW1hQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hSWQ6IGlucHV0LnNjaGVtYUlkLFxuICAgICAgc2NoZW1hVmVyc2lvbjogaW5wdXQuc2NoZW1hVmVyc2lvbixcbiAgICAgIGxhYmVsOiBpbnB1dC5sYWJlbCxcbiAgICAgIGNhbm9uaWNhbE1hcDogdGhpcy5idWlsZENhbm9uaWNhbE1hcChpbnB1dC5maWVsZHMsIGlucHV0LmNhbm9uaWNhbEFsaWFzZXMpLFxuICAgICAgZmllbGRTY2hlbWE6IGlucHV0LmZpZWxkcyxcbiAgICB9O1xuICB9XG5cbiAgYnVpbGRDYW5vbmljYWxNYXAoXG4gICAgZmllbGRzOiBGaWVsZFNjaGVtYURlZltdLFxuICAgIGFsaWFzZXM6IENhbm9uaWNhbEZpZWxkQWxpYXNlcyA9IERFRkFVTFRfQ0FOT05JQ0FMX0ZJRUxEX0FMSUFTRVNcbiAgKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgbmFtZXMgPSBuZXcgU2V0KGZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSkpO1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2Nhbm9uaWNhbE5hbWUsIGNhbmRpZGF0ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGFsaWFzZXMpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGNhbmRpZGF0ZXMuZmluZChjYW5kaWRhdGUgPT4gbmFtZXMuaGFzKGNhbmRpZGF0ZSkpO1xuICAgICAgaWYgKG1hdGNoKSBtYXBbY2Fub25pY2FsTmFtZV0gPSBtYXRjaDtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHRvVG9rZW4odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1teYS16QS1aMC05XyAtXS9nLCAnJylcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKC9bXFxzLV0rKC4pL2csIChfLCBjOiBzdHJpbmcpID0+IGMudG9VcHBlckNhc2UoKSlcbiAgICAgIC5yZXBsYWNlKC9eW0EtWl0vLCBjID0+IGMudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICB1bmlxdWVGaWVsZE5hbWUodmFsdWU6IHN0cmluZywgZXhpc3RpbmdGaWVsZHM6IEFycmF5PFBpY2s8RmllbGRTY2hlbWFEZWYsICduYW1lJz4+KTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlID0gdGhpcy50b1Rva2VuKHZhbHVlKSB8fCAnZmllbGQnO1xuICAgIGNvbnN0IHVzZWQgPSBuZXcgU2V0KGV4aXN0aW5nRmllbGRzLm1hcChmaWVsZCA9PiB0aGlzLnRvVG9rZW4oZmllbGQubmFtZSkpKTtcbiAgICBpZiAoIXVzZWQuaGFzKGJhc2UpKSByZXR1cm4gYmFzZTtcbiAgICBsZXQgc3VmZml4ID0gMjtcbiAgICB3aGlsZSAodXNlZC5oYXMoYCR7YmFzZX0ke3N1ZmZpeH1gKSkgc3VmZml4ICs9IDE7XG4gICAgcmV0dXJuIGAke2Jhc2V9JHtzdWZmaXh9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZVZhbGlkYXRvcnMoZGVmOiBGaWVsZFNjaGVtYURlZik6IFZhbGlkYXRvckZuW10ge1xuICAgIGNvbnN0IHJlc3VsdDogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGNvbnN0IGVudHJpZXMgPSBkZWYudmFsaWRhdG9ycyA/PyBbXTtcbiAgICBjb25zdCBoYXNSZXF1aXJlZCA9IGRlZi5yZXF1aXJlZCB8fCBlbnRyaWVzLmluY2x1ZGVzKCdyZXF1aXJlZCcpO1xuXG4gICAgaWYgKGhhc1JlcXVpcmVkKSByZXN1bHQucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgaWYgKGVudHJ5ID09PSAncmVxdWlyZWQnKSBjb250aW51ZTtcbiAgICAgIGlmIChlbnRyeSA9PT0gJ2VtYWlsJykge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLmVtYWlsKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5MZW5ndGhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWluTGVuZ3RoOihcXGQrKSQvKTtcbiAgICAgIGlmIChtaW5MZW5ndGhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aChOdW1iZXIobWluTGVuZ3RoTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4TGVuZ3RoTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1heExlbmd0aDooXFxkKykkLyk7XG4gICAgICBpZiAobWF4TGVuZ3RoTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgoTnVtYmVyKG1heExlbmd0aE1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbk1hdGNoID0gZW50cnkubWF0Y2goL15taW46KFxcZCspJC8pO1xuICAgICAgaWYgKG1pbk1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluKE51bWJlcihtaW5NYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWF4OihcXGQrKSQvKTtcbiAgICAgIGlmIChtYXhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1heChOdW1iZXIobWF4TWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBkZWZhdWx0VmFsaWRhdG9yc0Zvcih0eXBlOiBzdHJpbmcsIHJlcXVpcmVkOiBib29sZWFuKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBuZXcgU2V0PHN0cmluZz4ocmVxdWlyZWQgPyBbJ3JlcXVpcmVkJ10gOiBbXSk7XG4gICAgaWYgKHR5cGUgPT09ICdFTUFJTCcpIHZhbGlkYXRvcnMuYWRkKCdlbWFpbCcpO1xuICAgIGlmICh0eXBlID09PSAnVEVYVCcgfHwgdHlwZSA9PT0gJ1BIT05FJykgdmFsaWRhdG9ycy5hZGQoJ21heExlbmd0aDoyMDAnKTtcbiAgICByZXR1cm4gWy4uLnZhbGlkYXRvcnNdO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnM/OiBGaWVsZE9wdGlvbltdKTogRmllbGRPcHRpb25bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFvcHRpb25zPy5sZW5ndGgpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFsuLi5vcHRpb25zXVxuICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaWQ6IG9wdGlvbi5pZCxcbiAgICAgICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgICAgIG9yZGVyOiBvcHRpb24ub3JkZXIgPz8gaW5kZXgsXG4gICAgICB9KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VJbnB1dFR5cGUodHlwZVN0cjogc3RyaW5nKTogSW5wdXRUeXBlIHtcbiAgICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIElucHV0VHlwZT4gPSB7XG4gICAgICBURVhUOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIFRFWFRBUkVBOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICBFTUFJTDogSW5wdXRUeXBlLkVNQUlMLFxuICAgICAgTlVNQkVSOiBJbnB1dFR5cGUuTlVNQkVSLFxuICAgICAgTlVNQkVSX1BJQ0tFUjogSW5wdXRUeXBlLk5VTUJFUl9QSUNLRVIsXG4gICAgICBEQVRFOiBJbnB1dFR5cGUuREFURSxcbiAgICAgIFNFTEVDVDogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVDogSW5wdXRUeXBlLk1VTFRJX1NFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVF9TSU1QTEU6IElucHV0VHlwZS5NVUxUSV9TRUxFQ1RfU0lNUExFLFxuICAgICAgUkFESU86IElucHV0VHlwZS5SQURJTyxcbiAgICAgIFRPR0dMRTogSW5wdXRUeXBlLlRPR0dMRSxcbiAgICAgIENIRUNLOiBJbnB1dFR5cGUuQ0hFQ0ssXG4gICAgICBGSUxFOiBJbnB1dFR5cGUuRklMRSxcbiAgICAgIEFUVEFDSE1FTlQ6IElucHV0VHlwZS5BVFRBQ0hNRU5ULFxuICAgICAgUEhPTkU6IElucHV0VHlwZS5QSE9ORSxcbiAgICAgIENVUlJFTkNZOiBJbnB1dFR5cGUuQ1VSUkVOQ1ksXG4gICAgICBFTU9KSV9SQVRJTkc6IElucHV0VHlwZS5FTU9KSV9SQVRJTkcsXG4gICAgfTtcbiAgICByZXR1cm4gbWFwW3R5cGVTdHJdID8/IElucHV0VHlwZS5URVhUO1xuICB9XG59XG4iXX0=
|