| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966 |
- import { __decorate, __metadata } from "tslib";
- import { AfterViewInit, Component, ComponentFactoryResolver, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, ViewContainerRef, ViewEncapsulation } from "@angular/core";
- import { ComponentUtil, Events, Grid, GridOptionsWrapper, Promise, _ } from "ag-grid-community";
- import { AngularFrameworkOverrides } from "./angularFrameworkOverrides";
- import { AngularFrameworkComponentWrapper } from "./angularFrameworkComponentWrapper";
- import { AgGridColumn } from "./ag-grid-column.component";
- let AgGridAngular = class AgGridAngular {
- constructor(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper, _componentFactoryResolver) {
- this.viewContainerRef = viewContainerRef;
- this.angularFrameworkOverrides = angularFrameworkOverrides;
- this.frameworkComponentWrapper = frameworkComponentWrapper;
- this._componentFactoryResolver = _componentFactoryResolver;
- this._initialised = false;
- this._destroyed = false;
- // in order to ensure firing of gridReady is deterministic
- this._fullyReady = Promise.resolve(true);
- // @START@
- this.slaveGrids = undefined;
- this.alignedGrids = undefined;
- this.rowData = undefined;
- this.columnDefs = undefined;
- this.excelStyles = undefined;
- this.pinnedTopRowData = undefined;
- this.pinnedBottomRowData = undefined;
- this.components = undefined;
- this.frameworkComponents = undefined;
- this.rowStyle = undefined;
- this.context = undefined;
- this.autoGroupColumnDef = undefined;
- this.groupColumnDef = undefined;
- this.localeText = undefined;
- this.icons = undefined;
- this.datasource = undefined;
- this.serverSideDatasource = undefined;
- this.viewportDatasource = undefined;
- this.groupRowRendererParams = undefined;
- this.aggFuncs = undefined;
- this.fullWidthCellRendererParams = undefined;
- this.defaultColGroupDef = undefined;
- this.defaultColDef = undefined;
- this.defaultExportParams = undefined;
- this.columnTypes = undefined;
- this.rowClassRules = undefined;
- this.detailGridOptions = undefined;
- this.detailCellRendererParams = undefined;
- this.loadingCellRendererParams = undefined;
- this.loadingOverlayComponentParams = undefined;
- this.noRowsOverlayComponentParams = undefined;
- this.popupParent = undefined;
- this.colResizeDefault = undefined;
- this.reduxStore = undefined;
- this.statusBar = undefined;
- this.sideBar = undefined;
- this.sortingOrder = undefined;
- this.rowClass = undefined;
- this.rowSelection = undefined;
- this.overlayLoadingTemplate = undefined;
- this.overlayNoRowsTemplate = undefined;
- this.quickFilterText = undefined;
- this.rowModelType = undefined;
- this.editType = undefined;
- this.domLayout = undefined;
- this.clipboardDeliminator = undefined;
- this.rowGroupPanelShow = undefined;
- this.multiSortKey = undefined;
- this.pivotColumnGroupTotals = undefined;
- this.pivotRowTotals = undefined;
- this.pivotPanelShow = undefined;
- this.rowHeight = undefined;
- this.detailRowHeight = undefined;
- this.rowBuffer = undefined;
- this.colWidth = undefined;
- this.headerHeight = undefined;
- this.groupHeaderHeight = undefined;
- this.floatingFiltersHeight = undefined;
- this.pivotHeaderHeight = undefined;
- this.pivotGroupHeaderHeight = undefined;
- this.groupDefaultExpanded = undefined;
- this.minColWidth = undefined;
- this.maxColWidth = undefined;
- this.viewportRowModelPageSize = undefined;
- this.viewportRowModelBufferSize = undefined;
- this.autoSizePadding = undefined;
- this.maxBlocksInCache = undefined;
- this.maxConcurrentDatasourceRequests = undefined;
- this.tooltipShowDelay = undefined;
- this.cacheOverflowSize = undefined;
- this.paginationPageSize = undefined;
- this.cacheBlockSize = undefined;
- this.infiniteInitialRowCount = undefined;
- this.scrollbarWidth = undefined;
- this.paginationStartPage = undefined;
- this.infiniteBlockSize = undefined;
- this.batchUpdateWaitMillis = undefined;
- this.asyncTransactionWaitMillis = undefined;
- this.blockLoadDebounceMillis = undefined;
- this.keepDetailRowsCount = undefined;
- this.undoRedoCellEditingLimit = undefined;
- this.cellFlashDelay = undefined;
- this.cellFadeDelay = undefined;
- this.localeTextFunc = undefined;
- this.groupRowInnerRenderer = undefined;
- this.groupRowInnerRendererFramework = undefined;
- this.dateComponent = undefined;
- this.dateComponentFramework = undefined;
- this.groupRowRenderer = undefined;
- this.groupRowRendererFramework = undefined;
- this.isExternalFilterPresent = undefined;
- this.getRowHeight = undefined;
- this.doesExternalFilterPass = undefined;
- this.getRowClass = undefined;
- this.getRowStyle = undefined;
- this.getRowClassRules = undefined;
- this.traverseNode = undefined;
- this.getContextMenuItems = undefined;
- this.getMainMenuItems = undefined;
- this.processRowPostCreate = undefined;
- this.processCellForClipboard = undefined;
- this.getNodeChildDetails = undefined;
- this.groupRowAggNodes = undefined;
- this.getRowNodeId = undefined;
- this.isFullWidthCell = undefined;
- this.fullWidthCellRenderer = undefined;
- this.fullWidthCellRendererFramework = undefined;
- this.doesDataFlower = undefined;
- this.processSecondaryColDef = undefined;
- this.processSecondaryColGroupDef = undefined;
- this.getBusinessKeyForNode = undefined;
- this.sendToClipboard = undefined;
- this.navigateToNextCell = undefined;
- this.tabToNextCell = undefined;
- this.getDetailRowData = undefined;
- this.processCellFromClipboard = undefined;
- this.getDocument = undefined;
- this.postProcessPopup = undefined;
- this.getChildCount = undefined;
- this.getDataPath = undefined;
- this.loadingCellRenderer = undefined;
- this.loadingCellRendererFramework = undefined;
- this.loadingOverlayComponent = undefined;
- this.loadingOverlayComponentFramework = undefined;
- this.noRowsOverlayComponent = undefined;
- this.noRowsOverlayComponentFramework = undefined;
- this.detailCellRenderer = undefined;
- this.detailCellRendererFramework = undefined;
- this.defaultGroupSortComparator = undefined;
- this.isRowMaster = undefined;
- this.isRowSelectable = undefined;
- this.postSort = undefined;
- this.processHeaderForClipboard = undefined;
- this.paginationNumberFormatter = undefined;
- this.processDataFromClipboard = undefined;
- this.getServerSideGroupKey = undefined;
- this.isServerSideGroup = undefined;
- this.suppressKeyboardEvent = undefined;
- this.createChartContainer = undefined;
- this.processChartOptions = undefined;
- this.getChartToolbarItems = undefined;
- this.fillOperation = undefined;
- this.toolPanelSuppressRowGroups = undefined;
- this.toolPanelSuppressValues = undefined;
- this.toolPanelSuppressPivots = undefined;
- this.toolPanelSuppressPivotMode = undefined;
- this.toolPanelSuppressSideButtons = undefined;
- this.toolPanelSuppressColumnFilter = undefined;
- this.toolPanelSuppressColumnSelectAll = undefined;
- this.toolPanelSuppressColumnExpandAll = undefined;
- this.suppressMakeColumnVisibleAfterUnGroup = undefined;
- this.suppressRowClickSelection = undefined;
- this.suppressCellSelection = undefined;
- this.suppressHorizontalScroll = undefined;
- this.alwaysShowVerticalScroll = undefined;
- this.debug = undefined;
- this.enableBrowserTooltips = undefined;
- this.enableColResize = undefined;
- this.enableCellExpressions = undefined;
- this.enableSorting = undefined;
- this.enableServerSideSorting = undefined;
- this.enableFilter = undefined;
- this.enableServerSideFilter = undefined;
- this.angularCompileRows = undefined;
- this.angularCompileFilters = undefined;
- this.angularCompileHeaders = undefined;
- this.groupSuppressAutoColumn = undefined;
- this.groupSelectsChildren = undefined;
- this.groupIncludeFooter = undefined;
- this.groupIncludeTotalFooter = undefined;
- this.groupUseEntireRow = undefined;
- this.groupSuppressRow = undefined;
- this.groupSuppressBlankHeader = undefined;
- this.forPrint = undefined;
- this.suppressMenuHide = undefined;
- this.rowDeselection = undefined;
- this.unSortIcon = undefined;
- this.suppressMultiSort = undefined;
- this.singleClickEdit = undefined;
- this.suppressLoadingOverlay = undefined;
- this.suppressNoRowsOverlay = undefined;
- this.suppressAutoSize = undefined;
- this.skipHeaderOnAutoSize = undefined;
- this.suppressParentsInRowNodes = undefined;
- this.showToolPanel = undefined;
- this.suppressColumnMoveAnimation = undefined;
- this.suppressMovableColumns = undefined;
- this.suppressFieldDotNotation = undefined;
- this.enableRangeSelection = undefined;
- this.enableRangeHandle = undefined;
- this.enableFillHandle = undefined;
- this.suppressClearOnFillReduction = undefined;
- this.deltaSort = undefined;
- this.suppressTouch = undefined;
- this.suppressAsyncEvents = undefined;
- this.allowContextMenuWithControlKey = undefined;
- this.suppressContextMenu = undefined;
- this.suppressMenuFilterPanel = undefined;
- this.suppressMenuMainPanel = undefined;
- this.suppressMenuColumnPanel = undefined;
- this.rememberGroupStateWhenNewData = undefined;
- this.enableCellChangeFlash = undefined;
- this.suppressDragLeaveHidesColumns = undefined;
- this.suppressMiddleClickScrolls = undefined;
- this.suppressPreventDefaultOnMouseWheel = undefined;
- this.suppressUseColIdForGroups = undefined;
- this.suppressCopyRowsToClipboard = undefined;
- this.copyHeadersToClipboard = undefined;
- this.pivotMode = undefined;
- this.suppressAggFuncInHeader = undefined;
- this.suppressColumnVirtualisation = undefined;
- this.suppressAggAtRootLevel = undefined;
- this.suppressFocusAfterRefresh = undefined;
- this.functionsPassive = undefined;
- this.functionsReadOnly = undefined;
- this.animateRows = undefined;
- this.groupSelectsFiltered = undefined;
- this.groupRemoveSingleChildren = undefined;
- this.groupRemoveLowestSingleChildren = undefined;
- this.enableRtl = undefined;
- this.suppressClickEdit = undefined;
- this.rowDragManaged = undefined;
- this.suppressRowDrag = undefined;
- this.suppressMoveWhenRowDragging = undefined;
- this.enableMultiRowDragging = undefined;
- this.enableGroupEdit = undefined;
- this.embedFullWidthRows = undefined;
- this.deprecatedEmbedFullWidthRows = undefined;
- this.suppressTabbing = undefined;
- this.suppressPaginationPanel = undefined;
- this.floatingFilter = undefined;
- this.groupHideOpenParents = undefined;
- this.groupMultiAutoColumn = undefined;
- this.pagination = undefined;
- this.stopEditingWhenGridLosesFocus = undefined;
- this.paginationAutoPageSize = undefined;
- this.suppressScrollOnNewData = undefined;
- this.purgeClosedRowNodes = undefined;
- this.cacheQuickFilter = undefined;
- this.deltaRowDataMode = undefined;
- this.ensureDomOrder = undefined;
- this.accentedSort = undefined;
- this.pivotTotals = undefined;
- this.suppressChangeDetection = undefined;
- this.valueCache = undefined;
- this.valueCacheNeverExpires = undefined;
- this.aggregateOnlyChangedColumns = undefined;
- this.suppressAnimationFrame = undefined;
- this.suppressExcelExport = undefined;
- this.suppressCsvExport = undefined;
- this.treeData = undefined;
- this.masterDetail = undefined;
- this.suppressMultiRangeSelection = undefined;
- this.enterMovesDownAfterEdit = undefined;
- this.enterMovesDown = undefined;
- this.suppressPropertyNamesCheck = undefined;
- this.rowMultiSelectWithClick = undefined;
- this.contractColumnSelection = undefined;
- this.suppressEnterpriseResetOnNewColumns = undefined;
- this.enableOldSetFilterModel = undefined;
- this.suppressRowHoverHighlight = undefined;
- this.gridAutoHeight = undefined;
- this.suppressRowTransform = undefined;
- this.suppressClipboardPaste = undefined;
- this.suppressLastEmptyLineOnPaste = undefined;
- this.serverSideSortingAlwaysResets = undefined;
- this.reactNext = undefined;
- this.suppressSetColumnStateEvents = undefined;
- this.enableCharts = undefined;
- this.deltaColumnMode = undefined;
- this.suppressMaintainUnsortedOrder = undefined;
- this.enableCellTextSelection = undefined;
- this.suppressBrowserResizeObserver = undefined;
- this.suppressMaxRenderedRowRestriction = undefined;
- this.excludeChildrenWhenTreeDataFiltering = undefined;
- this.tooltipMouseTrack = undefined;
- this.keepDetailRows = undefined;
- this.paginateChildRows = undefined;
- this.preventDefaultOnContextMenu = undefined;
- this.undoRedoCellEditing = undefined;
- this.allowDragFromColumnsToolPanel = undefined;
- this.immutableData = undefined;
- this.immutableColumns = undefined;
- this.pivotSuppressAutoColumn = undefined;
- this.columnEverythingChanged = new EventEmitter();
- this.newColumnsLoaded = new EventEmitter();
- this.columnPivotModeChanged = new EventEmitter();
- this.columnRowGroupChanged = new EventEmitter();
- this.expandOrCollapseAll = new EventEmitter();
- this.columnPivotChanged = new EventEmitter();
- this.gridColumnsChanged = new EventEmitter();
- this.columnValueChanged = new EventEmitter();
- this.columnMoved = new EventEmitter();
- this.columnVisible = new EventEmitter();
- this.columnPinned = new EventEmitter();
- this.columnGroupOpened = new EventEmitter();
- this.columnResized = new EventEmitter();
- this.displayedColumnsChanged = new EventEmitter();
- this.virtualColumnsChanged = new EventEmitter();
- this.rowGroupOpened = new EventEmitter();
- this.rowDataChanged = new EventEmitter();
- this.rowDataUpdated = new EventEmitter();
- this.pinnedRowDataChanged = new EventEmitter();
- this.rangeSelectionChanged = new EventEmitter();
- this.chartCreated = new EventEmitter();
- this.chartRangeSelectionChanged = new EventEmitter();
- this.chartOptionsChanged = new EventEmitter();
- this.chartDestroyed = new EventEmitter();
- this.toolPanelVisibleChanged = new EventEmitter();
- this.modelUpdated = new EventEmitter();
- this.pasteStart = new EventEmitter();
- this.pasteEnd = new EventEmitter();
- this.fillStart = new EventEmitter();
- this.fillEnd = new EventEmitter();
- this.cellClicked = new EventEmitter();
- this.cellDoubleClicked = new EventEmitter();
- this.cellMouseDown = new EventEmitter();
- this.cellContextMenu = new EventEmitter();
- this.cellValueChanged = new EventEmitter();
- this.rowValueChanged = new EventEmitter();
- this.cellFocused = new EventEmitter();
- this.rowSelected = new EventEmitter();
- this.selectionChanged = new EventEmitter();
- this.cellKeyDown = new EventEmitter();
- this.cellKeyPress = new EventEmitter();
- this.cellMouseOver = new EventEmitter();
- this.cellMouseOut = new EventEmitter();
- this.filterChanged = new EventEmitter();
- this.filterModified = new EventEmitter();
- this.filterOpened = new EventEmitter();
- this.sortChanged = new EventEmitter();
- this.virtualRowRemoved = new EventEmitter();
- this.rowClicked = new EventEmitter();
- this.rowDoubleClicked = new EventEmitter();
- this.gridReady = new EventEmitter();
- this.gridSizeChanged = new EventEmitter();
- this.viewportChanged = new EventEmitter();
- this.firstDataRendered = new EventEmitter();
- this.dragStarted = new EventEmitter();
- this.dragStopped = new EventEmitter();
- this.checkboxChanged = new EventEmitter();
- this.rowEditingStarted = new EventEmitter();
- this.rowEditingStopped = new EventEmitter();
- this.cellEditingStarted = new EventEmitter();
- this.cellEditingStopped = new EventEmitter();
- this.bodyScroll = new EventEmitter();
- this.animationQueueEmpty = new EventEmitter();
- this.heightScaleChanged = new EventEmitter();
- this.paginationChanged = new EventEmitter();
- this.componentStateChanged = new EventEmitter();
- this.bodyHeightChanged = new EventEmitter();
- this.displayedColumnsWidthChanged = new EventEmitter();
- this.scrollVisibilityChanged = new EventEmitter();
- this.columnHoverChanged = new EventEmitter();
- this.flashCells = new EventEmitter();
- this.rowDragEnter = new EventEmitter();
- this.rowDragMove = new EventEmitter();
- this.rowDragLeave = new EventEmitter();
- this.rowDragEnd = new EventEmitter();
- this.popupToFront = new EventEmitter();
- this.columnRowGroupChangeRequest = new EventEmitter();
- this.columnPivotChangeRequest = new EventEmitter();
- this.columnValueChangeRequest = new EventEmitter();
- this.columnAggFuncChangeRequest = new EventEmitter();
- this.keyboardFocus = new EventEmitter();
- this.mouseFocus = new EventEmitter();
- this._nativeElement = elementDef.nativeElement;
- this.frameworkComponentWrapper.setViewContainerRef(this.viewContainerRef);
- this.frameworkComponentWrapper.setComponentFactoryResolver(this._componentFactoryResolver);
- }
- ngAfterViewInit() {
- this.checkForDeprecatedEvents();
- this.gridOptions = ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this, true);
- this.gridParams = {
- globalEventListener: this.globalEventListener.bind(this),
- frameworkOverrides: this.angularFrameworkOverrides,
- providedBeanInstances: {
- frameworkComponentWrapper: this.frameworkComponentWrapper
- },
- modules: (this.modules || [])
- };
- if (this.columns && this.columns.length > 0) {
- this.gridOptions.columnDefs = this.columns
- .map((column) => {
- return column.toColDef();
- });
- }
- new Grid(this._nativeElement, this.gridOptions, this.gridParams);
- if (this.gridOptions.api) {
- this.api = this.gridOptions.api;
- }
- if (this.gridOptions.columnApi) {
- this.columnApi = this.gridOptions.columnApi;
- }
- this._initialised = true;
- // sometimes, especially in large client apps gridReady can fire before ngAfterViewInit
- // this ties these together so that gridReady will always fire after agGridAngular's ngAfterViewInit
- // the actual containing component's ngAfterViewInit will fire just after agGridAngular's
- this._fullyReady.resolveNow(null, resolve => resolve);
- }
- ngOnChanges(changes) {
- if (this._initialised) {
- ComponentUtil.processOnChange(changes, this.gridOptions, this.api, this.columnApi);
- }
- }
- ngOnDestroy() {
- if (this._initialised) {
- // need to do this before the destroy, so we know not to emit any events
- // while tearing down the grid.
- this._destroyed = true;
- if (this.api) {
- this.api.destroy();
- }
- }
- }
- checkForDeprecatedEvents() {
- _.iterateObject(Events, (key, eventName) => {
- if (this[eventName] && this[eventName].observers.length > 0) {
- GridOptionsWrapper.checkEventDeprecation(eventName);
- }
- });
- }
- globalEventListener(eventType, event) {
- // if we are tearing down, don't emit angular events, as this causes
- // problems with the angular router
- if (this._destroyed) {
- return;
- }
- // generically look up the eventType
- let emitter = this[eventType];
- if (emitter) {
- if (eventType === 'gridReady') {
- // if the user is listening for gridReady, wait for ngAfterViewInit to fire first, then emit the
- // gridReady event
- this._fullyReady.then((result => {
- emitter.emit(event);
- }));
- }
- else {
- emitter.emit(event);
- }
- }
- else {
- console.log('ag-Grid-angular: could not find EventEmitter: ' + eventType);
- }
- }
- };
- AgGridAngular.ctorParameters = () => [
- { type: ElementRef },
- { type: ViewContainerRef },
- { type: AngularFrameworkOverrides },
- { type: AngularFrameworkComponentWrapper },
- { type: ComponentFactoryResolver }
- ];
- __decorate([
- ContentChildren(AgGridColumn),
- __metadata("design:type", QueryList)
- ], AgGridAngular.prototype, "columns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "gridOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Array)
- ], AgGridAngular.prototype, "modules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "slaveGrids", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "alignedGrids", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "columnDefs", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "excelStyles", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pinnedTopRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pinnedBottomRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "components", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "frameworkComponents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowStyle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "context", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "autoGroupColumnDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupColumnDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "localeText", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "icons", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "datasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "serverSideDatasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportDatasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "aggFuncs", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultColGroupDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultColDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultExportParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "columnTypes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowClassRules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailGridOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponentParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponentParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "popupParent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "colResizeDefault", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "reduxStore", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "statusBar", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sideBar", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sortingOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowClass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "overlayLoadingTemplate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "overlayNoRowsTemplate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "quickFilterText", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowModelType", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "editType", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "domLayout", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "clipboardDeliminator", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowGroupPanelShow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "multiSortKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotColumnGroupTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotRowTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotPanelShow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailRowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowBuffer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "colWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "headerHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "floatingFiltersHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotGroupHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupDefaultExpanded", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "minColWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxColWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportRowModelPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportRowModelBufferSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "autoSizePadding", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxBlocksInCache", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxConcurrentDatasourceRequests", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tooltipShowDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheOverflowSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheBlockSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "infiniteInitialRowCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "scrollbarWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationStartPage", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "infiniteBlockSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "batchUpdateWaitMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "asyncTransactionWaitMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "blockLoadDebounceMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "keepDetailRowsCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "undoRedoCellEditingLimit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cellFlashDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cellFadeDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "localeTextFunc", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowInnerRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowInnerRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "dateComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "dateComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isExternalFilterPresent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "doesExternalFilterPass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowClass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowStyle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowClassRules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "traverseNode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getContextMenuItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getMainMenuItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processRowPostCreate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processCellForClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getNodeChildDetails", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowAggNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowNodeId", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isFullWidthCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "doesDataFlower", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processSecondaryColDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processSecondaryColGroupDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getBusinessKeyForNode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sendToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "navigateToNextCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tabToNextCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDetailRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processCellFromClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDocument", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "postProcessPopup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getChildCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDataPath", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultGroupSortComparator", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isRowMaster", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isRowSelectable", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "postSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processHeaderForClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationNumberFormatter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processDataFromClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getServerSideGroupKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isServerSideGroup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressKeyboardEvent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "createChartContainer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processChartOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getChartToolbarItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fillOperation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressRowGroups", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressValues", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressPivots", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressPivotMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressSideButtons", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnSelectAll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnExpandAll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMakeColumnVisibleAfterUnGroup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowClickSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCellSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressHorizontalScroll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "alwaysShowVerticalScroll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "debug", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableBrowserTooltips", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableColResize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellExpressions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableSorting", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableServerSideSorting", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableServerSideFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileFilters", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileHeaders", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressAutoColumn", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSelectsChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupIncludeFooter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupIncludeTotalFooter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupUseEntireRow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressRow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressBlankHeader", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "forPrint", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuHide", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowDeselection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "unSortIcon", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMultiSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "singleClickEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressLoadingOverlay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressNoRowsOverlay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAutoSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "skipHeaderOnAutoSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressParentsInRowNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "showToolPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressColumnMoveAnimation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMovableColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressFieldDotNotation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRangeSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRangeHandle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableFillHandle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClearOnFillReduction", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressTouch", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAsyncEvents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "allowContextMenuWithControlKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressContextMenu", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuFilterPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuMainPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuColumnPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rememberGroupStateWhenNewData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellChangeFlash", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressDragLeaveHidesColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMiddleClickScrolls", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPreventDefaultOnMouseWheel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressUseColIdForGroups", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCopyRowsToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "copyHeadersToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAggFuncInHeader", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressColumnVirtualisation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAggAtRootLevel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressFocusAfterRefresh", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "functionsPassive", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "functionsReadOnly", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "animateRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSelectsFiltered", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRemoveSingleChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRemoveLowestSingleChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRtl", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClickEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowDragManaged", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowDrag", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMoveWhenRowDragging", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableMultiRowDragging", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableGroupEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "embedFullWidthRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deprecatedEmbedFullWidthRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressTabbing", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPaginationPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "floatingFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupHideOpenParents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupMultiAutoColumn", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pagination", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "stopEditingWhenGridLosesFocus", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationAutoPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressScrollOnNewData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "purgeClosedRowNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheQuickFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaRowDataMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "ensureDomOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "accentedSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressChangeDetection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "valueCache", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "valueCacheNeverExpires", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "aggregateOnlyChangedColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAnimationFrame", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressExcelExport", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCsvExport", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "treeData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "masterDetail", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMultiRangeSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enterMovesDownAfterEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enterMovesDown", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPropertyNamesCheck", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowMultiSelectWithClick", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "contractColumnSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressEnterpriseResetOnNewColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableOldSetFilterModel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowHoverHighlight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "gridAutoHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowTransform", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClipboardPaste", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressLastEmptyLineOnPaste", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "serverSideSortingAlwaysResets", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "reactNext", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressSetColumnStateEvents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCharts", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaColumnMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMaintainUnsortedOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellTextSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressBrowserResizeObserver", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMaxRenderedRowRestriction", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "excludeChildrenWhenTreeDataFiltering", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tooltipMouseTrack", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "keepDetailRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginateChildRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "preventDefaultOnContextMenu", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "undoRedoCellEditing", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "allowDragFromColumnsToolPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "immutableData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "immutableColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotSuppressAutoColumn", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnEverythingChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "newColumnsLoaded", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotModeChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnRowGroupChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "expandOrCollapseAll", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnMoved", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnVisible", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPinned", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnGroupOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnResized", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "displayedColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "virtualColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowGroupOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDataChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDataUpdated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pinnedRowDataChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rangeSelectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartCreated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartRangeSelectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartOptionsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartDestroyed", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "toolPanelVisibleChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "modelUpdated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pasteStart", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pasteEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "fillStart", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "fillEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellDoubleClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseDown", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellContextMenu", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellFocused", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowSelected", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "selectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellKeyDown", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellKeyPress", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseOver", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseOut", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterModified", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "sortChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "virtualRowRemoved", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDoubleClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridReady", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridSizeChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "viewportChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "firstDataRendered", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "dragStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "dragStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "checkboxChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowEditingStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowEditingStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellEditingStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellEditingStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "bodyScroll", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "animationQueueEmpty", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "heightScaleChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "paginationChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "componentStateChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "bodyHeightChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "displayedColumnsWidthChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "scrollVisibilityChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnHoverChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "flashCells", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragEnter", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragMove", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragLeave", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "popupToFront", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnRowGroupChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnValueChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnAggFuncChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "keyboardFocus", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "mouseFocus", void 0);
- AgGridAngular = __decorate([
- Component({
- selector: 'ag-grid-angular',
- template: '',
- providers: [
- AngularFrameworkOverrides,
- AngularFrameworkComponentWrapper
- ],
- // tell angular we don't want view encapsulation, we don't want a shadow root
- encapsulation: ViewEncapsulation.None
- }),
- __metadata("design:paramtypes", [ElementRef,
- ViewContainerRef,
- AngularFrameworkOverrides,
- AngularFrameworkComponentWrapper,
- ComponentFactoryResolver])
- ], AgGridAngular);
- export { AgGridAngular };
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hbmd1bGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FnLWdyaWQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9hZy1ncmlkLWFuZ3VsYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBR0gsYUFBYSxFQUNiLE1BQU0sRUFDTixJQUFJLEVBR0osa0JBQWtCLEVBR2xCLE9BQU8sRUFDUCxDQUFDLEVBQ0osTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFZMUQsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQWtCdEIsWUFBWSxVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMseUJBQW9ELEVBQ3BELHlCQUEyRCxFQUMzRCx5QkFBbUQ7UUFIbkQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBa0M7UUFDM0QsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQWxCdkQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUkzQiwwREFBMEQ7UUFDbEQsZ0JBQVcsR0FBcUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQThHOUQsVUFBVTtR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S0FDeEMsQ0FBQztxQ0FtQjBCLFVBQVU7UUFDSixnQkFBZ0I7UUFDUCx5QkFBeUI7UUFDekIsZ0NBQWdDO1FBQ2hDLHdCQUF3QjtHQXRCdEQsYUFBYSxDQXllekI7U0F6ZVksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHtcbiAgICBDb2xEZWYsXG4gICAgQ29sdW1uQXBpLFxuICAgIENvbXBvbmVudFV0aWwsXG4gICAgRXZlbnRzLFxuICAgIEdyaWQsXG4gICAgR3JpZEFwaSxcbiAgICBHcmlkT3B0aW9ucyxcbiAgICBHcmlkT3B0aW9uc1dyYXBwZXIsXG4gICAgR3JpZFBhcmFtcyxcbiAgICBNb2R1bGUsXG4gICAgUHJvbWlzZSxcbiAgICBfXG59IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xuXG5pbXBvcnQgeyBBbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzIH0gZnJvbSBcIi4vYW5ndWxhckZyYW1ld29ya092ZXJyaWRlc1wiO1xuaW1wb3J0IHsgQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXIgfSBmcm9tIFwiLi9hbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlclwiO1xuaW1wb3J0IHsgQWdHcmlkQ29sdW1uIH0gZnJvbSBcIi4vYWctZ3JpZC1jb2x1bW4uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWctZ3JpZC1hbmd1bGFyJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFuZ3VsYXJGcmFtZXdvcmtPdmVycmlkZXMsXG4gICAgICAgIEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyXG4gICAgXSxcbiAgICAvLyB0ZWxsIGFuZ3VsYXIgd2UgZG9uJ3Qgd2FudCB2aWV3IGVuY2Fwc3VsYXRpb24sIHdlIGRvbid0IHdhbnQgYSBzaGFkb3cgcm9vdFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWdHcmlkQW5ndWxhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8vIG5vdCBpbnRlbmRlZCBmb3IgdXNlciB0byBpbnRlcmFjdCB3aXRoLiBzbyBwdXR0aW5nIF8gaW4gc28gaWYgdXNlciBnZXRzIHJlZmVyZW5jZVxuICAgIC8vIHRvIHRoaXMgb2JqZWN0LCB0aGV5IGtpbmQnYSBrbm93IGl0J3Mgbm90IHBhcnQgb2YgdGhlIGFncmVlZCBpbnRlcmZhY2VcbiAgICBwcml2YXRlIF9uYXRpdmVFbGVtZW50OiBhbnk7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGlzZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZ3JpZFBhcmFtczogR3JpZFBhcmFtcztcblxuICAgIC8vIGluIG9yZGVyIHRvIGVuc3VyZSBmaXJpbmcgb2YgZ3JpZFJlYWR5IGlzIGRldGVybWluaXN0aWNcbiAgICBwcml2YXRlIF9mdWxseVJlYWR5OiBQcm9taXNlPGJvb2xlYW4+ID0gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuXG4gICAgLy8gbWFraW5nIHRoZXNlIHB1YmxpYywgc28gdGhleSBhcmUgYWNjZXNzaWJsZSB0byBwZW9wbGUgdXNpbmcgdGhlIG5nMiBjb21wb25lbnQgcmVmZXJlbmNlc1xuICAgIHB1YmxpYyBhcGk6IEdyaWRBcGk7XG4gICAgcHVibGljIGNvbHVtbkFwaTogQ29sdW1uQXBpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihBZ0dyaWRDb2x1bW4pIHB1YmxpYyBjb2x1bW5zOiBRdWVyeUxpc3Q8QWdHcmlkQ29sdW1uPjtcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnREZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBhbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzOiBBbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzLFxuICAgICAgICBwcml2YXRlIGZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXI6IEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyLFxuICAgICAgICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xuICAgICAgICB0aGlzLl9uYXRpdmVFbGVtZW50ID0gZWxlbWVudERlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlci5zZXRWaWV3Q29udGFpbmVyUmVmKHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlci5zZXRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIodGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb3JEZXByZWNhdGVkRXZlbnRzKCk7XG5cbiAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IENvbXBvbmVudFV0aWwuY29weUF0dHJpYnV0ZXNUb0dyaWRPcHRpb25zKHRoaXMuZ3JpZE9wdGlvbnMsIHRoaXMsIHRydWUpO1xuXG4gICAgICAgIHRoaXMuZ3JpZFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGdsb2JhbEV2ZW50TGlzdGVuZXI6IHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lci5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgZnJhbWV3b3JrT3ZlcnJpZGVzOiB0aGlzLmFuZ3VsYXJGcmFtZXdvcmtPdmVycmlkZXMsXG4gICAgICAgICAgICBwcm92aWRlZEJlYW5JbnN0YW5jZXM6IHtcbiAgICAgICAgICAgICAgICBmcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyOiB0aGlzLmZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2R1bGVzOiAodGhpcy5tb2R1bGVzIHx8IFtdKSBhcyBhbnlcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnMgPSB0aGlzLmNvbHVtbnNcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW46IEFnR3JpZENvbHVtbik6IENvbERlZiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW4udG9Db2xEZWYoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBHcmlkKHRoaXMuX25hdGl2ZUVsZW1lbnQsIHRoaXMuZ3JpZE9wdGlvbnMsIHRoaXMuZ3JpZFBhcmFtcyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMuYXBpKSB7XG4gICAgICAgICAgICB0aGlzLmFwaSA9IHRoaXMuZ3JpZE9wdGlvbnMuYXBpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbkFwaSA9IHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faW5pdGlhbGlzZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIHNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBsYXJnZSBjbGllbnQgYXBwcyBncmlkUmVhZHkgY2FuIGZpcmUgYmVmb3JlIG5nQWZ0ZXJWaWV3SW5pdFxuICAgICAgICAvLyB0aGlzIHRpZXMgdGhlc2UgdG9nZXRoZXIgc28gdGhhdCBncmlkUmVhZHkgd2lsbCBhbHdheXMgZmlyZSBhZnRlciBhZ0dyaWRBbmd1bGFyJ3MgbmdBZnRlclZpZXdJbml0XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgY29udGFpbmluZyBjb21wb25lbnQncyBuZ0FmdGVyVmlld0luaXQgd2lsbCBmaXJlIGp1c3QgYWZ0ZXIgYWdHcmlkQW5ndWxhcidzXG4gICAgICAgIHRoaXMuX2Z1bGx5UmVhZHkucmVzb2x2ZU5vdyhudWxsLCByZXNvbHZlID0+IHJlc29sdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpc2VkKSB7XG4gICAgICAgICAgICBDb21wb25lbnRVdGlsLnByb2Nlc3NPbkNoYW5nZShjaGFuZ2VzLCB0aGlzLmdyaWRPcHRpb25zLCB0aGlzLmFwaSwgdGhpcy5jb2x1bW5BcGkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGlzZWQpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gZG8gdGhpcyBiZWZvcmUgdGhlIGRlc3Ryb3ksIHNvIHdlIGtub3cgbm90IHRvIGVtaXQgYW55IGV2ZW50c1xuICAgICAgICAgICAgLy8gd2hpbGUgdGVhcmluZyBkb3duIHRoZSBncmlkLlxuICAgICAgICAgICAgdGhpcy5fZGVzdHJveWVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwaSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tGb3JEZXByZWNhdGVkRXZlbnRzKCkge1xuICAgICAgICBfLml0ZXJhdGVPYmplY3Q8YW55PihFdmVudHMsIChrZXksIGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXNbZXZlbnROYW1lXSAmJiAoPEV2ZW50RW1pdHRlcjxhbnk+PnRoaXNbZXZlbnROYW1lXSkub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBHcmlkT3B0aW9uc1dyYXBwZXIuY2hlY2tFdmVudERlcHJlY2F0aW9uKGV2ZW50TmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2xvYmFsRXZlbnRMaXN0ZW5lcihldmVudFR5cGU6IHN0cmluZywgZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBpZiB3ZSBhcmUgdGVhcmluZyBkb3duLCBkb24ndCBlbWl0IGFuZ3VsYXIgZXZlbnRzLCBhcyB0aGlzIGNhdXNlc1xuICAgICAgICAvLyBwcm9ibGVtcyB3aXRoIHRoZSBhbmd1bGFyIHJvdXRlclxuICAgICAgICBpZiAodGhpcy5fZGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBnZW5lcmljYWxseSBsb29rIHVwIHRoZSBldmVudFR5cGVcbiAgICAgICAgbGV0IGVtaXR0ZXIgPSA8RXZlbnRFbWl0dGVyPGFueT4+KDxhbnk+dGhpcylbZXZlbnRUeXBlXTtcbiAgICAgICAgaWYgKGVtaXR0ZXIpIHtcbiAgICAgICAgICAgIGlmIChldmVudFR5cGUgPT09ICdncmlkUmVhZHknKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIHVzZXIgaXMgbGlzdGVuaW5nIGZvciBncmlkUmVhZHksIHdhaXQgZm9yIG5nQWZ0ZXJWaWV3SW5pdCB0byBmaXJlIGZpcnN0LCB0aGVuIGVtaXQgdGhlXG4gICAgICAgICAgICAgICAgLy8gZ3JpZFJlYWR5IGV2ZW50XG4gICAgICAgICAgICAgICAgdGhpcy5fZnVsbHlSZWFkeS50aGVuKChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlbWl0dGVyLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZW1pdHRlci5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZy1HcmlkLWFuZ3VsYXI6IGNvdWxkIG5vdCBmaW5kIEV2ZW50RW1pdHRlcjogJyArIGV2ZW50VHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtb2R1bGVzOiBNb2R1bGVbXTtcblxuICAgIC8vIEBTVEFSVEBcbiAgICBASW5wdXQoKSBwdWJsaWMgc2xhdmVHcmlkcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxpZ25lZEdyaWRzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb2x1bW5EZWZzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBleGNlbFN0eWxlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGlubmVkVG9wUm93RGF0YSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGlubmVkQm90dG9tUm93RGF0YSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29tcG9uZW50cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnJhbWV3b3JrQ29tcG9uZW50cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93U3R5bGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbnRleHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGF1dG9Hcm91cENvbHVtbkRlZiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBDb2x1bW5EZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2FsZVRleHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGljb25zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhc291cmNlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2ZXJTaWRlRGF0YXNvdXJjZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmlld3BvcnREYXRhc291cmNlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJvd1JlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhZ2dGdW5jcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnVsbFdpZHRoQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0Q29sR3JvdXBEZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlZmF1bHRDb2xEZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlZmF1bHRFeHBvcnRQYXJhbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbHVtblR5cGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzc1J1bGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXRhaWxHcmlkT3B0aW9ucyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGV0YWlsQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nT3ZlcmxheUNvbXBvbmVudFBhcmFtcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9Sb3dzT3ZlcmxheUNvbXBvbmVudFBhcmFtcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcG9wdXBQYXJlbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbFJlc2l6ZURlZmF1bHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJlZHV4U3RvcmUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN0YXR1c0JhciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2lkZUJhciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc29ydGluZ09yZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93U2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvdmVybGF5TG9hZGluZ1RlbXBsYXRlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvdmVybGF5Tm9Sb3dzVGVtcGxhdGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHF1aWNrRmlsdGVyVGV4dCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93TW9kZWxUeXBlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlZGl0VHlwZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZG9tTGF5b3V0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbGlwYm9hcmREZWxpbWluYXRvciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93R3JvdXBQYW5lbFNob3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG11bHRpU29ydEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RDb2x1bW5Hcm91cFRvdGFscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RSb3dUb3RhbHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90UGFuZWxTaG93IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dIZWlnaHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRldGFpbFJvd0hlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93QnVmZmVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb2xXaWR0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVhZGVySGVpZ2h0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmxvYXRpbmdGaWx0ZXJzSGVpZ2h0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwaXZvdEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RHcm91cEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBEZWZhdWx0RXhwYW5kZWQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG1pbkNvbFdpZHRoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhDb2xXaWR0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmlld3BvcnRSb3dNb2RlbFBhZ2VTaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2aWV3cG9ydFJvd01vZGVsQnVmZmVyU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b1NpemVQYWRkaW5nIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhCbG9ja3NJbkNhY2hlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwU2hvd0RlbGF5IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjYWNoZU92ZXJmbG93U2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGlvblBhZ2VTaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjYWNoZUJsb2NrU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5maW5pdGVJbml0aWFsUm93Q291bnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNjcm9sbGJhcldpZHRoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uU3RhcnRQYWdlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmZpbml0ZUJsb2NrU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYmF0Y2hVcGRhdGVXYWl0TWlsbGlzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhc3luY1RyYW5zYWN0aW9uV2FpdE1pbGxpcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYmxvY2tMb2FkRGVib3VuY2VNaWxsaXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGtlZXBEZXRhaWxSb3dzQ291bnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHVuZG9SZWRvQ2VsbEVkaXRpbmdMaW1pdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2VsbEZsYXNoRGVsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNlbGxGYWRlRGVsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2FsZVRleHRGdW5jIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJvd0lubmVyUmVuZGVyZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwUm93SW5uZXJSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbXBvbmVudCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbXBvbmVudEZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNFeHRlcm5hbEZpbHRlclByZXNlbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFJvd0hlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZG9lc0V4dGVybmFsRmlsdGVyUGFzcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Um93Q2xhc3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFJvd1N0eWxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRSb3dDbGFzc1J1bGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0cmF2ZXJzZU5vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldENvbnRleHRNZW51SXRlbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldE1haW5NZW51SXRlbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByb2Nlc3NSb3dQb3N0Q3JlYXRlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzQ2VsbEZvckNsaXBib2FyZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Tm9kZUNoaWxkRGV0YWlscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dBZ2dOb2RlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Um93Tm9kZUlkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Z1bGxXaWR0aENlbGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGZ1bGxXaWR0aENlbGxSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnVsbFdpZHRoQ2VsbFJlbmRlcmVyRnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkb2VzRGF0YUZsb3dlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvY2Vzc1NlY29uZGFyeUNvbERlZiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvY2Vzc1NlY29uZGFyeUNvbEdyb3VwRGVmIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRCdXNpbmVzc0tleUZvck5vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNlbmRUb0NsaXBib2FyZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2aWdhdGVUb05leHRDZWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0YWJUb05leHRDZWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXREZXRhaWxSb3dEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzQ2VsbEZyb21DbGlwYm9hcmQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldERvY3VtZW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwb3N0UHJvY2Vzc1BvcHVwIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRDaGlsZENvdW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXREYXRhUGF0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ0NlbGxSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ0NlbGxSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ092ZXJsYXlDb21wb25lbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvYWRpbmdPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBub1Jvd3NPdmVybGF5Q29tcG9uZW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBub1Jvd3NPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXRhaWxDZWxsUmVuZGVyZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRldGFpbENlbGxSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdEdyb3VwU29ydENvbXBhcmF0b3IgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGlzUm93TWFzdGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1Jvd1NlbGVjdGFibGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBvc3RTb3J0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzSGVhZGVyRm9yQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uTnVtYmVyRm9ybWF0dGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzRGF0YUZyb21DbGlwYm9hcmQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFNlcnZlclNpZGVHcm91cEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNTZXJ2ZXJTaWRlR3JvdXAgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzS2V5Ym9hcmRFdmVudCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY3JlYXRlQ2hhcnRDb250YWluZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByb2Nlc3NDaGFydE9wdGlvbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldENoYXJ0VG9vbGJhckl0ZW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmaWxsT3BlcmF0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc1Jvd0dyb3VwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NWYWx1ZXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2xQYW5lbFN1cHByZXNzUGl2b3RzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc1Bpdm90TW9kZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NTaWRlQnV0dG9ucyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NDb2x1bW5GaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2xQYW5lbFN1cHByZXNzQ29sdW1uU2VsZWN0QWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc0NvbHVtbkV4cGFuZEFsbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYWtlQ29sdW1uVmlzaWJsZUFmdGVyVW5Hcm91cCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDZWxsU2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0hvcml6b250YWxTY3JvbGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGVidWcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUJyb3dzZXJUb29sdGlwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQ29sUmVzaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDZWxsRXhwcmVzc2lvbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNvcnRpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNlcnZlclNpZGVTb3J0aW5nIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNlcnZlclNpZGVGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFuZ3VsYXJDb21waWxlUm93cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYW5ndWxhckNvbXBpbGVGaWx0ZXJzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhbmd1bGFyQ29tcGlsZUhlYWRlcnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFNlbGVjdHNDaGlsZHJlbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBJbmNsdWRlRm9vdGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cEluY2x1ZGVUb3RhbEZvb3RlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBVc2VFbnRpcmVSb3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NSb3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NCbGFua0hlYWRlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZm9yUHJpbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTWVudUhpZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJvd0Rlc2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB1blNvcnRJY29uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc011bHRpU29ydCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2luZ2xlQ2xpY2tFZGl0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0xvYWRpbmdPdmVybGF5IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc05vUm93c092ZXJsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQXV0b1NpemUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNraXBIZWFkZXJPbkF1dG9TaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1BhcmVudHNJblJvd05vZGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93VG9vbFBhbmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NvbHVtbk1vdmVBbmltYXRpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTW92YWJsZUNvbHVtbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRmllbGREb3ROb3RhdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlUmFuZ2VTZWxlY3Rpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVJhbmdlSGFuZGxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVGaWxsSGFuZGxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NsZWFyT25GaWxsUmVkdWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZWx0YVNvcnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzVG91Y2ggOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQXN5bmNFdmVudHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFsbG93Q29udGV4dE1lbnVXaXRoQ29udHJvbEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDb250ZXh0TWVudSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNZW51RmlsdGVyUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTWVudU1haW5QYW5lbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNZW51Q29sdW1uUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJlbWVtYmVyR3JvdXBTdGF0ZVdoZW5OZXdEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDZWxsQ2hhbmdlRmxhc2ggOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRHJhZ0xlYXZlSGlkZXNDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc01pZGRsZUNsaWNrU2Nyb2xscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NQcmV2ZW50RGVmYXVsdE9uTW91c2VXaGVlbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NVc2VDb2xJZEZvckdyb3VwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDb3B5Um93c1RvQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb3B5SGVhZGVyc1RvQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwaXZvdE1vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQWdnRnVuY0luSGVhZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NvbHVtblZpcnR1YWxpc2F0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0FnZ0F0Um9vdExldmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0ZvY3VzQWZ0ZXJSZWZyZXNoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmdW5jdGlvbnNQYXNzaXZlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmdW5jdGlvbnNSZWFkT25seSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0ZVJvd3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU2VsZWN0c0ZpbHRlcmVkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJlbW92ZVNpbmdsZUNoaWxkcmVuIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJlbW92ZUxvd2VzdFNpbmdsZUNoaWxkcmVuIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVSdGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQ2xpY2tFZGl0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dEcmFnTWFuYWdlZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dEcmFnIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc01vdmVXaGVuUm93RHJhZ2dpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZU11bHRpUm93RHJhZ2dpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUdyb3VwRWRpdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW1iZWRGdWxsV2lkdGhSb3dzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXByZWNhdGVkRW1iZWRGdWxsV2lkdGhSb3dzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1RhYmJpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmbG9hdGluZ0ZpbHRlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBIaWRlT3BlblBhcmVudHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwTXVsdGlBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdG9wRWRpdGluZ1doZW5HcmlkTG9zZXNGb2N1cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NTY3JvbGxPbk5ld0RhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHB1cmdlQ2xvc2VkUm93Tm9kZXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNhY2hlUXVpY2tGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlbHRhUm93RGF0YU1vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuc3VyZURvbU9yZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhY2NlbnRlZFNvcnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90VG90YWxzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NoYW5nZURldGVjdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVDYWNoZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVDYWNoZU5ldmVyRXhwaXJlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWdncmVnYXRlT25seUNoYW5nZWRDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0FuaW1hdGlvbkZyYW1lIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0V4Y2VsRXhwb3J0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NzdkV4cG9ydCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdHJlZURhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG1hc3RlckRldGFpbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNdWx0aVJhbmdlU2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbnRlck1vdmVzRG93bkFmdGVyRWRpdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW50ZXJNb3Zlc0Rvd24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUHJvcGVydHlOYW1lc0NoZWNrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dNdWx0aVNlbGVjdFdpdGhDbGljayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udHJhY3RDb2x1bW5TZWxlY3Rpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRW50ZXJwcmlzZVJlc2V0T25OZXdDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVPbGRTZXRGaWx0ZXJNb2RlbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dIb3ZlckhpZ2hsaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JpZEF1dG9IZWlnaHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUm93VHJhbnNmb3JtIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NsaXBib2FyZFBhc3RlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0xhc3RFbXB0eUxpbmVPblBhc3RlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2ZXJTaWRlU29ydGluZ0Fsd2F5c1Jlc2V0cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVhY3ROZXh0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1NldENvbHVtblN0YXRlRXZlbnRzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDaGFydHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlbHRhQ29sdW1uTW9kZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYWludGFpblVuc29ydGVkT3JkZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0Jyb3dzZXJSZXNpemVPYnNlcnZlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYXhSZW5kZXJlZFJvd1Jlc3RyaWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBleGNsdWRlQ2hpbGRyZW5XaGVuVHJlZURhdGFGaWx0ZXJpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2x0aXBNb3VzZVRyYWNrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBrZWVwRGV0YWlsUm93cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGVDaGlsZFJvd3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByZXZlbnREZWZhdWx0T25Db250ZXh0TWVudSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdW5kb1JlZG9DZWxsRWRpdGluZyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxsb3dEcmFnRnJvbUNvbHVtbnNUb29sUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGltbXV0YWJsZURhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGltbXV0YWJsZUNvbHVtbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90U3VwcHJlc3NBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIG5ld0NvbHVtbnNMb2FkZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5QaXZvdE1vZGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uUm93R3JvdXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZXhwYW5kT3JDb2xsYXBzZUFsbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblBpdm90Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGdyaWRDb2x1bW5zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbk1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uVmlzaWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblBpbm5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbkdyb3VwT3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uUmVzaXplZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRpc3BsYXllZENvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgdmlydHVhbENvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93R3JvdXBPcGVuZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEYXRhQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RhdGFVcGRhdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGlubmVkUm93RGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByYW5nZVNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydENyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydFJhbmdlU2VsZWN0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNoYXJ0T3B0aW9uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydERlc3Ryb3llZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHRvb2xQYW5lbFZpc2libGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxVcGRhdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGFzdGVTdGFydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHBhc3RlRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsbFN0YXJ0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsbEVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbERvdWJsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbENvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd1ZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxGb2N1c2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbEtleURvd246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsS2V5UHJlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsTW91c2VPdmVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbE1vdXNlT3V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsdGVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGZpbHRlck1vZGlmaWVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsdGVyT3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyB2aXJ0dWFsUm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEb3VibGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZ3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZ3JpZFNpemVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgdmlld3BvcnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlyc3REYXRhUmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBkcmFnU3RhcnRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRyYWdTdG9wcGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2hlY2tib3hDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93RWRpdGluZ1N0YXJ0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dFZGl0aW5nU3RvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxFZGl0aW5nU3RhcnRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxFZGl0aW5nU3RvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGJvZHlTY3JvbGw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBhbmltYXRpb25RdWV1ZUVtcHR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgaGVpZ2h0U2NhbGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGFnaW5hdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb21wb25lbnRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBib2R5SGVpZ2h0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRpc3BsYXllZENvbHVtbnNXaWR0aENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzY3JvbGxWaXNpYmlsaXR5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbkhvdmVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGZsYXNoQ2VsbHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEcmFnRW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEcmFnTW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RyYWdMZWF2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RyYWdFbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBwb3B1cFRvRnJvbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5Sb3dHcm91cENoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5QaXZvdENoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5WYWx1ZUNoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5BZ2dGdW5jQ2hhbmdlUmVxdWVzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGtleWJvYXJkRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZUZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8vIEBFTkRAXG59XG5cbiJdfQ==
|