@isoftdata/utility-dashboard-backend 4.0.0-beta.1 → 4.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +201 -185
- package/dist/chart-helper.d.ts +3 -2
- package/dist/chart-helper.js +57 -27
- package/dist/index.d.ts +25 -12
- package/dist/index.js +66 -38
- package/dist/style-templates.d.ts +1 -1
- package/dist/style-templates.js +16 -4
- package/dist/types/chart.d.ts +59 -44
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +2 -0
- package/dist/types/parameter.d.ts +9 -5
- package/dist/types/report.d.ts +2 -2
- package/dist/types/session.d.ts +1 -0
- package/package.json +19 -9
package/README.md
CHANGED
|
@@ -1,185 +1,201 @@
|
|
|
1
|
-
# utility-dashboard-backend
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
*
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
####
|
|
45
|
-
|
|
46
|
-
A
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
]
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
1
|
+
# utility-dashboard-backend
|
|
2
|
+
|
|
3
|
+
A backend utility for formatting and loading dashboard chart and report data to be usable by the [frontend dashboard component](https://github.com/ISoft-Data-Systems/ractive-component-web-dashboard).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i @isoftdata/utility-dashboard-backend
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
> Breaking change in version 3: ESM style exports
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
>
|
|
15
|
+
> Version 3.Y.Z of the frontend component is required for use with version 2.Y.Z of the backend component.
|
|
16
|
+
|
|
17
|
+
* A MySQL database schema as outlined in [schema.md](schema.md)
|
|
18
|
+
* A backend that can fetches rows from the chart, report, and report chart tables from the database with their primary keys. Any json columns should be parsed as objects.
|
|
19
|
+
* A connection or pool of connections from the `mysql` NPM module for running the charts' queries
|
|
20
|
+
* The [dashboard Ractive component](https://github.com/ISoft-Data-Systems/ractive-component-web-dashboard) on the client
|
|
21
|
+
|
|
22
|
+
## API
|
|
23
|
+
|
|
24
|
+
### formatReportMetadata
|
|
25
|
+
|
|
26
|
+
This function returns data in the format expected for the `loadReportMetadata` function on the dashboard client component.
|
|
27
|
+
|
|
28
|
+
#### Function signature
|
|
29
|
+
|
|
30
|
+
```js
|
|
31
|
+
async formatReportMetadata(mysqlConnection, { report, chartsInReport, session })
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### Example Usage (From Pro Web `server/chart-loader.js`)
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
async function loadReportMetadata({ dashboardReportId, chartId, session }) {
|
|
38
|
+
const report = await db.dashboardReport.loadById({ dashboardReportId }) // gets a report by its id
|
|
39
|
+
const chartsInReport = await db.dashboardChart.loadByReport({ dashboardReportId, chartId }) // gets all charts for a specified report, or if `chartId` is specified, only gets that chart for that report.
|
|
40
|
+
return await formatReportMetadata(db.pool, { report, chartsInReport, session })
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### mysqlConnection
|
|
45
|
+
|
|
46
|
+
A connection or pool of connections from the `mysql` npm module.
|
|
47
|
+
|
|
48
|
+
#### report
|
|
49
|
+
|
|
50
|
+
A report `object`, a single row from the `dashboard_report`/`wa_dashboard_report` table/view. The `parameters` Array from the `json` column should also be parsed from JSON and appended to this object.
|
|
51
|
+
|
|
52
|
+
Example:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
{
|
|
56
|
+
dashboardReportId: 1,
|
|
57
|
+
reportName: 'report_overview',
|
|
58
|
+
reportTitle: 'Overview',
|
|
59
|
+
shareType: 'everyone',
|
|
60
|
+
shareId: null,
|
|
61
|
+
ownerId: null,
|
|
62
|
+
parameters: [ // parameters deconstructed from `json` column after parsing
|
|
63
|
+
{
|
|
64
|
+
name: 'date_range',
|
|
65
|
+
type: 'dateRange',
|
|
66
|
+
title: 'Date Range',
|
|
67
|
+
default: 'This Year'
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### chartsInReport
|
|
74
|
+
|
|
75
|
+
An `Array` of chart `object`s, one for each chart in the report, multiple rows from the `dashboard_chart`/`wa_dashboard_chart` table/view joined with `dashboard_report_chart`/`wa_dashboard_report_chart` to get the chart's rank.
|
|
76
|
+
|
|
77
|
+
Example:
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
[
|
|
81
|
+
{
|
|
82
|
+
chartId: 10,
|
|
83
|
+
name: 'line_sales_over_time_and_previous_period',
|
|
84
|
+
title: 'Sales over Time',
|
|
85
|
+
supertype: 'google',
|
|
86
|
+
formatting: { Sales: [Object] },
|
|
87
|
+
multiSeries: {
|
|
88
|
+
value: 'Sales',
|
|
89
|
+
series: 'Period',
|
|
90
|
+
tooltip: 'Tooltip',
|
|
91
|
+
groupXAxisBy: 'Date'
|
|
92
|
+
},
|
|
93
|
+
chartWrapper: { options: [Object], chartType: 'LineChart' },
|
|
94
|
+
rank: 1
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
chartId: 16,
|
|
98
|
+
name: 'map_sales_by_lat_long',
|
|
99
|
+
title: 'Sales Map',
|
|
100
|
+
supertype: 'google',
|
|
101
|
+
formatting: { Sales: [Object] },
|
|
102
|
+
chartWrapper: { options: [Object], chartType: 'GeoChart' },
|
|
103
|
+
rank: 2
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### session
|
|
109
|
+
|
|
110
|
+
Session object from the Auth Module
|
|
111
|
+
|
|
112
|
+
#### site (optional)
|
|
113
|
+
|
|
114
|
+
The 'type' of site for the product this is used in. Determines the MySQL table to query for site selection parameters, and used to calculate `siteIdColumn` if that is not specified.
|
|
115
|
+
|
|
116
|
+
#### siteIdColumn (optional)
|
|
117
|
+
|
|
118
|
+
The name of the column that stores the site id in the site table. Defaults to `${site}id`.
|
|
119
|
+
|
|
120
|
+
#### siteNameColumn (optional)
|
|
121
|
+
|
|
122
|
+
The store name column.
|
|
123
|
+
|
|
124
|
+
### formatChartDataForReport
|
|
125
|
+
|
|
126
|
+
This function returns data in the format expected for the `loadChartDataForReport` function on the dashboard client component, including applying any report-specific chart options overrides and running the chart's query.
|
|
127
|
+
|
|
128
|
+
#### Function signature
|
|
129
|
+
|
|
130
|
+
```js
|
|
131
|
+
async formatChartDataForReport(mysqlConnection, { reportParameters, chart, reportChart, parameterSelectionList, session })
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### Example usage: (from Pro Web `server/chart-loader.js`)
|
|
135
|
+
|
|
136
|
+
```js
|
|
137
|
+
async function loadChartDataForReport ({ dashboardReportId, chartId, parameterSelectionList, session }) {
|
|
138
|
+
const report = await db.dashboardReport.loadById({ dashboardReportId }) // get the report object
|
|
139
|
+
const chart = await db.dashboardChart.loadById({ chartId }) // get the chart object
|
|
140
|
+
const reportChart = await db.dashboardReportChart.loadByReportAndChartId({ chartId, dashboardReportId }) // get the report chart for the rank/overrides
|
|
141
|
+
try {
|
|
142
|
+
const chartData = await formatChartDataForReport(db.pool, { reportParameters: report.parameters, chart, reportChart, parameterSelectionList, session })
|
|
143
|
+
return chartData
|
|
144
|
+
} catch (err) {
|
|
145
|
+
console.error(err)
|
|
146
|
+
return { isErrored: true }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### mysqlConnection
|
|
152
|
+
|
|
153
|
+
A connection or pool of connections from the `mysql` npm module.
|
|
154
|
+
|
|
155
|
+
#### reportParameters
|
|
156
|
+
|
|
157
|
+
The `parameters` array from a report object.
|
|
158
|
+
|
|
159
|
+
#### chartId
|
|
160
|
+
|
|
161
|
+
The id of a chart row in `wa_dashboard_chart`.
|
|
162
|
+
|
|
163
|
+
#### parameterSelectionList
|
|
164
|
+
|
|
165
|
+
The array of selected parameters sent from the client dashboard.
|
|
166
|
+
|
|
167
|
+
#### session
|
|
168
|
+
|
|
169
|
+
Session object from the Auth Module
|
|
170
|
+
|
|
171
|
+
### loadOutputParameterValues
|
|
172
|
+
|
|
173
|
+
This function outputs the report's parameter values in the format expected by the dashboard client and backend. When sending to the client, including `forClient: true` will not include the properties only needed by the backend.
|
|
174
|
+
|
|
175
|
+
### Function signature
|
|
176
|
+
|
|
177
|
+
```js
|
|
178
|
+
async function loadOutputParameterValues(mysqlConnection, { definitionList, selectionList = [], forClient = false })
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### Example Usage
|
|
182
|
+
|
|
183
|
+
#### mysqlConnection
|
|
184
|
+
|
|
185
|
+
A connection or pool of connections from the `mysql` npm module.
|
|
186
|
+
|
|
187
|
+
#### definitionList
|
|
188
|
+
|
|
189
|
+
The `parameters` property from the `json` column of a row in the `dashboard_report` table.
|
|
190
|
+
|
|
191
|
+
#### selectionList
|
|
192
|
+
|
|
193
|
+
An array of objects representing the selected parameters sent from the client. Only needed when loading the chart data, not when loading the report "metadata". Each parameter object should match the format specified in [schema.md](schema.md).
|
|
194
|
+
|
|
195
|
+
#### forClient
|
|
196
|
+
|
|
197
|
+
If this value is truthy, parameters' `queryValues` properties will be excluded, as the client does not need them.
|
|
198
|
+
|
|
199
|
+
### Returns
|
|
200
|
+
|
|
201
|
+
An array of objects matching the format outlined in [schema.md](schema.md)
|
package/dist/chart-helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseConnectionInterface, QueryCommand, RowDataPacket } from '@isoftdata/utility-db';
|
|
2
|
-
import type { Formatting, GoogleDataTable, MultiSeriesOptions, ProcessedFormatting, Table } from './types/chart';
|
|
2
|
+
import type { Formatting, GoogleDataTable, MultiSeriesOptions, ProcessedFormatting, Table } from './types/chart.js';
|
|
3
3
|
export type FieldType = 'string' | 'number' | 'datetime' | 'timeofday' | 'date';
|
|
4
4
|
export type QueryFieldsObject = Record<string, FieldType>;
|
|
5
5
|
export declare function queryWithFields(connection: DatabaseConnectionInterface, query: QueryCommand): Promise<{
|
|
@@ -22,6 +22,7 @@ export declare function coerceNullColumn(columnProp: string, data: RowDataPacket
|
|
|
22
22
|
export declare function handleFormattingTemplates(formatting?: Formatting): ProcessedFormatting;
|
|
23
23
|
export declare function getDataTableFormat(data: RowDataPacket[], fields: QueryFieldsObject, multiSeries?: MultiSeriesOptions): GoogleDataTable;
|
|
24
24
|
export declare function makeDataCumulative(dataTable: GoogleDataTable, cumulative?: boolean): GoogleDataTable;
|
|
25
|
-
export declare function
|
|
25
|
+
export declare function getSvelteDataTableFormat(rows: RowDataPacket[], fields: {
|
|
26
26
|
[key: string]: string;
|
|
27
27
|
}, formatting: ProcessedFormatting, styleTemplates?: {}): Table;
|
|
28
|
+
export { getSvelteDataTableFormat as getRactiveDataTableFormat };
|
package/dist/chart-helper.js
CHANGED
|
@@ -2,6 +2,7 @@ import formattingTemplates from './formatting-templates.js';
|
|
|
2
2
|
import toSnakeCase from 'to-snake-case';
|
|
3
3
|
import mysqlDataTypes from 'mysql/lib/protocol/constants/types.js';
|
|
4
4
|
import styleTableRow from './style-templates.js';
|
|
5
|
+
import { klona } from 'klona';
|
|
5
6
|
function mysqlToGoogleChartsDataTypeMap(mysqlDataType) {
|
|
6
7
|
switch (mysqlDataType) {
|
|
7
8
|
case 'VAR_STRING':
|
|
@@ -45,8 +46,7 @@ function makeDataTableCol(key, fields, role = null) {
|
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
function resultsIsObjectArray(results) {
|
|
48
|
-
return (Array.isArray(results) && results.length === 0)
|
|
49
|
-
|| (Array.isArray(results) && results.length > 0 && typeof results[0] === 'object' && results[0] !== null && !Array.isArray(results[0]));
|
|
49
|
+
return (Array.isArray(results) && results.length === 0) || (Array.isArray(results) && results.length > 0 && typeof results[0] === 'object' && results[0] !== null && !Array.isArray(results[0]));
|
|
50
50
|
}
|
|
51
51
|
function fieldsIsFieldPacketArray(fields) {
|
|
52
52
|
return (Array.isArray(fields) && fields.length === 0) || (Array.isArray(fields) && fields.length > 0 && fields[0].constructor.name === 'FieldPacket');
|
|
@@ -80,21 +80,24 @@ export async function queryWithFields(connection, query) {
|
|
|
80
80
|
export function getMultiSeriesData({ data: queryResult, seriesOptions, formatting, fields }) {
|
|
81
81
|
const { groupXAxisBy, series, value, tooltip } = seriesOptions;
|
|
82
82
|
const allOfTheKeysInTheSeries = new Set(queryResult.map(row => row[series]));
|
|
83
|
-
const
|
|
83
|
+
const objectOfAllKeys = {};
|
|
84
84
|
for (const key of allOfTheKeysInTheSeries) {
|
|
85
|
-
|
|
85
|
+
objectOfAllKeys[key] = [];
|
|
86
86
|
if (tooltip) {
|
|
87
|
-
|
|
87
|
+
objectOfAllKeys[`${tooltip} ${key}`] = [];
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
const grouped = {};
|
|
91
|
+
let groupedByDate = false;
|
|
91
92
|
for (const row of queryResult) {
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
groupedByDate || (groupedByDate = row[groupXAxisBy] instanceof Date);
|
|
94
|
+
const groupXAxisByValue = groupedByDate ? row[groupXAxisBy].toISOString() : row[groupXAxisBy];
|
|
95
|
+
if (!grouped[groupXAxisByValue]) {
|
|
96
|
+
grouped[groupXAxisByValue] = { ...klona(objectOfAllKeys) };
|
|
94
97
|
}
|
|
95
|
-
grouped[
|
|
98
|
+
grouped[groupXAxisByValue][row[series]].push(row[value]);
|
|
96
99
|
if (tooltip) {
|
|
97
|
-
grouped[
|
|
100
|
+
grouped[groupXAxisByValue][`${tooltip} ${row[series]}`].push(row[tooltip]);
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
const seriesFields = { [groupXAxisBy]: fields[groupXAxisBy] };
|
|
@@ -110,10 +113,15 @@ export function getMultiSeriesData({ data: queryResult, seriesOptions, formattin
|
|
|
110
113
|
}
|
|
111
114
|
const multiSeriesData = [];
|
|
112
115
|
for (const key in grouped) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
const longestColumn = Math.max(...Object.values(grouped[key]).map(arr => arr.length));
|
|
117
|
+
const groupedKeys = Object.keys(grouped[key]);
|
|
118
|
+
for (let i = 0; i < longestColumn; i++) {
|
|
119
|
+
const obj = { [groupXAxisBy]: groupedByDate ? new Date(key) : key };
|
|
120
|
+
for (const groupedKey of groupedKeys) {
|
|
121
|
+
obj[groupedKey] = grouped[key][groupedKey][i] ?? null;
|
|
122
|
+
}
|
|
123
|
+
multiSeriesData.push(obj);
|
|
124
|
+
}
|
|
117
125
|
}
|
|
118
126
|
return {
|
|
119
127
|
data: multiSeriesData,
|
|
@@ -166,6 +174,19 @@ export function handleFormattingTemplates(formatting) {
|
|
|
166
174
|
}
|
|
167
175
|
return formattingOutput;
|
|
168
176
|
}
|
|
177
|
+
function getSeriesRole(seriesName, multiSeries) {
|
|
178
|
+
if (multiSeries?.tooltip && seriesName.startsWith(multiSeries.tooltip)) {
|
|
179
|
+
return {
|
|
180
|
+
role: 'tooltip',
|
|
181
|
+
seriesName,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
const match = seriesName.match(/^role:(\w+)\s(.*)/);
|
|
185
|
+
if (match) {
|
|
186
|
+
return { role: match[1], seriesName: seriesName };
|
|
187
|
+
}
|
|
188
|
+
return { role: null, seriesName };
|
|
189
|
+
}
|
|
169
190
|
export function getDataTableFormat(data, fields, multiSeries) {
|
|
170
191
|
let cols = [];
|
|
171
192
|
if (multiSeries) {
|
|
@@ -173,12 +194,8 @@ export function getDataTableFormat(data, fields, multiSeries) {
|
|
|
173
194
|
}
|
|
174
195
|
for (const key in fields) {
|
|
175
196
|
if (!multiSeries || key !== multiSeries.groupXAxisBy) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
cols.push(makeDataTableCol(key, fields));
|
|
181
|
-
}
|
|
197
|
+
const { role, seriesName } = getSeriesRole(key, multiSeries);
|
|
198
|
+
cols.push(makeDataTableCol(seriesName, fields, role));
|
|
182
199
|
}
|
|
183
200
|
}
|
|
184
201
|
const rows = data.map(row => {
|
|
@@ -190,6 +207,20 @@ export function getDataTableFormat(data, fields, multiSeries) {
|
|
|
190
207
|
c: items,
|
|
191
208
|
};
|
|
192
209
|
});
|
|
210
|
+
if (!cols.length) {
|
|
211
|
+
cols.push({
|
|
212
|
+
id: 'nodata1',
|
|
213
|
+
label: 'No Data',
|
|
214
|
+
type: 'number',
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
if (cols.length === 1) {
|
|
218
|
+
cols.push({
|
|
219
|
+
id: 'nodata2',
|
|
220
|
+
label: 'No Data',
|
|
221
|
+
type: 'number',
|
|
222
|
+
});
|
|
223
|
+
}
|
|
193
224
|
return { cols, rows };
|
|
194
225
|
}
|
|
195
226
|
export function makeDataCumulative(dataTable, cumulative = true) {
|
|
@@ -207,29 +238,28 @@ export function makeDataCumulative(dataTable, cumulative = true) {
|
|
|
207
238
|
});
|
|
208
239
|
return dataTable;
|
|
209
240
|
}
|
|
210
|
-
export function
|
|
241
|
+
export function getSvelteDataTableFormat(rows, fields, formatting, styleTemplates = {}) {
|
|
211
242
|
const columns = Object.keys(fields).map(field => {
|
|
212
|
-
if (formatting?.[field]?.type === 'NumberFormat'
|
|
243
|
+
if (formatting?.[field]?.type === 'NumberFormat') {
|
|
213
244
|
return {
|
|
214
245
|
property: `${field}[value]`,
|
|
215
246
|
name: field,
|
|
216
|
-
class: 'text-right
|
|
247
|
+
class: 'text-right text-end',
|
|
217
248
|
};
|
|
218
249
|
}
|
|
219
250
|
return {
|
|
220
251
|
property: `${field}[value]`,
|
|
221
252
|
name: field,
|
|
222
|
-
class: '
|
|
253
|
+
class: '',
|
|
223
254
|
};
|
|
224
255
|
});
|
|
225
256
|
if (styleTemplates) {
|
|
226
|
-
rows = rows.map(row =>
|
|
227
|
-
return styleTableRow(row, styleTemplates);
|
|
228
|
-
});
|
|
257
|
+
rows = rows.map(row => styleTableRow(row, styleTemplates));
|
|
229
258
|
}
|
|
230
259
|
return {
|
|
231
260
|
columns,
|
|
232
261
|
rows,
|
|
233
262
|
};
|
|
234
263
|
}
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NoYXJ0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLG1CQUFtQixNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sV0FBVyxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxPQUFPLGNBQWMsTUFBTSx1Q0FBdUMsQ0FBQTtBQUNsRSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUVoRCxTQUFTLDhCQUE4QixDQUFDLGFBQXFCO0lBQzVELFFBQVEsYUFBYSxFQUFFLENBQUM7UUFDdkIsS0FBSyxZQUFZLENBQUM7UUFDbEIsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssU0FBUztZQUNiLE9BQU8sUUFBUSxDQUFBO1FBQ2hCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxZQUFZLENBQUM7UUFDbEIsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLE1BQU07WUFDVixPQUFPLFFBQVEsQ0FBQTtRQUNoQixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLFdBQVc7WUFDZixPQUFPLFVBQVUsQ0FBQTtRQUNsQixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssU0FBUztZQUNiLE9BQU8sTUFBTSxDQUFBO1FBQ2QsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE9BQU87WUFDWCxPQUFPLFdBQVcsQ0FBQTtRQUNuQjtZQUNDLE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7QUFDRixDQUFDO0FBRUQsU0FB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
|
|
264
|
+
export { getSvelteDataTableFormat as getRactiveDataTableFormat };
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NoYXJ0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLG1CQUFtQixNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sV0FBVyxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxPQUFPLGNBQWMsTUFBTSx1Q0FBdUMsQ0FBQTtBQUNsRSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRTdCLFNBQVMsOEJBQThCLENBQUMsYUFBcUI7SUFDNUQsUUFBUSxhQUFhLEVBQUUsQ0FBQztRQUN2QixLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxTQUFTO1lBQ2IsT0FBTyxRQUFRLENBQUE7UUFDaEIsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNWLE9BQU8sUUFBUSxDQUFBO1FBQ2hCLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssVUFBVSxDQUFDO1FBQ2hCLEtBQUssWUFBWSxDQUFDO1FBQ2xCLEtBQUssV0FBVztZQUNmLE9BQU8sVUFBVSxDQUFBO1FBQ2xCLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxTQUFTO1lBQ2IsT0FBTyxNQUFNLENBQUE7UUFDZCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssT0FBTztZQUNYLE9BQU8sV0FBVyxDQUFBO1FBQ25CO1lBQ0MsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztBQUNGLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxNQUF5QixFQUFFLE9BQXNCLElBQUk7SUFDM0YsT0FBTztRQUNOLEVBQUUsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFO1FBQ2xDLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDakIsSUFBSTtLQUNKLENBQUE7QUFDRixDQUFDO0FBS0QsU0FBUyxvQkFBb0IsQ0FBQyxPQUFnQjtJQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqTSxDQUFDO0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxNQUFpQztJQUNsRSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsQ0FBQTtBQUN0SixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsVUFBdUMsRUFBRSxLQUFtQjtJQUVqRyxJQUFJLENBQUM7UUFDSixNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0dBQW9HLENBQUMsQ0FBQTtRQUN0SCxDQUFDO2FBQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTztnQkFDTixPQUFPO2dCQUNQLE1BQU0sRUFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBcUIsRUFBRTtvQkFDL0MsT0FBTzt3QkFDTixHQUFHLEdBQUc7d0JBQ04sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsOEJBQThCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO3FCQUN0RixDQUFBO2dCQUNGLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFO2FBQ2IsQ0FBQTtRQUNGLENBQUM7SUFDRixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDN0QsTUFBTSxHQUFHLENBQUE7SUFDVixDQUFDO0FBQ0YsQ0FBQztBQVNELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQTJCO0lBS25ILE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUE7SUFFOUQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsQ0FBUyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVwRixNQUFNLGVBQWUsR0FBMEIsRUFBRSxDQUFBO0lBQ2pELEtBQUssTUFBTSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUMzQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBRXpCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDYixlQUFlLENBQUMsR0FBRyxPQUFPLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDMUMsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBc0YsRUFBRSxDQUFBO0lBQ3JHLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQTtJQUd6QixLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRS9CLGFBQWEsS0FBYixhQUFhLEdBQUssR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBQTtRQUNuRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFN0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFFakMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFBO1FBQzNELENBQUM7UUFFRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFeEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQzNFLENBQUM7SUFDRixDQUFDO0lBR0QsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFBO0lBQzdELE1BQU0sZ0JBQWdCLEdBQXNDLEVBQUUsQ0FBQTtJQUM5RCxLQUFLLE1BQU0sR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDM0MsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVqQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ2IsWUFBWSxDQUFDLEdBQUcsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BELENBQUM7UUFFRCxJQUFJLFVBQVUsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7WUFDdkMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDRixDQUFDO0lBR0QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFBO0lBQzFCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDckYsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUU3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsTUFBTSxHQUFHLEdBQTJDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUMzRyxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUN0QyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQTtZQUN0RCxDQUFDO1lBQ0QsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLEVBQUUsZUFBa0M7UUFDeEMsVUFBVSxFQUFFO1lBQ1gsR0FBRyxVQUFVO1lBQ2IsR0FBRyxnQkFBZ0I7U0FDTDtRQUNmLE1BQU0sRUFBRSxZQUFpQztLQUN6QyxDQUFBO0FBQ0YsQ0FBQztBQUNELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxTQUEwQjtJQUN2RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFBO0lBRWpHLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMxQixVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2IsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxHQUFHLENBQUE7SUFDWCxDQUFDLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxJQUFxQixFQUFFLGVBQXlCO0lBQ3BHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUE7SUFFL0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDcEUsSUFBSSxlQUFlLEdBQVcsRUFBRSxDQUFBO1FBRWhDLElBQUksQ0FBQyxlQUFlLElBQUksZUFBZSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ25JLGVBQWUsR0FBRyxDQUFDLENBQUE7UUFDcEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyQixPQUFPO2dCQUNOLEdBQUcsR0FBRztnQkFDTixDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxlQUFlO2FBQ2hELENBQUE7UUFDRixDQUFDLENBQUMsQ0FBQTtJQUNILENBQUM7U0FBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0FBQ0YsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxVQUF1QjtJQUNoRSxNQUFNLGdCQUFnQixHQUF3QixFQUFFLENBQUE7SUFDaEQsSUFBSSxVQUFVLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNwQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQTtZQUNoRixJQUFJLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3RyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3ZGLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sZ0JBQWdCLENBQUE7QUFDeEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFVBQWtCLEVBQUUsV0FBZ0M7SUFDMUUsSUFBSSxXQUFXLEVBQUUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDeEUsT0FBTztZQUNOLElBQUksRUFBRSxTQUFTO1lBQ2YsVUFBVTtTQUNWLENBQUE7SUFDRixDQUFDO0lBR0QsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ25ELElBQUksS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUE7SUFDbEQsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFBO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBcUIsRUFBRSxNQUF5QixFQUFFLFdBQWdDO0lBQ3BILElBQUksSUFBSSxHQUE0QixFQUFFLENBQUE7SUFFdEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHLEtBQUssV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN0RCxDQUFDO0lBQ0YsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBRWhCLEtBQUssTUFBTSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFFRCxPQUFPO1lBQ04sQ0FBQyxFQUFFLEtBQUs7U0FDUixDQUFBO0lBQ0YsQ0FBQyxDQUFDLENBQUE7SUFHRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDVCxFQUFFLEVBQUUsU0FBUztZQUNiLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2QsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1QsRUFBRSxFQUFFLFNBQVM7WUFDYixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsUUFBUTtTQUNkLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFBO0FBQ3RCLENBQUM7QUFPRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBMEIsRUFBRSxVQUFVLEdBQUcsSUFBSTtJQUMvRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUN4QyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFGLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDM0QsQ0FBQztxQkFBTSxJQUFJLFVBQVUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzlGLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMzRSxDQUFDO1lBQ0YsQ0FBQyxDQUFDLENBQUE7UUFDSCxDQUFDO0lBQ0YsQ0FBQyxDQUFDLENBQUE7SUFDRixPQUFPLFNBQVMsQ0FBQTtBQUNqQixDQUFDO0FBQ0QsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQXFCLEVBQUUsTUFBaUMsRUFBRSxVQUErQixFQUFFLGNBQWMsR0FBRyxFQUFFO0lBQ3RKLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBRS9DLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO1lBQ2xELE9BQU87Z0JBQ04sUUFBUSxFQUFFLEdBQUcsS0FBSyxTQUFTO2dCQUMzQixJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUscUJBQXFCO2FBQzVCLENBQUE7UUFDRixDQUFDO1FBQ0QsT0FBTztZQUNOLFFBQVEsRUFBRSxHQUFHLEtBQUssU0FBUztZQUMzQixJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUssRUFBRSxFQUFFO1NBQ1QsQ0FBQTtJQUNGLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNwQixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBQ0QsT0FBTztRQUNOLE9BQU87UUFDUCxJQUFJO0tBQ0osQ0FBQTtBQUNGLENBQUM7QUFDRCxPQUFPLEVBQUUsd0JBQXdCLElBQUkseUJBQXlCLEVBQUUsQ0FBQSJ9
|