imm-element-ui 2.9.8 → 2.9.9
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/esm2022/lib/grid/grid/grid.component.mjs +17 -8
- package/esm2022/lib/grid/grid-utils.mjs +15 -3
- package/esm2022/lib/page-form/page-form.component.mjs +5 -28
- package/fesm2022/imm-element-ui.mjs +34 -36
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/grid/grid/grid.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -6,7 +6,9 @@ const _gridUtils = {
|
|
|
6
6
|
calcRowIds: (api, isServerSide) => {
|
|
7
7
|
const result = [];
|
|
8
8
|
api.forEachNode((node) => {
|
|
9
|
-
node.
|
|
9
|
+
if (node.data != null && node.isSelected() === true) {
|
|
10
|
+
result.push(node.data);
|
|
11
|
+
}
|
|
10
12
|
});
|
|
11
13
|
return result;
|
|
12
14
|
},
|
|
@@ -127,9 +129,19 @@ const _gridUtils = {
|
|
|
127
129
|
maxWidth: 80,
|
|
128
130
|
});
|
|
129
131
|
}
|
|
130
|
-
|
|
132
|
+
const hasRowGroup = (columns) => columns.some((column) => column?.rowGroup === true || (Array.isArray(column?.children) && hasRowGroup(column.children)));
|
|
133
|
+
if (hasRowGroup(gridOptions.columnDefs || [])) {
|
|
134
|
+
const rowSelection = gridOptions.rowSelection;
|
|
131
135
|
return {
|
|
132
136
|
...gridOptions,
|
|
137
|
+
...(typeof rowSelection === 'object' && rowSelection?.mode === 'multiRow'
|
|
138
|
+
? {
|
|
139
|
+
rowSelection: {
|
|
140
|
+
...rowSelection,
|
|
141
|
+
groupSelects: rowSelection.groupSelects ?? 'filteredDescendants',
|
|
142
|
+
},
|
|
143
|
+
}
|
|
144
|
+
: {}),
|
|
133
145
|
autoGroupColumnDef: {
|
|
134
146
|
width: 300,
|
|
135
147
|
minWidth: 300,
|
|
@@ -177,4 +189,4 @@ export const gridUtils = {
|
|
|
177
189
|
mergeOptions: _gridUtils.mergeOptions,
|
|
178
190
|
getLangWidth: _gridUtils.getLangWidth
|
|
179
191
|
};
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9ncmlkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEQsTUFBTSxVQUFVLEdBQUc7SUFDbEIsVUFBVSxFQUFFLENBQUMsR0FBUSxFQUFFLFlBQXFCLEVBQVMsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBVSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixFQUFFLENBQUMsR0FBUSxFQUFFLGFBQW9CLEVBQUUsUUFBZ0IsRUFBRSxPQUFnQixFQUFFLEVBQUU7UUFDeEYsTUFBTSxLQUFLLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQztRQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxJQUFJLENBQUMsSUFB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c0JBQXNCLENBQUM7WUFDeEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFXLEVBQUMsSUFBUztRQUNqQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsT0FBUSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM3RCxPQUFPLE9BQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7Q0FDRCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3hCLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO0lBQzdDLGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztJQUN6QyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7SUFDN0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0lBQ3JDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtJQUN2QyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7SUFDckMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0NBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAkZHQgfSBmcm9tICdAcHJpbWVuZy90aGVtZXMnO1xuaW1wb3J0IHsgdGhlbWVRdWFydHogfSBmcm9tICdhZy1ncmlkLWVudGVycHJpc2UnO1xuaW1wb3J0IHsgVGhlbWVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90aGVtZUNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFHX0dSSURfTE9DQUxFX0NOLCBBR19HUklEX0xPQ0FMRV9FTiB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9sb2NhbGUnO1xuaW1wb3J0IHsgZmlsdGVyT2JqZWN0QnlLZXlzIH0gZnJvbSAnLi4vc2hhcmUvdXRpbHMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBfZ3JpZFV0aWxzID0ge1xuXHRjYWxjUm93SWRzOiAoYXBpOiBhbnksIGlzU2VydmVyU2lkZTogYm9vbGVhbik6IGFueVtdID0+IHtcblx0XHRjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG5cdFx0YXBpLmZvckVhY2hOb2RlKChub2RlOiBhbnkpID0+IHtcblx0XHRcdG5vZGUuaXNTZWxlY3RlZCgpICYmIHJlc3VsdC5wdXNoKG5vZGUuZGF0YSk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblx0c2VsZWN0aW9uSGFuZGxlcjogKGFwaTogYW55LCBzZWxlY3Rpb25LZXlzOiBhbnlbXSwgc3RhcnRSb3c6IG51bWJlciwgZGF0YUtleT86IHN0cmluZykgPT4ge1xuXHRcdGNvbnN0IGZpZWxkID0gZGF0YUtleSB8fCAnaWQnO1xuXHRcdGZvciAobGV0IGkgPSBzdGFydFJvdzsgaSA8IGFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpOyBpKyspIHtcblx0XHRcdGNvbnN0IG5vZGUgPSBhcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpKTtcblx0XHRcdGlmIChub2RlLmRhdGEgJiYgc2VsZWN0aW9uS2V5cz8uaW5jbHVkZXMobm9kZS5kYXRhW2ZpZWxkXSkpIHtcblx0XHRcdFx0bm9kZS5zZXRTZWxlY3RlZCh0cnVlLCBmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXHRjYWxjR3JpZEhlaWdodChyb3dDb3VudDogbnVtYmVyLCBtYXJnaW46IG51bWJlcikge1xuXHRcdGNvbnN0IGhlYWRlckhlaWdodCA9IDQ5O1xuXHRcdGNvbnN0IHJvd0hlaWdodCA9IDQyO1xuXHRcdGNvbnN0IHRvdGFsSGVpZ2h0ID0gaGVhZGVySGVpZ2h0ICsgcm93Q291bnQgKiByb3dIZWlnaHQgKyBtYXJnaW47XG5cdFx0cmV0dXJuIE1hdGgubWF4KHRvdGFsSGVpZ2h0LCBoZWFkZXJIZWlnaHQgKyByb3dIZWlnaHQgKyBtYXJnaW4pO1xuXHR9LFxuXHRnZXRUaGVtZSh0aGVtZUNvbmZpZzogVGhlbWVDb25maWdTZXJ2aWNlKSB7XG5cdFx0Y29uc3QgcHJpbWFyeSA9IHRoZW1lQ29uZmlnLmFwcFN0YXRlKCk/LnByaW1hcnkgYXMgc3RyaW5nO1xuXHRcdHJldHVybiB0aGVtZVF1YXJ0ei53aXRoUGFyYW1zKHtcblx0XHRcdGFjY2VudENvbG9yOiBwcmltYXJ5LFxuXHRcdFx0c2VsZWN0ZWRSb3dCYWNrZ3JvdW5kQ29sb3I6ICRkdChgJHtwcmltYXJ5fS41MGApLnZhbHVlLFxuXHRcdFx0Y2hlY2tib3hDaGVja2VkQmFja2dyb3VuZENvbG9yOiAkZHQoYCR7cHJpbWFyeX0uNTAwYCkudmFsdWUsXG5cdFx0XHRyb3dIb3ZlckNvbG9yOiAkZHQoYCR7cHJpbWFyeX0uNTBgKS52YWx1ZSxcblx0XHRcdHJhbmdlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yOiAkZHQoYCR7cHJpbWFyeX0uMTAwYCkudmFsdWUsXG5cdFx0XHRyYW5nZVNlbGVjdGlvbkJvcmRlckNvbG9yOiAkZHQoYCR7cHJpbWFyeX0uMTAwYCkudmFsdWUsXG5cdFx0XHR3cmFwcGVyQm9yZGVyUmFkaXVzOiAwLFxuXHRcdH0pO1xuXHR9LFxuXHQvLyBhZy1ncmlkIOacrOWcsOWbvemZheWMliDlrpjmlrnml6Dms7Dmlofnv7vor5HljIUg55uu5YmN5pqC55So6Iux5paHIOWQjue7remcgOimgeWGjee/u+ivkVxuXHRnZXRMb2NhbFRleHQobG9jYWw6IHN0cmluZykge1xuXHRcdGxldCBsb2NhbGVUZXh0O1xuXHRcdHN3aXRjaCAobG9jYWwpIHtcblx0XHRcdGNhc2UgJ3poLUNOJzpcblx0XHRcdFx0bG9jYWxlVGV4dCA9IEFHX0dSSURfTE9DQUxFX0NOO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ2VuLVVTJzpcblx0XHRcdFx0bG9jYWxlVGV4dCA9IEFHX0dSSURfTE9DQUxFX0VOO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ3RoLVRIJzpcblx0XHRcdFx0bG9jYWxlVGV4dCA9IEFHX0dSSURfTE9DQUxFX0VOO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdCcnO1xuXHRcdH1cblx0XHRyZXR1cm4gbG9jYWxlVGV4dDtcblx0fSxcblx0aGFuZGxlSTE4bktleShjb2xzOiBhbnlbXSwgaTE4bjogSTE4blNlcnZpY2UpIHtcblx0XHQvLyBjb25zdCBjb2x1bW5EZWZzOiBhbnlbXSA9IFtdO1xuXHRcdGNvbHMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG5cdFx0XHQvLyBsZXQgY29sczogYW55O1xuXHRcdFx0aWYgKGl0ZW0uaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSkge1xuXHRcdFx0XHRsZXQgaGVhZGVyTmFtZSA9IGkxOG4uZmFueWkoaXRlbS5pMThuS2V5KTtcblx0XHRcdFx0bGV0IGN1cnJlbnRMYW5nID0gaTE4bi5jdXJyZW50TGFuZ1xuXHRcdFx0XHRjb25zdCB0ZXh0V2lkdGggPSBncmlkVXRpbHMuZ2V0TGFuZ1dpZHRoKGhlYWRlck5hbWUpXG5cdFx0XHRcdGNvbnN0IHRvdGFsV2lkdGggPSB0ZXh0V2lkdGggKyAxNiArIDQ4O1xuXHRcdFx0XHRsZXQgIG1pbldpZHRoID0gaXRlbS5taW5XaWR0aFxuXHRcdFx0XHRpdGVtLmhlYWRlck5hbWUgPSBoZWFkZXJOYW1lXG5cdFx0XHRcdGlmKGN1cnJlbnRMYW5nICE9ICd6aC1DTicpe1xuXHRcdFx0XHRcdG1pbldpZHRoID0gdG90YWxXaWR0aCA+IGl0ZW0ubWluV2lkdGggPyB0b3RhbFdpZHRoIDogaXRlbS5taW5XaWR0aFxuXHRcdFx0XHRcdGl0ZW0ubWluV2lkdGggPSBtaW5XaWR0aFxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIGRlbGV0ZSBjb2xzLmkxOG5LZXk7XG5cdFx0XHR9XG5cdFx0XHQvLyBjb2x1bW5EZWZzLnB1c2goY29scyk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIGNvbHM7XG5cdH0sXG5cdGdldFRyZWVPcHRpb25zKGNvbHVtbkRlZjogYW55KTogYW55IHtcblx0XHRjb25zdCB0cmVlT3B0aW9ucyA9IHtcblx0XHRcdHRyZWVEYXRhOiB0cnVlLFxuXHRcdFx0dHJlZURhdGFDaGlsZHJlbkZpZWxkOiAnY2hpbGRyZW4nLFxuXHRcdFx0cm93U2VsZWN0aW9uOiB7XG5cdFx0XHRcdG1vZGU6ICdtdWx0aVJvdycsXG5cdFx0XHR9LFxuXHRcdFx0YXV0b0dyb3VwQ29sdW1uRGVmOiB7XG5cdFx0XHRcdGNlbGxTdHlsZTogeyBjb2xvcjogJ3ZhcigtLXAtZm9ybS1maWVsZC1mb2N1cy1ib3JkZXItY29sb3IpJyB9LFxuXHRcdFx0XHRjZWxsUmVuZGVyZXI6ICdhZ0dyb3VwQ2VsbFJlbmRlcmVyJyxcblx0XHRcdFx0Y2VsbFJlbmRlcmVyUGFyYW1zOiB7XG5cdFx0XHRcdFx0Li4uY29sdW1uRGVmLmNlbGxSZW5kZXJlclBhcmFtcyxcblx0XHRcdFx0XHRpbm5lclJlbmRlcmVyOiAnbGlua1JlbmRlcmVyJyxcblx0XHRcdFx0XHRzdXBwcmVzc0NvdW50OiB0cnVlLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHQuLi5maWx0ZXJPYmplY3RCeUtleXMoY29sdW1uRGVmLCBbJ2hlYWRlck5hbWUnLCAnZmllbGQnLCAnbWluV2lkdGgnXSksXG5cdFx0XHR9LFxuXHRcdFx0aXNTZXJ2ZXJTaWRlR3JvdXA6IChkYXRhSXRlbTogYW55KSA9PiB7XG5cdFx0XHRcdHJldHVybiAhIWRhdGFJdGVtLmNoaWxkcmVuO1xuXHRcdFx0fSxcblx0XHRcdGdldFNlcnZlclNpZGVHcm91cEtleTogKGRhdGFJdGVtOiBhbnkpID0+IHtcblx0XHRcdFx0cmV0dXJuIGRhdGFJdGVtLmlkO1xuXHRcdFx0fSxcblx0XHRcdG9uUm93U2VsZWN0ZWQ6IChldmVudDogYW55LCB4OiBhbnkpID0+IHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IGV2ZW50Lm5vZGU7XG5cdFx0XHRcdGlmICghbm9kZS5ncm91cCkgcmV0dXJuO1xuXHRcdFx0XHRub2RlLmNoaWxkcmVuQWZ0ZXJHcm91cC5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XG5cdFx0XHRcdFx0Y2hpbGQuc2V0U2VsZWN0ZWQobm9kZS5pc1NlbGVjdGVkKCksIGZhbHNlKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9LFxuXHRcdH07XG5cdFx0cmV0dXJuIHRyZWVPcHRpb25zO1xuXHR9LFxuXHRtZXJnZU9wdGlvbnMoZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zLCBjYWNoZUJsb2NrU2l6ZTogYW55LCBhY3Rpb246IEFjdGlvblNlcnZpY2UpOiBhbnkge1xuXHRcdGdyaWRPcHRpb25zLmNhY2hlQmxvY2tTaXplID0gY2FjaGVCbG9ja1NpemUgPz8gNTA7XG5cdFx0X2dyaWRVdGlscy5hcHBseVVwbG9hZFJlbmRlcmVySGVpZ2h0KGdyaWRPcHRpb25zLmNvbHVtbkRlZnMgfHwgW10pO1xuXHRcdGlmIChncmlkT3B0aW9ucy50cmVlRGF0YUZpZWxkKSB7XG5cdFx0XHRsZXQgY29sdW1uRGVmOiBhbnkgPSBncmlkT3B0aW9ucy5jb2x1bW5EZWZzPy5maW5kKChjb2w6IGFueSkgPT4gY29sLmZpZWxkID09IGdyaWRPcHRpb25zLnRyZWVEYXRhRmllbGQpO1xuXHRcdFx0Y29sdW1uRGVmLmhpZGUgPSB0cnVlO1xuXHRcdFx0cmV0dXJuIHsgLi4uZ3JpZE9wdGlvbnMsIC4uLl9ncmlkVXRpbHMuZ2V0VHJlZU9wdGlvbnMoY29sdW1uRGVmKSB9O1xuXHRcdH1cblx0XHRpZiAoZ3JpZE9wdGlvbnMuc2hvd0luZGV4KSB7XG5cdFx0XHRncmlkT3B0aW9ucy5jb2x1bW5EZWZzPy51bnNoaWZ0KHtcblx0XHRcdFx0aGVhZGVyTmFtZTogJyMnLFxuXHRcdFx0XHR2YWx1ZUdldHRlcjogKHBhcmFtcykgPT4gKHBhcmFtcy5ub2RlPy5yb3dJbmRleCB8fCAwKSArIDEsXG5cdFx0XHRcdHdpZHRoOiA4MCxcblx0XHRcdFx0bWluV2lkdGg6IDgwLFxuXHRcdFx0XHRtYXhXaWR0aDogODAsXG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0aWYgKGdyaWRPcHRpb25zLmNvbHVtbkRlZnM/LnNvbWUoKGNvbDogYW55KSA9PiBjb2w/LnJvd0dyb3VwID09PSB0cnVlKSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Li4uZ3JpZE9wdGlvbnMsXG5cdFx0XHRcdGF1dG9Hcm91cENvbHVtbkRlZjoge1xuXHRcdFx0XHRcdHdpZHRoOiAzMDAsXG5cdFx0XHRcdFx0bWluV2lkdGg6IDMwMCxcblx0XHRcdFx0XHRjZWxsUmVuZGVyZXI6ICdhZ0dyb3VwQ2VsbFJlbmRlcmVyJyxcblx0XHRcdFx0XHQuLi4oZ3JpZE9wdGlvbnMuYXV0b0dyb3VwQ29sdW1uRGVmIHx8IHt9KSxcblx0XHRcdFx0fSxcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiB7IC4uLmdyaWRPcHRpb25zIH07XG5cdH0sXG5cdGFwcGx5VXBsb2FkUmVuZGVyZXJIZWlnaHQoY29sczogYW55W10pIHtcblx0XHRjb2xzLmZvckVhY2goKGNvbCkgPT4ge1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoY29sLmNoaWxkcmVuKSkge1xuXHRcdFx0XHRfZ3JpZFV0aWxzLmFwcGx5VXBsb2FkUmVuZGVyZXJIZWlnaHQoY29sLmNoaWxkcmVuKTtcblx0XHRcdH1cblx0XHRcdGlmIChjb2wuY2VsbFJlbmRlcmVyICE9PSAndXBsb2FkUmVuZGVyZXInKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGNvbC5hdXRvSGVpZ2h0ID0gdHJ1ZTtcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGNvbC5jZWxsQ2xhc3MpKSB7XG5cdFx0XHRcdGNvbC5jZWxsQ2xhc3MgPSBbLi4uY29sLmNlbGxDbGFzcywgJ3VwbG9hZC1yZW5kZXJlci1jZWxsJ107XG5cdFx0XHR9IGVsc2UgaWYgKHR5cGVvZiBjb2wuY2VsbENsYXNzID09PSAnc3RyaW5nJyAmJiBjb2wuY2VsbENsYXNzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0Y29sLmNlbGxDbGFzcyA9IGAke2NvbC5jZWxsQ2xhc3N9IHVwbG9hZC1yZW5kZXJlci1jZWxsYDtcblx0XHRcdH0gZWxzZSBpZiAoIWNvbC5jZWxsQ2xhc3MpIHtcblx0XHRcdFx0Y29sLmNlbGxDbGFzcyA9ICd1cGxvYWQtcmVuZGVyZXItY2VsbCc7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cdGdldExhbmdXaWR0aCh0ZXh0OnN0cmluZyxmb250Pzphbnkpe1xuXHRcdGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBcdGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblx0XHRjb250ZXh0IS5mb250ID0gZm9udCB8fCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmZvbnQ7XG5cdFx0cmV0dXJuIGNvbnRleHQhLm1lYXN1cmVUZXh0KHRleHQpLndpZHRoO1xuXHR9XG59O1xuZXhwb3J0IGNvbnN0IGdyaWRVdGlscyA9IHtcblx0Y2FsY1Jvd0lkczogX2dyaWRVdGlscy5jYWxjUm93SWRzLFxuXHRzZWxlY3Rpb25IYW5kbGVyOiBfZ3JpZFV0aWxzLnNlbGVjdGlvbkhhbmRsZXIsXG5cdGNhbGNHcmlkSGVpZ2h0OiBfZ3JpZFV0aWxzLmNhbGNHcmlkSGVpZ2h0LFxuXHRnZXRUaGVtZTogX2dyaWRVdGlscy5nZXRUaGVtZSxcblx0Z2V0TG9jYWxUZXh0OiBfZ3JpZFV0aWxzLmdldExvY2FsVGV4dCxcblx0aGFuZGxlSTE4bktleTogX2dyaWRVdGlscy5oYW5kbGVJMThuS2V5LFxuXHRtZXJnZU9wdGlvbnM6IF9ncmlkVXRpbHMubWVyZ2VPcHRpb25zLFxuXHRnZXRMYW5nV2lkdGg6IF9ncmlkVXRpbHMuZ2V0TGFuZ1dpZHRoXG59O1xuIl19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9ncmlkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEQsTUFBTSxVQUFVLEdBQUc7SUFDbEIsVUFBVSxFQUFFLENBQUMsR0FBUSxFQUFFLFlBQXFCLEVBQVMsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBVSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxDQUFDLEdBQVEsRUFBRSxhQUFvQixFQUFFLFFBQWdCLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUQsTUFBTSxJQUFJ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QkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO0lBQzdDLGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztJQUN6QyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7SUFDN0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0lBQ3JDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtJQUN2QyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7SUFDckMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0NBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAkZHQgfSBmcm9tICdAcHJpbWVuZy90aGVtZXMnO1xuaW1wb3J0IHsgdGhlbWVRdWFydHogfSBmcm9tICdhZy1ncmlkLWVudGVycHJpc2UnO1xuaW1wb3J0IHsgVGhlbWVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90aGVtZUNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFHX0dSSURfTE9DQUxFX0NOLCBBR19HUklEX0xPQ0FMRV9FTiB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9sb2NhbGUnO1xuaW1wb3J0IHsgZmlsdGVyT2JqZWN0QnlLZXlzIH0gZnJvbSAnLi4vc2hhcmUvdXRpbHMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBfZ3JpZFV0aWxzID0ge1xuXHRjYWxjUm93SWRzOiAoYXBpOiBhbnksIGlzU2VydmVyU2lkZTogYm9vbGVhbik6IGFueVtdID0+IHtcblx0XHRjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG5cdFx0YXBpLmZvckVhY2hOb2RlKChub2RlOiBhbnkpID0+IHtcblx0XHRcdGlmIChub2RlLmRhdGEgIT0gbnVsbCAmJiBub2RlLmlzU2VsZWN0ZWQoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRyZXN1bHQucHVzaChub2RlLmRhdGEpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cdHNlbGVjdGlvbkhhbmRsZXI6IChhcGk6IGFueSwgc2VsZWN0aW9uS2V5czogYW55W10sIHN0YXJ0Um93OiBudW1iZXIsIGRhdGFLZXk/OiBzdHJpbmcpID0+IHtcblx0XHRjb25zdCBmaWVsZCA9IGRhdGFLZXkgfHwgJ2lkJztcblx0XHRmb3IgKGxldCBpID0gc3RhcnRSb3c7IGkgPCBhcGkuZ2V0RGlzcGxheWVkUm93Q291bnQoKTsgaSsrKSB7XG5cdFx0XHRjb25zdCBub2RlID0gYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaSk7XG5cdFx0XHRpZiAobm9kZS5kYXRhICYmIHNlbGVjdGlvbktleXM/LmluY2x1ZGVzKG5vZGUuZGF0YVtmaWVsZF0pKSB7XG5cdFx0XHRcdG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSwgZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0Y2FsY0dyaWRIZWlnaHQocm93Q291bnQ6IG51bWJlciwgbWFyZ2luOiBudW1iZXIpIHtcblx0XHRjb25zdCBoZWFkZXJIZWlnaHQgPSA0OTtcblx0XHRjb25zdCByb3dIZWlnaHQgPSA0Mjtcblx0XHRjb25zdCB0b3RhbEhlaWdodCA9IGhlYWRlckhlaWdodCArIHJvd0NvdW50ICogcm93SGVpZ2h0ICsgbWFyZ2luO1xuXHRcdHJldHVybiBNYXRoLm1heCh0b3RhbEhlaWdodCwgaGVhZGVySGVpZ2h0ICsgcm93SGVpZ2h0ICsgbWFyZ2luKTtcblx0fSxcblx0Z2V0VGhlbWUodGhlbWVDb25maWc6IFRoZW1lQ29uZmlnU2VydmljZSkge1xuXHRcdGNvbnN0IHByaW1hcnkgPSB0aGVtZUNvbmZpZy5hcHBTdGF0ZSgpPy5wcmltYXJ5IGFzIHN0cmluZztcblx0XHRyZXR1cm4gdGhlbWVRdWFydHoud2l0aFBhcmFtcyh7XG5cdFx0XHRhY2NlbnRDb2xvcjogcHJpbWFyeSxcblx0XHRcdHNlbGVjdGVkUm93QmFja2dyb3VuZENvbG9yOiAkZHQoYCR7cHJpbWFyeX0uNTBgKS52YWx1ZSxcblx0XHRcdGNoZWNrYm94Q2hlY2tlZEJhY2tncm91bmRDb2xvcjogJGR0KGAke3ByaW1hcnl9LjUwMGApLnZhbHVlLFxuXHRcdFx0cm93SG92ZXJDb2xvcjogJGR0KGAke3ByaW1hcnl9LjUwYCkudmFsdWUsXG5cdFx0XHRyYW5nZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcjogJGR0KGAke3ByaW1hcnl9LjEwMGApLnZhbHVlLFxuXHRcdFx0cmFuZ2VTZWxlY3Rpb25Cb3JkZXJDb2xvcjogJGR0KGAke3ByaW1hcnl9LjEwMGApLnZhbHVlLFxuXHRcdFx0d3JhcHBlckJvcmRlclJhZGl1czogMCxcblx0XHR9KTtcblx0fSxcblx0Ly8gYWctZ3JpZCDmnKzlnLDlm73pmYXljJYg5a6Y5pa55peg5rOw5paH57+76K+R5YyFIOebruWJjeaagueUqOiLseaWhyDlkI7nu63pnIDopoHlho3nv7vor5Fcblx0Z2V0TG9jYWxUZXh0KGxvY2FsOiBzdHJpbmcpIHtcblx0XHRsZXQgbG9jYWxlVGV4dDtcblx0XHRzd2l0Y2ggKGxvY2FsKSB7XG5cdFx0XHRjYXNlICd6aC1DTic6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9DTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdlbi1VUyc6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9FTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICd0aC1USCc6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9FTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHQnJztcblx0XHR9XG5cdFx0cmV0dXJuIGxvY2FsZVRleHQ7XG5cdH0sXG5cdGhhbmRsZUkxOG5LZXkoY29sczogYW55W10sIGkxOG46IEkxOG5TZXJ2aWNlKSB7XG5cdFx0Ly8gY29uc3QgY29sdW1uRGVmczogYW55W10gPSBbXTtcblx0XHRjb2xzLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuXHRcdFx0Ly8gbGV0IGNvbHM6IGFueTtcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykpIHtcblx0XHRcdFx0bGV0IGhlYWRlck5hbWUgPSBpMThuLmZhbnlpKGl0ZW0uaTE4bktleSk7XG5cdFx0XHRcdGxldCBjdXJyZW50TGFuZyA9IGkxOG4uY3VycmVudExhbmdcblx0XHRcdFx0Y29uc3QgdGV4dFdpZHRoID0gZ3JpZFV0aWxzLmdldExhbmdXaWR0aChoZWFkZXJOYW1lKVxuXHRcdFx0XHRjb25zdCB0b3RhbFdpZHRoID0gdGV4dFdpZHRoICsgMTYgKyA0ODtcblx0XHRcdFx0bGV0ICBtaW5XaWR0aCA9IGl0ZW0ubWluV2lkdGhcblx0XHRcdFx0aXRlbS5oZWFkZXJOYW1lID0gaGVhZGVyTmFtZVxuXHRcdFx0XHRpZihjdXJyZW50TGFuZyAhPSAnemgtQ04nKXtcblx0XHRcdFx0XHRtaW5XaWR0aCA9IHRvdGFsV2lkdGggPiBpdGVtLm1pbldpZHRoID8gdG90YWxXaWR0aCA6IGl0ZW0ubWluV2lkdGhcblx0XHRcdFx0XHRpdGVtLm1pbldpZHRoID0gbWluV2lkdGhcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBkZWxldGUgY29scy5pMThuS2V5O1xuXHRcdFx0fVxuXHRcdFx0Ly8gY29sdW1uRGVmcy5wdXNoKGNvbHMpO1xuXHRcdH0pO1xuXHRcdHJldHVybiBjb2xzO1xuXHR9LFxuXHRnZXRUcmVlT3B0aW9ucyhjb2x1bW5EZWY6IGFueSk6IGFueSB7XG5cdFx0Y29uc3QgdHJlZU9wdGlvbnMgPSB7XG5cdFx0XHR0cmVlRGF0YTogdHJ1ZSxcblx0XHRcdHRyZWVEYXRhQ2hpbGRyZW5GaWVsZDogJ2NoaWxkcmVuJyxcblx0XHRcdHJvd1NlbGVjdGlvbjoge1xuXHRcdFx0XHRtb2RlOiAnbXVsdGlSb3cnLFxuXHRcdFx0fSxcblx0XHRcdGF1dG9Hcm91cENvbHVtbkRlZjoge1xuXHRcdFx0XHRjZWxsU3R5bGU6IHsgY29sb3I6ICd2YXIoLS1wLWZvcm0tZmllbGQtZm9jdXMtYm9yZGVyLWNvbG9yKScgfSxcblx0XHRcdFx0Y2VsbFJlbmRlcmVyOiAnYWdHcm91cENlbGxSZW5kZXJlcicsXG5cdFx0XHRcdGNlbGxSZW5kZXJlclBhcmFtczoge1xuXHRcdFx0XHRcdC4uLmNvbHVtbkRlZi5jZWxsUmVuZGVyZXJQYXJhbXMsXG5cdFx0XHRcdFx0aW5uZXJSZW5kZXJlcjogJ2xpbmtSZW5kZXJlcicsXG5cdFx0XHRcdFx0c3VwcHJlc3NDb3VudDogdHJ1ZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0Li4uZmlsdGVyT2JqZWN0QnlLZXlzKGNvbHVtbkRlZiwgWydoZWFkZXJOYW1lJywgJ2ZpZWxkJywgJ21pbldpZHRoJ10pLFxuXHRcdFx0fSxcblx0XHRcdGlzU2VydmVyU2lkZUdyb3VwOiAoZGF0YUl0ZW06IGFueSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gISFkYXRhSXRlbS5jaGlsZHJlbjtcblx0XHRcdH0sXG5cdFx0XHRnZXRTZXJ2ZXJTaWRlR3JvdXBLZXk6IChkYXRhSXRlbTogYW55KSA9PiB7XG5cdFx0XHRcdHJldHVybiBkYXRhSXRlbS5pZDtcblx0XHRcdH0sXG5cdFx0XHRvblJvd1NlbGVjdGVkOiAoZXZlbnQ6IGFueSwgeDogYW55KSA9PiB7XG5cdFx0XHRcdGNvbnN0IG5vZGUgPSBldmVudC5ub2RlO1xuXHRcdFx0XHRpZiAoIW5vZGUuZ3JvdXApIHJldHVybjtcblx0XHRcdFx0bm9kZS5jaGlsZHJlbkFmdGVyR3JvdXAuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xuXHRcdFx0XHRcdGNoaWxkLnNldFNlbGVjdGVkKG5vZGUuaXNTZWxlY3RlZCgpLCBmYWxzZSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHR9O1xuXHRcdHJldHVybiB0cmVlT3B0aW9ucztcblx0fSxcblx0bWVyZ2VPcHRpb25zKGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucywgY2FjaGVCbG9ja1NpemU6IGFueSwgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlKTogYW55IHtcblx0XHRncmlkT3B0aW9ucy5jYWNoZUJsb2NrU2l6ZSA9IGNhY2hlQmxvY2tTaXplID8/IDUwO1xuXHRcdF9ncmlkVXRpbHMuYXBwbHlVcGxvYWRSZW5kZXJlckhlaWdodChncmlkT3B0aW9ucy5jb2x1bW5EZWZzIHx8IFtdKTtcblx0XHRpZiAoZ3JpZE9wdGlvbnMudHJlZURhdGFGaWVsZCkge1xuXHRcdFx0bGV0IGNvbHVtbkRlZjogYW55ID0gZ3JpZE9wdGlvbnMuY29sdW1uRGVmcz8uZmluZCgoY29sOiBhbnkpID0+IGNvbC5maWVsZCA9PSBncmlkT3B0aW9ucy50cmVlRGF0YUZpZWxkKTtcblx0XHRcdGNvbHVtbkRlZi5oaWRlID0gdHJ1ZTtcblx0XHRcdHJldHVybiB7IC4uLmdyaWRPcHRpb25zLCAuLi5fZ3JpZFV0aWxzLmdldFRyZWVPcHRpb25zKGNvbHVtbkRlZikgfTtcblx0XHR9XG5cdFx0aWYgKGdyaWRPcHRpb25zLnNob3dJbmRleCkge1xuXHRcdFx0Z3JpZE9wdGlvbnMuY29sdW1uRGVmcz8udW5zaGlmdCh7XG5cdFx0XHRcdGhlYWRlck5hbWU6ICcjJyxcblx0XHRcdFx0dmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IChwYXJhbXMubm9kZT8ucm93SW5kZXggfHwgMCkgKyAxLFxuXHRcdFx0XHR3aWR0aDogODAsXG5cdFx0XHRcdG1pbldpZHRoOiA4MCxcblx0XHRcdFx0bWF4V2lkdGg6IDgwLFxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGNvbnN0IGhhc1Jvd0dyb3VwID0gKGNvbHVtbnM6IGFueVtdKTogYm9vbGVhbiA9PlxuXHRcdFx0Y29sdW1ucy5zb21lKChjb2x1bW46IGFueSkgPT4gY29sdW1uPy5yb3dHcm91cCA9PT0gdHJ1ZSB8fCAoQXJyYXkuaXNBcnJheShjb2x1bW4/LmNoaWxkcmVuKSAmJiBoYXNSb3dHcm91cChjb2x1bW4uY2hpbGRyZW4pKSk7XG5cdFx0aWYgKGhhc1Jvd0dyb3VwKGdyaWRPcHRpb25zLmNvbHVtbkRlZnMgfHwgW10pKSB7XG5cdFx0XHRjb25zdCByb3dTZWxlY3Rpb24gPSBncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb247XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHQuLi5ncmlkT3B0aW9ucyxcblx0XHRcdFx0Li4uKHR5cGVvZiByb3dTZWxlY3Rpb24gPT09ICdvYmplY3QnICYmIHJvd1NlbGVjdGlvbj8ubW9kZSA9PT0gJ211bHRpUm93J1xuXHRcdFx0XHRcdD8ge1xuXHRcdFx0XHRcdFx0XHRyb3dTZWxlY3Rpb246IHtcblx0XHRcdFx0XHRcdFx0XHQuLi5yb3dTZWxlY3Rpb24sXG5cdFx0XHRcdFx0XHRcdFx0Z3JvdXBTZWxlY3RzOiByb3dTZWxlY3Rpb24uZ3JvdXBTZWxlY3RzID8/ICdmaWx0ZXJlZERlc2NlbmRhbnRzJyxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ6IHt9KSxcblx0XHRcdFx0YXV0b0dyb3VwQ29sdW1uRGVmOiB7XG5cdFx0XHRcdFx0d2lkdGg6IDMwMCxcblx0XHRcdFx0XHRtaW5XaWR0aDogMzAwLFxuXHRcdFx0XHRcdGNlbGxSZW5kZXJlcjogJ2FnR3JvdXBDZWxsUmVuZGVyZXInLFxuXHRcdFx0XHRcdC4uLihncmlkT3B0aW9ucy5hdXRvR3JvdXBDb2x1bW5EZWYgfHwge30pLFxuXHRcdFx0XHR9LFxuXHRcdFx0fTtcblx0XHR9XG5cdFx0cmV0dXJuIHsgLi4uZ3JpZE9wdGlvbnMgfTtcblx0fSxcblx0YXBwbHlVcGxvYWRSZW5kZXJlckhlaWdodChjb2xzOiBhbnlbXSkge1xuXHRcdGNvbHMuZm9yRWFjaCgoY29sKSA9PiB7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pKSB7XG5cdFx0XHRcdF9ncmlkVXRpbHMuYXBwbHlVcGxvYWRSZW5kZXJlckhlaWdodChjb2wuY2hpbGRyZW4pO1xuXHRcdFx0fVxuXHRcdFx0aWYgKGNvbC5jZWxsUmVuZGVyZXIgIT09ICd1cGxvYWRSZW5kZXJlcicpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29sLmF1dG9IZWlnaHQgPSB0cnVlO1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoY29sLmNlbGxDbGFzcykpIHtcblx0XHRcdFx0Y29sLmNlbGxDbGFzcyA9IFsuLi5jb2wuY2VsbENsYXNzLCAndXBsb2FkLXJlbmRlcmVyLWNlbGwnXTtcblx0XHRcdH0gZWxzZSBpZiAodHlwZW9mIGNvbC5jZWxsQ2xhc3MgPT09ICdzdHJpbmcnICYmIGNvbC5jZWxsQ2xhc3MubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRjb2wuY2VsbENsYXNzID0gYCR7Y29sLmNlbGxDbGFzc30gdXBsb2FkLXJlbmRlcmVyLWNlbGxgO1xuXHRcdFx0fSBlbHNlIGlmICghY29sLmNlbGxDbGFzcykge1xuXHRcdFx0XHRjb2wuY2VsbENsYXNzID0gJ3VwbG9hZC1yZW5kZXJlci1jZWxsJztcblx0XHRcdH1cblx0XHR9KTtcblx0fSxcblx0Z2V0TGFuZ1dpZHRoKHRleHQ6c3RyaW5nLGZvbnQ/OmFueSl7XG5cdFx0Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gIFx0Y29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXHRcdGNvbnRleHQhLmZvbnQgPSBmb250IHx8IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZm9udDtcblx0XHRyZXR1cm4gY29udGV4dCEubWVhc3VyZVRleHQodGV4dCkud2lkdGg7XG5cdH1cbn07XG5leHBvcnQgY29uc3QgZ3JpZFV0aWxzID0ge1xuXHRjYWxjUm93SWRzOiBfZ3JpZFV0aWxzLmNhbGNSb3dJZHMsXG5cdHNlbGVjdGlvbkhhbmRsZXI6IF9ncmlkVXRpbHMuc2VsZWN0aW9uSGFuZGxlcixcblx0Y2FsY0dyaWRIZWlnaHQ6IF9ncmlkVXRpbHMuY2FsY0dyaWRIZWlnaHQsXG5cdGdldFRoZW1lOiBfZ3JpZFV0aWxzLmdldFRoZW1lLFxuXHRnZXRMb2NhbFRleHQ6IF9ncmlkVXRpbHMuZ2V0TG9jYWxUZXh0LFxuXHRoYW5kbGVJMThuS2V5OiBfZ3JpZFV0aWxzLmhhbmRsZUkxOG5LZXksXG5cdG1lcmdlT3B0aW9uczogX2dyaWRVdGlscy5tZXJnZU9wdGlvbnMsXG5cdGdldExhbmdXaWR0aDogX2dyaWRVdGlscy5nZXRMYW5nV2lkdGhcbn07XG4iXX0=
|