UNPKG

ontimize-web-ngx

Version:
233 lines 30.5 kB
import { HttpClient, HttpClientModule } from '@angular/common/http'; import { APP_INITIALIZER, Injector, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateLoader, TranslateModule, TranslateParser } from '@ngx-translate/core'; import { NgxMaterialTimepickerModule } from 'ngx-material-timepicker'; import { OBarMenuModule } from '../components/bar-menu/o-bar-menu.module'; import { OBreadcrumbModule } from '../components/breadcrumb/o-breadcrumb.module'; import { OButtonToggleModule } from '../components/button-toggle/o-button-toggle.module'; import { OButtonModule } from '../components/button/o-button.module'; import { OCardMenuItemModule } from '../components/card-menu-item/o-card-menu-item.module'; import { OColumnCollapsibleModule } from '../components/container/column-collapsible/o-column-collapsible.module'; import { OColumnModule } from '../components/container/column/o-column.module'; import { ORowCollapsibleModule } from '../components/container/row-collapsible/o-row-collapsible.module'; import { ORowModule } from '../components/container/row/o-row.module'; import { OContextMenuModule } from '../components/contextmenu/o-context-menu.module'; import { ODualListSelectorModule } from '../components/dual-list-selector/o-dual-list-selector.module'; import { OExpandableContainerModule } from '../components/expandable-container/o-expandable-container.module'; import { OFilterBuilderModule } from '../components/filter-builder/o-filter-builder.module'; import { OFormContainerModule } from '../components/form-container/o-form-container.module'; import { OFormModule } from '../components/form/o-form.module'; import { OGridModule } from '../components/grid/o-grid.module'; import { OImageModule } from '../components/image/o-image.module'; import { OCheckboxModule } from '../components/input/checkbox/o-checkbox.module'; import { OComboModule } from '../components/input/combo/o-combo.module'; import { OCurrencyInputModule } from '../components/input/currency-input/o-currency-input.module'; import { ODateInputModule } from '../components/input/date-input/o-date-input.module'; import { ODateRangeLegacyInputModule } from '../components/input/date-range-legacy/o-daterange-input.module'; import { OEmailInputModule } from '../components/input/email-input/o-email-input.module'; import { OFileInputModule } from '../components/input/file-input/o-file-input.module'; import { OHourInputModule } from '../components/input/hour-input/o-hour-input.module'; import { OHTMLInputModule } from '../components/input/html-input/o-html-input.module'; import { OIntegerInputModule } from '../components/input/integer-input/o-integer-input.module'; import { OListPickerModule } from '../components/input/listpicker/o-list-picker.module'; import { ONIFInputModule } from '../components/input/nif-input/o-nif-input.module'; import { OPasswordInputModule } from '../components/input/password-input/o-password-input.module'; import { OPercentInputModule } from '../components/input/percent-input/o-percent-input.module'; import { OPhoneInputModule } from '../components/input/phone-input/o-phone-input.module'; import { ORadioModule } from '../components/input/radio/o-radio.module'; import { ORealInputModule } from '../components/input/real-input/o-real-input.module'; import { OSearchInputModule } from '../components/input/search-input/o-search-input.module'; import { OSlideToggleModule } from '../components/input/slide-toggle/o-slide-toggle.module'; import { OSliderModule } from '../components/input/slider/o-slider.module'; import { OTextInputModule } from '../components/input/text-input/o-text-input.module'; import { OTextareaInputModule } from '../components/input/textarea-input/o-textarea-input.module'; import { OTimeInputModule } from '../components/input/time-input/o-time-input.module'; import { OLanguageSelectorModule } from '../components/language-selector/o-language-selector.module'; import { OListModule } from '../components/list/o-list.module'; import { ODataToolbarModule } from '../components/o-data-toolbar/o-data-toolbar.module'; import { OTableModule } from '../components/table/o-table.module'; import { OTreeModule } from '../components/tree'; import { OUserInfoModule } from '../components/user-info/o-user-info.module'; import { APP_CONFIG, AppConfig } from '../config/app-config'; import { OAppLayoutModule } from '../layouts/app-layout/o-app-layout.module'; import { OCardMenuLayoutModule } from '../layouts/card-menu-layout/o-card-menu-layout.module'; import { OFormLayoutManagerModule } from '../layouts/form-layout/o-form-layout-manager.module'; import { OPermissionsModule } from '../services/permissions/o-permissions.module'; import { OTranslateHttpLoader } from '../services/translate/o-translate-http-loader'; import { OTranslateParser } from '../services/translate/o-translate.parser'; import { OTranslateService } from '../services/translate/o-translate.service'; import { OSharedModule } from '../shared/shared.module'; import { Util } from '../util/util'; import { appInitializerFactory } from './o-providers'; import { ODateRangeInputModule } from '../components/input/date-range/o-daterange-input.module'; import * as i0 from "@angular/core"; export class OntimizeWebTranslateModule { } OntimizeWebTranslateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeWebTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); OntimizeWebTranslateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OntimizeWebTranslateModule }); OntimizeWebTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeWebTranslateModule, providers: [{ provide: APP_INITIALIZER, useFactory: appInitializerFactory, deps: [Injector, APP_CONFIG, OTranslateService], multi: true }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeWebTranslateModule, decorators: [{ type: NgModule, args: [{ providers: [{ provide: APP_INITIALIZER, useFactory: appInitializerFactory, deps: [Injector, APP_CONFIG, OTranslateService], multi: true }] }] }] }); export const INTERNAL_ONTIMIZE_MODULES_EXPORTED = [ OntimizeWebTranslateModule, OPermissionsModule, HttpClientModule, OSharedModule, OBarMenuModule, OBreadcrumbModule, OButtonModule, OButtonToggleModule, OCheckboxModule, OComboModule, OColumnModule, OColumnCollapsibleModule, OContextMenuModule, ORowModule, ORowCollapsibleModule, OFilterBuilderModule, OFormModule, OFormContainerModule, OImageModule, OCurrencyInputModule, ODateInputModule, OEmailInputModule, OPhoneInputModule, OFileInputModule, OHTMLInputModule, OIntegerInputModule, OListPickerModule, ONIFInputModule, OPasswordInputModule, OPercentInputModule, ORealInputModule, OTextInputModule, OTextareaInputModule, OListModule, OSearchInputModule, OTableModule, OAppLayoutModule, OFormLayoutManagerModule, OUserInfoModule, OLanguageSelectorModule, OCardMenuItemModule, OCardMenuLayoutModule, OHourInputModule, OTimeInputModule, OGridModule, ORadioModule, OSlideToggleModule, OSliderModule, ODateRangeLegacyInputModule, ODateRangeInputModule, OExpandableContainerModule, ODualListSelectorModule, ODataToolbarModule, OTreeModule ]; export function OHttpLoaderFactory(http, injector, appConfig) { const i18nConf = appConfig.getI18nAssetsConfiguration(); let i18nPath; let i18nExtension; if (Util.isDefined(i18nConf)) { if (Util.isDefined(i18nConf.path)) { i18nPath = i18nConf.path; } if (Util.isDefined(i18nConf.extension)) { i18nExtension = i18nConf.extension; } } return new OTranslateHttpLoader(http, i18nPath, i18nExtension, injector); } export function OTranslateParserFactory() { return new OTranslateParser(); } export const INTERNAL_ONTIMIZE_MODULES = [ HttpClientModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: OHttpLoaderFactory, deps: [HttpClient, Injector, AppConfig] }, parser: { provide: TranslateParser, useFactory: OTranslateParserFactory } }), NgxMaterialTimepickerModule, OSharedModule, OBarMenuModule, OBreadcrumbModule, OButtonModule, OButtonToggleModule, OCardMenuItemModule, OColumnModule, OColumnCollapsibleModule, ORowModule, ORowCollapsibleModule, OContextMenuModule, OFilterBuilderModule, OFormModule, OFormContainerModule, OGridModule, OImageModule, OCheckboxModule, OComboModule, OCurrencyInputModule, ODateInputModule, ODateRangeLegacyInputModule, OEmailInputModule, OPhoneInputModule, OFileInputModule, OHourInputModule, OHTMLInputModule, OIntegerInputModule, OListPickerModule, ONIFInputModule, OPasswordInputModule, OPercentInputModule, ORadioModule, ORealInputModule, OSearchInputModule, OSlideToggleModule, OTextInputModule, OTextareaInputModule, OTimeInputModule, OLanguageSelectorModule, OListModule, OTableModule, OUserInfoModule, OAppLayoutModule, OCardMenuLayoutModule, OFormLayoutManagerModule, OExpandableContainerModule, ODualListSelectorModule ]; export const ONTIMIZE_MODULES = [ BrowserModule, BrowserAnimationsModule, OntimizeWebTranslateModule, OPermissionsModule ]; export const ONTIMIZE_MODULES_WITHOUT_ANIMATIONS = [ NoopAnimationsModule, OntimizeWebTranslateModule, OPermissionsModule ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1tb2R1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbmZpZy9vLW1vZHVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDekcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFB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QjtJQUNwQixnQkFBZ0I7SUFFaEIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtJQUVmLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQix1QkFBdUI7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFRO0lBQ25DLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLGtCQUFrQjtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQVE7SUFDdEQsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixrQkFBa0I7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsIE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVQYXJzZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcblxuaW1wb3J0IHsgT0Jhck1lbnVNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jhci1tZW51L28tYmFyLW1lbnUubW9kdWxlJztcbmltcG9ydCB7IE9CcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icmVhZGNydW1iL28tYnJlYWRjcnVtYi5tb2R1bGUnO1xuaW1wb3J0IHsgT0J1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnV0dG9uLXRvZ2dsZS9vLWJ1dHRvbi10b2dnbGUubW9kdWxlJztcbmltcG9ydCB7IE9CdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9vLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgT0NhcmRNZW51SXRlbU1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2FyZC1tZW51LWl0ZW0vby1jYXJkLW1lbnUtaXRlbS5tb2R1bGUnO1xuaW1wb3J0IHsgT0NvbHVtbkNvbGxhcHNpYmxlTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250YWluZXIvY29sdW1uLWNvbGxhcHNpYmxlL28tY29sdW1uLWNvbGxhcHNpYmxlLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ29sdW1uTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250YWluZXIvY29sdW1uL28tY29sdW1uLm1vZHVsZSc7XG5pbXBvcnQgeyBPUm93Q29sbGFwc2libGVNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRhaW5lci9yb3ctY29sbGFwc2libGUvby1yb3ctY29sbGFwc2libGUubW9kdWxlJztcbmltcG9ydCB7IE9Sb3dNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRhaW5lci9yb3cvby1yb3cubW9kdWxlJztcbmltcG9ydCB7IE9Db250ZXh0TWVudU1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29udGV4dG1lbnUvby1jb250ZXh0LW1lbnUubW9kdWxlJztcbmltcG9ydCB7IE9EdWFsTGlzdFNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kdWFsLWxpc3Qtc2VsZWN0b3Ivby1kdWFsLWxpc3Qtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IE9FeHBhbmRhYmxlQ29udGFpbmVyTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9leHBhbmRhYmxlLWNvbnRhaW5lci9vLWV4cGFuZGFibGUtY29udGFpbmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBPRmlsdGVyQnVpbGRlck1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyLWJ1aWxkZXIvby1maWx0ZXItYnVpbGRlci5tb2R1bGUnO1xuaW1wb3J0IHsgT0Zvcm1Db250YWluZXJNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm0tY29udGFpbmVyL28tZm9ybS1jb250YWluZXIubW9kdWxlJztcbmltcG9ydCB7IE9Gb3JtTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtL28tZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgT0dyaWRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2dyaWQvby1ncmlkLm1vZHVsZSc7XG5pbXBvcnQgeyBPSW1hZ2VNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlL28taW1hZ2UubW9kdWxlJztcbmltcG9ydCB7IE9DaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvY2hlY2tib3gvby1jaGVja2JveC5tb2R1bGUnO1xuaW1wb3J0IHsgT0NvbWJvTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9jb21iby9vLWNvbWJvLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ3VycmVuY3lJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvY3VycmVuY3ktaW5wdXQvby1jdXJyZW5jeS1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgT0RhdGVJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1pbnB1dC9vLWRhdGUtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9EYXRlUmFuZ2VMZWdhY3lJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS1sZWdhY3kvby1kYXRlcmFuZ2UtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9FbWFpbElucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9lbWFpbC1pbnB1dC9vLWVtYWlsLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPRmlsZUlucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9maWxlLWlucHV0L28tZmlsZS1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgT0hvdXJJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvaG91ci1pbnB1dC9vLWhvdXItaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9IVE1MSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L2h0bWwtaW5wdXQvby1odG1sLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPSW50ZWdlcklucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9pbnRlZ2VyLWlucHV0L28taW50ZWdlci1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgT0xpc3RQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L2xpc3RwaWNrZXIvby1saXN0LXBpY2tlci5tb2R1bGUnO1xuaW1wb3J0IHsgT05JRklucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9uaWYtaW5wdXQvby1uaWYtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9QYXNzd29yZElucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9wYXNzd29yZC1pbnB1dC9vLXBhc3N3b3JkLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPUGVyY2VudElucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC9wZXJjZW50LWlucHV0L28tcGVyY2VudC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgT1Bob25lSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L3Bob25lLWlucHV0L28tcGhvbmUtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9SYWRpb01vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvcmFkaW8vby1yYWRpby5tb2R1bGUnO1xuaW1wb3J0IHsgT1JlYWxJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvcmVhbC1pbnB1dC9vLXJlYWwtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9TZWFyY2hJbnB1dE1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvc2VhcmNoLWlucHV0L28tc2VhcmNoLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPU2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L3NsaWRlLXRvZ2dsZS9vLXNsaWRlLXRvZ2dsZS5tb2R1bGUnO1xuaW1wb3J0IHsgT1NsaWRlck1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXQvc2xpZGVyL28tc2xpZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBPVGV4dElucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC90ZXh0LWlucHV0L28tdGV4dC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgT1RleHRhcmVhSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L3RleHRhcmVhLWlucHV0L28tdGV4dGFyZWEtaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IE9UaW1lSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L3RpbWUtaW5wdXQvby10aW1lLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPTGFuZ3VhZ2VTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbGFuZ3VhZ2Utc2VsZWN0b3Ivby1sYW5ndWFnZS1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgT0xpc3RNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2xpc3Qvby1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBPRGF0YVRvb2xiYXJNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL28tZGF0YS10b29sYmFyL28tZGF0YS10b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBPVGFibGVNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL28tdGFibGUubW9kdWxlJztcbmltcG9ydCB7IE9UcmVlTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy90cmVlJztcbmltcG9ydCB7IE9Vc2VySW5mb01vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvdXNlci1pbmZvL28tdXNlci1pbmZvLm1vZHVsZSc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi9jb25maWcvYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBPQXBwTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgT0NhcmRNZW51TGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0cy9jYXJkLW1lbnUtbGF5b3V0L28tY2FyZC1tZW51LWxheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgT0Zvcm1MYXlvdXRNYW5hZ2VyTW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0cy9mb3JtLWxheW91dC9vLWZvcm0tbGF5b3V0LW1hbmFnZXIubW9kdWxlJztcbmltcG9ydCB7IE9QZXJtaXNzaW9uc01vZHVsZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Blcm1pc3Npb25zL28tcGVybWlzc2lvbnMubW9kdWxlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVIdHRwTG9hZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLWh0dHAtbG9hZGVyJztcbmltcG9ydCB7IE9UcmFuc2xhdGVQYXJzZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGUvby10cmFuc2xhdGUucGFyc2VyJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1NoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgYXBwSW5pdGlhbGl6ZXJGYWN0b3J5IH0gZnJvbSAnLi9vLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBPRGF0ZVJhbmdlSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L2RhdGUtcmFuZ2Uvby1kYXRlcmFuZ2UtaW5wdXQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICB1c2VGYWN0b3J5OiBhcHBJbml0aWFsaXplckZhY3RvcnksXG4gICAgZGVwczogW0luamVjdG9yLCBBUFBfQ09ORklHLCBPVHJhbnNsYXRlU2VydmljZV0sXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgT250aW1pemVXZWJUcmFuc2xhdGVNb2R1bGUgeyB9XG5cbmV4cG9ydCBjb25zdCBJTlRFUk5BTF9PTlRJTUlaRV9NT0RVTEVTX0VYUE9SVEVEOiBhbnkgPSBbXG4gIE9udGltaXplV2ViVHJhbnNsYXRlTW9kdWxlLFxuICBPUGVybWlzc2lvbnNNb2R1bGUsXG4gIC8vIFN0YW5kYXJkIG1vZHVsZXNcbiAgSHR0cENsaWVudE1vZHVsZSxcbiAgT1NoYXJlZE1vZHVsZSxcblxuICAvLyBPbnRpbWl6ZSBtb2R1bGVzXG4gIE9CYXJNZW51TW9kdWxlLFxuICBPQnJlYWRjcnVtYk1vZHVsZSxcbiAgT0J1dHRvbk1vZHVsZSxcbiAgT0J1dHRvblRvZ2dsZU1vZHVsZSxcbiAgT0NoZWNrYm94TW9kdWxlLFxuICBPQ29tYm9Nb2R1bGUsXG4gIE9Db2x1bW5Nb2R1bGUsXG4gIE9Db2x1bW5Db2xsYXBzaWJsZU1vZHVsZSxcbiAgT0NvbnRleHRNZW51TW9kdWxlLFxuICBPUm93TW9kdWxlLFxuICBPUm93Q29sbGFwc2libGVNb2R1bGUsXG4gIE9GaWx0ZXJCdWlsZGVyTW9kdWxlLFxuICBPRm9ybU1vZHVsZSxcbiAgT0Zvcm1Db250YWluZXJNb2R1bGUsXG4gIE9JbWFnZU1vZHVsZSxcbiAgT0N1cnJlbmN5SW5wdXRNb2R1bGUsXG4gIE9EYXRlSW5wdXRNb2R1bGUsXG4gIE9FbWFpbElucHV0TW9kdWxlLFxuICBPUGhvbmVJbnB1dE1vZHVsZSxcbiAgT0ZpbGVJbnB1dE1vZHVsZSxcbiAgT0hUTUxJbnB1dE1vZHVsZSxcbiAgT0ludGVnZXJJbnB1dE1vZHVsZSxcbiAgT0xpc3RQaWNrZXJNb2R1bGUsXG4gIE9OSUZJbnB1dE1vZHVsZSxcbiAgT1Bhc3N3b3JkSW5wdXRNb2R1bGUsXG4gIE9QZXJjZW50SW5wdXRNb2R1bGUsXG4gIE9SZWFsSW5wdXRNb2R1bGUsXG4gIE9UZXh0SW5wdXRNb2R1bGUsXG4gIE9UZXh0YXJlYUlucHV0TW9kdWxlLFxuICBPTGlzdE1vZHVsZSxcbiAgT1NlYXJjaElucHV0TW9kdWxlLFxuICBPVGFibGVNb2R1bGUsXG4gIE9BcHBMYXlvdXRNb2R1bGUsXG4gIE9Gb3JtTGF5b3V0TWFuYWdlck1vZHVsZSxcbiAgT1VzZXJJbmZvTW9kdWxlLFxuICBPTGFuZ3VhZ2VTZWxlY3Rvck1vZHVsZSxcbiAgT0NhcmRNZW51SXRlbU1vZHVsZSxcbiAgT0NhcmRNZW51TGF5b3V0TW9kdWxlLFxuICBPSG91cklucHV0TW9kdWxlLFxuICBPVGltZUlucHV0TW9kdWxlLFxuICBPR3JpZE1vZHVsZSxcbiAgT1JhZGlvTW9kdWxlLFxuICBPU2xpZGVUb2dnbGVNb2R1bGUsXG4gIE9TbGlkZXJNb2R1bGUsXG4gIE9EYXRlUmFuZ2VMZWdhY3lJbnB1dE1vZHVsZSxcbiAgT0RhdGVSYW5nZUlucHV0TW9kdWxlLFxuICBPRXhwYW5kYWJsZUNvbnRhaW5lck1vZHVsZSxcbiAgT0R1YWxMaXN0U2VsZWN0b3JNb2R1bGUsXG4gIE9EYXRhVG9vbGJhck1vZHVsZSxcbiAgT1RyZWVNb2R1bGVcbl07XG5cbi8vIEFvVCByZXF1aXJlcyBhbiBleHBvcnRlZCBmdW5jdGlvbiBmb3IgZmFjdG9yaWVzXG5leHBvcnQgZnVuY3Rpb24gT0h0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQsIGluamVjdG9yOiBJbmplY3RvciwgYXBwQ29uZmlnOiBBcHBDb25maWcpIHtcbiAgY29uc3QgaTE4bkNvbmYgPSBhcHBDb25maWcuZ2V0STE4bkFzc2V0c0NvbmZpZ3VyYXRpb24oKTtcbiAgbGV0IGkxOG5QYXRoO1xuICBsZXQgaTE4bkV4dGVuc2lvbjtcbiAgaWYgKFV0aWwuaXNEZWZpbmVkKGkxOG5Db25mKSkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChpMThuQ29uZi5wYXRoKSkge1xuICAgICAgaTE4blBhdGggPSBpMThuQ29uZi5wYXRoO1xuICAgIH1cbiAgICBpZiAoVXRpbC5pc0RlZmluZWQoaTE4bkNvbmYuZXh0ZW5zaW9uKSkge1xuICAgICAgaTE4bkV4dGVuc2lvbiA9IGkxOG5Db25mLmV4dGVuc2lvbjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ldyBPVHJhbnNsYXRlSHR0cExvYWRlcihodHRwLCBpMThuUGF0aCwgaTE4bkV4dGVuc2lvbiwgaW5qZWN0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gT1RyYW5zbGF0ZVBhcnNlckZhY3RvcnkoKSB7XG4gIHJldHVybiBuZXcgT1RyYW5zbGF0ZVBhcnNlcigpO1xufVxuXG5leHBvcnQgY29uc3QgSU5URVJOQUxfT05USU1JWkVfTU9EVUxFUzogYW55ID0gW1xuICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gIC8vIC8vIE5neC10cmFuc2xhdGVcbiAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgIGxvYWRlcjoge1xuICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgdXNlRmFjdG9yeTogT0h0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgZGVwczogW0h0dHBDbGllbnQsIEluamVjdG9yLCBBcHBDb25maWddXG4gICAgfSxcbiAgICBwYXJzZXI6IHtcbiAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZVBhcnNlcixcbiAgICAgIHVzZUZhY3Rvcnk6IE9UcmFuc2xhdGVQYXJzZXJGYWN0b3J5XG4gICAgfVxuICB9KSxcbiAgLy8gRG5kTW9kdWxlLmZvclJvb3QoKSxcbiAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxuICBPU2hhcmVkTW9kdWxlLFxuXG4gIC8vIE9udGltaXplIG1vZHVsZXNcbiAgT0Jhck1lbnVNb2R1bGUsXG4gIE9CcmVhZGNydW1iTW9kdWxlLFxuICBPQnV0dG9uTW9kdWxlLFxuICBPQnV0dG9uVG9nZ2xlTW9kdWxlLFxuICBPQ2FyZE1lbnVJdGVtTW9kdWxlLFxuICBPQ29sdW1uTW9kdWxlLFxuICBPQ29sdW1uQ29sbGFwc2libGVNb2R1bGUsXG4gIE9Sb3dNb2R1bGUsXG4gIE9Sb3dDb2xsYXBzaWJsZU1vZHVsZSxcbiAgT0NvbnRleHRNZW51TW9kdWxlLFxuICBPRmlsdGVyQnVpbGRlck1vZHVsZSxcbiAgT0Zvcm1Nb2R1bGUsXG4gIE9Gb3JtQ29udGFpbmVyTW9kdWxlLFxuICBPR3JpZE1vZHVsZSxcbiAgT0ltYWdlTW9kdWxlLFxuXG4gIE9DaGVja2JveE1vZHVsZSxcbiAgT0NvbWJvTW9kdWxlLFxuICBPQ3VycmVuY3lJbnB1dE1vZHVsZSxcbiAgT0RhdGVJbnB1dE1vZHVsZSxcbiAgT0RhdGVSYW5nZUxlZ2FjeUlucHV0TW9kdWxlLFxuICBPRW1haWxJbnB1dE1vZHVsZSxcbiAgT1Bob25lSW5wdXRNb2R1bGUsXG4gIE9GaWxlSW5wdXRNb2R1bGUsXG4gIE9Ib3VySW5wdXRNb2R1bGUsXG4gIE9IVE1MSW5wdXRNb2R1bGUsXG4gIE9JbnRlZ2VySW5wdXRNb2R1bGUsXG4gIE9MaXN0UGlja2VyTW9kdWxlLFxuICBPTklGSW5wdXRNb2R1bGUsXG4gIE9QYXNzd29yZElucHV0TW9kdWxlLFxuICBPUGVyY2VudElucHV0TW9kdWxlLFxuICBPUmFkaW9Nb2R1bGUsXG4gIE9SZWFsSW5wdXRNb2R1bGUsXG4gIE9TZWFyY2hJbnB1dE1vZHVsZSxcbiAgT1NsaWRlVG9nZ2xlTW9kdWxlLFxuICBPVGV4dElucHV0TW9kdWxlLFxuICBPVGV4dGFyZWFJbnB1dE1vZHVsZSxcbiAgT1RpbWVJbnB1dE1vZHVsZSxcblxuICBPTGFuZ3VhZ2VTZWxlY3Rvck1vZHVsZSxcbiAgT0xpc3RNb2R1bGUsXG4gIE9UYWJsZU1vZHVsZSxcbiAgT1VzZXJJbmZvTW9kdWxlLFxuXG4gIE9BcHBMYXlvdXRNb2R1bGUsXG4gIE9DYXJkTWVudUxheW91dE1vZHVsZSxcbiAgT0Zvcm1MYXlvdXRNYW5hZ2VyTW9kdWxlLFxuICBPRXhwYW5kYWJsZUNvbnRhaW5lck1vZHVsZSxcbiAgT0R1YWxMaXN0U2VsZWN0b3JNb2R1bGVcbl07XG5cbmV4cG9ydCBjb25zdCBPTlRJTUlaRV9NT0RVTEVTOiBhbnkgPSBbXG4gIEJyb3dzZXJNb2R1bGUsXG4gIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICBPbnRpbWl6ZVdlYlRyYW5zbGF0ZU1vZHVsZSxcbiAgT1Blcm1pc3Npb25zTW9kdWxlXG5dO1xuXG5leHBvcnQgY29uc3QgT05USU1JWkVfTU9EVUxFU19XSVRIT1VUX0FOSU1BVElPTlM6IGFueSA9IFtcbiAgTm9vcEFuaW1hdGlvbnNNb2R1bGUsXG4gIE9udGltaXplV2ViVHJhbnNsYXRlTW9kdWxlLFxuICBPUGVybWlzc2lvbnNNb2R1bGVcbl07XG5cbiJdfQ==