react-table-v6
Version:
A fast, lightweight, opinionated table and datagrid built on React
165 lines (148 loc) • 24.5 kB
JavaScript
import PropTypes from 'prop-types';
export default {
// General
data: PropTypes.any,
loading: PropTypes.bool,
showPagination: PropTypes.bool,
showPaginationTop: PropTypes.bool,
showPaginationBottom: PropTypes.bool,
showPageSizeOptions: PropTypes.bool,
pageSizeOptions: PropTypes.array,
defaultPageSize: PropTypes.number,
showPageJump: PropTypes.bool,
collapseOnSortingChange: PropTypes.bool,
collapseOnPageChange: PropTypes.bool,
collapseOnDataChange: PropTypes.bool,
freezeWhenExpanded: PropTypes.bool,
sortable: PropTypes.bool,
resizable: PropTypes.bool,
filterable: PropTypes.bool,
defaultSortDesc: PropTypes.bool,
defaultSorted: PropTypes.array,
defaultFiltered: PropTypes.array,
defaultResized: PropTypes.array,
defaultExpanded: PropTypes.object,
defaultFilterMethod: PropTypes.func,
defaultSortMethod: PropTypes.func,
// Controlled State Callbacks
onPageChange: PropTypes.func,
onPageSizeChange: PropTypes.func,
onSortedChange: PropTypes.func,
onFilteredChange: PropTypes.func,
onResizedChange: PropTypes.func,
onExpandedChange: PropTypes.func,
// Pivoting
pivotBy: PropTypes.array,
// Key Constants
pivotValKey: PropTypes.string,
pivotIDKey: PropTypes.string,
subRowsKey: PropTypes.string,
aggregatedKey: PropTypes.string,
nestingLevelKey: PropTypes.string,
originalKey: PropTypes.string,
indexKey: PropTypes.string,
groupedByPivotKey: PropTypes.string,
// Server-side Callbacks
onFetchData: PropTypes.func,
// Classes
className: PropTypes.string,
style: PropTypes.object,
// Component decorators
getProps: PropTypes.func,
getTableProps: PropTypes.func,
getTheadGroupProps: PropTypes.func,
getTheadGroupTrProps: PropTypes.func,
getTheadGroupThProps: PropTypes.func,
getTheadProps: PropTypes.func,
getTheadTrProps: PropTypes.func,
getTheadThProps: PropTypes.func,
getTheadFilterProps: PropTypes.func,
getTheadFilterTrProps: PropTypes.func,
getTheadFilterThProps: PropTypes.func,
getTbodyProps: PropTypes.func,
getTrGroupProps: PropTypes.func,
getTrProps: PropTypes.func,
getTdProps: PropTypes.func,
getTfootProps: PropTypes.func,
getTfootTrProps: PropTypes.func,
getTfootTdProps: PropTypes.func,
getPaginationProps: PropTypes.func,
getLoadingProps: PropTypes.func,
getNoDataProps: PropTypes.func,
getResizerProps: PropTypes.func,
// Global Column Defaults
columns: PropTypes.arrayOf(PropTypes.shape({
// Renderers
Cell: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Header: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Footer: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Aggregated: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Pivot: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
PivotValue: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Expander: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.func]),
Filter: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
// All Columns
sortable: PropTypes.bool, // use table default
resizable: PropTypes.bool, // use table default
filterable: PropTypes.bool, // use table default
show: PropTypes.bool,
minWidth: PropTypes.number,
// Cells only
className: PropTypes.string,
style: PropTypes.object,
getProps: PropTypes.func,
// Pivot only
aggregate: PropTypes.func,
// Headers only
headerClassName: PropTypes.string,
headerStyle: PropTypes.object,
getHeaderProps: PropTypes.func,
// Footers only
footerClassName: PropTypes.string,
footerStyle: PropTypes.object,
getFooterProps: PropTypes.object,
filterMethod: PropTypes.func,
filterAll: PropTypes.bool,
sortMethod: PropTypes.func
})),
// Global Expander Column Defaults
expanderDefaults: PropTypes.shape({
sortable: PropTypes.bool,
resizable: PropTypes.bool,
filterable: PropTypes.bool,
width: PropTypes.number
}),
pivotDefaults: PropTypes.object,
// Text
previousText: PropTypes.node,
nextText: PropTypes.node,
loadingText: PropTypes.node,
noDataText: PropTypes.node,
pageText: PropTypes.node,
ofText: PropTypes.node,
rowsText: PropTypes.node,
// Components
TableComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TheadComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TbodyComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TrGroupComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TrComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ThComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TdComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TfootComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
FilterComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ExpanderComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PivotValueComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
AggregatedComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
// this is a computed default generated using
PivotComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
// the ExpanderComponent and PivotValueComponent at run-time in methods.js
PaginationComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PreviousComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
NextComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
LoadingComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
NoDataComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ResizerComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PadRowComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element])
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9wVHlwZXMuanMiXSwibmFtZXMiOlsiUHJvcFR5cGVzIiwiZGF0YSIsImFueSIsImxvYWRpbmciLCJib29sIiwic2hvd1BhZ2luYXRpb24iLCJzaG93UGFnaW5hdGlvblRvcCIsInNob3dQYWdpbmF0aW9uQm90dG9tIiwic2hvd1BhZ2VTaXplT3B0aW9ucyIsInBhZ2VTaXplT3B0aW9ucyIsImFycmF5IiwiZGVmYXVsdFBhZ2VTaXplIiwibnVtYmVyIiwic2hvd1BhZ2VKdW1wIiwiY29sbGFwc2VPblNvcnRpbmdDaGFuZ2UiLCJjb2xsYXBzZU9uUGFnZUNoYW5nZSIsImNvbGxhcHNlT25EYXRhQ2hhbmdlIiwiZnJlZXplV2hlbkV4cGFuZGVkIiwic29ydGFibGUiLCJyZXNpemFibGUiLCJmaWx0ZXJhYmxlIiwiZGVmYXVsdFNvcnREZXNjIiwiZGVmYXVsdFNvcnRlZCIsImRlZmF1bHRGaWx0ZXJlZCIsImRlZmF1bHRSZXNpemVkIiwiZGVmYXVsdEV4cGFuZGVkIiwib2JqZWN0IiwiZGVmYXVsdEZpbHRlck1ldGhvZCIsImZ1bmMiLCJkZWZhdWx0U29ydE1ldGhvZCIsIm9uUGFnZUNoYW5nZSIsIm9uUGFnZVNpemVDaGFuZ2UiLCJvblNvcnRlZENoYW5nZSIsIm9uRmlsdGVyZWRDaGFuZ2UiLCJvblJlc2l6ZWRDaGFuZ2UiLCJvbkV4cGFuZGVkQ2hhbmdlIiwicGl2b3RCeSIsInBpdm90VmFsS2V5Iiwic3RyaW5nIiwicGl2b3RJREtleSIsInN1YlJvd3NLZXkiLCJhZ2dyZWdhdGVkS2V5IiwibmVzdGluZ0xldmVsS2V5Iiwib3JpZ2luYWxLZXkiLCJpbmRleEtleSIsImdyb3VwZWRCeVBpdm90S2V5Iiwib25GZXRjaERhdGEiLCJjbGFzc05hbWUiLCJzdHlsZSIsImdldFByb3BzIiwiZ2V0VGFibGVQcm9wcyIsImdldFRoZWFkR3JvdXBQcm9wcyIsImdldFRoZWFkR3JvdXBUclByb3BzIiwiZ2V0VGhlYWRHcm91cFRoUHJvcHMiLCJnZXRUaGVhZFByb3BzIiwiZ2V0VGhlYWRUclByb3BzIiwiZ2V0VGhlYWRUaFByb3BzIiwiZ2V0VGhlYWRGaWx0ZXJQcm9wcyIsImdldFRoZWFkRmlsdGVyVHJQcm9wcyIsImdldFRoZWFkRmlsdGVyVGhQcm9wcyIsImdldFRib2R5UHJvcHMiLCJnZXRUckdyb3VwUHJvcHMiLCJnZXRUclByb3BzIiwiZ2V0VGRQcm9wcyIsImdldFRmb290UHJvcHMiLCJnZXRUZm9vdFRyUHJvcHMiLCJnZXRUZm9vdFRkUHJvcHMiLCJnZXRQYWdpbmF0aW9uUHJvcHMiLCJnZXRMb2FkaW5nUHJvcHMiLCJnZXROb0RhdGFQcm9wcyIsImdldFJlc2l6ZXJQcm9wcyIsImNvbHVtbnMiLCJhcnJheU9mIiwic2hhcGUiLCJDZWxsIiwib25lT2ZUeXBlIiwiZWxlbWVudCIsIkhlYWRlciIsIkZvb3RlciIsIkFnZ3JlZ2F0ZWQiLCJQaXZvdCIsIlBpdm90VmFsdWUiLCJFeHBhbmRlciIsIkZpbHRlciIsInNob3ciLCJtaW5XaWR0aCIsImFnZ3JlZ2F0ZSIsImhlYWRlckNsYXNzTmFtZSIsImhlYWRlclN0eWxlIiwiZ2V0SGVhZGVyUHJvcHMiLCJmb290ZXJDbGFzc05hbWUiLCJmb290ZXJTdHlsZSIsImdldEZvb3RlclByb3BzIiwiZmlsdGVyTWV0aG9kIiwiZmlsdGVyQWxsIiwic29ydE1ldGhvZCIsImV4cGFuZGVyRGVmYXVsdHMiLCJ3aWR0aCIsInBpdm90RGVmYXVsdHMiLCJwcmV2aW91c1RleHQiLCJub2RlIiwibmV4dFRleHQiLCJsb2FkaW5nVGV4dCIsIm5vRGF0YVRleHQiLCJwYWdlVGV4dCIsIm9mVGV4dCIsInJvd3NUZXh0IiwiVGFibGVDb21wb25lbnQiLCJUaGVhZENvbXBvbmVudCIsIlRib2R5Q29tcG9uZW50IiwiVHJHcm91cENvbXBvbmVudCIsIlRyQ29tcG9uZW50IiwiVGhDb21wb25lbnQiLCJUZENvbXBvbmVudCIsIlRmb290Q29tcG9uZW50IiwiRmlsdGVyQ29tcG9uZW50IiwiRXhwYW5kZXJDb21wb25lbnQiLCJQaXZvdFZhbHVlQ29tcG9uZW50IiwiQWdncmVnYXRlZENvbXBvbmVudCIsIlBpdm90Q29tcG9uZW50IiwiUGFnaW5hdGlvbkNvbXBvbmVudCIsIlByZXZpb3VzQ29tcG9uZW50IiwiTmV4dENvbXBvbmVudCIsIkxvYWRpbmdDb21wb25lbnQiLCJOb0RhdGFDb21wb25lbnQiLCJSZXNpemVyQ29tcG9uZW50IiwiUGFkUm93Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxTQUFQLE1BQXNCLFlBQXRCOztBQUVBLGVBQWU7QUFDYjtBQUNBQyxRQUFNRCxVQUFVRSxHQUZIO0FBR2JDLFdBQVNILFVBQVVJLElBSE47QUFJYkMsa0JBQWdCTCxVQUFVSSxJQUpiO0FBS2JFLHFCQUFtQk4sVUFBVUksSUFMaEI7QUFNYkcsd0JBQXNCUCxVQUFVSSxJQU5uQjtBQU9iSSx1QkFBcUJSLFVBQVVJLElBUGxCO0FBUWJLLG1CQUFpQlQsVUFBVVUsS0FSZDtBQVNiQyxtQkFBaUJYLFVBQVVZLE1BVGQ7QUFVYkMsZ0JBQWNiLFVBQVVJLElBVlg7QUFXYlUsMkJBQXlCZCxVQUFVSSxJQVh0QjtBQVliVyx3QkFBc0JmLFVBQVVJLElBWm5CO0FBYWJZLHdCQUFzQmhCLFVBQVVJLElBYm5CO0FBY2JhLHNCQUFvQmpCLFVBQVVJLElBZGpCO0FBZWJjLFlBQVVsQixVQUFVSSxJQWZQO0FBZ0JiZSxhQUFXbkIsVUFBVUksSUFoQlI7QUFpQmJnQixjQUFZcEIsVUFBVUksSUFqQlQ7QUFrQmJpQixtQkFBaUJyQixVQUFVSSxJQWxCZDtBQW1CYmtCLGlCQUFldEIsVUFBVVUsS0FuQlo7QUFvQmJhLG1CQUFpQnZCLFVBQVVVLEtBcEJkO0FBcUJiYyxrQkFBZ0J4QixVQUFVVSxLQXJCYjtBQXNCYmUsbUJBQWlCekIsVUFBVTBCLE1BdEJkO0FBdUJiQyx1QkFBcUIzQixVQUFVNEIsSUF2QmxCO0FBd0JiQyxxQkFBbUI3QixVQUFVNEIsSUF4QmhCOztBQTBCYjtBQUNBRSxnQkFBYzlCLFVBQVU0QixJQTNCWDtBQTRCYkcs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QixDQUFDM0UsVUFBVTRCLElBQVgsRUFBaUI1QixVQUFVNEUsT0FBM0IsQ0FBcEIsQ0FoS0o7QUFpS2JpRCxvQkFBa0I3SCxVQUFVMkUsU0FBVixDQUFvQixDQUFDM0UsVUFBVTRCLElBQVgsRUFBaUI1QixVQUFVNEUsT0FBM0IsQ0FBcEIsQ0FqS0w7QUFrS2JrRCxtQkFBaUI5SCxVQUFVMkUsU0FBVixDQUFvQixDQUFDM0UsVUFBVTRCLElBQVgsRUFBaUI1QixVQUFVNEUsT0FBM0IsQ0FBcEI7QUFsS0osQ0FBZiIsImZpbGUiOiJwcm9wVHlwZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgLy8gR2VuZXJhbFxuICBkYXRhOiBQcm9wVHlwZXMuYW55LFxuICBsb2FkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgc2hvd1BhZ2luYXRpb246IFByb3BUeXBlcy5ib29sLFxuICBzaG93UGFnaW5hdGlvblRvcDogUHJvcFR5cGVzLmJvb2wsXG4gIHNob3dQYWdpbmF0aW9uQm90dG9tOiBQcm9wVHlwZXMuYm9vbCxcbiAgc2hvd1BhZ2VTaXplT3B0aW9uczogUHJvcFR5cGVzLmJvb2wsXG4gIHBhZ2VTaXplT3B0aW9uczogUHJvcFR5cGVzLmFycmF5LFxuICBkZWZhdWx0UGFnZVNpemU6IFByb3BUeXBlcy5udW1iZXIsXG4gIHNob3dQYWdlSnVtcDogUHJvcFR5cGVzLmJvb2wsXG4gIGNvbGxhcHNlT25Tb3J0aW5nQ2hhbmdlOiBQcm9wVHlwZXMuYm9vbCxcbiAgY29sbGFwc2VPblBhZ2VDaGFuZ2U6IFByb3BUeXBlcy5ib29sLFxuICBjb2xsYXBzZU9uRGF0YUNoYW5nZTogUHJvcFR5cGVzLmJvb2wsXG4gIGZyZWV6ZVdoZW5FeHBhbmRlZDogUHJvcFR5cGVzLmJvb2wsXG4gIHNvcnRhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgcmVzaXphYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgZmlsdGVyYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIGRlZmF1bHRTb3J0RGVzYzogUHJvcFR5cGVzLmJvb2wsXG4gIGRlZmF1bHRTb3J0ZWQ6IFByb3BUeXBlcy5hcnJheSxcbiAgZGVmYXVsdEZpbHRlcmVkOiBQcm9wVHlwZXMuYXJyYXksXG4gIGRlZmF1bHRSZXNpemVkOiBQcm9wVHlwZXMuYXJyYXksXG4gIGRlZmF1bHRFeHBhbmRlZDogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGVmYXVsdEZpbHRlck1ldGhvZDogUHJvcFR5cGVzLmZ1bmMsXG4gIGRlZmF1bHRTb3J0TWV0aG9kOiBQcm9wVHlwZXMuZnVuYyxcblxuICAvLyBDb250cm9sbGVkIFN0YXRlIENhbGxiYWNrc1xuICBvblBhZ2VDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBvblBhZ2VTaXplQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25Tb3J0ZWRDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBvbkZpbHRlcmVkQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25SZXNpemVkQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25FeHBhbmRlZENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgLy8gUGl2b3RpbmdcbiAgcGl2b3RCeTogUHJvcFR5cGVzLmFycmF5LFxuXG4gIC8vIEtleSBDb25zdGFudHNcbiAgcGl2b3RWYWxLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHBpdm90SURLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN1YlJvd3NLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFnZ3JlZ2F0ZWRLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG5lc3RpbmdMZXZlbEtleTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb3JpZ2luYWxLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGluZGV4S2V5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBncm91cGVkQnlQaXZvdEtleTogUHJvcFR5cGVzLnN0cmluZyxcblxuICAvLyBTZXJ2ZXItc2lkZSBDYWxsYmFja3NcbiAgb25GZXRjaERhdGE6IFByb3BUeXBlcy5mdW5jLFxuXG4gIC8vIENsYXNzZXNcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAvLyBDb21wb25lbnQgZGVjb3JhdG9yc1xuICBnZXRQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRhYmxlUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUaGVhZEdyb3VwUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUaGVhZEdyb3VwVHJQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRoZWFkR3JvdXBUaFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0VGhlYWRQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRoZWFkVHJQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRoZWFkVGhQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRoZWFkRmlsdGVyUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUaGVhZEZpbHRlclRyUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUaGVhZEZpbHRlclRoUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUYm9keVByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0VHJHcm91cFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0VHJQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG4gIGdldFRkUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRUZm9vdFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0VGZvb3RUclByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0VGZvb3RUZFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0UGFnaW5hdGlvblByb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0TG9hZGluZ1Byb3BzOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ2V0Tm9EYXRhUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICBnZXRSZXNpemVyUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuXG4gIC8vIEdsb2JhbCBDb2x1bW4gRGVmYXVsdHNcbiAgY29sdW1uczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIC8vIFJlbmRlcmVyc1xuICAgICAgQ2VsbDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgICBIZWFkZXI6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZnVuY10pLFxuICAgICAgRm9vdGVyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZWxlbWVudCwgUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgICAgIEFnZ3JlZ2F0ZWQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZnVuY10pLFxuICAgICAgUGl2b3Q6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZnVuY10pLFxuICAgICAgUGl2b3RWYWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgICBFeHBhbmRlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgICBGaWx0ZXI6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuZnVuY10pLFxuXG4gICAgICAvLyBBbGwgQ29sdW1uc1xuICAgICAgc29ydGFibGU6IFByb3BUeXBlcy5ib29sLCAvLyB1c2UgdGFibGUgZGVmYXVsdFxuICAgICAgcmVzaXphYmxlOiBQcm9wVHlwZXMuYm9vbCwgLy8gdXNlIHRhYmxlIGRlZmF1bHRcbiAgICAgIGZpbHRlcmFibGU6IFByb3BUeXBlcy5ib29sLCAvLyB1c2UgdGFibGUgZGVmYXVsdFxuICAgICAgc2hvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgICBtaW5XaWR0aDogUHJvcFR5cGVzLm51bWJlcixcblxuICAgICAgLy8gQ2VsbHMgb25seVxuICAgICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBnZXRQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICAgIC8vIFBpdm90IG9ubHlcbiAgICAgIGFnZ3JlZ2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICAgIC8vIEhlYWRlcnMgb25seVxuICAgICAgaGVhZGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgaGVhZGVyU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBnZXRIZWFkZXJQcm9wczogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICAgIC8vIEZvb3RlcnMgb25seVxuICAgICAgZm9vdGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZm9vdGVyU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBnZXRGb290ZXJQcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGZpbHRlck1ldGhvZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBmaWx0ZXJBbGw6IFByb3BUeXBlcy5ib29sLFxuICAgICAgc29ydE1ldGhvZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgfSlcbiAgKSxcblxuICAvLyBHbG9iYWwgRXhwYW5kZXIgQ29sdW1uIERlZmF1bHRzXG4gIGV4cGFuZGVyRGVmYXVsdHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgc29ydGFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgIHJlc2l6YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgZmlsdGVyYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIH0pLFxuXG4gIHBpdm90RGVmYXVsdHM6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgLy8gVGV4dFxuICBwcmV2aW91c1RleHQ6IFByb3BUeXBlcy5ub2RlLFxuICBuZXh0VGV4dDogUHJvcFR5cGVzLm5vZGUsXG4gIGxvYWRpbmdUZXh0OiBQcm9wVHlwZXMubm9kZSxcbiAgbm9EYXRhVGV4dDogUHJvcFR5cGVzLm5vZGUsXG4gIHBhZ2VUZXh0OiBQcm9wVHlwZXMubm9kZSxcbiAgb2ZUZXh0OiBQcm9wVHlwZXMubm9kZSxcbiAgcm93c1RleHQ6IFByb3BUeXBlcy5ub2RlLFxuXG4gIC8vIENvbXBvbmVudHNcbiAgVGFibGVDb21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICBUaGVhZENvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIFRib2R5Q29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgVHJHcm91cENvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIFRyQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgVGhDb21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICBUZENvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIFRmb290Q29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgRmlsdGVyQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgRXhwYW5kZXJDb21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICBQaXZvdFZhbHVlQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgQWdncmVnYXRlZENvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIC8vIHRoaXMgaXMgYSBjb21wdXRlZCBkZWZhdWx0IGdlbmVyYXRlZCB1c2luZ1xuICBQaXZvdENvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIC8vIHRoZSBFeHBhbmRlckNvbXBvbmVudCBhbmQgUGl2b3RWYWx1ZUNvbXBvbmVudCBhdCBydW4tdGltZSBpbiBtZXRob2RzLmpzXG4gIFBhZ2luYXRpb25Db21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICBQcmV2aW91c0NvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIE5leHRDb21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICBMb2FkaW5nQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgTm9EYXRhQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgUmVzaXplckNvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gIFBhZFJvd0NvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5lbGVtZW50XSksXG59XG4iXX0=