@rangertechnologies/ngnxt
Version:
This library was used for creating dymanic UI based on the input JSON/data
433 lines (427 loc) • 44.5 kB
JavaScript
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { NxtAppComponent } from './nxt-app.component';
import { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';
import { CommonModule } from "@angular/common";
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgCircleProgressModule } from 'ng-circle-progress';
import { NgxSpinnerModule } from "ngx-spinner";
import { PickLocationComponent } from './components/pick-location/pick-location.component';
import { NgSelectModule } from '@ng-select/ng-select';
import { CustomInputComponent } from './components/custom-input/custom-input.component';
import { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';
import { CustomTableComponent } from './components/custom-table/custom-table.component';
import { CustomRichTextComponent } from './components/custom-rich-text/custom-rich-text.component'; //RS 06JAN2025 Imports modules and components for browser compatibility, Quill-based rich text editing, and custom configurations
import { QuillModule } from 'ngx-quill';
import { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';
import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';
import { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';
import { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';
// VD 23JAN24 removed HttpClientModule
import { BookletComponent } from './pages/booklet/booklet.component';
import { GoogleMapsModule } from '@angular/google-maps';
import { SearchBoxComponent } from './components/search-box/search-box.component';
import { QuestionbookComponent } from './pages/questionbook/questionbook.component';
import { FileUploadComponent } from './components/file-upload/file-upload.component';
import { SummaryPageComponent } from './pages/summary-page/summary-page.component';
import { FileViewComponent } from './components/file-view/file-view.component';
import { DependentTableComponent } from './components/dependent-table/dependent-table.component';
import { CustomLabelComponent } from './components/custom-label/custom-label.component';
import { TableAppendixComponent } from './components/table-appendix/table-appendix.component';
import { CustomDateComponent } from './components/custom-date/custom-date.component';
import { CustomTimeComponent } from './components/custom-time/custom-time.component';
import { CustomButtonComponent } from './components/custom-button/custom-button.component';
// HA 19DEC23 Importing for translation
import { I18nModule } from './i18n.module';
import { I18nComponent } from './i18n.component';
import { I18nPipe } from './i18n.pipe';
import * as enI18n from './en.i18n';
import * as arI18n from './ar.i18n';
import * as tamI18n from './tam.i18n';
import { I18nService } from './i18n.service';
import { MatTooltipModule } from '@angular/material/tooltip'; // VD 20JUN24 - help text changes
import { GetValuePipe } from './pipe/get-value.pipe'; // VD 26JUN24 - pipe changes
import { CustomCalendarComponent } from './components/custom-calendar/custom-calendar.component';
import { CustomModelComponent } from './components/custom-model/custom-model.component';
import { CustomImageComponent } from './components/custom-image/custom-image.component';
import { CustomRadioComponent } from './components/custom-radio/custom-radio.component';
import { LoaderComponent } from './components/loader/loader.component';
import { ComponenthostDirective } from './directives/componenthost/componenthost.directive';
// AP 22JAN2025 Added the below components
import { ElementComponent } from './pages/builder/element/element.component';
import { PropertiesComponent } from './pages/builder/properties/properties.component';
import { MenuComponent } from './pages/builder/menu/menu.component';
// AP 22JAN2025 Added the DragDropModule
import { DragDropModule } from '@angular/cdk/drag-drop';
//AP 22JAN2025 Added the FormBuilderService
import { FormBuilderService } from './services/form-builder.service';
import { FormComponent } from './pages/builder/form/form.component';
import { NxtDatatable } from './components/datatable/datatable.component';
import { ImageCropperComponent } from './components/image-cropper/component/image-cropper.component';
import { NxtInfoCard } from './components/cards/info-card/info-card.component';
import { NxtGroupInfo } from './components/cards/group-info/group-info.component';
import { NxtImageCard } from './components/cards/image-card/image-card.component';
import { NxtGroupCard } from './components/cards/group-card/group-card.component';
import { AppTemplatesComponent } from './pages/builder/templates/templates.component';
import * as i0 from "@angular/core";
import * as i1 from "ngx-quill";
import * as i2 from "./i18n.module";
import * as i3 from "ng-circle-progress";
// export const MY_CUSTOM_FORMATS = {
// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',
// useUtc: true,
// };
// HA 19DEC23 variable created for translation
const languages = [
// { lang: 'EN', flag: 'assets/images/en.i18n.png', file: enI18n },
{ lang: 'EN', file: enI18n },
{ lang: 'TAM', file: tamI18n },
{ lang: 'AR', file: arI18n }
];
export class NxtAppModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, bootstrap: [NxtAppComponent], declarations: [NxtAppComponent,
QuestionnaireComponent,
PickLocationComponent,
CustomInputComponent,
CustomTextAreaComponent,
CustomTableComponent,
CustomCalendarComponent,
CustomDatePickerComponent,
DropdownWithFlagComponent,
CustomDropdownComponent,
BookletComponent,
SearchBoxComponent,
QuestionbookComponent,
FileUploadComponent,
SummaryPageComponent,
FileViewComponent,
DependentTableComponent,
CustomLabelComponent,
TableAppendixComponent,
CustomDateComponent,
CustomTimeComponent,
CustomButtonComponent,
CustomModelComponent,
LoaderComponent,
I18nComponent,
I18nPipe,
CustomImageComponent,
CustomRadioComponent,
//AP 22JAN2025 Added the below components
ElementComponent,
PropertiesComponent,
MenuComponent,
FormComponent,
AppTemplatesComponent], imports: [i1.QuillModule, // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
CustomRichTextComponent,
CommonModule, FormsModule,
NxtDatatable,
NxtInfoCard,
NxtGroupInfo,
NxtImageCard,
NxtGroupCard,
// BrowserModule,
ReactiveFormsModule,
OwlDateTimeModule,
OwlNativeDateTimeModule,
ComponenthostDirective,
GetValuePipe,
// VD 23JAN24 removed HttpClientModule
NgSelectModule,
GoogleMapsModule,
MatTooltipModule,
DragDropModule, //AP 22JAN25 Added the DragDropModule
ImageCropperComponent,
//AgmCoreModule.forRoot({
// apiKey: GOOGLE_MAP_API_KEY,
// libraries: ['geometry', 'places', 'visualization', 'drawing']
// }),
NgxSpinnerModule, i2.I18nModule, i3.NgCircleProgressModule], exports: [NxtAppComponent,
QuestionnaireComponent,
BookletComponent,
SummaryPageComponent,
I18nPipe,
I18nComponent,
ElementComponent,
PropertiesComponent,
MenuComponent,
FormComponent,
NxtDatatable,
NxtInfoCard,
NxtGroupInfo,
NxtImageCard,
NxtGroupCard] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, providers: [
I18nService,
I18nPipe,
FormBuilderService //AP 22JAN2025 Added the FormBuilderService
], imports: [QuillModule.forRoot(), // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
CustomRichTextComponent,
CommonModule, FormsModule,
NxtDatatable,
NxtInfoCard,
NxtGroupInfo,
NxtImageCard,
NxtGroupCard,
// BrowserModule,
ReactiveFormsModule,
OwlDateTimeModule,
OwlNativeDateTimeModule,
// VD 23JAN24 removed HttpClientModule
NgSelectModule,
GoogleMapsModule,
MatTooltipModule,
DragDropModule,
//AgmCoreModule.forRoot({
// apiKey: GOOGLE_MAP_API_KEY,
// libraries: ['geometry', 'places', 'visualization', 'drawing']
// }),
NgxSpinnerModule,
I18nModule.forRoot(languages),
/*NgCircleProgressModule.forRoot({
"backgroundPadding": -10,
"radius": 60,
"space": -6,
"innerStrokeColor": "#919191",
"outerStrokeColor": "#db9594",
"outerStrokeGradientStopColor": "#e0b1b0",
"innerStrokeWidth": 2,
"backgroundGradient": true,
"backgroundColor": "#dd2e13",
"backgroundGradientStopColor": "#dd2e13",
"backgroundStroke": "#d3cfcf",
"title": [
"%"
],
// titleFontSize: 12,
// "subtitleFontSize": 20,
"animateTitle": false,
"animationDuration": 1000,
"showUnits": false,
"clockwise":true
//"backgroundStrokeWidth": "0",
"backgroundGradient": true,
//"backgroundColor": "#dd2e13",
"backgroundGradientStopColor": "#dd2e13",
"backgroundStroke": "#000000",
"backgroundPadding": -10,
"radius": 60,
"unitsFontWeight": "600",
"unitsColor": "#f2f2f2",
"outerStrokeGradient": true,
"outerStrokeColor": "#e0b1b0",
"outerStrokeGradientStopColor": "#e0b1b0",
"outerStrokeLinecap": "inherit",
"innerStrokeColor": "#f6dfdf",
"title": [
"%"
],
"titleColor": "#e7d9d9",
"titleFontSize": "31",
"titleFontWeight": "100",
"subtitleColor": "#f7f7f7",
"subtitleFontSize": "36",
"subtitleFontWeight": "900",
"animateTitle": false,
"animationDuration": 1000,
"showTitle": true,
"showUnits": true,
"clockwise": false,
"startFromZero": true,
"showZeroOuterStroke": false,
"lazy": true})*/
NgCircleProgressModule.forRoot({
"backgroundGradient": true,
"backgroundColor": "#e29d98",
"backgroundGradientStopColor": "#c5281c",
"backgroundStroke": "#ece4e4",
"backgroundStrokeWidth": 0,
"backgroundPadding": -10,
"radius": 60,
"space": 4,
"maxPercent": 100,
"unitsFontSize": "35",
"unitsColor": "#f0ebeb",
"outerStrokeGradient": true,
"outerStrokeWidth": 10,
"outerStrokeColor": "#f7c0bf",
"outerStrokeGradientStopColor": "#f9c9c8",
"innerStrokeWidth": 0,
"titleColor": "#f3eded",
"titleFontSize": "40",
"subtitleColor": "#444444",
"showSubtitle": false
})] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, decorators: [{
type: NgModule,
args: [{
declarations: [NxtAppComponent,
QuestionnaireComponent,
PickLocationComponent,
CustomInputComponent,
CustomTextAreaComponent,
CustomTableComponent,
CustomCalendarComponent,
CustomDatePickerComponent,
DropdownWithFlagComponent,
CustomDropdownComponent,
BookletComponent,
SearchBoxComponent,
QuestionbookComponent,
FileUploadComponent,
SummaryPageComponent,
FileViewComponent,
DependentTableComponent,
CustomLabelComponent,
TableAppendixComponent,
CustomDateComponent,
CustomTimeComponent,
CustomButtonComponent,
CustomModelComponent,
LoaderComponent,
I18nComponent,
I18nPipe,
CustomImageComponent,
CustomRadioComponent,
//AP 22JAN2025 Added the below components
ElementComponent,
PropertiesComponent,
MenuComponent,
FormComponent,
AppTemplatesComponent
],
imports: [
QuillModule.forRoot(), // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
CustomRichTextComponent,
CommonModule, FormsModule,
NxtDatatable,
NxtInfoCard,
NxtGroupInfo,
NxtImageCard,
NxtGroupCard,
// BrowserModule,
ReactiveFormsModule,
OwlDateTimeModule,
OwlNativeDateTimeModule,
ComponenthostDirective,
GetValuePipe,
// VD 23JAN24 removed HttpClientModule
NgSelectModule,
GoogleMapsModule,
MatTooltipModule,
DragDropModule, //AP 22JAN25 Added the DragDropModule
ImageCropperComponent,
//AgmCoreModule.forRoot({
// apiKey: GOOGLE_MAP_API_KEY,
// libraries: ['geometry', 'places', 'visualization', 'drawing']
// }),
NgxSpinnerModule,
I18nModule.forRoot(languages),
/*NgCircleProgressModule.forRoot({
"backgroundPadding": -10,
"radius": 60,
"space": -6,
"innerStrokeColor": "#919191",
"outerStrokeColor": "#db9594",
"outerStrokeGradientStopColor": "#e0b1b0",
"innerStrokeWidth": 2,
"backgroundGradient": true,
"backgroundColor": "#dd2e13",
"backgroundGradientStopColor": "#dd2e13",
"backgroundStroke": "#d3cfcf",
"title": [
"%"
],
// titleFontSize: 12,
// "subtitleFontSize": 20,
"animateTitle": false,
"animationDuration": 1000,
"showUnits": false,
"clockwise":true
//"backgroundStrokeWidth": "0",
"backgroundGradient": true,
//"backgroundColor": "#dd2e13",
"backgroundGradientStopColor": "#dd2e13",
"backgroundStroke": "#000000",
"backgroundPadding": -10,
"radius": 60,
"unitsFontWeight": "600",
"unitsColor": "#f2f2f2",
"outerStrokeGradient": true,
"outerStrokeColor": "#e0b1b0",
"outerStrokeGradientStopColor": "#e0b1b0",
"outerStrokeLinecap": "inherit",
"innerStrokeColor": "#f6dfdf",
"title": [
"%"
],
"titleColor": "#e7d9d9",
"titleFontSize": "31",
"titleFontWeight": "100",
"subtitleColor": "#f7f7f7",
"subtitleFontSize": "36",
"subtitleFontWeight": "900",
"animateTitle": false,
"animationDuration": 1000,
"showTitle": true,
"showUnits": true,
"clockwise": false,
"startFromZero": true,
"showZeroOuterStroke": false,
"lazy": true})*/
NgCircleProgressModule.forRoot({
"backgroundGradient": true,
"backgroundColor": "#e29d98",
"backgroundGradientStopColor": "#c5281c",
"backgroundStroke": "#ece4e4",
"backgroundStrokeWidth": 0,
"backgroundPadding": -10,
"radius": 60,
"space": 4,
"maxPercent": 100,
"unitsFontSize": "35",
"unitsColor": "#f0ebeb",
"outerStrokeGradient": true,
"outerStrokeWidth": 10,
"outerStrokeColor": "#f7c0bf",
"outerStrokeGradientStopColor": "#f9c9c8",
"innerStrokeWidth": 0,
"titleColor": "#f3eded",
"titleFontSize": "40",
"subtitleColor": "#444444",
"showSubtitle": false
})
],
bootstrap: [NxtAppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
exports: [NxtAppComponent,
QuestionnaireComponent,
BookletComponent,
SummaryPageComponent,
I18nPipe,
I18nComponent,
ElementComponent,
PropertiesComponent,
MenuComponent,
FormComponent,
NxtDatatable,
NxtInfoCard,
NxtGroupInfo,
NxtImageCard,
NxtGroupCard,
// CustomRichTextComponent
],
providers: [
I18nService,
I18nPipe,
FormBuilderService //AP 22JAN2025 Added the FormBuilderService
]
// providers: [
// { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },
// { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },
// ]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBc0IsTUFBTSwwREFBMEQsQ0FBQyxDQUFDLGlJQUFpSTtBQUN6UCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FB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Q1YsWUFBWSxFQUFFLEdBQUc7NEJBQ2pCLGVBQWUsRUFBRSxJQUFJOzRCQUNyQixZQUFZLEVBQUUsU0FBUzs0QkFDdkIscUJBQXFCLEVBQUUsSUFBSTs0QkFDM0Isa0JBQWtCLEVBQUUsRUFBRTs0QkFDdEIsa0JBQWtCLEVBQUUsU0FBUzs0QkFDN0IsOEJBQThCLEVBQUUsU0FBUzs0QkFDekMsa0JBQWtCLEVBQUUsQ0FBQzs0QkFDckIsWUFBWSxFQUFFLFNBQVM7NEJBQ3ZCLGVBQWUsRUFBRSxJQUFJOzRCQUNyQixlQUFlLEVBQUUsU0FBUzs0QkFDMUIsY0FBYyxFQUFFLEtBQUs7eUJBQUMsQ0FBQztxQkFDNUI7b0JBQ0QsU0FBUyxFQUFFLENBQUUsZUFBZSxDQUFFO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsUUFBUTt3QkFDUixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixZQUFZO3dCQUNaLDBCQUEwQjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixrQkFBa0IsQ0FBQSwyQ0FBMkM7cUJBQzlEO29CQUNELGVBQWU7b0JBQ2Ysb0ZBQW9GO29CQUNwRixxRUFBcUU7b0JBQ3JFLElBQUk7aUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnh0QXBwQ29tcG9uZW50IH0gZnJvbSAnLi9ueHQtYXBwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmctY2lyY2xlLXByb2dyZXNzJztcbmltcG9ydCB7IE5neFNwaW5uZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcbmltcG9ydCB7IEdPT0dMRV9NQVBfQVBJX0tFWSB9IGZyb20gJy4uL2xpYi9zYW1wbGUnO1xuaW1wb3J0IHsgUGlja0xvY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2stbG9jYXRpb24vcGljay1sb2NhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBDdXN0b21JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20taW5wdXQvY3VzdG9tLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21UZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tdGV4dC1hcmVhL2N1c3RvbS10ZXh0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVJpY2hUZXh0Q29tcG9uZW50LCBRdWlsbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudCc7IC8vUlMgMDZKQU4yMDI1IEltcG9ydHMgbW9kdWxlcyBhbmQgY29tcG9uZW50cyBmb3IgYnJvd3NlciBjb21wYXRpYmlsaXR5LCBRdWlsbC1iYXNlZCByaWNoIHRleHQgZWRpdGluZywgYW5kIGN1c3RvbSBjb25maWd1cmF0aW9uc1xuaW1wb3J0IHsgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHsgRHJvcGRvd25XaXRoRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi13aXRoLWZsYWcvZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPd2xEYXRlVGltZU1vZHVsZSwgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAZGFuaWVsbW9uY2FkYS9hbmd1bGFyLWRhdGV0aW1lLXBpY2tlcic7XG5cbi8vaW1wb3J0IHsgT1dMX01PTUVOVF9EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnbmctcGljay1kYXRldGltZS9kYXRlLXRpbWUvYWRhcHRlci9tb21lbnQtYWRhcHRlci9tb21lbnQtZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZHJvcGRvd24vY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudCc7XG4vLyBWRCAyM0pBTjI0IHJlbW92ZWQgSHR0cENsaWVudE1vZHVsZVxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb29nbGVNYXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZ29vZ2xlLW1hcHMnO1xuaW1wb3J0IHsgU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1ib3gvc2VhcmNoLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUXVlc3Rpb25ib29rQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdW1tYXJ5UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvc3VtbWFyeS1wYWdlL3N1bW1hcnktcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVwZW5kZW50VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVwZW5kZW50LXRhYmxlL2RlcGVuZGVudC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWxhYmVsL2N1c3RvbS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVBcHBlbmRpeENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1hcHBlbmRpeC90YWJsZS1hcHBlbmRpeC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS9jdXN0b20tZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVGltZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tdGltZS9jdXN0b20tdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1idXR0b24vY3VzdG9tLWJ1dHRvbi5jb21wb25lbnQnO1xuLy8gSEEgMTlERUMyMyBJbXBvcnRpbmcgZm9yIHRyYW5zbGF0aW9uXG5pbXBvcnQgeyBJMThuTW9kdWxlIH0gZnJvbSAnLi9pMThuLm1vZHVsZSdcbmltcG9ydCB7IEkxOG5Db21wb25lbnQgfSBmcm9tICcuL2kxOG4uY29tcG9uZW50JztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi9pMThuLnBpcGUnO1xuaW1wb3J0ICogYXMgZW5JMThuIGZyb20gJy4vZW4uaTE4bic7XG5pbXBvcnQgKiBhcyBhckkxOG4gZnJvbSAnLi9hci5pMThuJztcbmltcG9ydCAqIGFzIHRhbUkxOG4gZnJvbSAnLi90YW0uaTE4bidcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnOyAvLyBWRCAyMEpVTjI0IC0gaGVscCB0ZXh0IGNoYW5nZXNcbmltcG9ydCB7IEdldFZhbHVlUGlwZSB9IGZyb20gJy4vcGlwZS9nZXQtdmFsdWUucGlwZSc7IC8vIFZEIDI2SlVOMjQgLSBwaXBlIGNoYW5nZXNcbmltcG9ydCB7IEN1c3RvbUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1jYWxlbmRhci9jdXN0b20tY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbU1vZGVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1tb2RlbC9jdXN0b20tbW9kZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbWFnZS9jdXN0b20taW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1yYWRpby9jdXN0b20tcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRob3N0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbXBvbmVudGhvc3QvY29tcG9uZW50aG9zdC5kaXJlY3RpdmUnO1xuLy8gQVAgMjJKQU4yMDI1IEFkZGVkIHRoZSBiZWxvdyBjb21wb25lbnRzXG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9idWlsZGVyL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydGllc0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYnVpbGRlci9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2J1aWxkZXIvbWVudS9tZW51LmNvbXBvbmVudCc7XG4vLyBBUCAyMkpBTjIwMjUgQWRkZWQgdGhlIERyYWdEcm9wTW9kdWxlXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuLy9BUCAyMkpBTjIwMjUgQWRkZWQgdGhlIEZvcm1CdWlsZGVyU2VydmljZVxuaW1wb3J0IHsgRm9ybUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9idWlsZGVyL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnh0RGF0YXRhYmxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGF0YWJsZS9kYXRhdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ3JvcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyL2NvbXBvbmVudC9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOeHRJbmZvQ2FyZCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkcy9pbmZvLWNhcmQvaW5mby1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOeHRHcm91cEluZm8gfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZHMvZ3JvdXAtaW5mby9ncm91cC1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOeHRJbWFnZUNhcmQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZHMvaW1hZ2UtY2FyZC9pbWFnZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOeHRHcm91cENhcmQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZHMvZ3JvdXAtY2FyZC9ncm91cC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBUZW1wbGF0ZXNDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2J1aWxkZXIvdGVtcGxhdGVzL3RlbXBsYXRlcy5jb21wb25lbnQnO1xuIFxuIFxuLy8gZXhwb3J0IGNvbnN0IE1ZX0NVU1RPTV9GT1JNQVRTID0ge1xuLy8gICBmdWxsUGlja2VySW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcbi8vICAgdXNlVXRjOiB0cnVlLFxuLy8gfTtcblxuLy8gSEEgMTlERUMyMyB2YXJpYWJsZSBjcmVhdGVkIGZvciB0cmFuc2xhdGlvblxuY29uc3QgbGFuZ3VhZ2VzID0gW1xuICAvLyB7IGxhbmc6ICdFTicsIGZsYWc6ICdhc3NldHMvaW1hZ2VzL2VuLmkxOG4ucG5nJywgZmlsZTogZW5JMThuIH0sXG4gIHsgbGFuZzogJ0VOJywgZmlsZTogZW5JMThuIH0sXG4gIHsgbGFuZzogJ1RBTScsIGZpbGU6IHRhbUkxOG4gfSxcbiAgeyBsYW5nOiAnQVInLCBmaWxlOiBhckkxOG4gfVxuXVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOeHRBcHBDb21wb25lbnQsXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcbiAgICBQaWNrTG9jYXRpb25Db21wb25lbnQsXG4gICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXG4gICAgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQ3VzdG9tVGFibGVDb21wb25lbnQsXG4gICAgQ3VzdG9tQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBEcm9wZG93bldpdGhGbGFnQ29tcG9uZW50LFxuICAgIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJvb2tsZXRDb21wb25lbnQsXG4gICAgU2VhcmNoQm94Q29tcG9uZW50LFxuICAgIFF1ZXN0aW9uYm9va0NvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIFN1bW1hcnlQYWdlQ29tcG9uZW50LFxuICAgIEZpbGVWaWV3Q29tcG9uZW50LFxuICAgIERlcGVuZGVudFRhYmxlQ29tcG9uZW50LFxuICAgIEN1c3RvbUxhYmVsQ29tcG9uZW50LFxuICAgIFRhYmxlQXBwZW5kaXhDb21wb25lbnQsXG4gICAgQ3VzdG9tRGF0ZUNvbXBvbmVudCxcbiAgICBDdXN0b21UaW1lQ29tcG9uZW50LFxuICAgIEN1c3RvbUJ1dHRvbkNvbXBvbmVudCxcbiAgICBDdXN0b21Nb2RlbENvbXBvbmVudCxcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gICAgSTE4bkNvbXBvbmVudCxcbiAgICBJMThuUGlwZSxcbiAgICBDdXN0b21JbWFnZUNvbXBvbmVudCxcbiAgICBDdXN0b21SYWRpb0NvbXBvbmVudCxcbiAgICAvL0FQIDIySkFOMjAyNSBBZGRlZCB0aGUgYmVsb3cgY29tcG9uZW50c1xuICAgIEVsZW1lbnRDb21wb25lbnQsXG4gICAgUHJvcGVydGllc0NvbXBvbmVudCxcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgQXBwVGVtcGxhdGVzQ29tcG9uZW50ICBcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIFF1aWxsTW9kdWxlLmZvclJvb3QoKSwvLyBSUyAwNkpBTjIwMjUgSW5pdGlhbGl6ZXMgdGhlIFF1aWxsTW9kdWxlIHdpdGggZGVmYXVsdCBzZXR0aW5ncyBmb3IgaW50ZWdyYXRpbmcgdGhlIFF1aWxsIGVkaXRvci5cbiAgICBDdXN0b21SaWNoVGV4dENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLFxuICAgIE54dERhdGF0YWJsZSxcbiAgICBOeHRJbmZvQ2FyZCxcbiAgICBOeHRHcm91cEluZm8sXG4gICAgTnh0SW1hZ2VDYXJkLFxuICAgIE54dEdyb3VwQ2FyZCxcbiAgICAvLyBCcm93c2VyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgT3dsRGF0ZVRpbWVNb2R1bGUsXG4gICAgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUsXG4gICAgQ29tcG9uZW50aG9zdERpcmVjdGl2ZSxcbiAgICBHZXRWYWx1ZVBpcGUsXG4gICAgLy8gICAgVkQgMjNKQU4yNCByZW1vdmVkIEh0dHBDbGllbnRNb2R1bGVcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBHb29nbGVNYXBzTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsIC8vQVAgMjJKQU4yNSBBZGRlZCB0aGUgRHJhZ0Ryb3BNb2R1bGVcbiAgICBJbWFnZUNyb3BwZXJDb21wb25lbnQsXG4gICAgLy9BZ21Db3JlTW9kdWxlLmZvclJvb3Qoe1xuICAgIC8vICBhcGlLZXk6IEdPT0dMRV9NQVBfQVBJX0tFWSxcbiAgICAvLyAgbGlicmFyaWVzOiBbJ2dlb21ldHJ5JywgJ3BsYWNlcycsICd2aXN1YWxpemF0aW9uJywgJ2RyYXdpbmcnXVxuICAvLyAgfSksXG4gICAgTmd4U3Bpbm5lck1vZHVsZSxcbiAgICBJMThuTW9kdWxlLmZvclJvb3QobGFuZ3VhZ2VzKSxcbiAgICAvKk5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxuICAgICAgXCJzcGFjZVwiOiAtNixcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiM5MTkxOTFcIixcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNkYjk1OTRcIixcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcbiAgICAgIFwiaW5uZXJTdHJva2VXaWR0aFwiOiAyLFxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcbiAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2RkMmUxM1wiLFxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXG4gICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjZDNjZmNmXCIsXG4gICAgICBcInRpdGxlXCI6IFtcblxuICAgICAgICAgICAgICAgIFwiJVwiXG4gICAgICBdLFxuICAgICAgLy8gdGl0bGVGb250U2l6ZTogMTIsXG4gICAgICAvLyBcInN1YnRpdGxlRm9udFNpemVcIjogMjAsXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcbiAgICAgIFwic2hvd1VuaXRzXCI6IGZhbHNlLFxuICAgICAgXCJjbG9ja3dpc2VcIjp0cnVlXG5cbiAgICAgIC8vXCJiYWNrZ3JvdW5kU3Ryb2tlV2lkdGhcIjogXCIwXCIsXG5cImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxuICAgICAgLy9cImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2RkMmUxM1wiLFxuICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiIzAwMDAwMFwiLFxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXG4gICAgICBcInJhZGl1c1wiOiA2MCxcbiAgICAgIFwidW5pdHNGb250V2VpZ2h0XCI6IFwiNjAwXCIsXG4gICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjJmMmYyXCIsXG4gICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRcIjogdHJ1ZSxcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNlMGIxYjBcIixcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcbiAgICAgIFwib3V0ZXJTdHJva2VMaW5lY2FwXCI6IFwiaW5oZXJpdFwiLFxuICAgICAgXCJpbm5lclN0cm9rZUNvbG9yXCI6IFwiI2Y2ZGZkZlwiLFxuICAgICAgXCJ0aXRsZVwiOiBbXG5cbiAgICAgICAgXCIlXCJcbl0sXG4gICAgICBcInRpdGxlQ29sb3JcIjogXCIjZTdkOWQ5XCIsXG4gICAgICBcInRpdGxlRm9udFNpemVcIjogXCIzMVwiLFxuICAgICAgXCJ0aXRsZUZvbnRXZWlnaHRcIjogXCIxMDBcIixcbiAgICAgIFwic3VidGl0bGVDb2xvclwiOiBcIiNmN2Y3ZjdcIixcbiAgICAgIFwic3VidGl0bGVGb250U2l6ZVwiOiBcIjM2XCIsXG4gICAgICBcInN1YnRpdGxlRm9udFdlaWdodFwiOiBcIjkwMFwiLFxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXG4gICAgICBcImFuaW1hdGlvbkR1cmF0aW9uXCI6IDEwMDAsXG4gICAgICBcInNob3dUaXRsZVwiOiB0cnVlLFxuICAgICAgXCJzaG93VW5pdHNcIjogdHJ1ZSxcbiAgICAgIFwiY2xvY2t3aXNlXCI6IGZhbHNlLFxuICAgICAgXCJzdGFydEZyb21aZXJvXCI6IHRydWUsXG4gICAgICBcInNob3daZXJvT3V0ZXJTdHJva2VcIjogZmFsc2UsXG4gICAgICBcImxhenlcIjogdHJ1ZX0pKi9cblxuICAgICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcbiAgICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcbiAgICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZTI5ZDk4XCIsXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2M1MjgxY1wiLFxuICAgICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjZWNlNGU0XCIsXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IDAsXG4gICAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxuICAgICAgICBcInJhZGl1c1wiOiA2MCxcbiAgICAgICAgXCJzcGFjZVwiOiA0LFxuICAgICAgICBcIm1heFBlcmNlbnRcIjogMTAwLFxuICAgICAgICBcInVuaXRzRm9udFNpemVcIjogXCIzNVwiLFxuICAgICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjBlYmViXCIsXG4gICAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxuICAgICAgICBcIm91dGVyU3Ryb2tlV2lkdGhcIjogMTAsXG4gICAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNmN2MwYmZcIixcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2Y5YzljOFwiLFxuICAgICAgICBcImlubmVyU3Ryb2tlV2lkdGhcIjogMCxcbiAgICAgICAgXCJ0aXRsZUNvbG9yXCI6IFwiI2YzZWRlZFwiLFxuICAgICAgICBcInRpdGxlRm9udFNpemVcIjogXCI0MFwiLFxuICAgICAgICBcInN1YnRpdGxlQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgIFwic2hvd1N1YnRpdGxlXCI6IGZhbHNlfSlcbiAgXSxcbiAgYm9vdHN0cmFwOiBbIE54dEFwcENvbXBvbmVudCBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIGV4cG9ydHM6IFtOeHRBcHBDb21wb25lbnQsXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcbiAgICBCb29rbGV0Q29tcG9uZW50LFxuICAgIFN1bW1hcnlQYWdlQ29tcG9uZW50LFxuICAgIEkxOG5QaXBlLFxuICAgIEkxOG5Db21wb25lbnQsXG4gICAgRWxlbWVudENvbXBvbmVudCxcbiAgICBQcm9wZXJ0aWVzQ29tcG9uZW50LFxuICAgIE1lbnVDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBOeHREYXRhdGFibGUsXG4gICAgTnh0SW5mb0NhcmQsXG4gICAgTnh0R3JvdXBJbmZvLFxuICAgIE54dEltYWdlQ2FyZCxcbiAgICBOeHRHcm91cENhcmQsXG4gICAgLy8gQ3VzdG9tUmljaFRleHRDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgSTE4blNlcnZpY2UsXG4gICAgSTE4blBpcGUsXG4gICAgRm9ybUJ1aWxkZXJTZXJ2aWNlLy9BUCAyMkpBTjIwMjUgQWRkZWQgdGhlIEZvcm1CdWlsZGVyU2VydmljZVxuICBdXG4gIC8vIHByb3ZpZGVyczogW1xuICAvLyAgIHsgcHJvdmlkZTogT1dMX01PTUVOVF9EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IGZhbHNlIH0gfSxcbiAgLy8gICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX0NVU1RPTV9GT1JNQVRTIH0sXG4gIC8vIF1cbn0pXG5leHBvcnQgY2xhc3MgTnh0QXBwTW9kdWxlIHsgfVxuIl19