@seniorsistemas/components-ai 2.4.0-master-bdd92d4e → 2.4.0-master-0414a3aa
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/dynamic-form/fields/dynamic-field-date.component.mjs +6 -7
- package/esm2022/lib/components/dynamic-form/fields/dynamic-field-datetime.component.mjs +6 -7
- package/esm2022/lib/components/dynamic-form/fields/dynamic-field-time.component.mjs +6 -7
- package/fesm2022/seniorsistemas-components-ai.mjs +12 -15
- package/fesm2022/seniorsistemas-components-ai.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { InputMaskModule } from 'primeng/inputmask';
|
|
5
5
|
import { CalendarModule } from 'primeng/calendar';
|
|
6
6
|
import { ButtonModule } from 'primeng/button';
|
|
@@ -242,7 +242,7 @@ export class DynamicFieldDateComponent extends DynamicFieldBaseComponent {
|
|
|
242
242
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldDateComponent, deps: [{ token: i1.TranslationService }, { token: i2.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
243
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldDateComponent, isStandalone: true, selector: "sia-dynamic-field-date", viewQueries: [{ propertyName: "calendarPicker", first: true, predicate: ["calendarPicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
244
244
|
<sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
|
|
245
|
-
<div
|
|
245
|
+
<div class="date-field">
|
|
246
246
|
<div class="date-input-group">
|
|
247
247
|
<p-inputmask
|
|
248
248
|
[inputId]="field.field"
|
|
@@ -287,13 +287,12 @@ export class DynamicFieldDateComponent extends DynamicFieldBaseComponent {
|
|
|
287
287
|
</p-calendar>
|
|
288
288
|
</div>
|
|
289
289
|
</sia-dynamic-field-wrapper>
|
|
290
|
-
`, isInline: true, styles: [".date-field{width:100%;position:relative}.date-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.date-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}
|
|
290
|
+
`, isInline: true, styles: [".date-field{width:100%;position:relative}.date-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.date-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}.hidden-calendar-input,::ng-deep .hidden-calendar-input{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:none!important;top:0;left:0;input{width:0!important;height:0!important;padding:0!important;border:none!important}}>p-calendar{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i4.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: DynamicFieldWrapperComponent, selector: "sia-dynamic-field-wrapper", inputs: ["field", "form", "mode"] }] });
|
|
291
291
|
}
|
|
292
292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldDateComponent, decorators: [{
|
|
293
293
|
type: Component,
|
|
294
294
|
args: [{ selector: 'sia-dynamic-field-date', standalone: true, imports: [
|
|
295
295
|
CommonModule,
|
|
296
|
-
ReactiveFormsModule,
|
|
297
296
|
FormsModule,
|
|
298
297
|
InputMaskModule,
|
|
299
298
|
CalendarModule,
|
|
@@ -302,7 +301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
302
301
|
DynamicFieldWrapperComponent
|
|
303
302
|
], template: `
|
|
304
303
|
<sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
|
|
305
|
-
<div
|
|
304
|
+
<div class="date-field">
|
|
306
305
|
<div class="date-input-group">
|
|
307
306
|
<p-inputmask
|
|
308
307
|
[inputId]="field.field"
|
|
@@ -347,9 +346,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
347
346
|
</p-calendar>
|
|
348
347
|
</div>
|
|
349
348
|
</sia-dynamic-field-wrapper>
|
|
350
|
-
`, styles: [".date-field{width:100%;position:relative}.date-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.date-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}
|
|
349
|
+
`, styles: [".date-field{width:100%;position:relative}.date-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.date-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}.hidden-calendar-input,::ng-deep .hidden-calendar-input{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:none!important;top:0;left:0;input{width:0!important;height:0!important;padding:0!important;border:none!important}}>p-calendar{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}\n"] }]
|
|
351
350
|
}], ctorParameters: () => [{ type: i1.TranslationService }, { type: i2.LocaleService }, { type: i0.ChangeDetectorRef }], propDecorators: { calendarPicker: [{
|
|
352
351
|
type: ViewChild,
|
|
353
352
|
args: ['calendarPicker']
|
|
354
353
|
}] } });
|
|
355
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9maWVsZHMvZHluYW1pYy1maWVsZC1kYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF3QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQVczRSxNQUFNLGlCQUFpQixHQUE4QztJQUNuRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUN6RSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUN6RSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUss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QUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFBQyxDQUFDO1FBQzlELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFdBQVcsSUFBSSxZQUFZLENBQUM7SUFDNUUsQ0FBQzt3R0FqT1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsMk5BdEgxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QsMjNCQXhEQyxZQUFZLDhCQUNaLG1CQUFtQixtYkFDbkIsV0FBVyxzUEFDWCxlQUFlLHFpQkFDZixjQUFjLGl6Q0FDZCxZQUFZLGliQUNaLGFBQWEsc1hBQ2IsNEJBQTRCOzs0RkF3SG5CLHlCQUF5QjtrQkFuSXJDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLDRCQUE0QjtxQkFDN0IsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1Q7bUpBd0U0QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlLCBDYWxlbmRhciB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSwgU3VwcG9ydGVkTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZmllbGQtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIG3DoXNjYXJhIGRlIGRhdGEgcG9yIGxvY2FsZVxuICovXG5pbnRlcmZhY2UgRGF0ZU1hc2tDb25maWcge1xuICBtYXNrOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGZvcm1hdDogJ2RteScgfCAnbWR5Jztcbn1cblxuY29uc3QgREFURV9NQVNLX0NPTkZJR1M6IFJlY29yZDxTdXBwb3J0ZWRMYW5ndWFnZSwgRGF0ZU1hc2tDb25maWc+ID0ge1xuICAncHQtQlInOiB7IG1hc2s6ICc5OS85OS85OTk5JywgcGxhY2Vob2xkZXI6ICdkZC9tbS9hYWFhJywgZm9ybWF0OiAnZG15JyB9LFxuICAnZW4tVVMnOiB7IG1hc2s6ICc5OS85OS85OTk5JywgcGxhY2Vob2xkZXI6ICdtbS9kZC95eXl5JywgZm9ybWF0OiAnbWR5JyB9LFxuICAnZXMtRVMnOiB7IG1hc2s6ICc5OS85OS85OTk5JywgcGxhY2Vob2xkZXI6ICdkZC9tbS9hYWFhJywgZm9ybWF0OiAnZG15JyB9XG59O1xuXG4vKipcbiAqIER5bmFtaWNGaWVsZERhdGVDb21wb25lbnRcbiAqXG4gKiBPIEZvcm1Db250cm9sLnZhbHVlIFNFTVBSRSBhcm1hemVuYSBhIGRhdGEgbm8gZm9ybWF0byBJU086IFwieXl5eS1NTS1kZFwiIChleDogXCIyMDI2LTA1LTE4XCIpLlxuICogQSB2YXJpw6F2ZWwgYGRpc3BsYXlWYWx1ZWAgbWFudMOpbSBvIHZhbG9yIGZvcm1hdGFkbyBubyBsb2NhbGUgZG8gdXN1w6FyaW8gcGFyYSBleGliacOnw6NvIG5vIGlucHV0LlxuICogSXNzbyBnYXJhbnRlIHF1ZSBxdWFscXVlciBjb21wb25lbnRlIHF1ZSBhY2Vzc2UgZm9ybS52YWx1ZSByZWNlYmEgbyB2YWxvciBwcm9udG8gcGFyYSBvIGJhY2tlbmQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpYS1keW5hbWljLWZpZWxkLWRhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgIENhbGVuZGFyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIER5bmFtaWNGaWVsZFdyYXBwZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c2lhLWR5bmFtaWMtZmllbGQtd3JhcHBlciBbZmllbGRdPVwiZmllbGRcIiBbZm9ybV09XCJmb3JtXCIgW21vZGVdPVwibW9kZVwiPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImRhdGUtZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8cC1pbnB1dG1hc2tcbiAgICAgICAgICAgIFtpbnB1dElkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgW21hc2tdPVwiZGF0ZU1hc2tcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgICAgIFthdXRvQ2xlYXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cImRhdGUtaW5wdXRcIlxuICAgICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiaXNGaWVsZEludmFsaWQoKVwiXG4gICAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiaXNGaWVsZERpcnR5KClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ29udHJvbERpc2FibGVkKClcIlxuICAgICAgICAgICAgKG9uQ29tcGxldGUpPVwib25EaXNwbGF5VmFsdWVDb21wbGV0ZSgpXCJcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25EaXNwbGF5VmFsdWVCbHVyKClcIj5cbiAgICAgICAgICA8L3AtaW5wdXRtYXNrPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBUb29sdGlwPVwiQWJyaXIgY2FsZW5kw6FyaW9cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICNjYWxlbmRhclBpY2tlclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FsZW5kYXJWYWx1ZVwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiY3VycmVudERhdGVGb3JtYXRcIlxuICAgICAgICAgIFtzaG93QnV0dG9uQmFyXT1cInRydWVcIlxuICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgIFtpbmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cIm9uQ2FsZW5kYXJTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJvbkNhbGVuZGFyQ2xlYXIoKVwiXG4gICAgICAgICAgc3R5bGVDbGFzcz1cImhpZGRlbi1jYWxlbmRhci1pbnB1dFwiPlxuICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NpYS1keW5hbWljLWZpZWxkLXdyYXBwZXI+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuZGF0ZS1maWVsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZGF0ZS1pbnB1dC1ncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgOjpuZy1kZWVwIHAtaW5wdXRtYXNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRhdGUtYnV0dG9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuXG4gICAgICA6Om5nLWRlZXAgLnAtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnAtYnV0dG9uLWljb24ge1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgOjpuZy1kZWVwIC5oaWRkZW4tY2FsZW5kYXItaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZERhdGVDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjYWxlbmRhclBpY2tlcicpIGNhbGVuZGFyUGlja2VyITogQ2FsZW5kYXI7XG5cbiAgY3VycmVudERhdGVGb3JtYXQgPSAnZGQvbW0veXknO1xuICBkYXRlTWFzayA9ICc5OS85OS85OTk5JztcbiAgY2FsZW5kYXJWYWx1ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBWYWxvciBkZSBleGliacOnw6NvIG5vIGZvcm1hdG8gbG9jYWxlIChleDogXCIxOC8wNS8yMDI2XCIgcGFyYSBwdC1CUikgKi9cbiAgZGlzcGxheVZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGxhbmdTdWI/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdmFsdWVTdWI/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY3VycmVudExvY2FsZTogU3VwcG9ydGVkTGFuZ3VhZ2UgPSAncHQtQlInO1xuICBwcml2YXRlIHVwZGF0aW5nRnJvbUNvbnRyb2wgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKHRyYW5zbGF0aW9uU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRMb2NhbGUgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5nZXRDdXJyZW50TGFuZ3VhZ2UoKTtcbiAgICB0aGlzLnVwZGF0ZURhdGVGb3JtYXQoKTtcblxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICAvLyBJbmljaWFsaXphciBkaXNwbGF5VmFsdWUgYSBwYXJ0aXIgZG8gdmFsb3IgSVNPIGRvIGNvbnRyb2xcbiAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbChjb250cm9sLnZhbHVlKTtcblxuICAgICAgLy8gT2JzZXJ2YXIgbXVkYW7Dp2FzIGV4dGVybmFzIG5vIGNvbnRyb2wgKHBhdGNoVmFsdWUsIHNldFZhbHVlKVxuICAgICAgdGhpcy52YWx1ZVN1YiA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnVwZGF0aW5nRnJvbUNvbnRyb2wpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmxhbmdTdWIgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UkLnN1YnNjcmliZSgobGFuZykgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TG9jYWxlID0gbGFuZztcbiAgICAgIHRoaXMudXBkYXRlRGF0ZUZvcm1hdCgpO1xuICAgICAgLy8gUmUtZm9ybWF0YXIgbyBkaXNwbGF5IGNvbSBvIG5vdm8gbG9jYWxlXG4gICAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICAgIGlmIChjdHJsKSB7XG4gICAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbChjdHJsLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnZhbHVlU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpbmNyb25pemEgbyBkaXNwbGF5VmFsdWUgYSBwYXJ0aXIgZG8gdmFsb3IgSVNPIGRvIEZvcm1Db250cm9sLlxuICAgKiBBY2VpdGE6IFwieXl5eS1NTS1kZFwiLCBEYXRlLCBsb2NhbGUgc3RyaW5nIFwiZGQvTU0veXl5eVwiLCBvdSBudWxsLlxuICAgKi9cbiAgcHJpdmF0ZSBzeW5jRGlzcGxheUZyb21Db250cm9sKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIC8vIENvbnZlcnRlIERhdGUgcGFyYSBJU08gbm8gY29udHJvbCBlIGF0dWFsaXphIGRpc3BsYXlcbiAgICAgIGNvbnN0IGlzbyA9IHRoaXMuZGF0ZVRvSXNvKHZhbHVlKTtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuaXNvVG9Mb2NhbGUoaXNvKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzID0gU3RyaW5nKHZhbHVlKTtcblxuICAgIC8vIErDoSBlc3TDoSBlbSBmb3JtYXRvIElTTyAoeXl5eS1NTS1kZClcbiAgICBpZiAocy5tYXRjaCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9LykpIHtcbiAgICAgIGNvbnN0IGlzb0RhdGUgPSBzLnN1YnN0cmluZygwLCAxMCk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuaXNvVG9Mb2NhbGUoaXNvRGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRXN0w6EgZW0gZm9ybWF0byBsb2NhbGUgKGRkL01NL3l5eXkgb3UgTU0vZGQveXl5eSlcbiAgICBpZiAocy5tYXRjaCgvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSQvKSkge1xuICAgICAgY29uc3QgaXNvID0gdGhpcy5sb2NhbGVUb0lzbyhzKTtcbiAgICAgIGlmIChpc28pIHtcbiAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXNvKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBzO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZhbG9yIGluY29tcGxldG8gb3UgY29tIG3DoXNjYXJhXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBzLmluY2x1ZGVzKCdfJykgPyBudWxsIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBDaGFtYWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNvbXBsZXRhIGEgZGlnaXRhw6fDo28gZGEgbcOhc2NhcmEgKi9cbiAgb25EaXNwbGF5VmFsdWVDb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNDb250cm9sRnJvbURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKiBDaGFtYWRvIHF1YW5kbyBvIGlucHV0IHBlcmRlIGZvY28gKi9cbiAgb25EaXNwbGF5VmFsdWVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuc3luY0NvbnRyb2xGcm9tRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRlIG8gZGlzcGxheVZhbHVlIChsb2NhbGUpIHBhcmEgSVNPIGUgc2V0YSBubyBGb3JtQ29udHJvbC5cbiAgICovXG4gIHByaXZhdGUgc3luY0NvbnRyb2xGcm9tRGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICBpZiAoIWNvbnRyb2wpIHsgcmV0dXJuOyB9XG5cbiAgICBpZiAoIXRoaXMuZGlzcGxheVZhbHVlIHx8IHRoaXMuZGlzcGxheVZhbHVlLmluY2x1ZGVzKCdfJykpIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKG51bGwpO1xuICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzbyA9IHRoaXMubG9jYWxlVG9Jc28odGhpcy5kaXNwbGF5VmFsdWUpO1xuICAgIGlmIChpc28pIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldGEgbyB2YWxvciBubyBjb250cm9sIHNlbSBkaXNwYXJhciBvIHN1YnNjcmliZXIgaW50ZXJubyAqL1xuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmICghY29udHJvbCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnVwZGF0aW5nRnJvbUNvbnRyb2wgPSB0cnVlO1xuICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIHRoaXMudXBkYXRpbmdGcm9tQ29udHJvbCA9IGZhbHNlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT0gQ09OVkVSU8OVRVMgPT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogQ29udmVydGUgSVNPIFwieXl5eS1NTS1kZFwiIHBhcmEgbG9jYWxlIHN0cmluZyAqL1xuICBwcml2YXRlIGlzb1RvTG9jYWxlKGlzbzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbeWVhciwgbW9udGgsIGRheV0gPSBpc28uc3BsaXQoJy0nKTtcbiAgICBjb25zdCBjb25maWcgPSBEQVRFX01BU0tfQ09ORklHU1t0aGlzLmN1cnJlbnRMb2NhbGVdIHx8IERBVEVfTUFTS19DT05GSUdTWydwdC1CUiddO1xuICAgIHJldHVybiBjb25maWcuZm9ybWF0ID09PSAnbWR5JyA/IGAke21vbnRofS8ke2RheX0vJHt5ZWFyfWAgOiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xuICB9XG5cbiAgLyoqIENvbnZlcnRlIGxvY2FsZSBzdHJpbmcgcGFyYSBJU08gXCJ5eXl5LU1NLWRkXCIgKi9cbiAgcHJpdmF0ZSBsb2NhbGVUb0lzbyhsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHBhcnRzID0gbG9jYWxlLnNwbGl0KCcvJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMykgeyByZXR1cm4gbnVsbDsgfVxuICAgIGNvbnN0IGNvbmZpZyA9IERBVEVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURV9NQVNLX0NPTkZJR1NbJ3B0LUJSJ107XG4gICAgY29uc3QgW3AwLCBwMSwgcDJdID0gcGFydHM7XG4gICAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gY29uZmlnLmZvcm1hdCA9PT0gJ21keScgPyBbcDEsIHAwLCBwMl0gOiBbcDAsIHAxLCBwMl07XG4gICAgY29uc3QgZCA9IHBhcnNlSW50KGRheSwgMTApO1xuICAgIGNvbnN0IG0gPSBwYXJzZUludChtb250aCwgMTApO1xuICAgIGNvbnN0IHkgPSBwYXJzZUludCh5ZWFyLCAxMCk7XG4gICAgaWYgKGlzTmFOKGQpIHx8IGlzTmFOKG0pIHx8IGlzTmFOKHkpIHx8IG0gPCAxIHx8IG0gPiAxMiB8fCBkIDwgMSB8fCBkID4gMzEpIHsgcmV0dXJuIG51bGw7IH1cbiAgICByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YDtcbiAgfVxuXG4gIC8qKiBDb252ZXJ0ZSBEYXRlIHBhcmEgSVNPIFwieXl5eS1NTS1kZFwiICovXG4gIHByaXZhdGUgZGF0ZVRvSXNvKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IHllYXIgPSBTdHJpbmcoZGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YDtcbiAgfVxuXG4gIC8qKiBDb252ZXJ0ZSBsb2NhbGUgc3RyaW5nIHBhcmEgRGF0ZSAqL1xuICBwcml2YXRlIGxvY2FsZVRvRGF0ZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGlzbyA9IHRoaXMubG9jYWxlVG9Jc28odmFsdWUpO1xuICAgIGlmICghaXNvKSB7IHJldHVybiBudWxsOyB9XG4gICAgY29uc3QgW3llYXIsIG1vbnRoLCBkYXldID0gaXNvLnNwbGl0KCctJykubWFwKHAgPT4gcGFyc2VJbnQocCwgMTApKTtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgIHJldHVybiBpc05hTihkYXRlLmdldFRpbWUoKSkgPyBudWxsIDogZGF0ZTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09IENBTEVOREFSID09PT09PT09PT09PT09PT09PT09XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRlRm9ybWF0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IERBVEVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURV9NQVNLX0NPTkZJR1NbJ3B0LUJSJ107XG4gICAgdGhpcy5kYXRlTWFzayA9IGNvbmZpZy5tYXNrO1xuICAgIHRoaXMuY3VycmVudERhdGVGb3JtYXQgPSB0aGlzLmZpZWxkPy5kYXRlRm9ybWF0IHx8IHRoaXMubG9jYWxlU2VydmljZS5nZXRQcmltZU5HRGF0ZUZvcm1hdCgpO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlICYmICF0aGlzLmRpc3BsYXlWYWx1ZS5pbmNsdWRlcygnXycpKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyVmFsdWUgPSB0aGlzLmxvY2FsZVRvRGF0ZSh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJWYWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jYWxlbmRhclBpY2tlciAmJiB0aGlzLmNhbGVuZGFyUGlja2VyLmlucHV0ZmllbGRWaWV3Q2hpbGQpIHtcbiAgICAgICAgdGhpcy5jYWxlbmRhclBpY2tlci5pbnB1dGZpZWxkVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2FsZW5kYXJTZWxlY3QoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBpc28gPSB0aGlzLmRhdGVUb0lzbyhkYXRlKTtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5pc29Ub0xvY2FsZShpc28pO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXNvKTtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wpIHsgY29udHJvbC5tYXJrQXNEaXJ0eSgpOyB9XG4gICAgfVxuICB9XG5cbiAgb25DYWxlbmRhckNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gbnVsbDtcbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShudWxsKTtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICBpZiAoY29udHJvbCkgeyBjb250cm9sLm1hcmtBc0RpcnR5KCk7IH1cbiAgfVxuXG4gIGlzQ29udHJvbERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIHJldHVybiBjb250cm9sID8gY29udHJvbC5kaXNhYmxlZCA6IGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5maWVsZC5wbGFjZWhvbGRlcikgeyByZXR1cm4gdGhpcy5maWVsZC5wbGFjZWhvbGRlcjsgfVxuICAgIHJldHVybiBEQVRFX01BU0tfQ09ORklHU1t0aGlzLmN1cnJlbnRMb2NhbGVdPy5wbGFjZWhvbGRlciB8fCAnZGQvbW0vYWFhYSc7XG4gIH1cbn1cbiJdfQ==
|
|
354
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9maWVsZHMvZHluYW1pYy1maWVsZC1kYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF3QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQVczRSxNQUFNLGlCQUFpQixHQUE4QztJQUNuRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUN6RSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUN6RSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtDQUMxRSxD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LE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFBQyxDQUFDO1FBQzlELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFdBQVcsSUFBSSxZQUFZLENBQUM7SUFDNUUsQ0FBQzt3R0FqT1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsMk5BcEkxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QscXNDQXZEQyxZQUFZLDhCQUNaLFdBQVcsOFZBQ1gsZUFBZSxxaUJBQ2YsY0FBYyxpekNBQ2QsWUFBWSxpYkFDWixhQUFhLHNYQUNiLDRCQUE0Qjs7NEZBc0luQix5QkFBeUI7a0JBaEpyQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsNEJBQTRCO3FCQUM3QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDttSkFzRjRCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXRNYXNrTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG1hc2snO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUsIENhbGVuZGFyIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlLCBTdXBwb3J0ZWRMYW5ndWFnZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNGaWVsZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZmllbGQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZC1iYXNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29uZmlndXJhw6fDo28gZGUgbcOhc2NhcmEgZGUgZGF0YSBwb3IgbG9jYWxlXG4gKi9cbmludGVyZmFjZSBEYXRlTWFza0NvbmZpZyB7XG4gIG1hc2s6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgZm9ybWF0OiAnZG15JyB8ICdtZHknO1xufVxuXG5jb25zdCBEQVRFX01BU0tfQ09ORklHUzogUmVjb3JkPFN1cHBvcnRlZExhbmd1YWdlLCBEYXRlTWFza0NvbmZpZz4gPSB7XG4gICdwdC1CUic6IHsgbWFzazogJzk5Lzk5Lzk5OTknLCBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEnLCBmb3JtYXQ6ICdkbXknIH0sXG4gICdlbi1VUyc6IHsgbWFzazogJzk5Lzk5Lzk5OTknLCBwbGFjZWhvbGRlcjogJ21tL2RkL3l5eXknLCBmb3JtYXQ6ICdtZHknIH0sXG4gICdlcy1FUyc6IHsgbWFzazogJzk5Lzk5Lzk5OTknLCBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEnLCBmb3JtYXQ6ICdkbXknIH1cbn07XG5cbi8qKlxuICogRHluYW1pY0ZpZWxkRGF0ZUNvbXBvbmVudFxuICpcbiAqIE8gRm9ybUNvbnRyb2wudmFsdWUgU0VNUFJFIGFybWF6ZW5hIGEgZGF0YSBubyBmb3JtYXRvIElTTzogXCJ5eXl5LU1NLWRkXCIgKGV4OiBcIjIwMjYtMDUtMThcIikuXG4gKiBBIHZhcmnDoXZlbCBgZGlzcGxheVZhbHVlYCBtYW50w6ltIG8gdmFsb3IgZm9ybWF0YWRvIG5vIGxvY2FsZSBkbyB1c3XDoXJpbyBwYXJhIGV4aWJpw6fDo28gbm8gaW5wdXQuXG4gKiBJc3NvIGdhcmFudGUgcXVlIHF1YWxxdWVyIGNvbXBvbmVudGUgcXVlIGFjZXNzZSBmb3JtLnZhbHVlIHJlY2ViYSBvIHZhbG9yIHByb250byBwYXJhIG8gYmFja2VuZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2lhLWR5bmFtaWMtZmllbGQtZGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgIENhbGVuZGFyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIER5bmFtaWNGaWVsZFdyYXBwZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c2lhLWR5bmFtaWMtZmllbGQtd3JhcHBlciBbZmllbGRdPVwiZmllbGRcIiBbZm9ybV09XCJmb3JtXCIgW21vZGVdPVwibW9kZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8cC1pbnB1dG1hc2tcbiAgICAgICAgICAgIFtpbnB1dElkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgW21hc2tdPVwiZGF0ZU1hc2tcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgICAgIFthdXRvQ2xlYXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cImRhdGUtaW5wdXRcIlxuICAgICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiaXNGaWVsZEludmFsaWQoKVwiXG4gICAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiaXNGaWVsZERpcnR5KClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ29udHJvbERpc2FibGVkKClcIlxuICAgICAgICAgICAgKG9uQ29tcGxldGUpPVwib25EaXNwbGF5VmFsdWVDb21wbGV0ZSgpXCJcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25EaXNwbGF5VmFsdWVCbHVyKClcIj5cbiAgICAgICAgICA8L3AtaW5wdXRtYXNrPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBUb29sdGlwPVwiQWJyaXIgY2FsZW5kw6FyaW9cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICNjYWxlbmRhclBpY2tlclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FsZW5kYXJWYWx1ZVwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiY3VycmVudERhdGVGb3JtYXRcIlxuICAgICAgICAgIFtzaG93QnV0dG9uQmFyXT1cInRydWVcIlxuICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgIFtpbmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cIm9uQ2FsZW5kYXJTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJvbkNhbGVuZGFyQ2xlYXIoKVwiXG4gICAgICAgICAgc3R5bGVDbGFzcz1cImhpZGRlbi1jYWxlbmRhci1pbnB1dFwiPlxuICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NpYS1keW5hbWljLWZpZWxkLXdyYXBwZXI+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuZGF0ZS1maWVsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZGF0ZS1pbnB1dC1ncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgOjpuZy1kZWVwIHAtaW5wdXRtYXNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRhdGUtYnV0dG9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuXG4gICAgICA6Om5nLWRlZXAgLnAtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnAtYnV0dG9uLWljb24ge1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGRlbi1jYWxlbmRhci1pbnB1dCxcbiAgICA6Om5nLWRlZXAgLmhpZGRlbi1jYWxlbmRhci1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHAtY2FsZW5kYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkRGF0ZUNvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyUGlja2VyJykgY2FsZW5kYXJQaWNrZXIhOiBDYWxlbmRhcjtcblxuICBjdXJyZW50RGF0ZUZvcm1hdCA9ICdkZC9tbS95eSc7XG4gIGRhdGVNYXNrID0gJzk5Lzk5Lzk5OTknO1xuICBjYWxlbmRhclZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFZhbG9yIGRlIGV4aWJpw6fDo28gbm8gZm9ybWF0byBsb2NhbGUgKGV4OiBcIjE4LzA1LzIwMjZcIiBwYXJhIHB0LUJSKSAqL1xuICBkaXNwbGF5VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgbGFuZ1N1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2YWx1ZVN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjdXJyZW50TG9jYWxlOiBTdXBwb3J0ZWRMYW5ndWFnZSA9ICdwdC1CUic7XG4gIHByaXZhdGUgdXBkYXRpbmdGcm9tQ29udHJvbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIodHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudExvY2FsZSA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgIHRoaXMudXBkYXRlRGF0ZUZvcm1hdCgpO1xuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIC8vIEluaWNpYWxpemFyIGRpc3BsYXlWYWx1ZSBhIHBhcnRpciBkbyB2YWxvciBJU08gZG8gY29udHJvbFxuICAgICAgdGhpcy5zeW5jRGlzcGxheUZyb21Db250cm9sKGNvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBPYnNlcnZhciBtdWRhbsOnYXMgZXh0ZXJuYXMgbm8gY29udHJvbCAocGF0Y2hWYWx1ZSwgc2V0VmFsdWUpXG4gICAgICB0aGlzLnZhbHVlU3ViID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXBkYXRpbmdGcm9tQ29udHJvbCkgeyByZXR1cm47IH1cbiAgICAgICAgdGhpcy5zeW5jRGlzcGxheUZyb21Db250cm9sKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGFuZ1N1YiA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSQuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRMb2NhbGUgPSBsYW5nO1xuICAgICAgdGhpcy51cGRhdGVEYXRlRm9ybWF0KCk7XG4gICAgICAvLyBSZS1mb3JtYXRhciBvIGRpc3BsYXkgY29tIG8gbm92byBsb2NhbGVcbiAgICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgICAgaWYgKGN0cmwpIHtcbiAgICAgICAgdGhpcy5zeW5jRGlzcGxheUZyb21Db250cm9sKGN0cmwudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sYW5nU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudmFsdWVTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2luY3Jvbml6YSBvIGRpc3BsYXlWYWx1ZSBhIHBhcnRpciBkbyB2YWxvciBJU08gZG8gRm9ybUNvbnRyb2wuXG4gICAqIEFjZWl0YTogXCJ5eXl5LU1NLWRkXCIsIERhdGUsIGxvY2FsZSBzdHJpbmcgXCJkZC9NTS95eXl5XCIsIG91IG51bGwuXG4gICAqL1xuICBwcml2YXRlIHN5bmNEaXNwbGF5RnJvbUNvbnRyb2wodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgLy8gQ29udmVydGUgRGF0ZSBwYXJhIElTTyBubyBjb250cm9sIGUgYXR1YWxpemEgZGlzcGxheVxuICAgICAgY29uc3QgaXNvID0gdGhpcy5kYXRlVG9Jc28odmFsdWUpO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXNvKTtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5pc29Ub0xvY2FsZShpc28pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHMgPSBTdHJpbmcodmFsdWUpO1xuXG4gICAgLy8gSsOhIGVzdMOhIGVtIGZvcm1hdG8gSVNPICh5eXl5LU1NLWRkKVxuICAgIGlmIChzLm1hdGNoKC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0vKSkge1xuICAgICAgY29uc3QgaXNvRGF0ZSA9IHMuc3Vic3RyaW5nKDAsIDEwKTtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5pc29Ub0xvY2FsZShpc29EYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBFc3TDoSBlbSBmb3JtYXRvIGxvY2FsZSAoZGQvTU0veXl5eSBvdSBNTS9kZC95eXl5KVxuICAgIGlmIChzLm1hdGNoKC9eXFxkezJ9XFwvXFxkezJ9XFwvXFxkezR9JC8pKSB7XG4gICAgICBjb25zdCBpc28gPSB0aGlzLmxvY2FsZVRvSXNvKHMpO1xuICAgICAgaWYgKGlzbykge1xuICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHM7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmFsb3IgaW5jb21wbGV0byBvdSBjb20gbcOhc2NhcmFcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHMuaW5jbHVkZXMoJ18nKSA/IG51bGwgOiBudWxsO1xuICB9XG5cbiAgLyoqIENoYW1hZG8gcXVhbmRvIG8gdXN1w6FyaW8gY29tcGxldGEgYSBkaWdpdGHDp8OjbyBkYSBtw6FzY2FyYSAqL1xuICBvbkRpc3BsYXlWYWx1ZUNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3luY0NvbnRyb2xGcm9tRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqIENoYW1hZG8gcXVhbmRvIG8gaW5wdXQgcGVyZGUgZm9jbyAqL1xuICBvbkRpc3BsYXlWYWx1ZUJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jQ29udHJvbEZyb21EaXNwbGF5KCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydGUgbyBkaXNwbGF5VmFsdWUgKGxvY2FsZSkgcGFyYSBJU08gZSBzZXRhIG5vIEZvcm1Db250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBzeW5jQ29udHJvbEZyb21EaXNwbGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmICghY29udHJvbCkgeyByZXR1cm47IH1cblxuICAgIGlmICghdGhpcy5kaXNwbGF5VmFsdWUgfHwgdGhpcy5kaXNwbGF5VmFsdWUuaW5jbHVkZXMoJ18nKSkge1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUobnVsbCk7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNvID0gdGhpcy5sb2NhbGVUb0lzbyh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgaWYgKGlzbykge1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXNvKTtcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG4gIH1cblxuICAvKiogU2V0YSBvIHZhbG9yIG5vIGNvbnRyb2wgc2VtIGRpc3BhcmFyIG8gc3Vic2NyaWJlciBpbnRlcm5vICovXG4gIHByaXZhdGUgc2V0Q29udHJvbFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgaWYgKCFjb250cm9sKSB7IHJldHVybjsgfVxuICAgIHRoaXMudXBkYXRpbmdGcm9tQ29udHJvbCA9IHRydWU7XG4gICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgdGhpcy51cGRhdGluZ0Zyb21Db250cm9sID0gZmFsc2U7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PSBDT05WRVJTw5VFUyA9PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKiBDb252ZXJ0ZSBJU08gXCJ5eXl5LU1NLWRkXCIgcGFyYSBsb2NhbGUgc3RyaW5nICovXG4gIHByaXZhdGUgaXNvVG9Mb2NhbGUoaXNvOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9IGlzby5zcGxpdCgnLScpO1xuICAgIGNvbnN0IGNvbmZpZyA9IERBVEVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURV9NQVNLX0NPTkZJR1NbJ3B0LUJSJ107XG4gICAgcmV0dXJuIGNvbmZpZy5mb3JtYXQgPT09ICdtZHknID8gYCR7bW9udGh9LyR7ZGF5fS8ke3llYXJ9YCA6IGAke2RheX0vJHttb250aH0vJHt5ZWFyfWA7XG4gIH1cblxuICAvKiogQ29udmVydGUgbG9jYWxlIHN0cmluZyBwYXJhIElTTyBcInl5eXktTU0tZGRcIiAqL1xuICBwcml2YXRlIGxvY2FsZVRvSXNvKGxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGFydHMgPSBsb2NhbGUuc3BsaXQoJy8nKTtcbiAgICBpZiAocGFydHMubGVuZ3RoICE9PSAzKSB7IHJldHVybiBudWxsOyB9XG4gICAgY29uc3QgY29uZmlnID0gREFURV9NQVNLX0NPTkZJR1NbdGhpcy5jdXJyZW50TG9jYWxlXSB8fCBEQVRFX01BU0tfQ09ORklHU1sncHQtQlInXTtcbiAgICBjb25zdCBbcDAsIHAxLCBwMl0gPSBwYXJ0cztcbiAgICBjb25zdCBbZGF5LCBtb250aCwgeWVhcl0gPSBjb25maWcuZm9ybWF0ID09PSAnbWR5JyA/IFtwMSwgcDAsIHAyXSA6IFtwMCwgcDEsIHAyXTtcbiAgICBjb25zdCBkID0gcGFyc2VJbnQoZGF5LCAxMCk7XG4gICAgY29uc3QgbSA9IHBhcnNlSW50KG1vbnRoLCAxMCk7XG4gICAgY29uc3QgeSA9IHBhcnNlSW50KHllYXIsIDEwKTtcbiAgICBpZiAoaXNOYU4oZCkgfHwgaXNOYU4obSkgfHwgaXNOYU4oeSkgfHwgbSA8IDEgfHwgbSA+IDEyIHx8IGQgPCAxIHx8IGQgPiAzMSkgeyByZXR1cm4gbnVsbDsgfVxuICAgIHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuICB9XG5cbiAgLyoqIENvbnZlcnRlIERhdGUgcGFyYSBJU08gXCJ5eXl5LU1NLWRkXCIgKi9cbiAgcHJpdmF0ZSBkYXRlVG9Jc28oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgeWVhciA9IFN0cmluZyhkYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgIHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuICB9XG5cbiAgLyoqIENvbnZlcnRlIGxvY2FsZSBzdHJpbmcgcGFyYSBEYXRlICovXG4gIHByaXZhdGUgbG9jYWxlVG9EYXRlKHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgaXNvID0gdGhpcy5sb2NhbGVUb0lzbyh2YWx1ZSk7XG4gICAgaWYgKCFpc28pIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBbeWVhciwgbW9udGgsIGRheV0gPSBpc28uc3BsaXQoJy0nKS5tYXAocCA9PiBwYXJzZUludChwLCAxMCkpO1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSk7XG4gICAgcmV0dXJuIGlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IG51bGwgOiBkYXRlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT0gQ0FMRU5EQVIgPT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIHVwZGF0ZURhdGVGb3JtYXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gREFURV9NQVNLX0NPTkZJR1NbdGhpcy5jdXJyZW50TG9jYWxlXSB8fCBEQVRFX01BU0tfQ09ORklHU1sncHQtQlInXTtcbiAgICB0aGlzLmRhdGVNYXNrID0gY29uZmlnLm1hc2s7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUZvcm1hdCA9IHRoaXMuZmllbGQ/LmRhdGVGb3JtYXQgfHwgdGhpcy5sb2NhbGVTZXJ2aWNlLmdldFByaW1lTkdEYXRlRm9ybWF0KCk7XG4gIH1cblxuICB0b2dnbGVDYWxlbmRhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUgJiYgIXRoaXMuZGlzcGxheVZhbHVlLmluY2x1ZGVzKCdfJykpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJWYWx1ZSA9IHRoaXMubG9jYWxlVG9EYXRlKHRoaXMuZGlzcGxheVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWxlbmRhclZhbHVlID0gbmV3IERhdGUoKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyUGlja2VyICYmIHRoaXMuY2FsZW5kYXJQaWNrZXIuaW5wdXRmaWVsZFZpZXdDaGlsZCkge1xuICAgICAgICB0aGlzLmNhbGVuZGFyUGlja2VyLmlucHV0ZmllbGRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25DYWxlbmRhclNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGlzbyA9IHRoaXMuZGF0ZVRvSXNvKGRhdGUpO1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmlzb1RvTG9jYWxlKGlzbyk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgICBpZiAoY29udHJvbCkgeyBjb250cm9sLm1hcmtBc0RpcnR5KCk7IH1cbiAgICB9XG4gIH1cblxuICBvbkNhbGVuZGFyQ2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBudWxsO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKG51bGwpO1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmIChjb250cm9sKSB7IGNvbnRyb2wubWFya0FzRGlydHkoKTsgfVxuICB9XG5cbiAgaXNDb250cm9sRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgcmV0dXJuIGNvbnRyb2wgPyBjb250cm9sLmRpc2FibGVkIDogZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZpZWxkLnBsYWNlaG9sZGVyKSB7IHJldHVybiB0aGlzLmZpZWxkLnBsYWNlaG9sZGVyOyB9XG4gICAgcmV0dXJuIERBVEVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0/LnBsYWNlaG9sZGVyIHx8ICdkZC9tbS9hYWFhJztcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { InputMaskModule } from 'primeng/inputmask';
|
|
5
5
|
import { CalendarModule } from 'primeng/calendar';
|
|
6
6
|
import { ButtonModule } from 'primeng/button';
|
|
@@ -248,7 +248,7 @@ export class DynamicFieldDatetimeComponent extends DynamicFieldBaseComponent {
|
|
|
248
248
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldDatetimeComponent, deps: [{ token: i1.TranslationService }, { token: i2.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
249
249
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldDatetimeComponent, isStandalone: true, selector: "sia-dynamic-field-datetime", viewQueries: [{ propertyName: "calendarPicker", first: true, predicate: ["calendarPicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
250
250
|
<sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
|
|
251
|
-
<div
|
|
251
|
+
<div class="datetime-field">
|
|
252
252
|
<div class="datetime-input-group">
|
|
253
253
|
<p-inputmask
|
|
254
254
|
[inputId]="field.field"
|
|
@@ -296,13 +296,12 @@ export class DynamicFieldDatetimeComponent extends DynamicFieldBaseComponent {
|
|
|
296
296
|
</p-calendar>
|
|
297
297
|
</div>
|
|
298
298
|
</sia-dynamic-field-wrapper>
|
|
299
|
-
`, isInline: true, styles: [".datetime-field{width:100%;position:relative}.datetime-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.datetime-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}
|
|
299
|
+
`, isInline: true, styles: [".datetime-field{width:100%;position:relative}.datetime-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.datetime-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}.hidden-calendar-input,::ng-deep .hidden-calendar-input{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:none!important;top:0;left:0;input{width:0!important;height:0!important;padding:0!important;border:none!important}}>p-calendar{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i4.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: DynamicFieldWrapperComponent, selector: "sia-dynamic-field-wrapper", inputs: ["field", "form", "mode"] }] });
|
|
300
300
|
}
|
|
301
301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldDatetimeComponent, decorators: [{
|
|
302
302
|
type: Component,
|
|
303
303
|
args: [{ selector: 'sia-dynamic-field-datetime', standalone: true, imports: [
|
|
304
304
|
CommonModule,
|
|
305
|
-
ReactiveFormsModule,
|
|
306
305
|
FormsModule,
|
|
307
306
|
InputMaskModule,
|
|
308
307
|
CalendarModule,
|
|
@@ -311,7 +310,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
311
310
|
DynamicFieldWrapperComponent
|
|
312
311
|
], template: `
|
|
313
312
|
<sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
|
|
314
|
-
<div
|
|
313
|
+
<div class="datetime-field">
|
|
315
314
|
<div class="datetime-input-group">
|
|
316
315
|
<p-inputmask
|
|
317
316
|
[inputId]="field.field"
|
|
@@ -359,9 +358,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
359
358
|
</p-calendar>
|
|
360
359
|
</div>
|
|
361
360
|
</sia-dynamic-field-wrapper>
|
|
362
|
-
`, styles: [".datetime-field{width:100%;position:relative}.datetime-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.datetime-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}
|
|
361
|
+
`, styles: [".datetime-field{width:100%;position:relative}.datetime-input-group{position:relative;width:100%;::ng-deep p-inputmask{width:100%;display:block;input{width:100%;padding-right:2.5rem}}.datetime-buttons{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:10}::ng-deep .p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;.p-button-icon{margin:0!important;font-size:.875rem!important}.p-button-label{display:none!important}}}.hidden-calendar-input,::ng-deep .hidden-calendar-input{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:none!important;top:0;left:0;input{width:0!important;height:0!important;padding:0!important;border:none!important}}>p-calendar{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}\n"] }]
|
|
363
362
|
}], ctorParameters: () => [{ type: i1.TranslationService }, { type: i2.LocaleService }, { type: i0.ChangeDetectorRef }], propDecorators: { calendarPicker: [{
|
|
364
363
|
type: ViewChild,
|
|
365
364
|
args: ['calendarPicker']
|
|
366
365
|
}] } });
|
|
367
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmllbGRzL2R5bmFtaWMtZmllbGQtZGF0ZXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUloRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7O0FBVzNFLE1BQU0scUJBQXFCLEdBQWtEO0lBQzNFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUNyRixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7SUFDckYsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxrQkFBa0Is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QyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUV0RSxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0YsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakYsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQUMsT0FBTyxJ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QkFDYiw0QkFBNEI7cUJBQzdCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RUO21KQXdFNEIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSwgQ2FsZW5kYXIgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UsIFN1cHBvcnRlZExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZpZWxkLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb25maWd1cmHDp8OjbyBkZSBtw6FzY2FyYSBkZSBkYXRldGltZSBwb3IgbG9jYWxlXG4gKi9cbmludGVyZmFjZSBEYXRldGltZU1hc2tDb25maWcge1xuICBtYXNrOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGZvcm1hdDogJ2RteScgfCAnbWR5Jztcbn1cblxuY29uc3QgREFURVRJTUVfTUFTS19DT05GSUdTOiBSZWNvcmQ8U3VwcG9ydGVkTGFuZ3VhZ2UsIERhdGV0aW1lTWFza0NvbmZpZz4gPSB7XG4gICdwdC1CUic6IHsgbWFzazogJzk5Lzk5Lzk5OTkgOTk6OTknLCBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEgSEg6bW0nLCBmb3JtYXQ6ICdkbXknIH0sXG4gICdlbi1VUyc6IHsgbWFzazogJzk5Lzk5Lzk5OTkgOTk6OTknLCBwbGFjZWhvbGRlcjogJ21tL2RkL3l5eXkgSEg6bW0nLCBmb3JtYXQ6ICdtZHknIH0sXG4gICdlcy1FUyc6IHsgbWFzazogJzk5Lzk5Lzk5OTkgOTk6OTknLCBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEgSEg6bW0nLCBmb3JtYXQ6ICdkbXknIH1cbn07XG5cbi8qKlxuICogRHluYW1pY0ZpZWxkRGF0ZXRpbWVDb21wb25lbnRcbiAqXG4gKiBPIEZvcm1Db250cm9sLnZhbHVlIFNFTVBSRSBhcm1hemVuYSBvIGRhdGV0aW1lIG5vIGZvcm1hdG8gSVNPOiBcInl5eXktTU0tZGRUSEg6bW06c3Muc3NzWlwiLlxuICogQSB2YXJpw6F2ZWwgYGRpc3BsYXlWYWx1ZWAgbWFudMOpbSBvIHZhbG9yIGZvcm1hdGFkbyBubyBsb2NhbGUgZG8gdXN1w6FyaW8gcGFyYSBleGliacOnw6NvIG5vIGlucHV0LlxuICogSXNzbyBnYXJhbnRlIHF1ZSBxdWFscXVlciBjb21wb25lbnRlIHF1ZSBhY2Vzc2UgZm9ybS52YWx1ZSByZWNlYmEgbyB2YWxvciBwcm9udG8gcGFyYSBvIGJhY2tlbmQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpYS1keW5hbWljLWZpZWxkLWRhdGV0aW1lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TWFza01vZHVsZSxcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNpYS1keW5hbWljLWZpZWxkLXdyYXBwZXIgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiZm9ybVwiIFttb2RlXT1cIm1vZGVcIj5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJkYXRldGltZS1maWVsZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXRpbWUtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8cC1pbnB1dG1hc2tcbiAgICAgICAgICAgIFtpbnB1dElkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgW21hc2tdPVwiZGF0ZXRpbWVNYXNrXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgICAgICAgICBbYXV0b0NsZWFyXT1cImZhbHNlXCJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJkYXRldGltZS1pbnB1dFwiXG4gICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJpc0ZpZWxkRGlydHkoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDb250cm9sRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAob25Db21wbGV0ZSk9XCJvbkRpc3BsYXlWYWx1ZUNvbXBsZXRlKClcIlxuICAgICAgICAgICAgKG9uQmx1cik9XCJvbkRpc3BsYXlWYWx1ZUJsdXIoKVwiPlxuICAgICAgICAgIDwvcC1pbnB1dG1hc2s+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGV0aW1lLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBUb29sdGlwPVwiQWJyaXIgY2FsZW5kw6FyaW9cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICNjYWxlbmRhclBpY2tlclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FsZW5kYXJWYWx1ZVwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiY3VycmVudERhdGVGb3JtYXRcIlxuICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd1NlY29uZHNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtob3VyRm9ybWF0XT1cIicyNCdcIlxuICAgICAgICAgIFtzaG93QnV0dG9uQmFyXT1cInRydWVcIlxuICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgIFtpbmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cIm9uQ2FsZW5kYXJTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJvbkNhbGVuZGFyQ2xlYXIoKVwiXG4gICAgICAgICAgc3R5bGVDbGFzcz1cImhpZGRlbi1jYWxlbmRhci1pbnB1dFwiPlxuICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NpYS1keW5hbWljLWZpZWxkLXdyYXBwZXI+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuZGF0ZXRpbWUtZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmRhdGV0aW1lLWlucHV0LWdyb3VwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA6Om5nLWRlZXAgcC1pbnB1dG1hc2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGF0ZXRpbWUtYnV0dG9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuXG4gICAgICA6Om5nLWRlZXAgLnAtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnAtYnV0dG9uLWljb24ge1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgOjpuZy1kZWVwIC5oaWRkZW4tY2FsZW5kYXItaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZERhdGV0aW1lQ29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0ZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXJQaWNrZXInKSBjYWxlbmRhclBpY2tlciE6IENhbGVuZGFyO1xuXG4gIGN1cnJlbnREYXRlRm9ybWF0ID0gJ2RkL21tL3l5JztcbiAgZGF0ZXRpbWVNYXNrID0gJzk5Lzk5Lzk5OTkgOTk6OTknO1xuICBjYWxlbmRhclZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFZhbG9yIGRlIGV4aWJpw6fDo28gbm8gZm9ybWF0byBsb2NhbGUgKGV4OiBcIjE4LzA1LzIwMjYgMTQ6MzBcIiBwYXJhIHB0LUJSKSAqL1xuICBkaXNwbGF5VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgbGFuZ1N1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2YWx1ZVN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjdXJyZW50TG9jYWxlOiBTdXBwb3J0ZWRMYW5ndWFnZSA9ICdwdC1CUic7XG4gIHByaXZhdGUgdXBkYXRpbmdGcm9tQ29udHJvbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIodHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudExvY2FsZSA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgIHRoaXMudXBkYXRlRGF0ZXRpbWVGb3JtYXQoKTtcblxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICAvLyBJbmljaWFsaXphciBkaXNwbGF5VmFsdWUgYSBwYXJ0aXIgZG8gdmFsb3IgSVNPIGRvIGNvbnRyb2xcbiAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbChjb250cm9sLnZhbHVlKTtcblxuICAgICAgLy8gT2JzZXJ2YXIgbXVkYW7Dp2FzIGV4dGVybmFzIG5vIGNvbnRyb2wgKHBhdGNoVmFsdWUsIHNldFZhbHVlKVxuICAgICAgdGhpcy52YWx1ZVN1YiA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnVwZGF0aW5nRnJvbUNvbnRyb2wpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmxhbmdTdWIgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UkLnN1YnNjcmliZSgobGFuZykgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TG9jYWxlID0gbGFuZztcbiAgICAgIHRoaXMudXBkYXRlRGF0ZXRpbWVGb3JtYXQoKTtcbiAgICAgIC8vIFJlLWZvcm1hdGFyIG8gZGlzcGxheSBjb20gbyBub3ZvIGxvY2FsZVxuICAgICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgICBpZiAoY3RybCkge1xuICAgICAgICB0aGlzLnN5bmNEaXNwbGF5RnJvbUNvbnRyb2woY3RybC52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhbmdTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy52YWx1ZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaW5jcm9uaXphIG8gZGlzcGxheVZhbHVlIGEgcGFydGlyIGRvIHZhbG9yIElTTyBkbyBGb3JtQ29udHJvbC5cbiAgICogQWNlaXRhOiBJU08gc3RyaW5nLCBEYXRlLCBsb2NhbGUgc3RyaW5nLCBvdSBudWxsLlxuICAgKi9cbiAgcHJpdmF0ZSBzeW5jRGlzcGxheUZyb21Db250cm9sKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGNvbnN0IGlzbyA9IHZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmlzb1RvTG9jYWxlKHZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzID0gU3RyaW5nKHZhbHVlKTtcblxuICAgIC8vIElTTyBkYXRldGltZSBzdHJpbmcgKGNvbnTDqW0gVClcbiAgICBpZiAocy5pbmNsdWRlcygnVCcpKSB7XG4gICAgICBjb25zdCBkID0gbmV3IERhdGUocyk7XG4gICAgICBpZiAoIWlzTmFOKGQuZ2V0VGltZSgpKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuaXNvVG9Mb2NhbGUoZCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRm9ybWF0byBsb2NhbGUgXCJkZC9NTS95eXl5IEhIOm1tXCIgb3UgXCJNTS9kZC95eXl5IEhIOm1tXCJcbiAgICBpZiAocy5tYXRjaCgvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSBcXGR7Mn06XFxkezJ9JC8pKSB7XG4gICAgICBjb25zdCBpc28gPSB0aGlzLmxvY2FsZVRvSXNvKHMpO1xuICAgICAgaWYgKGlzbykge1xuICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHM7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmFsb3IgaW5jb21wbGV0b1xuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gcy5pbmNsdWRlcygnXycpID8gbnVsbCA6IG51bGw7XG4gIH1cblxuICAvKiogQ2hhbWFkbyBxdWFuZG8gbyB1c3XDoXJpbyBjb21wbGV0YSBhIGRpZ2l0YcOnw6NvIGRhIG3DoXNjYXJhICovXG4gIG9uRGlzcGxheVZhbHVlQ29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jQ29udHJvbEZyb21EaXNwbGF5KCk7XG4gIH1cblxuICAvKiogQ2hhbWFkbyBxdWFuZG8gbyBpbnB1dCBwZXJkZSBmb2NvICovXG4gIG9uRGlzcGxheVZhbHVlQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNDb250cm9sRnJvbURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0ZSBvIGRpc3BsYXlWYWx1ZSAobG9jYWxlKSBwYXJhIElTTyBlIHNldGEgbm8gRm9ybUNvbnRyb2wuXG4gICAqL1xuICBwcml2YXRlIHN5bmNDb250cm9sRnJvbURpc3BsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgaWYgKCFjb250cm9sKSB7IHJldHVybjsgfVxuXG4gICAgaWYgKCF0aGlzLmRpc3BsYXlWYWx1ZSB8fCB0aGlzLmRpc3BsYXlWYWx1ZS5pbmNsdWRlcygnXycpKSB7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShudWxsKTtcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc28gPSB0aGlzLmxvY2FsZVRvSXNvKHRoaXMuZGlzcGxheVZhbHVlKTtcbiAgICBpZiAoaXNvKSB7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZXRhIG8gdmFsb3Igbm8gY29udHJvbCBzZW0gZGlzcGFyYXIgbyBzdWJzY3JpYmVyIGludGVybm8gKi9cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICBpZiAoIWNvbnRyb2wpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy51cGRhdGluZ0Zyb21Db250cm9sID0gdHJ1ZTtcbiAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcbiAgICB0aGlzLnVwZGF0aW5nRnJvbUNvbnRyb2wgPSBmYWxzZTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09IENPTlZFUlPDlUVTID09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqIENvbnZlcnRlIERhdGUgcGFyYSBsb2NhbGUgZGlzcGxheSBzdHJpbmcgKi9cbiAgcHJpdmF0ZSBpc29Ub0xvY2FsZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXkgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbW9udGggPSBTdHJpbmcoZGF0ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCB5ZWFyID0gU3RyaW5nKGRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgY29uc3QgaG91cnMgPSBTdHJpbmcoZGF0ZS5nZXRIb3VycygpKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgY29uZmlnID0gREFURVRJTUVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURVRJTUVfTUFTS19DT05GSUdTWydwdC1CUiddO1xuICAgIHJldHVybiBjb25maWcuZm9ybWF0ID09PSAnbWR5J1xuICAgICAgPyBgJHttb250aH0vJHtkYXl9LyR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfWBcbiAgICAgIDogYCR7ZGF5fS8ke21vbnRofS8ke3llYXJ9ICR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgLyoqIENvbnZlcnRlIGxvY2FsZSBzdHJpbmcgcGFyYSBJU08gZGF0ZXRpbWUgc3RyaW5nICovXG4gIHByaXZhdGUgbG9jYWxlVG9Jc28obG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwYXJ0cyA9IGxvY2FsZS5zcGxpdCgnICcpO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBkYXRlUGFydHMgPSBwYXJ0c1swXS5zcGxpdCgnLycpO1xuICAgIGNvbnN0IHRpbWVQYXJ0cyA9IHBhcnRzWzFdLnNwbGl0KCc6Jyk7XG4gICAgaWYgKGRhdGVQYXJ0cy5sZW5ndGggIT09IDMgfHwgdGltZVBhcnRzLmxlbmd0aCAhPT0gMikgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgY29uc3QgY29uZmlnID0gREFURVRJTUVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURVRJTUVfTUFTS19DT05GSUdTWydwdC1CUiddO1xuICAgIGNvbnN0IFtwMCwgcDEsIHAyXSA9IGRhdGVQYXJ0cy5tYXAocCA9PiBwYXJzZUludChwLCAxMCkpO1xuICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGNvbmZpZy5mb3JtYXQgPT09ICdtZHknID8gW3AxLCBwMCwgcDJdIDogW3AwLCBwMSwgcDJdO1xuICAgIGNvbnN0IGhvdXJzID0gcGFyc2VJbnQodGltZVBhcnRzWzBdLCAxMCk7XG4gICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KHRpbWVQYXJ0c1sxXSwgMTApO1xuXG4gICAgaWYgKGlzTmFOKGRheSkgfHwgaXNOYU4obW9udGgpIHx8IGlzTmFOKHllYXIpIHx8IGlzTmFOKGhvdXJzKSB8fCBpc05hTihtaW51dGVzKSkgeyByZXR1cm4gbnVsbDsgfVxuICAgIGlmIChtb250aCA8IDEgfHwgbW9udGggPiAxMiB8fCBkYXkgPCAxIHx8IGRheSA+IDMxIHx8IGhvdXJzIDwgMCB8fCBob3VycyA+IDIzIHx8IG1pbnV0ZXMgPCAwIHx8IG1pbnV0ZXMgPiA1OSkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5LCBob3VycywgbWludXRlcyk7XG4gICAgcmV0dXJuIGlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IG51bGwgOiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICAvKiogQ29udmVydGUgbG9jYWxlIHN0cmluZyBwYXJhIERhdGUgKi9cbiAgcHJpdmF0ZSBsb2NhbGVUb0RhdGUodmFsdWU6IHN0cmluZyk6IERhdGUgfCBudWxsIHtcbiAgICBjb25zdCBpc28gPSB0aGlzLmxvY2FsZVRvSXNvKHZhbHVlKTtcbiAgICBpZiAoIWlzbykgeyByZXR1cm4gbnVsbDsgfVxuICAgIHJldHVybiBuZXcgRGF0ZShpc28pO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT0gQ0FMRU5EQVIgPT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIHVwZGF0ZURhdGV0aW1lRm9ybWF0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IERBVEVUSU1FX01BU0tfQ09ORklHU1t0aGlzLmN1cnJlbnRMb2NhbGVdIHx8IERBVEVUSU1FX01BU0tfQ09ORklHU1sncHQtQlInXTtcbiAgICB0aGlzLmRhdGV0aW1lTWFzayA9IGNvbmZpZy5tYXNrO1xuICAgIHRoaXMuY3VycmVudERhdGVGb3JtYXQgPSB0aGlzLmZpZWxkPy5kYXRlRm9ybWF0IHx8IHRoaXMubG9jYWxlU2VydmljZS5nZXRQcmltZU5HRGF0ZUZvcm1hdCgpO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlICYmICF0aGlzLmRpc3BsYXlWYWx1ZS5pbmNsdWRlcygnXycpKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyVmFsdWUgPSB0aGlzLmxvY2FsZVRvRGF0ZSh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJWYWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jYWxlbmRhclBpY2tlciAmJiB0aGlzLmNhbGVuZGFyUGlja2VyLmlucHV0ZmllbGRWaWV3Q2hpbGQpIHtcbiAgICAgICAgdGhpcy5jYWxlbmRhclBpY2tlci5pbnB1dGZpZWxkVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2FsZW5kYXJTZWxlY3QoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBpc28gPSBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuaXNvVG9Mb2NhbGUoZGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpc28pO1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgICBpZiAoY29udHJvbCkgeyBjb250cm9sLm1hcmtBc0RpcnR5KCk7IH1cbiAgICB9XG4gIH1cblxuICBvbkNhbGVuZGFyQ2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBudWxsO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKG51bGwpO1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmIChjb250cm9sKSB7IGNvbnRyb2wubWFya0FzRGlydHkoKTsgfVxuICB9XG5cbiAgaXNDb250cm9sRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgcmV0dXJuIGNvbnRyb2wgPyBjb250cm9sLmRpc2FibGVkIDogZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZpZWxkLnBsYWNlaG9sZGVyKSB7IHJldHVybiB0aGlzLmZpZWxkLnBsYWNlaG9sZGVyOyB9XG4gICAgcmV0dXJuIERBVEVUSU1FX01BU0tfQ09ORklHU1t0aGlzLmN1cnJlbnRMb2NhbGVdPy5wbGFjZWhvbGRlciB8fCAnZGQvbW0vYWFhYSBISDptbSc7XG4gIH1cbn1cbiJdfQ==
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1kYXRldGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmllbGRzL2R5bmFtaWMtZmllbGQtZGF0ZXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUloRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7O0FBVzNFLE1BQU0scUJBQXFCLEdBQWtEO0lBQzNFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUNyRixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7SUFDckYsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVB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Q0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUV0RSxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0YsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakYsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrRFQ7bUpBc0Y0QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlLCBDYWxlbmRhciB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSwgU3VwcG9ydGVkTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZmllbGQtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIG3DoXNjYXJhIGRlIGRhdGV0aW1lIHBvciBsb2NhbGVcbiAqL1xuaW50ZXJmYWNlIERhdGV0aW1lTWFza0NvbmZpZyB7XG4gIG1hc2s6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgZm9ybWF0OiAnZG15JyB8ICdtZHknO1xufVxuXG5jb25zdCBEQVRFVElNRV9NQVNLX0NPTkZJR1M6IFJlY29yZDxTdXBwb3J0ZWRMYW5ndWFnZSwgRGF0ZXRpbWVNYXNrQ29uZmlnPiA9IHtcbiAgJ3B0LUJSJzogeyBtYXNrOiAnOTkvOTkvOTk5OSA5OTo5OScsIHBsYWNlaG9sZGVyOiAnZGQvbW0vYWFhYSBISDptbScsIGZvcm1hdDogJ2RteScgfSxcbiAgJ2VuLVVTJzogeyBtYXNrOiAnOTkvOTkvOTk5OSA5OTo5OScsIHBsYWNlaG9sZGVyOiAnbW0vZGQveXl5eSBISDptbScsIGZvcm1hdDogJ21keScgfSxcbiAgJ2VzLUVTJzogeyBtYXNrOiAnOTkvOTkvOTk5OSA5OTo5OScsIHBsYWNlaG9sZGVyOiAnZGQvbW0vYWFhYSBISDptbScsIGZvcm1hdDogJ2RteScgfVxufTtcblxuLyoqXG4gKiBEeW5hbWljRmllbGREYXRldGltZUNvbXBvbmVudFxuICpcbiAqIE8gRm9ybUNvbnRyb2wudmFsdWUgU0VNUFJFIGFybWF6ZW5hIG8gZGF0ZXRpbWUgbm8gZm9ybWF0byBJU086IFwieXl5eS1NTS1kZFRISDptbTpzcy5zc3NaXCIuXG4gKiBBIHZhcmnDoXZlbCBgZGlzcGxheVZhbHVlYCBtYW50w6ltIG8gdmFsb3IgZm9ybWF0YWRvIG5vIGxvY2FsZSBkbyB1c3XDoXJpbyBwYXJhIGV4aWJpw6fDo28gbm8gaW5wdXQuXG4gKiBJc3NvIGdhcmFudGUgcXVlIHF1YWxxdWVyIGNvbXBvbmVudGUgcXVlIGFjZXNzZSBmb3JtLnZhbHVlIHJlY2ViYSBvIHZhbG9yIHByb250byBwYXJhIG8gYmFja2VuZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2lhLWR5bmFtaWMtZmllbGQtZGF0ZXRpbWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TWFza01vZHVsZSxcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNpYS1keW5hbWljLWZpZWxkLXdyYXBwZXIgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiZm9ybVwiIFttb2RlXT1cIm1vZGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRldGltZS1maWVsZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXRpbWUtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8cC1pbnB1dG1hc2tcbiAgICAgICAgICAgIFtpbnB1dElkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgW21hc2tdPVwiZGF0ZXRpbWVNYXNrXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgICAgICAgICBbYXV0b0NsZWFyXT1cImZhbHNlXCJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJkYXRldGltZS1pbnB1dFwiXG4gICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJpc0ZpZWxkRGlydHkoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDb250cm9sRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAob25Db21wbGV0ZSk9XCJvbkRpc3BsYXlWYWx1ZUNvbXBsZXRlKClcIlxuICAgICAgICAgICAgKG9uQmx1cik9XCJvbkRpc3BsYXlWYWx1ZUJsdXIoKVwiPlxuICAgICAgICAgIDwvcC1pbnB1dG1hc2s+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGV0aW1lLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBUb29sdGlwPVwiQWJyaXIgY2FsZW5kw6FyaW9cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICNjYWxlbmRhclBpY2tlclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FsZW5kYXJWYWx1ZVwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiY3VycmVudERhdGVGb3JtYXRcIlxuICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd1NlY29uZHNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtob3VyRm9ybWF0XT1cIicyNCdcIlxuICAgICAgICAgIFtzaG93QnV0dG9uQmFyXT1cInRydWVcIlxuICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgIFtpbmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cIm9uQ2FsZW5kYXJTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJvbkNhbGVuZGFyQ2xlYXIoKVwiXG4gICAgICAgICAgc3R5bGVDbGFzcz1cImhpZGRlbi1jYWxlbmRhci1pbnB1dFwiPlxuICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NpYS1keW5hbWljLWZpZWxkLXdyYXBwZXI+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuZGF0ZXRpbWUtZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmRhdGV0aW1lLWlucHV0LWdyb3VwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA6Om5nLWRlZXAgcC1pbnB1dG1hc2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGF0ZXRpbWUtYnV0dG9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuXG4gICAgICA6Om5nLWRlZXAgLnAtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnAtYnV0dG9uLWljb24ge1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGRlbi1jYWxlbmRhci1pbnB1dCxcbiAgICA6Om5nLWRlZXAgLmhpZGRlbi1jYWxlbmRhci1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHAtY2FsZW5kYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkRGF0ZXRpbWVDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjYWxlbmRhclBpY2tlcicpIGNhbGVuZGFyUGlja2VyITogQ2FsZW5kYXI7XG5cbiAgY3VycmVudERhdGVGb3JtYXQgPSAnZGQvbW0veXknO1xuICBkYXRldGltZU1hc2sgPSAnOTkvOTkvOTk5OSA5OTo5OSc7XG4gIGNhbGVuZGFyVmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKiogVmFsb3IgZGUgZXhpYmnDp8OjbyBubyBmb3JtYXRvIGxvY2FsZSAoZXg6IFwiMTgvMDUvMjAyNiAxNDozMFwiIHBhcmEgcHQtQlIpICovXG4gIGRpc3BsYXlWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBsYW5nU3ViPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHZhbHVlU3ViPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGN1cnJlbnRMb2NhbGU6IFN1cHBvcnRlZExhbmd1YWdlID0gJ3B0LUJSJztcbiAgcHJpdmF0ZSB1cGRhdGluZ0Zyb21Db250cm9sID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcih0cmFuc2xhdGlvblNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50TG9jYWxlID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuZ2V0Q3VycmVudExhbmd1YWdlKCk7XG4gICAgdGhpcy51cGRhdGVEYXRldGltZUZvcm1hdCgpO1xuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIC8vIEluaWNpYWxpemFyIGRpc3BsYXlWYWx1ZSBhIHBhcnRpciBkbyB2YWxvciBJU08gZG8gY29udHJvbFxuICAgICAgdGhpcy5zeW5jRGlzcGxheUZyb21Db250cm9sKGNvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBPYnNlcnZhciBtdWRhbsOnYXMgZXh0ZXJuYXMgbm8gY29udHJvbCAocGF0Y2hWYWx1ZSwgc2V0VmFsdWUpXG4gICAgICB0aGlzLnZhbHVlU3ViID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXBkYXRpbmdGcm9tQ29udHJvbCkgeyByZXR1cm47IH1cbiAgICAgICAgdGhpcy5zeW5jRGlzcGxheUZyb21Db250cm9sKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGFuZ1N1YiA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSQuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRMb2NhbGUgPSBsYW5nO1xuICAgICAgdGhpcy51cGRhdGVEYXRldGltZUZvcm1hdCgpO1xuICAgICAgLy8gUmUtZm9ybWF0YXIgbyBkaXNwbGF5IGNvbSBvIG5vdm8gbG9jYWxlXG4gICAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICAgIGlmIChjdHJsKSB7XG4gICAgICAgIHRoaXMuc3luY0Rpc3BsYXlGcm9tQ29udHJvbChjdHJsLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnZhbHVlU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpbmNyb25pemEgbyBkaXNwbGF5VmFsdWUgYSBwYXJ0aXIgZG8gdmFsb3IgSVNPIGRvIEZvcm1Db250cm9sLlxuICAgKiBBY2VpdGE6IElTTyBzdHJpbmcsIERhdGUsIGxvY2FsZSBzdHJpbmcsIG91IG51bGwuXG4gICAqL1xuICBwcml2YXRlIHN5bmNEaXNwbGF5RnJvbUNvbnRyb2wodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgY29uc3QgaXNvID0gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuaXNvVG9Mb2NhbGUodmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHMgPSBTdHJpbmcodmFsdWUpO1xuXG4gICAgLy8gSVNPIGRhdGV0aW1lIHN0cmluZyAoY29udMOpbSBUKVxuICAgIGlmIChzLmluY2x1ZGVzKCdUJykpIHtcbiAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZShzKTtcbiAgICAgIGlmICghaXNOYU4oZC5nZXRUaW1lKCkpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5pc29Ub0xvY2FsZShkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBGb3JtYXRvIGxvY2FsZSBcImRkL01NL3l5eXkgSEg6bW1cIiBvdSBcIk1NL2RkL3l5eXkgSEg6bW1cIlxuICAgIGlmIChzLm1hdGNoKC9eXFxkezJ9XFwvXFxkezJ9XFwvXFxkezR9IFxcZHsyfTpcXGR7Mn0kLykpIHtcbiAgICAgIGNvbnN0IGlzbyA9IHRoaXMubG9jYWxlVG9Jc28ocyk7XG4gICAgICBpZiAoaXNvKSB7XG4gICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gcztcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWYWxvciBpbmNvbXBsZXRvXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBzLmluY2x1ZGVzKCdfJykgPyBudWxsIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBDaGFtYWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNvbXBsZXRhIGEgZGlnaXRhw6fDo28gZGEgbcOhc2NhcmEgKi9cbiAgb25EaXNwbGF5VmFsdWVDb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNDb250cm9sRnJvbURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKiBDaGFtYWRvIHF1YW5kbyBvIGlucHV0IHBlcmRlIGZvY28gKi9cbiAgb25EaXNwbGF5VmFsdWVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuc3luY0NvbnRyb2xGcm9tRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRlIG8gZGlzcGxheVZhbHVlIChsb2NhbGUpIHBhcmEgSVNPIGUgc2V0YSBubyBGb3JtQ29udHJvbC5cbiAgICovXG4gIHByaXZhdGUgc3luY0NvbnRyb2xGcm9tRGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICBpZiAoIWNvbnRyb2wpIHsgcmV0dXJuOyB9XG5cbiAgICBpZiAoIXRoaXMuZGlzcGxheVZhbHVlIHx8IHRoaXMuZGlzcGxheVZhbHVlLmluY2x1ZGVzKCdfJykpIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKG51bGwpO1xuICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzbyA9IHRoaXMubG9jYWxlVG9Jc28odGhpcy5kaXNwbGF5VmFsdWUpO1xuICAgIGlmIChpc28pIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldGEgbyB2YWxvciBubyBjb250cm9sIHNlbSBkaXNwYXJhciBvIHN1YnNjcmliZXIgaW50ZXJubyAqL1xuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIGlmICghY29udHJvbCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnVwZGF0aW5nRnJvbUNvbnRyb2wgPSB0cnVlO1xuICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIHRoaXMudXBkYXRpbmdGcm9tQ29udHJvbCA9IGZhbHNlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT0gQ09OVkVSU8OVRVMgPT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogQ29udmVydGUgRGF0ZSBwYXJhIGxvY2FsZSBkaXNwbGF5IHN0cmluZyAqL1xuICBwcml2YXRlIGlzb1RvTG9jYWxlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IHllYXIgPSBTdHJpbmcoZGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICBjb25zdCBob3VycyA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbWludXRlcyA9IFN0cmluZyhkYXRlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBjb25maWcgPSBEQVRFVElNRV9NQVNLX0NPTkZJR1NbdGhpcy5jdXJyZW50TG9jYWxlXSB8fCBEQVRFVElNRV9NQVNLX0NPTkZJR1NbJ3B0LUJSJ107XG4gICAgcmV0dXJuIGNvbmZpZy5mb3JtYXQgPT09ICdtZHknXG4gICAgICA/IGAke21vbnRofS8ke2RheX0vJHt5ZWFyfSAke2hvdXJzfToke21pbnV0ZXN9YFxuICAgICAgOiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfWA7XG4gIH1cblxuICAvKiogQ29udmVydGUgbG9jYWxlIHN0cmluZyBwYXJhIElTTyBkYXRldGltZSBzdHJpbmcgKi9cbiAgcHJpdmF0ZSBsb2NhbGVUb0lzbyhsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHBhcnRzID0gbG9jYWxlLnNwbGl0KCcgJyk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMikgeyByZXR1cm4gbnVsbDsgfVxuICAgIGNvbnN0IGRhdGVQYXJ0cyA9IHBhcnRzWzBdLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgdGltZVBhcnRzID0gcGFydHNbMV0uc3BsaXQoJzonKTtcbiAgICBpZiAoZGF0ZVBhcnRzLmxlbmd0aCAhPT0gMyB8fCB0aW1lUGFydHMubGVuZ3RoICE9PSAyKSB7IHJldHVybiBudWxsOyB9XG5cbiAgICBjb25zdCBjb25maWcgPSBEQVRFVElNRV9NQVNLX0NPTkZJR1NbdGhpcy5jdXJyZW50TG9jYWxlXSB8fCBEQVRFVElNRV9NQVNLX0NPTkZJR1NbJ3B0LUJSJ107XG4gICAgY29uc3QgW3AwLCBwMSwgcDJdID0gZGF0ZVBhcnRzLm1hcChwID0+IHBhcnNlSW50KHAsIDEwKSk7XG4gICAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gY29uZmlnLmZvcm1hdCA9PT0gJ21keScgPyBbcDEsIHAwLCBwMl0gOiBbcDAsIHAxLCBwMl07XG4gICAgY29uc3QgaG91cnMgPSBwYXJzZUludCh0aW1lUGFydHNbMF0sIDEwKTtcbiAgICBjb25zdCBtaW51dGVzID0gcGFyc2VJbnQodGltZVBhcnRzWzFdLCAxMCk7XG5cbiAgICBpZiAoaXNOYU4oZGF5KSB8fCBpc05hTihtb250aCkgfHwgaXNOYU4oeWVhcikgfHwgaXNOYU4oaG91cnMpIHx8IGlzTmFOKG1pbnV0ZXMpKSB7IHJldHVybiBudWxsOyB9XG4gICAgaWYgKG1vbnRoIDwgMSB8fCBtb250aCA+IDEyIHx8IGRheSA8IDEgfHwgZGF5ID4gMzEgfHwgaG91cnMgPCAwIHx8IGhvdXJzID4gMjMgfHwgbWludXRlcyA8IDAgfHwgbWludXRlcyA+IDU5KSB7IHJldHVybiBudWxsOyB9XG5cbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXksIGhvdXJzLCBtaW51dGVzKTtcbiAgICByZXR1cm4gaXNOYU4oZGF0ZS5nZXRUaW1lKCkpID8gbnVsbCA6IGRhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKiBDb252ZXJ0ZSBsb2NhbGUgc3RyaW5nIHBhcmEgRGF0ZSAqL1xuICBwcml2YXRlIGxvY2FsZVRvRGF0ZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGlzbyA9IHRoaXMubG9jYWxlVG9Jc28odmFsdWUpO1xuICAgIGlmICghaXNvKSB7IHJldHVybiBudWxsOyB9XG4gICAgcmV0dXJuIG5ldyBEYXRlKGlzbyk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PSBDQUxFTkRBUiA9PT09PT09PT09PT09PT09PT09PVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0ZXRpbWVGb3JtYXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gREFURVRJTUVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0gfHwgREFURVRJTUVfTUFTS19DT05GSUdTWydwdC1CUiddO1xuICAgIHRoaXMuZGF0ZXRpbWVNYXNrID0gY29uZmlnLm1hc2s7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUZvcm1hdCA9IHRoaXMuZmllbGQ/LmRhdGVGb3JtYXQgfHwgdGhpcy5sb2NhbGVTZXJ2aWNlLmdldFByaW1lTkdEYXRlRm9ybWF0KCk7XG4gIH1cblxuICB0b2dnbGVDYWxlbmRhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUgJiYgIXRoaXMuZGlzcGxheVZhbHVlLmluY2x1ZGVzKCdfJykpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJWYWx1ZSA9IHRoaXMubG9jYWxlVG9EYXRlKHRoaXMuZGlzcGxheVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWxlbmRhclZhbHVlID0gbmV3IERhdGUoKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyUGlja2VyICYmIHRoaXMuY2FsZW5kYXJQaWNrZXIuaW5wdXRmaWVsZFZpZXdDaGlsZCkge1xuICAgICAgICB0aGlzLmNhbGVuZGFyUGlja2VyLmlucHV0ZmllbGRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25DYWxlbmRhclNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGlzbyA9IGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5pc29Ub0xvY2FsZShkYXRlKTtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGlzbyk7XG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICAgIGlmIChjb250cm9sKSB7IGNvbnRyb2wubWFya0FzRGlydHkoKTsgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2FsZW5kYXJDbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG51bGw7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUobnVsbCk7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgaWYgKGNvbnRyb2wpIHsgY29udHJvbC5tYXJrQXNEaXJ0eSgpOyB9XG4gIH1cblxuICBpc0NvbnRyb2xEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICByZXR1cm4gY29udHJvbCA/IGNvbnRyb2wuZGlzYWJsZWQgOiBmYWxzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZmllbGQucGxhY2Vob2xkZXIpIHsgcmV0dXJuIHRoaXMuZmllbGQucGxhY2Vob2xkZXI7IH1cbiAgICByZXR1cm4gREFURVRJTUVfTUFTS19DT05GSUdTW3RoaXMuY3VycmVudExvY2FsZV0/LnBsYWNlaG9sZGVyIHx8ICdkZC9tbS9hYWFhIEhIOm1tJztcbiAgfVxufVxuIl19
|