@payloadcms/db-postgres 0.7.0 → 3.0.0-alpha.19
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +30 -40
- package/dist/create.js +6 -21
- package/dist/createGlobal.js +6 -21
- package/dist/createGlobalVersion.js +10 -25
- package/dist/createMigration.js +11 -26
- package/dist/createVersion.js +10 -25
- package/dist/deleteMany.js +8 -23
- package/dist/deleteOne.js +10 -25
- package/dist/deleteVersions.js +10 -25
- package/dist/destroy.js +2 -12
- package/dist/find/buildFindManyArgs.js +6 -14
- package/dist/find/chainMethods.js +2 -11
- package/dist/find/findMany.js +14 -29
- package/dist/find/traverseFields.js +8 -23
- package/dist/find.js +6 -21
- package/dist/findGlobal.js +6 -21
- package/dist/findGlobalVersions.js +8 -23
- package/dist/findOne.js +6 -21
- package/dist/findVersions.js +8 -23
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -88
- package/dist/init.js +17 -32
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +15 -33
- package/dist/migrateDown.d.ts.map +1 -1
- package/dist/migrateDown.js +12 -25
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +15 -31
- package/dist/migrateRefresh.d.ts.map +1 -1
- package/dist/migrateRefresh.js +18 -29
- package/dist/migrateReset.d.ts.map +1 -1
- package/dist/migrateReset.js +13 -24
- package/dist/migrateStatus.js +9 -19
- package/dist/queries/buildAndOrConditions.js +4 -14
- package/dist/queries/buildQuery.js +10 -20
- package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +4 -14
- package/dist/queries/createJSONQuery/formatJSONPathSegment.js +2 -12
- package/dist/queries/createJSONQuery/index.js +6 -16
- package/dist/queries/getTableColumnFromPath.js +38 -49
- package/dist/queries/operatorMap.js +17 -27
- package/dist/queries/parseParams.js +32 -42
- package/dist/queries/sanitizeQueryValue.js +8 -18
- package/dist/queryDrafts.js +10 -25
- package/dist/schema/build.js +49 -64
- package/dist/schema/createIndex.js +5 -15
- package/dist/schema/idToUUID.js +2 -12
- package/dist/schema/parentIDColumnMap.js +7 -17
- package/dist/schema/setColumnID.js +10 -20
- package/dist/schema/traverseFields.js +62 -77
- package/dist/schema/validateExistingBlockIsIdentical.js +9 -19
- package/dist/transactions/beginTransaction.js +4 -14
- package/dist/transactions/commitTransaction.js +2 -12
- package/dist/transactions/rollbackTransaction.js +2 -12
- package/dist/transform/read/hasManyNumber.js +2 -12
- package/dist/transform/read/hasManyText.js +2 -12
- package/dist/transform/read/index.js +12 -20
- package/dist/transform/read/relationship.js +2 -12
- package/dist/transform/read/traverseFields.js +15 -23
- package/dist/transform/write/array.js +6 -16
- package/dist/transform/write/blocks.js +6 -21
- package/dist/transform/write/index.js +4 -14
- package/dist/transform/write/numbers.js +2 -12
- package/dist/transform/write/relationships.js +4 -14
- package/dist/transform/write/selects.js +4 -14
- package/dist/transform/write/texts.js +2 -12
- package/dist/transform/write/traverseFields.js +30 -45
- package/dist/transform/write/types.js +2 -5
- package/dist/types.js +2 -5
- package/dist/update.js +11 -26
- package/dist/updateGlobal.js +6 -21
- package/dist/updateGlobalVersion.js +10 -25
- package/dist/updateVersion.js +10 -25
- package/dist/upsertRow/deleteExistingArrayRows.js +5 -15
- package/dist/upsertRow/deleteExistingRowsByPath.js +9 -19
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +25 -36
- package/dist/upsertRow/insertArrays.js +2 -12
- package/dist/upsertRow/types.js +2 -5
- package/dist/utilities/appendPrefixToKeys.js +2 -12
- package/dist/utilities/createBlocksMap.js +2 -12
- package/dist/utilities/createMigrationTable.js +4 -14
- package/dist/utilities/createRelationshipMap.js +2 -12
- package/dist/utilities/hasLocalesTable.js +5 -15
- package/dist/utilities/isArrayOfRows.js +2 -12
- package/dist/utilities/migrationTableExists.js +4 -14
- package/dist/utilities/parseError.js +6 -14
- package/package.json +6 -6
@@ -1,34 +1,19 @@
|
|
1
|
-
/* eslint-disable no-param-reassign */
|
2
|
-
|
3
|
-
|
4
|
-
}
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
})
|
11
|
-
const _types = require("payload/types");
|
12
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
|
-
const _isArrayOfRows = require("../../utilities/isArrayOfRows");
|
14
|
-
const _array = require("./array");
|
15
|
-
const _blocks = require("./blocks");
|
16
|
-
const _numbers = require("./numbers");
|
17
|
-
const _relationships = require("./relationships");
|
18
|
-
const _selects = require("./selects");
|
19
|
-
const _texts = require("./texts");
|
20
|
-
function _interop_require_default(obj) {
|
21
|
-
return obj && obj.__esModule ? obj : {
|
22
|
-
default: obj
|
23
|
-
};
|
24
|
-
}
|
25
|
-
const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, texts, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects })=>{
|
1
|
+
/* eslint-disable no-param-reassign */ import { fieldAffectsData } from 'payload/types';
|
2
|
+
import toSnakeCase from 'to-snake-case';
|
3
|
+
import { isArrayOfRows } from '../../utilities/isArrayOfRows';
|
4
|
+
import { transformArray } from './array';
|
5
|
+
import { transformBlocks } from './blocks';
|
6
|
+
import { transformNumbers } from './numbers';
|
7
|
+
import { transformRelationship } from './relationships';
|
8
|
+
import { transformSelects } from './selects';
|
9
|
+
import { transformTexts } from './texts';
|
10
|
+
export const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, texts, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects })=>{
|
26
11
|
fields.forEach((field)=>{
|
27
12
|
let columnName = '';
|
28
13
|
let fieldName = '';
|
29
14
|
let fieldData;
|
30
|
-
if (
|
31
|
-
columnName = `${columnPrefix || ''}${(
|
15
|
+
if (fieldAffectsData(field)) {
|
16
|
+
columnName = `${columnPrefix || ''}${toSnakeCase(field.name)}`;
|
32
17
|
fieldName = `${fieldPrefix || ''}${field.name}`;
|
33
18
|
fieldData = data[field.name];
|
34
19
|
}
|
@@ -39,7 +24,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
39
24
|
if (typeof data[field.name] === 'object' && data[field.name] !== null) {
|
40
25
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
41
26
|
if (Array.isArray(localeData)) {
|
42
|
-
const newRows =
|
27
|
+
const newRows = transformArray({
|
43
28
|
adapter,
|
44
29
|
arrayTableName,
|
45
30
|
baseTableName,
|
@@ -60,7 +45,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
60
45
|
});
|
61
46
|
}
|
62
47
|
} else {
|
63
|
-
const newRows =
|
48
|
+
const newRows = transformArray({
|
64
49
|
adapter,
|
65
50
|
arrayTableName,
|
66
51
|
baseTableName,
|
@@ -81,13 +66,13 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
81
66
|
}
|
82
67
|
if (field.type === 'blocks') {
|
83
68
|
field.blocks.forEach(({ slug })=>{
|
84
|
-
blocksToDelete.add((
|
69
|
+
blocksToDelete.add(toSnakeCase(slug));
|
85
70
|
});
|
86
71
|
if (field.localized) {
|
87
72
|
if (typeof data[field.name] === 'object' && data[field.name] !== null) {
|
88
73
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
89
74
|
if (Array.isArray(localeData)) {
|
90
|
-
|
75
|
+
transformBlocks({
|
91
76
|
adapter,
|
92
77
|
baseTableName,
|
93
78
|
blocks,
|
@@ -105,8 +90,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
105
90
|
}
|
106
91
|
});
|
107
92
|
}
|
108
|
-
} else if (
|
109
|
-
|
93
|
+
} else if (isArrayOfRows(fieldData)) {
|
94
|
+
transformBlocks({
|
110
95
|
adapter,
|
111
96
|
baseTableName,
|
112
97
|
blocks,
|
@@ -188,7 +173,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
188
173
|
baseTableName,
|
189
174
|
blocks,
|
190
175
|
blocksToDelete,
|
191
|
-
columnPrefix: `${columnPrefix || ''}${(
|
176
|
+
columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,
|
192
177
|
data: localeData,
|
193
178
|
existingLocales,
|
194
179
|
fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,
|
@@ -212,7 +197,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
212
197
|
baseTableName,
|
213
198
|
blocks,
|
214
199
|
blocksToDelete,
|
215
|
-
columnPrefix: `${columnPrefix || ''}${(
|
200
|
+
columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,
|
216
201
|
data: data[tab.name],
|
217
202
|
existingLocales,
|
218
203
|
fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,
|
@@ -289,7 +274,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
289
274
|
});
|
290
275
|
return;
|
291
276
|
}
|
292
|
-
|
277
|
+
transformRelationship({
|
293
278
|
baseRow: {
|
294
279
|
locale: localeKey,
|
295
280
|
path: relationshipPath
|
@@ -307,7 +292,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
307
292
|
});
|
308
293
|
return;
|
309
294
|
}
|
310
|
-
|
295
|
+
transformRelationship({
|
311
296
|
baseRow: {
|
312
297
|
path: relationshipPath
|
313
298
|
},
|
@@ -324,7 +309,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
324
309
|
if (typeof fieldData === 'object') {
|
325
310
|
Object.entries(fieldData).forEach(([localeKey, localeData])=>{
|
326
311
|
if (Array.isArray(localeData)) {
|
327
|
-
|
312
|
+
transformTexts({
|
328
313
|
baseRow: {
|
329
314
|
locale: localeKey,
|
330
315
|
path: textPath
|
@@ -336,7 +321,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
336
321
|
});
|
337
322
|
}
|
338
323
|
} else if (Array.isArray(fieldData)) {
|
339
|
-
|
324
|
+
transformTexts({
|
340
325
|
baseRow: {
|
341
326
|
path: textPath
|
342
327
|
},
|
@@ -352,7 +337,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
352
337
|
if (typeof fieldData === 'object') {
|
353
338
|
Object.entries(fieldData).forEach(([localeKey, localeData])=>{
|
354
339
|
if (Array.isArray(localeData)) {
|
355
|
-
|
340
|
+
transformNumbers({
|
356
341
|
baseRow: {
|
357
342
|
locale: localeKey,
|
358
343
|
path: numberPath
|
@@ -364,7 +349,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
364
349
|
});
|
365
350
|
}
|
366
351
|
} else if (Array.isArray(fieldData)) {
|
367
|
-
|
352
|
+
transformNumbers({
|
368
353
|
baseRow: {
|
369
354
|
path: numberPath
|
370
355
|
},
|
@@ -381,7 +366,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
381
366
|
if (typeof data[field.name] === 'object' && data[field.name] !== null) {
|
382
367
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
383
368
|
if (Array.isArray(localeData)) {
|
384
|
-
const newRows =
|
369
|
+
const newRows = transformSelects({
|
385
370
|
id: data._uuid || data.id,
|
386
371
|
data: localeData,
|
387
372
|
locale: localeKey
|
@@ -391,7 +376,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
391
376
|
});
|
392
377
|
}
|
393
378
|
} else if (Array.isArray(data[field.name])) {
|
394
|
-
const newRows =
|
379
|
+
const newRows = transformSelects({
|
395
380
|
id: data._uuid || data.id,
|
396
381
|
data: data[field.name]
|
397
382
|
});
|
@@ -399,7 +384,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
399
384
|
}
|
400
385
|
return;
|
401
386
|
}
|
402
|
-
if (
|
387
|
+
if (fieldAffectsData(field)) {
|
403
388
|
const valuesToTransform = [];
|
404
389
|
if (field.localized) {
|
405
390
|
if (typeof fieldData === 'object' && fieldData !== null) {
|
@@ -440,4 +425,4 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
440
425
|
});
|
441
426
|
};
|
442
427
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1UZXh0cyB9IGZyb20gJy4vdGV4dHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgYmxvY2tzVG9EZWxldGU6IFNldDxzdHJpbmc+XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGNvbHVtblByZWZpeCxcbiAgZGF0YSxcbiAgZXhpc3RpbmdMb2NhbGVzLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZWRMb2NhbGUsXG4gIGxvY2FsZXMsXG4gIHRleHRzLFxuICBudW1iZXJzLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgcm93LFxuICBzZWxlY3RzLFxufTogQXJncykgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBsZXQgY29sdW1uTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkRGF0YTogdW5rbm93blxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG5cbiAgICAgIGlmICghYXJyYXlzW2FycmF5VGFibGVOYW1lXSkgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKCh7IHNsdWcgfSkgPT4ge1xuICAgICAgICBibG9ja3NUb0RlbGV0ZS5hZGQodG9TbmFrZUNhc2Uoc2x1ZykpXG4gICAgICB9KVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXlPZlJvd3MoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbdGFiLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW3RhYi5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRhYi5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVt0YWIubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke3RvU25ha2VDYXNlKHRhYi5uYW1lKX1fYCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhW3RhYi5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7dGFiLm5hbWV9X2AsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncm93JyB8fCBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICBkYXRhLFxuICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgdGV4dHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICByb3csXG4gICAgICAgIHNlbGVjdHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAobG9jYWxlRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkRGF0YSA9PT0gbnVsbCB8fCAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpICYmIGZpZWxkRGF0YS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goeyBwYXRoOiByZWxhdGlvbnNoaXBQYXRoIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0ZXh0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCB0ZXh0UGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBwYXRoOiB0ZXh0UGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtVGV4dHMoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3QgbnVtYmVyUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IG51bWJlclBhdGgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtTnVtYmVycyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YFxuICAgICAgaWYgKCFzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1TZWxlY3RzKHtcbiAgICAgICAgICAgICAgICBpZDogZGF0YS5fdXVpZCB8fCBkYXRhLmlkLFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgaWQ6IGRhdGEuX3V1aWQgfHwgZGF0YS5pZCxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KVxuXG4gICAgICAgIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXS5jb25jYXQobmV3Um93cylcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCB2YWx1ZXNUb1RyYW5zZm9ybTogeyBsb2NhbGVLZXk/OiBzdHJpbmc7IHJlZjogdW5rbm93bjsgdmFsdWU6IHVua25vd24gfVtdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcgJiYgZmllbGREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFsb2NhbGVzW2xvY2FsZUtleV0pIGxvY2FsZXNbbG9jYWxlS2V5XSA9IHt9XG5cbiAgICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goe1xuICAgICAgICAgICAgICBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIHJlZjogbG9jYWxlcyxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCByZWYgPSByb3dcblxuICAgICAgICBpZiAoZm9yY2VkTG9jYWxlKSB7XG4gICAgICAgICAgaWYgKCFsb2NhbGVzW2ZvcmNlZExvY2FsZV0pIGxvY2FsZXNbZm9yY2VkTG9jYWxlXSA9IHt9XG4gICAgICAgICAgcmVmID0gbG9jYWxlc1tmb3JjZWRMb2NhbGVdXG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmLCB2YWx1ZTogZmllbGREYXRhIH0pXG4gICAgICB9XG5cbiAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLmZvckVhY2goKHsgbG9jYWxlS2V5LCByZWYsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdkYXRlJyAmJiBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0Jykge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobG9jYWxlS2V5KSB7XG4gICAgICAgICAgICByZWZbbG9jYWxlS2V5XVtmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVmW2ZpZWxkTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhZGFwdGVyIiwiYXJyYXlzIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImJsb2Nrc1RvRGVsZXRlIiwiY29sdW1uUHJlZml4IiwiZGF0YSIsImV4aXN0aW5nTG9jYWxlcyIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwiZm9yY2VkTG9jYWxlIiwibG9jYWxlcyIsInRleHRzIiwibnVtYmVycyIsInBhcmVudFRhYmxlTmFtZSIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwicm93Iiwic2VsZWN0cyIsImZvckVhY2giLCJmaWVsZCIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJmaWVsZERhdGEiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJuYW1lIiwidHlwZSIsImFycmF5VGFibGVOYW1lIiwibG9jYWxpemVkIiwiT2JqZWN0IiwiZW50cmllcyIsImxvY2FsZUtleSIsImxvY2FsZURhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdSb3dzIiwidHJhbnNmb3JtQXJyYXkiLCJsb2NhbGUiLCJjb25jYXQiLCJzbHVnIiwiYWRkIiwidHJhbnNmb3JtQmxvY2tzIiwiaXNBcnJheU9mUm93cyIsInRhYnMiLCJ0YWIiLCJyZWxhdGlvbnNoaXBQYXRoIiwicHVzaCIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsImJhc2VSb3ciLCJsZW5ndGgiLCJoYXNNYW55IiwidGV4dFBhdGgiLCJ0cmFuc2Zvcm1UZXh0cyIsIm51bWJlclBhdGgiLCJ0cmFuc2Zvcm1OdW1iZXJzIiwic2VsZWN0VGFibGVOYW1lIiwidHJhbnNmb3JtU2VsZWN0cyIsImlkIiwiX3V1aWQiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE4RHZCQTs7O2VBQUFBOzs7dUJBM0RvQjtvRUFDVDsrQkFLTTt1QkFDQzt3QkFDQzt5QkFDQzsrQkFDSzt5QkFDTDt1QkFDRjs7Ozs7O0FBK0N4QixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLFlBQVksRUFDWkMsSUFBSSxFQUNKQyxlQUFlLEVBQ2ZDLFdBQVcsRUFDWEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxPQUFPLEVBQ1BDLGVBQWUsRUFDZkMsSUFBSSxFQUNKQyxhQUFhLEVBQ2JDLHFCQUFxQixFQUNyQkMsR0FBRyxFQUNIQyxPQUFPLEVBQ0Y7SUFDTFYsT0FBT1csT0FBTyxDQUFDLENBQUNDO1FBQ2QsSUFBSUMsYUFBYTtRQUNqQixJQUFJQyxZQUFZO1FBQ2hCLElBQUlDO1FBRUosSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUNKLFFBQVE7WUFDM0JDLGFBQWEsQ0FBQyxFQUFFakIsZ0JBQWdCLEdBQUcsRUFBRXFCLElBQUFBLG9CQUFXLEVBQUNMLE1BQU1NLElBQUksRUFBRSxDQUFDO1lBQzlESixZQUFZLENBQUMsRUFBRWYsZUFBZSxHQUFHLEVBQUVhLE1BQU1NLElBQUksQ0FBQyxDQUFDO1lBQy9DSCxZQUFZbEIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUM7UUFDOUI7UUFFQSxJQUFJTixNQUFNTyxJQUFJLEtBQUssU0FBUztZQUMxQixNQUFNQyxpQkFBaUIsQ0FBQyxFQUFFZixnQkFBZ0IsQ0FBQyxFQUFFUSxXQUFXLENBQUM7WUFFekQsSUFBSSxDQUFDckIsTUFBTSxDQUFDNEIsZUFBZSxFQUFFNUIsTUFBTSxDQUFDNEIsZUFBZSxHQUFHLEVBQUU7WUFFeEQsSUFBSVIsTUFBTVMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLE9BQU94QixJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQyxLQUFLLFlBQVlyQixJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQyxLQUFLLE1BQU07b0JBQ3JFSSxPQUFPQyxPQUFPLENBQUMxQixJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUMvRCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLGFBQWE7NEJBQzdCLE1BQU1HLFVBQVVDLElBQUFBLHFCQUFjLEVBQUM7Z0NBQzdCdEM7Z0NBQ0E2QjtnQ0FDQTNCO2dDQUNBQztnQ0FDQUM7Z0NBQ0FFLE1BQU00QjtnQ0FDTmI7Z0NBQ0FrQixRQUFRTjtnQ0FDUnJCO2dDQUNBQztnQ0FDQUU7Z0NBQ0FDO2dDQUNBQztnQ0FDQUU7NEJBQ0Y7NEJBRUFsQixNQUFNLENBQUM0QixlQUFlLEdBQUc1QixNQUFNLENBQUM0QixlQUFlLENBQUNXLE1BQU0sQ0FBQ0g7d0JBQ3pEO29CQUNGO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxNQUFNQSxVQUFVQyxJQUFBQSxxQkFBYyxFQUFDO29CQUM3QnRDO29CQUNBNkI7b0JBQ0EzQjtvQkFDQUM7b0JBQ0FDO29CQUNBRSxNQUFNQSxJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQztvQkFDdEJOO29CQUNBVDtvQkFDQUM7b0JBQ0FFO29CQUNBQztvQkFDQUM7b0JBQ0FFO2dCQUNGO2dCQUVBbEIsTUFBTSxDQUFDNEIsZUFBZSxHQUFHNUIsTUFBTSxDQUFDNEIsZUFBZSxDQUFDVyxNQUFNLENBQUNIO1lBQ3pEO1lBRUE7UUFDRjtRQUVBLElBQUloQixNQUFNTyxJQUFJLEtBQUssVUFBVTtZQUMzQlAsTUFBTWxCLE1BQU0sQ0FBQ2lCLE9BQU8sQ0FBQyxDQUFDLEVBQUVxQixJQUFJLEVBQUU7Z0JBQzVCckMsZUFBZXNDLEdBQUcsQ0FBQ2hCLElBQUFBLG9CQUFXLEVBQUNlO1lBQ2pDO1lBRUEsSUFBSXBCLE1BQU1TLFNBQVMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPeEIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxZQUFZckIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxNQUFNO29CQUNyRUksT0FBT0MsT0FBTyxDQUFDMUIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsRUFBRVAsT0FBTyxDQUFDLENBQUMsQ0FBQ2EsV0FBV0MsV0FBVzt3QkFDL0QsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixhQUFhOzRCQUM3QlMsSUFBQUEsdUJBQWUsRUFBQztnQ0FDZDNDO2dDQUNBRTtnQ0FDQUM7Z0NBQ0FDO2dDQUNBRSxNQUFNNEI7Z0NBQ05iO2dDQUNBa0IsUUFBUU47Z0NBQ1JyQjtnQ0FDQUM7Z0NBQ0FFO2dDQUNBQztnQ0FDQUM7Z0NBQ0FFOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0YsT0FBTyxJQUFJeUIsSUFBQUEsNEJBQWEsRUFBQ3BCLFlBQVk7Z0JBQ25DbUIsSUFBQUEsdUJBQWUsRUFBQztvQkFDZDNDO29CQUNBRTtvQkFDQUM7b0JBQ0FDO29CQUNBRSxNQUFNa0I7b0JBQ05IO29CQUNBVDtvQkFDQUM7b0JBQ0FFO29CQUNBQztvQkFDQUM7b0JBQ0FFO2dCQUNGO1lBQ0Y7WUFFQTtRQUNGO1FBRUEsSUFBSUUsTUFBTU8sSUFBSSxLQUFLLFNBQVM7WUFDMUIsSUFBSSxPQUFPdEIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxZQUFZckIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxNQUFNO2dCQUNyRSxJQUFJTixNQUFNUyxTQUFTLEVBQUU7b0JBQ25CQyxPQUFPQyxPQUFPLENBQUMxQixJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUMvRG5DLGVBQWU7NEJBQ2JDOzRCQUNBQzs0QkFDQUM7NEJBQ0FDOzRCQUNBQzs0QkFDQUMsY0FBYyxDQUFDLEVBQUVpQixXQUFXLENBQUMsQ0FBQzs0QkFDOUJoQixNQUFNNEI7NEJBQ04zQjs0QkFDQUMsYUFBYSxDQUFDLEVBQUVlLFVBQVUsQ0FBQyxDQUFDOzRCQUM1QmQsUUFBUVksTUFBTVosTUFBTTs0QkFDcEJDLGNBQWN1Qjs0QkFDZHRCOzRCQUNBQzs0QkFDQUM7NEJBQ0FDOzRCQUNBQyxNQUFNLENBQUMsRUFBRUEsUUFBUSxHQUFHLEVBQUVNLE1BQU1NLElBQUksQ0FBQyxDQUFDLENBQUM7NEJBQ25DWDs0QkFDQUM7NEJBQ0FDOzRCQUNBQzt3QkFDRjtvQkFDRjtnQkFDRixPQUFPO29CQUNMcEIsZUFBZTt3QkFDYkM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQyxjQUFjLENBQUMsRUFBRWlCLFdBQVcsQ0FBQyxDQUFDO3dCQUM5QmhCLE1BQU1BLElBQUksQ0FBQ2UsTUFBTU0sSUFBSSxDQUFDO3dCQUN0QnBCO3dCQUNBQyxhQUFhLENBQUMsRUFBRWUsVUFBVSxDQUFDLENBQUM7d0JBQzVCZCxRQUFRWSxNQUFNWixNQUFNO3dCQUNwQkU7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDLE1BQU0sQ0FBQyxFQUFFQSxRQUFRLEdBQUcsRUFBRU0sTUFBTU0sSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDbkNYO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO29CQUNGO2dCQUNGO1lBQ0Y7WUFFQTtRQUNGO1FBRUEsSUFBSUUsTUFBTU8sSUFBSSxLQUFLLFFBQVE7WUFDekJQLE1BQU13QixJQUFJLENBQUN6QixPQUFPLENBQUMsQ0FBQzBCO2dCQUNsQixJQUFJLFVBQVVBLEtBQUs7b0JBQ2pCLElBQUksT0FBT3hDLElBQUksQ0FBQ3dDLElBQUluQixJQUFJLENBQUMsS0FBSyxZQUFZckIsSUFBSSxDQUFDd0MsSUFBSW5CLElBQUksQ0FBQyxLQUFLLE1BQU07d0JBQ2pFLElBQUltQixJQUFJaEIsU0FBUyxFQUFFOzRCQUNqQkMsT0FBT0MsT0FBTyxDQUFDMUIsSUFBSSxDQUFDd0MsSUFBSW5CLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO2dDQUM3RG5DLGVBQWU7b0NBQ2JDO29DQUNBQztvQ0FDQUM7b0NBQ0FDO29DQUNBQztvQ0FDQUMsY0FBYyxDQUFDLEVBQUVBLGdCQUFnQixHQUFHLEVBQUVxQixJQUFBQSxvQkFBVyxFQUFDb0IsSUFBSW5CLElBQUksRUFBRSxDQUFDLENBQUM7b0NBQzlEckIsTUFBTTRCO29DQUNOM0I7b0NBQ0FDLGFBQWEsQ0FBQyxFQUFFQSxlQUFlLEdBQUcsRUFBRXNDLElBQUluQixJQUFJLENBQUMsQ0FBQyxDQUFDO29DQUMvQ2xCLFFBQVFxQyxJQUFJckMsTUFBTTtvQ0FDbEJDLGNBQWN1QjtvQ0FDZHRCO29DQUNBQztvQ0FDQUM7b0NBQ0FDO29DQUNBQyxNQUFNLENBQUMsRUFBRUEsUUFBUSxHQUFHLEVBQUUrQixJQUFJbkIsSUFBSSxDQUFDLENBQUMsQ0FBQztvQ0FDakNYO29DQUNBQztvQ0FDQUM7b0NBQ0FDO2dDQUNGOzRCQUNGO3dCQUNGLE9BQU87NEJBQ0xwQixlQUFlO2dDQUNiQztnQ0FDQUM7Z0NBQ0FDO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDLGNBQWMsQ0FBQyxFQUFFQSxnQkFBZ0IsR0FBRyxFQUFFcUIsSUFBQUEsb0JBQVcsRUFBQ29CLElBQUluQixJQUFJLEVBQUUsQ0FBQyxDQUFDO2dDQUM5RHJCLE1BQU1BLElBQUksQ0FBQ3dDLElBQUluQixJQUFJLENBQUM7Z0NBQ3BCcEI7Z0NBQ0FDLGFBQWEsQ0FBQyxFQUFFQSxlQUFlLEdBQUcsRUFBRXNDLElBQUluQixJQUFJLENBQUMsQ0FBQyxDQUFDO2dDQUMvQ2xCLFFBQVFxQyxJQUFJckMsTUFBTTtnQ0FDbEJFO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDO2dDQUNBQyxNQUFNLENBQUMsRUFBRUEsUUFBUSxHQUFHLEVBQUUrQixJQUFJbkIsSUFBSSxDQUFDLENBQUMsQ0FBQztnQ0FDakNYO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGLE9BQU87b0JBQ0xwQixlQUFlO3dCQUNiQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQyxRQUFRcUMsSUFBSXJDLE1BQU07d0JBQ2xCRTt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO29CQUNGO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLElBQUlFLE1BQU1PLElBQUksS0FBSyxTQUFTUCxNQUFNTyxJQUFJLEtBQUssZUFBZTtZQUN4RDdCLGVBQWU7Z0JBQ2JDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLFFBQVFZLE1BQU1aLE1BQU07Z0JBQ3BCRTtnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO1lBQ0Y7UUFDRjtRQUVBLElBQUlFLE1BQU1PLElBQUksS0FBSyxrQkFBa0JQLE1BQU1PLElBQUksS0FBSyxVQUFVO1lBQzVELE1BQU1tQixtQkFBbUIsQ0FBQyxFQUFFaEMsUUFBUSxHQUFHLEVBQUVNLE1BQU1NLElBQUksQ0FBQyxDQUFDO1lBRXJELElBQUlOLE1BQU1TLFNBQVMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPTixjQUFjLFVBQVU7b0JBQ2pDTyxPQUFPQyxPQUFPLENBQUNSLFdBQVdKLE9BQU8sQ0FBQyxDQUFDLENBQUNhLFdBQVdDLFdBQVc7d0JBQ3hELElBQUlBLGVBQWUsTUFBTTs0QkFDdkJqQixzQkFBc0IrQixJQUFJLENBQUM7Z0NBQ3pCVCxRQUFRTjtnQ0FDUmxCLE1BQU1nQzs0QkFDUjs0QkFDQTt3QkFDRjt3QkFFQUUsSUFBQUEsb0NBQXFCLEVBQUM7NEJBQ3BCQyxTQUFTO2dDQUNQWCxRQUFRTjtnQ0FDUmxCLE1BQU1nQzs0QkFDUjs0QkFDQXpDLE1BQU00Qjs0QkFDTmI7NEJBQ0FMO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxJQUFJUSxjQUFjLFFBQVNXLE1BQU1DLE9BQU8sQ0FBQ1osY0FBY0EsVUFBVTJCLE1BQU0sS0FBSyxHQUFJO29CQUM5RWxDLHNCQUFzQitCLElBQUksQ0FBQzt3QkFBRWpDLE1BQU1nQztvQkFBaUI7b0JBQ3BEO2dCQUNGO2dCQUVBRSxJQUFBQSxvQ0FBcUIsRUFBQztvQkFDcEJDLFNBQVM7d0JBQ1BuQyxNQUFNZ0M7b0JBQ1I7b0JBQ0F6QyxNQUFNa0I7b0JBQ05IO29CQUNBTDtnQkFDRjtZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlLLE1BQU1PLElBQUksS0FBSyxVQUFVUCxNQUFNK0IsT0FBTyxFQUFFO1lBQzFDLE1BQU1DLFdBQVcsQ0FBQyxFQUFFdEMsUUFBUSxHQUFHLEVBQUVNLE1BQU1NLElBQUksQ0FBQyxDQUFDO1lBRTdDLElBQUlOLE1BQU1TLFNBQVMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPTixjQUFjLFVBQVU7b0JBQ2pDTyxPQUFPQyxPQUFPLENBQUNSLFdBQVdKLE9BQU8sQ0FBQyxDQUFDLENBQUNhLFdBQVdDLFdBQVc7d0JBQ3hELElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsYUFBYTs0QkFDN0JvQixJQUFBQSxxQkFBYyxFQUFDO2dDQUNiSixTQUFTO29DQUNQWCxRQUFRTjtvQ0FDUmxCLE1BQU1zQztnQ0FDUjtnQ0FDQS9DLE1BQU00QjtnQ0FDTnRCOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0YsT0FBTyxJQUFJdUIsTUFBTUMsT0FBTyxDQUFDWixZQUFZO2dCQUNuQzhCLElBQUFBLHFCQUFjLEVBQUM7b0JBQ2JKLFNBQVM7d0JBQ1BuQyxNQUFNc0M7b0JBQ1I7b0JBQ0EvQyxNQUFNa0I7b0JBQ05aO2dCQUNGO1lBQ0Y7WUFFQTtRQUNGO1FBRUEsSUFBSVMsTUFBTU8sSUFBSSxLQUFLLFlBQVlQLE1BQU0rQixPQUFPLEVBQUU7WUFDNUMsTUFBTUcsYUFBYSxDQUFDLEVBQUV4QyxRQUFRLEdBQUcsRUFBRU0sTUFBTU0sSUFBSSxDQUFDLENBQUM7WUFFL0MsSUFBSU4sTUFBTVMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLE9BQU9OLGNBQWMsVUFBVTtvQkFDakNPLE9BQU9DLE9BQU8sQ0FBQ1IsV0FBV0osT0FBTyxDQUFDLENBQUMsQ0FBQ2EsV0FBV0MsV0FBVzt3QkFDeEQsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixhQUFhOzRCQUM3QnNCLElBQUFBLHlCQUFnQixFQUFDO2dDQUNmTixTQUFTO29DQUNQWCxRQUFRTjtvQ0FDUmxCLE1BQU13QztnQ0FDUjtnQ0FDQWpELE1BQU00QjtnQ0FDTnJCOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0YsT0FBTyxJQUFJc0IsTUFBTUMsT0FBTyxDQUFDWixZQUFZO2dCQUNuQ2dDLElBQUFBLHlCQUFnQixFQUFDO29CQUNmTixTQUFTO3dCQUNQbkMsTUFBTXdDO29CQUNSO29CQUNBakQsTUFBTWtCO29CQUNOWDtnQkFDRjtZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlRLE1BQU1PLElBQUksS0FBSyxZQUFZUCxNQUFNK0IsT0FBTyxFQUFFO1lBQzVDLE1BQU1LLGtCQUFrQixDQUFDLEVBQUUzQyxnQkFBZ0IsQ0FBQyxFQUFFUSxXQUFXLENBQUM7WUFDMUQsSUFBSSxDQUFDSCxPQUFPLENBQUNzQyxnQkFBZ0IsRUFBRXRDLE9BQU8sQ0FBQ3NDLGdCQUFnQixHQUFHLEVBQUU7WUFFNUQsSUFBSXBDLE1BQU1TLFNBQVMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPeEIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxZQUFZckIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsS0FBSyxNQUFNO29CQUNyRUksT0FBT0MsT0FBTyxDQUFDMUIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsRUFBRVAsT0FBTyxDQUFDLENBQUMsQ0FBQ2EsV0FBV0MsV0FBVzt3QkFDL0QsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixhQUFhOzRCQUM3QixNQUFNRyxVQUFVcUIsSUFBQUEseUJBQWdCLEVBQUM7Z0NBQy9CQyxJQUFJckQsS0FBS3NELEtBQUssSUFBSXRELEtBQUtxRCxFQUFFO2dDQUN6QnJELE1BQU00QjtnQ0FDTkssUUFBUU47NEJBQ1Y7NEJBRUFkLE9BQU8sQ0FBQ3NDLGdCQUFnQixHQUFHdEMsT0FBTyxDQUFDc0MsZ0JBQWdCLENBQUNqQixNQUFNLENBQUNIO3dCQUM3RDtvQkFDRjtnQkFDRjtZQUNGLE9BQU8sSUFBSUYsTUFBTUMsT0FBTyxDQUFDOUIsSUFBSSxDQUFDZSxNQUFNTSxJQUFJLENBQUMsR0FBRztnQkFDMUMsTUFBTVUsVUFBVXFCLElBQUFBLHlCQUFnQixFQUFDO29CQUMvQkMsSUFBSXJELEtBQUtzRCxLQUFLLElBQUl0RCxLQUFLcUQsRUFBRTtvQkFDekJyRCxNQUFNQSxJQUFJLENBQUNlLE1BQU1NLElBQUksQ0FBQztnQkFDeEI7Z0JBRUFSLE9BQU8sQ0FBQ3NDLGdCQUFnQixHQUFHdEMsT0FBTyxDQUFDc0MsZ0JBQWdCLENBQUNqQixNQUFNLENBQUNIO1lBQzdEO1lBRUE7UUFDRjtRQUVBLElBQUlaLElBQUFBLHVCQUFnQixFQUFDSixRQUFRO1lBQzNCLE1BQU13QyxvQkFBNEUsRUFBRTtZQUVwRixJQUFJeEMsTUFBTVMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLE9BQU9OLGNBQWMsWUFBWUEsY0FBYyxNQUFNO29CQUN2RE8sT0FBT0MsT0FBTyxDQUFDUixXQUFXSixPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUN4RCxJQUFJLENBQUN2QixPQUFPLENBQUNzQixVQUFVLEVBQUV0QixPQUFPLENBQUNzQixVQUFVLEdBQUcsQ0FBQzt3QkFFL0M0QixrQkFBa0JiLElBQUksQ0FBQzs0QkFDckJmOzRCQUNBNkIsS0FBS25EOzRCQUNMb0QsT0FBTzdCO3dCQUNUO29CQUNGO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxJQUFJNEIsTUFBTTVDO2dCQUVWLElBQUlSLGNBQWM7b0JBQ2hCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxhQUFhLEVBQUVDLE9BQU8sQ0FBQ0QsYUFBYSxHQUFHLENBQUM7b0JBQ3JEb0QsTUFBTW5ELE9BQU8sQ0FBQ0QsYUFBYTtnQkFDN0I7Z0JBRUFtRCxrQkFBa0JiLElBQUksQ0FBQztvQkFBRWM7b0JBQUtDLE9BQU92QztnQkFBVTtZQUNqRDtZQUVBcUMsa0JBQWtCekMsT0FBTyxDQUFDLENBQUMsRUFBRWEsU0FBUyxFQUFFNkIsR0FBRyxFQUFFQyxLQUFLLEVBQUU7Z0JBQ2xELElBQUksT0FBT0EsVUFBVSxhQUFhO29CQUNoQyxJQUFJQyxpQkFBaUJEO29CQUVyQixJQUFJMUMsTUFBTU8sSUFBSSxLQUFLLFVBQVVQLE1BQU1NLElBQUksS0FBSyxhQUFhO3dCQUN2RHFDLGlCQUFpQixJQUFJQyxPQUFPQyxXQUFXO29CQUN6QztvQkFFQSxJQUFJakMsV0FBVzt3QkFDYjZCLEdBQUcsQ0FBQzdCLFVBQVUsQ0FBQ1YsVUFBVSxHQUFHeUM7b0JBQzlCLE9BQU87d0JBQ0xGLEdBQUcsQ0FBQ3ZDLFVBQVUsR0FBR3lDO29CQUNuQjtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtBQUNGIn0=
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1UZXh0cyB9IGZyb20gJy4vdGV4dHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgYmxvY2tzVG9EZWxldGU6IFNldDxzdHJpbmc+XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGNvbHVtblByZWZpeCxcbiAgZGF0YSxcbiAgZXhpc3RpbmdMb2NhbGVzLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZWRMb2NhbGUsXG4gIGxvY2FsZXMsXG4gIHRleHRzLFxuICBudW1iZXJzLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgcm93LFxuICBzZWxlY3RzLFxufTogQXJncykgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBsZXQgY29sdW1uTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkRGF0YTogdW5rbm93blxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG5cbiAgICAgIGlmICghYXJyYXlzW2FycmF5VGFibGVOYW1lXSkgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKCh7IHNsdWcgfSkgPT4ge1xuICAgICAgICBibG9ja3NUb0RlbGV0ZS5hZGQodG9TbmFrZUNhc2Uoc2x1ZykpXG4gICAgICB9KVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXlPZlJvd3MoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbdGFiLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW3RhYi5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRhYi5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVt0YWIubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke3RvU25ha2VDYXNlKHRhYi5uYW1lKX1fYCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhW3RhYi5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7dGFiLm5hbWV9X2AsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncm93JyB8fCBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICBkYXRhLFxuICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgdGV4dHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICByb3csXG4gICAgICAgIHNlbGVjdHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAobG9jYWxlRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkRGF0YSA9PT0gbnVsbCB8fCAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpICYmIGZpZWxkRGF0YS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goeyBwYXRoOiByZWxhdGlvbnNoaXBQYXRoIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0ZXh0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCB0ZXh0UGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBwYXRoOiB0ZXh0UGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtVGV4dHMoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3QgbnVtYmVyUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IG51bWJlclBhdGgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtTnVtYmVycyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YFxuICAgICAgaWYgKCFzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1TZWxlY3RzKHtcbiAgICAgICAgICAgICAgICBpZDogZGF0YS5fdXVpZCB8fCBkYXRhLmlkLFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgaWQ6IGRhdGEuX3V1aWQgfHwgZGF0YS5pZCxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KVxuXG4gICAgICAgIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXS5jb25jYXQobmV3Um93cylcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCB2YWx1ZXNUb1RyYW5zZm9ybTogeyBsb2NhbGVLZXk/OiBzdHJpbmc7IHJlZjogdW5rbm93bjsgdmFsdWU6IHVua25vd24gfVtdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcgJiYgZmllbGREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFsb2NhbGVzW2xvY2FsZUtleV0pIGxvY2FsZXNbbG9jYWxlS2V5XSA9IHt9XG5cbiAgICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goe1xuICAgICAgICAgICAgICBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIHJlZjogbG9jYWxlcyxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCByZWYgPSByb3dcblxuICAgICAgICBpZiAoZm9yY2VkTG9jYWxlKSB7XG4gICAgICAgICAgaWYgKCFsb2NhbGVzW2ZvcmNlZExvY2FsZV0pIGxvY2FsZXNbZm9yY2VkTG9jYWxlXSA9IHt9XG4gICAgICAgICAgcmVmID0gbG9jYWxlc1tmb3JjZWRMb2NhbGVdXG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmLCB2YWx1ZTogZmllbGREYXRhIH0pXG4gICAgICB9XG5cbiAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLmZvckVhY2goKHsgbG9jYWxlS2V5LCByZWYsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdkYXRlJyAmJiBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0Jykge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobG9jYWxlS2V5KSB7XG4gICAgICAgICAgICByZWZbbG9jYWxlS2V5XVtmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVmW2ZpZWxkTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsiZmllbGRBZmZlY3RzRGF0YSIsInRvU25ha2VDYXNlIiwiaXNBcnJheU9mUm93cyIsInRyYW5zZm9ybUFycmF5IiwidHJhbnNmb3JtQmxvY2tzIiwidHJhbnNmb3JtTnVtYmVycyIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsInRyYW5zZm9ybVNlbGVjdHMiLCJ0cmFuc2Zvcm1UZXh0cyIsInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImFycmF5cyIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJibG9ja3NUb0RlbGV0ZSIsImNvbHVtblByZWZpeCIsImRhdGEiLCJleGlzdGluZ0xvY2FsZXMiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlZExvY2FsZSIsImxvY2FsZXMiLCJ0ZXh0cyIsIm51bWJlcnMiLCJwYXJlbnRUYWJsZU5hbWUiLCJwYXRoIiwicmVsYXRpb25zaGlwcyIsInJlbGF0aW9uc2hpcHNUb0RlbGV0ZSIsInJvdyIsInNlbGVjdHMiLCJmb3JFYWNoIiwiZmllbGQiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwiZmllbGREYXRhIiwibmFtZSIsInR5cGUiLCJhcnJheVRhYmxlTmFtZSIsImxvY2FsaXplZCIsIk9iamVjdCIsImVudHJpZXMiLCJsb2NhbGVLZXkiLCJsb2NhbGVEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3Um93cyIsImxvY2FsZSIsImNvbmNhdCIsInNsdWciLCJhZGQiLCJ0YWJzIiwidGFiIiwicmVsYXRpb25zaGlwUGF0aCIsInB1c2giLCJiYXNlUm93IiwibGVuZ3RoIiwiaGFzTWFueSIsInRleHRQYXRoIiwibnVtYmVyUGF0aCIsInNlbGVjdFRhYmxlTmFtZSIsImlkIiwiX3V1aWQiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQUdwQyxTQUFTQSxnQkFBZ0IsUUFBUSxnQkFBZTtBQUNoRCxPQUFPQyxpQkFBaUIsZ0JBQWU7QUFLdkMsU0FBU0MsYUFBYSxRQUFRLGdDQUErQjtBQUM3RCxTQUFTQyxjQUFjLFFBQVEsVUFBUztBQUN4QyxTQUFTQyxlQUFlLFFBQVEsV0FBVTtBQUMxQyxTQUFTQyxnQkFBZ0IsUUFBUSxZQUFXO0FBQzVDLFNBQVNDLHFCQUFxQixRQUFRLGtCQUFpQjtBQUN2RCxTQUFTQyxnQkFBZ0IsUUFBUSxZQUFXO0FBQzVDLFNBQVND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
|
@@ -1,6 +1,3 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
1
|
+
export { };
|
5
2
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJyYXlSb3dUb0luc2VydCA9IHtcbiAgYXJyYXlzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogQXJyYXlSb3dUb0luc2VydFtdXG4gIH1cbiAgbG9jYWxlczoge1xuICAgIFtsb2NhbGU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgcm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgdHlwZSBCbG9ja1Jvd1RvSW5zZXJ0ID0ge1xuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICBsb2NhbGVzOiB7XG4gICAgW2xvY2FsZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxuICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uc2hpcFRvRGVsZXRlID0ge1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFJvd1RvSW5zZXJ0ID0ge1xuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgbG9jYWxlczoge1xuICAgIFtsb2NhbGU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNlbGVjdHM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsV0FtQkMifQ==
|
package/dist/types.js
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
1
|
+
export { };
|
5
2
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbHVtbkJhc2VDb25maWcsXG4gIENvbHVtbkRhdGFUeXBlLFxuICBEcml6emxlQ29uZmlnLFxuICBFeHRyYWN0VGFibGVzV2l0aFJlbGF0aW9ucyxcbiAgUmVsYXRpb24sXG4gIFJlbGF0aW9ucyxcbn0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IE5vZGVQZ0RhdGFiYXNlLCBOb2RlUGdRdWVyeVJlc3VsdEhLVCB9IGZyb20gJ2RyaXp6bGUtb3JtL25vZGUtcG9zdGdyZXMnXG5pbXBvcnQgdHlwZSB7XG4gIFBnQ29sdW1uLFxuICBQZ0VudW0sXG4gIFBnU2NoZW1hLFxuICBQZ1RhYmxlV2l0aENvbHVtbnMsXG4gIFBnVHJhbnNhY3Rpb24sXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVGbiB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUvdGFibGUnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQb29sLCBQb29sQ29uZmlnIH0gZnJvbSAncGcnXG5cbmV4cG9ydCB0eXBlIERyaXp6bGVEQiA9IE5vZGVQZ0RhdGFiYXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuXG5leHBvcnQgdHlwZSBBcmdzID0ge1xuICBpZFR5cGU/OiAnc2VyaWFsJyB8ICd1dWlkJ1xuICBsb2dnZXI/OiBEcml6emxlQ29uZmlnWydsb2dnZXInXVxuICBtaWdyYXRpb25EaXI/OiBzdHJpbmdcbiAgcG9vbDogUG9vbENvbmZpZ1xuICBwdXNoPzogYm9vbGVhblxuICBzY2hlbWFOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEdlbmVyaWNDb2x1bW4gPSBQZ0NvbHVtbjxcbiAgQ29sdW1uQmFzZUNvbmZpZzxDb2x1bW5EYXRhVHlwZSwgc3RyaW5nPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj5cblxuZXhwb3J0IHR5cGUgR2VuZXJpY0NvbHVtbnMgPSB7XG4gIFt4OiBzdHJpbmddOiBHZW5lcmljQ29sdW1uXG59XG5cbmV4cG9ydCB0eXBlIEdlbmVyaWNUYWJsZSA9IFBnVGFibGVXaXRoQ29sdW1uczx7XG4gIGNvbHVtbnM6IEdlbmVyaWNDb2x1bW5zXG4gIGRpYWxlY3Q6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2NoZW1hOiB1bmRlZmluZWRcbn0+XG5cbmV4cG9ydCB0eXBlIEdlbmVyaWNFbnVtID0gUGdFbnVtPFtzdHJpbmcsIC4uLnN0cmluZ1tdXT5cblxuZXhwb3J0IHR5cGUgR2VuZXJpY1JlbGF0aW9uID0gUmVsYXRpb25zPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4+XG5cbmV4cG9ydCB0eXBlIERyaXp6bGVUcmFuc2FjdGlvbiA9IFBnVHJhbnNhY3Rpb248XG4gIE5vZGVQZ1F1ZXJ5UmVzdWx0SEtULFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgRXh0cmFjdFRhYmxlc1dpdGhSZWxhdGlvbnM8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4+XG5cbmV4cG9ydCB0eXBlIFBvc3RncmVzQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXIgJiB7XG4gIGRyaXp6bGU6IERyaXp6bGVEQlxuICBlbnVtczogUmVjb3JkPHN0cmluZywgR2VuZXJpY0VudW0+XG4gIC8qKlxuICAgKiBBbiBvYmplY3Qga2V5ZWQgb24gZWFjaCB0YWJsZSwgd2l0aCBhIGtleSB2YWx1ZSBwYWlyIHdoZXJlIHRoZSBjb25zdHJhaW50IG5hbWUgaXMgdGhlIGtleSwgZm9sbG93ZWQgYnkgdGhlIGRvdC1ub3RhdGlvbiBmaWVsZCBuYW1lXG4gICAqIFVzZWQgZm9yIHJldHVybmluZyBwcm9wZXJseSBmb3JtZWQgZXJyb3JzIGZyb20gdW5pcXVlIGZpZWxkc1xuICAgKi9cbiAgZmllbGRDb25zdHJhaW50czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj5cbiAgaWRUeXBlOiBBcmdzWydpZFR5cGUnXVxuICBsb2dnZXI6IERyaXp6bGVDb25maWdbJ2xvZ2dlciddXG4gIHBnU2NoZW1hPzogeyB0YWJsZTogUGdUYWJsZUZuIH0gfCBQZ1NjaGVtYVxuICBwb29sOiBQb29sXG4gIHBvb2xPcHRpb25zOiBBcmdzWydwb29sJ11cbiAgcHVzaDogYm9vbGVhblxuICByZWxhdGlvbnM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNSZWxhdGlvbj5cbiAgc2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCBHZW5lcmljRW51bSB8IEdlbmVyaWNSZWxhdGlvbiB8IEdlbmVyaWNUYWJsZT5cbiAgc2NoZW1hTmFtZT86IEFyZ3NbJ3NjaGVtYU5hbWUnXVxuICBzZXNzaW9uczoge1xuICAgIFtpZDogc3RyaW5nXToge1xuICAgICAgZGI6IERyaXp6bGVUcmFuc2FjdGlvblxuICAgICAgcmVqZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgICByZXNvbHZlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgfVxuICB9XG4gIHRhYmxlczogUmVjb3JkPHN0cmluZywgR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT4+XG59XG5cbmV4cG9ydCB0eXBlIElEVHlwZSA9ICdpbnRlZ2VyJyB8ICdudW1lcmljJyB8ICd1dWlkJyB8ICd2YXJjaGFyJ1xuXG5leHBvcnQgdHlwZSBQb3N0Z3Jlc0FkYXB0ZXJSZXN1bHQgPSAoYXJnczogeyBwYXlsb2FkOiBQYXlsb2FkIH0pID0+IFBvc3RncmVzQWRhcHRlclxuXG5leHBvcnQgdHlwZSBNaWdyYXRlVXBBcmdzID0geyBwYXlsb2FkOiBQYXlsb2FkOyByZXE/OiBQYXJ0aWFsPFBheWxvYWRSZXF1ZXN0PiB9XG5leHBvcnQgdHlwZSBNaWdyYXRlRG93bkFyZ3MgPSB7IHBheWxvYWQ6IFBheWxvYWQ7IHJlcT86IFBhcnRpYWw8UGF5bG9hZFJlcXVlc3Q+IH1cblxuZGVjbGFyZSBtb2R1bGUgJ3BheWxvYWQnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUFkYXB0ZXJcbiAgICBleHRlbmRzIE9taXQ8QXJncywgJ21pZ3JhdGlvbkRpcicgfCAncG9vbCc+LFxuICAgICAgQmFzZURhdGFiYXNlQWRhcHRlciB7XG4gICAgZHJpenpsZTogRHJpenpsZURCXG4gICAgZW51bXM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNFbnVtPlxuICAgIGZpZWxkQ29uc3RyYWludHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+XG4gICAgcG9vbDogUG9vbFxuICAgIHB1c2g6IGJvb2xlYW5cbiAgICByZWxhdGlvbnM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNSZWxhdGlvbj5cbiAgICBzY2hlbWE6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNFbnVtIHwgR2VuZXJpY1JlbGF0aW9uIHwgR2VuZXJpY1RhYmxlPlxuICAgIHNlc3Npb25zOiB7XG4gICAgICBbaWQ6IHN0cmluZ106IHtcbiAgICAgICAgZGI6IERyaXp6bGVUcmFuc2FjdGlvblxuICAgICAgICByZWplY3Q6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgICAgICAgcmVzb2x2ZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAgICAgfVxuICAgIH1cbiAgICB0YWJsZXM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNUYWJsZT5cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJGQSxXQUFpRiJ9
|
package/dist/update.js
CHANGED
@@ -1,32 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
}
|
5
|
-
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return updateOne;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
|
-
const _chainMethods = require("./find/chainMethods");
|
13
|
-
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
14
|
-
const _upsertRow = require("./upsertRow");
|
15
|
-
function _interop_require_default(obj) {
|
16
|
-
return obj && obj.__esModule ? obj : {
|
17
|
-
default: obj
|
18
|
-
};
|
19
|
-
}
|
20
|
-
const updateOne = async function updateOne({ id, collection: collectionSlug, data, draft, locale, req, where: whereArg }) {
|
1
|
+
import toSnakeCase from 'to-snake-case';
|
2
|
+
import { chainMethods } from './find/chainMethods';
|
3
|
+
import buildQuery from './queries/buildQuery';
|
4
|
+
import { upsertRow } from './upsertRow';
|
5
|
+
export const updateOne = async function updateOne({ id, collection: collectionSlug, data, draft, locale, req, where: whereArg }) {
|
21
6
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
22
7
|
const collection = this.payload.collections[collectionSlug].config;
|
23
|
-
const tableName = (
|
8
|
+
const tableName = toSnakeCase(collectionSlug);
|
24
9
|
const whereToUse = whereArg || {
|
25
10
|
id: {
|
26
11
|
equals: id
|
27
12
|
}
|
28
13
|
};
|
29
|
-
const { joinAliases, joins, selectFields, where } = await (
|
14
|
+
const { joinAliases, joins, selectFields, where } = await buildQuery({
|
30
15
|
adapter: this,
|
31
16
|
fields: collection.fields,
|
32
17
|
locale,
|
@@ -71,7 +56,7 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
|
|
71
56
|
],
|
72
57
|
method: 'limit'
|
73
58
|
});
|
74
|
-
const selectDistinctResult = await
|
59
|
+
const selectDistinctResult = await chainMethods({
|
75
60
|
methods: selectDistinctMethods,
|
76
61
|
query: db.selectDistinct(selectFields).from(this.tables[tableName])
|
77
62
|
});
|
@@ -79,17 +64,17 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
|
|
79
64
|
idToUpdate = selectDistinctResult?.[0]?.id;
|
80
65
|
}
|
81
66
|
}
|
82
|
-
const result = await
|
67
|
+
const result = await upsertRow({
|
83
68
|
id: idToUpdate,
|
84
69
|
adapter: this,
|
85
70
|
data,
|
86
71
|
db,
|
87
72
|
fields: collection.fields,
|
88
73
|
operation: 'update',
|
89
|
-
tableName: (
|
74
|
+
tableName: toSnakeCase(collectionSlug),
|
90
75
|
req
|
91
76
|
});
|
92
77
|
return result;
|
93
78
|
};
|
94
79
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBDaGFpbmVkTWV0aG9kcyB9IGZyb20gJy4vZmluZC9jaGFpbk1ldGhvZHMnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2ZpbmQvY2hhaW5NZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLCBkYXRhLCBkcmFmdCwgbG9jYWxlLCByZXEsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHdoZXJlVG9Vc2UgPSB3aGVyZUFyZyB8fCB7IGlkOiB7IGVxdWFsczogaWQgfSB9XG5cbiAgY29uc3QgeyBqb2luQWxpYXNlcywgam9pbnMsIHNlbGVjdEZpZWxkcywgd2hlcmUgfSA9IGF3YWl0IGJ1aWxkUXVlcnkoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGxldCBpZFRvVXBkYXRlID0gaWRcblxuICAvLyBvbmx5IGZldGNoIElEcyB3aGVuIGEgc29ydCBvciB3aGVyZSBxdWVyeSBpcyB1c2VkIHRoYXQgbmVlZHMgdG8gYmUgZG9uZSBvbiBqb2luIHRhYmxlcywgb3RoZXJ3aXNlIHRoZXNlIGNhbiBiZSBkb25lIGRpcmVjdGx5IG9uIHRoZSB0YWJsZSBpbiBmaW5kTWFueVxuICBpZiAoT2JqZWN0LmtleXMoam9pbnMpLmxlbmd0aCA+IDAgfHwgam9pbkFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFt3aGVyZV0sIG1ldGhvZDogJ3doZXJlJyB9KVxuICAgIH1cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFt0aGlzLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goeyBhcmdzOiBbMV0sIG1ldGhvZDogJ2xpbWl0JyB9KVxuXG4gICAgY29uc3Qgc2VsZWN0RGlzdGluY3RSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0RGlzdGluY3RNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiLnNlbGVjdERpc3RpbmN0KHNlbGVjdEZpZWxkcykuZnJvbSh0aGlzLnRhYmxlc1t0YWJsZU5hbWVdKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkKSB7XG4gICAgICBpZFRvVXBkYXRlID0gc2VsZWN0RGlzdGluY3RSZXN1bHQ/
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBDaGFpbmVkTWV0aG9kcyB9IGZyb20gJy4vZmluZC9jaGFpbk1ldGhvZHMnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2ZpbmQvY2hhaW5NZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLCBkYXRhLCBkcmFmdCwgbG9jYWxlLCByZXEsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHdoZXJlVG9Vc2UgPSB3aGVyZUFyZyB8fCB7IGlkOiB7IGVxdWFsczogaWQgfSB9XG5cbiAgY29uc3QgeyBqb2luQWxpYXNlcywgam9pbnMsIHNlbGVjdEZpZWxkcywgd2hlcmUgfSA9IGF3YWl0IGJ1aWxkUXVlcnkoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGxldCBpZFRvVXBkYXRlID0gaWRcblxuICAvLyBvbmx5IGZldGNoIElEcyB3aGVuIGEgc29ydCBvciB3aGVyZSBxdWVyeSBpcyB1c2VkIHRoYXQgbmVlZHMgdG8gYmUgZG9uZSBvbiBqb2luIHRhYmxlcywgb3RoZXJ3aXNlIHRoZXNlIGNhbiBiZSBkb25lIGRpcmVjdGx5IG9uIHRoZSB0YWJsZSBpbiBmaW5kTWFueVxuICBpZiAoT2JqZWN0LmtleXMoam9pbnMpLmxlbmd0aCA+IDAgfHwgam9pbkFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFt3aGVyZV0sIG1ldGhvZDogJ3doZXJlJyB9KVxuICAgIH1cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFt0aGlzLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goeyBhcmdzOiBbMV0sIG1ldGhvZDogJ2xpbWl0JyB9KVxuXG4gICAgY29uc3Qgc2VsZWN0RGlzdGluY3RSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0RGlzdGluY3RNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiLnNlbGVjdERpc3RpbmN0KHNlbGVjdEZpZWxkcykuZnJvbSh0aGlzLnRhYmxlc1t0YWJsZU5hbWVdKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkKSB7XG4gICAgICBpZFRvVXBkYXRlID0gc2VsZWN0RGlzdGluY3RSZXN1bHQ/LlswXT8uaWRcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGlkOiBpZFRvVXBkYXRlLFxuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ0b1NuYWtlQ2FzZSIsImNoYWluTWV0aG9kcyIsImJ1aWxkUXVlcnkiLCJ1cHNlcnRSb3ciLCJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJkcmFmdCIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ3aGVyZVRvVXNlIiwiZXF1YWxzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsInNlbGVjdEZpZWxkcyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJpZFRvVXBkYXRlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInNlbGVjdERpc3RpbmN0TWV0aG9kcyIsInB1c2giLCJhcmdzIiwibWV0aG9kIiwiZm9yRWFjaCIsImNvbmRpdGlvbiIsInRhYmxlIiwiZW50cmllcyIsImpvaW5UYWJsZSIsInRhYmxlcyIsInNlbGVjdERpc3RpbmN0UmVzdWx0IiwibWV0aG9kcyIsInF1ZXJ5Iiwic2VsZWN0RGlzdGluY3QiLCJmcm9tIiwicmVzdWx0Iiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPQSxpQkFBaUIsZ0JBQWU7QUFHdkMsU0FBU0MsWUFBWSxRQUFRLHNCQUFxQjtBQUVsRCxPQUFPQyxnQkFBZ0IsdUJBQXNCO0FBQzdDLFNBQVNDLFNBQVMsUUFBUSxjQUFhO0FBRXZDLE9BQU8sTUFBTUMsWUFBdUIsZUFBZUEsVUFFakQsRUFBRUMsRUFBRSxFQUFFQyxZQUFZQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLEdBQUcsRUFBRUMsT0FBT0MsUUFBUSxFQUFFO0lBRTdFLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNKLElBQUlLLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNWCxhQUFhLElBQUksQ0FBQ1ksT0FBTyxDQUFDQyxXQUFXLENBQUNaLGVBQWUsQ0FBQ2EsTUFBTTtJQUNsRSxNQUFNQyxZQUFZckIsWUFBWU87SUFDOUIsTUFBTWUsYUFBYVQsWUFBWTtRQUFFUixJQUFJO1lBQUVrQixRQUFRbEI7UUFBRztJQUFFO0lBRXBELE1BQU0sRUFBRW1CLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVkLEtBQUssRUFBRSxHQUFHLE1BQU1WLFdBQVc7UUFDbkV5QixTQUFTLElBQUk7UUFDYkMsUUFBUXRCLFdBQVdzQixNQUFNO1FBQ3pCbEI7UUFDQVc7UUFDQVQsT0FBT1U7SUFDVDtJQUVBLElBQUlPLGFBQWF4QjtJQUVqQix3SkFBd0o7SUFDeEosSUFBSXlCLE9BQU9DLElBQUksQ0FBQ04sT0FBT08sTUFBTSxHQUFHLEtBQUtSLFlBQVlRLE1BQU0sR0FBRyxHQUFHO1FBQzNELE1BQU1DLHdCQUF3QyxFQUFFO1FBRWhELElBQUlyQixPQUFPO1lBQ1RxQixzQkFBc0JDLElBQUksQ0FBQztnQkFBRUMsTUFBTTtvQkFBQ3ZCO2lCQUFNO2dCQUFFd0IsUUFBUTtZQUFRO1FBQzlEO1FBRUFaLFlBQVlhLE9BQU8sQ0FBQyxDQUFDLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFO1lBQ3ZDTixzQkFBc0JDLElBQUksQ0FBQztnQkFDekJDLE1BQU07b0JBQUNJO29CQUFPRDtpQkFBVTtnQkFDeEJGLFFBQVE7WUFDVjtRQUNGO1FBRUFOLE9BQU9VLE9BQU8sQ0FBQ2YsT0FBT1ksT0FBTyxDQUFDLENBQUMsQ0FBQ0ksV0FBV0gsVUFBVTtZQUNuRCxJQUFJRyxXQUFXO2dCQUNiUixzQkFBc0JDLElBQUksQ0FBQztvQkFDekJDLE1BQU07d0JBQUMsSUFBSSxDQUFDTyxNQUFNLENBQUNELFVBQVU7d0JBQUVIO3FCQUFVO29CQUN6Q0YsUUFBUTtnQkFDVjtZQUNGO1FBQ0Y7UUFFQUgsc0JBQXNCQyxJQUFJLENBQUM7WUFBRUMsTUFBTTtnQkFBQzthQUFFO1lBQUVDLFFBQVE7UUFBUTtRQUV4RCxNQUFNTyx1QkFBdUIsTUFBTTFDLGFBQWE7WUFDOUMyQyxTQUFTWDtZQUNUWSxPQUFPL0IsR0FBR2dDLGNBQWMsQ0FBQ3BCLGNBQWNxQixJQUFJLENBQUMsSUFBSSxDQUFDTCxNQUFNLENBQUNyQixVQUFVO1FBQ3BFO1FBRUEsSUFBSXNCLHNCQUFzQixDQUFDLEVBQUUsRUFBRXRDLElBQUk7WUFDakN3QixhQUFhYyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUV0QztRQUMxQztJQUNGO0lBRUEsTUFBTTJDLFNBQVMsTUFBTTdDLFVBQVU7UUFDN0JFLElBQUl3QjtRQUNKRixTQUFTLElBQUk7UUFDYm5CO1FBQ0FNO1FBQ0FjLFFBQVF0QixXQUFXc0IsTUFBTTtRQUN6QnFCLFdBQVc7UUFDWDVCLFdBQVdyQixZQUFZTztRQUN2Qkk7SUFDRjtJQUVBLE9BQU9xQztBQUNULEVBQUMifQ==
|
package/dist/updateGlobal.js
CHANGED
@@ -1,26 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "updateGlobal", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return updateGlobal;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
|
-
const _upsertRow = require("./upsertRow");
|
13
|
-
function _interop_require_default(obj) {
|
14
|
-
return obj && obj.__esModule ? obj : {
|
15
|
-
default: obj
|
16
|
-
};
|
17
|
-
}
|
18
|
-
async function updateGlobal({ data, req = {}, slug }) {
|
1
|
+
import toSnakeCase from 'to-snake-case';
|
2
|
+
import { upsertRow } from './upsertRow';
|
3
|
+
export async function updateGlobal({ data, req = {}, slug }) {
|
19
4
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
20
5
|
const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
|
21
|
-
const tableName = (
|
6
|
+
const tableName = toSnakeCase(slug);
|
22
7
|
const existingGlobal = await db.query[tableName].findFirst({});
|
23
|
-
const result = await
|
8
|
+
const result = await upsertRow({
|
24
9
|
...existingGlobal ? {
|
25
10
|
id: existingGlobal.id,
|
26
11
|
operation: 'update'
|
@@ -37,4 +22,4 @@ async function updateGlobal({ data, req = {}, slug }) {
|
|
37
22
|
return result;
|
38
23
|
}
|
39
24
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBVcGRhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBVcGRhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWcgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoY29uZmlnKSA9PiBjb25maWcuc2x1ZyA9PT0gc2x1ZylcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2Uoc2x1ZylcblxuICBjb25zdCBleGlzdGluZ0dsb2JhbCA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KHt9KVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUPih7XG4gICAgLi4uKGV4aXN0aW5nR2xvYmFsID8geyBpZDogZXhpc3RpbmdHbG9iYWwuaWQsIG9wZXJhdGlvbjogJ3VwZGF0ZScgfSA6IHsgb3BlcmF0aW9uOiAnY3JlYXRlJyB9KSxcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGEsXG4gICAgZGIsXG4gICAgZmllbGRzOiBnbG9iYWxDb25maWcuZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgICByZXEsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInRvU25ha2VDYXNlIiwidXBzZXJ0Um93IiwidXBkYXRlR2xvYmFsIiwiZGF0YSIsInJlcSIsInNsdWciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJ0YWJsZU5hbWUiLCJleGlzdGluZ0dsb2JhbCIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwiaWQiLCJvcGVyYXRpb24iLCJhZGFwdGVyIiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSxpQkFBaUIsZ0JBQWU7QUFJdkMsU0FBU0MsU0FBUyxRQUFRLGNBQWE7QUFFdkMsT0FBTyxlQUFlQyxhQUVwQixFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxJQUFJLEVBQW9CO0lBRTVELE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNILElBQUlJLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNQyxlQUFlLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUNELFNBQVdBLE9BQU9SLElBQUksS0FBS0E7SUFDbEYsTUFBTVUsWUFBWWYsWUFBWUs7SUFFOUIsTUFBTVcsaUJBQWlCLE1BQU1WLEdBQUdXLEtBQUssQ0FBQ0YsVUFBVSxDQUFDRyxTQUFTLENBQUMsQ0FBQztJQUU1RCxNQUFNQyxTQUFTLE1BQU1sQixVQUFhO1FBQ2hDLEdBQUllLGlCQUFpQjtZQUFFSSxJQUFJSixlQUFlSSxFQUFFO1lBQUVDLFdBQVc7UUFBUyxJQUFJO1lBQUVBLFdBQVc7UUFBUyxDQUFDO1FBQzdGQyxTQUFTLElBQUk7UUFDYm5CO1FBQ0FHO1FBQ0FpQixRQUFRYixhQUFhYSxNQUFNO1FBQzNCUjtRQUNBWDtJQUNGO0lBRUEsT0FBT2U7QUFDVCJ9
|
@@ -1,23 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
}
|
5
|
-
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return updateGlobalVersion;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _versions = require("payload/versions");
|
12
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
|
-
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
14
|
-
const _upsertRow = require("./upsertRow");
|
15
|
-
function _interop_require_default(obj) {
|
16
|
-
return obj && obj.__esModule ? obj : {
|
17
|
-
default: obj
|
18
|
-
};
|
19
|
-
}
|
20
|
-
async function updateGlobalVersion({ id, global, locale, req = {}, versionData, where: whereArg }) {
|
1
|
+
import { buildVersionGlobalFields } from 'payload/versions';
|
2
|
+
import toSnakeCase from 'to-snake-case';
|
3
|
+
import buildQuery from './queries/buildQuery';
|
4
|
+
import { upsertRow } from './upsertRow';
|
5
|
+
export async function updateGlobalVersion({ id, global, locale, req = {}, versionData, where: whereArg }) {
|
21
6
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
22
7
|
const globalConfig = this.payload.globals.config.find(({ slug })=>slug === global);
|
23
8
|
const whereToUse = whereArg || {
|
@@ -25,16 +10,16 @@ async function updateGlobalVersion({ id, global, locale, req = {}, versionData,
|
|
25
10
|
equals: id
|
26
11
|
}
|
27
12
|
};
|
28
|
-
const tableName = `_${(
|
29
|
-
const fields =
|
30
|
-
const { where } = await (
|
13
|
+
const tableName = `_${toSnakeCase(global)}_v`;
|
14
|
+
const fields = buildVersionGlobalFields(globalConfig);
|
15
|
+
const { where } = await buildQuery({
|
31
16
|
adapter: this,
|
32
17
|
fields,
|
33
18
|
locale,
|
34
19
|
tableName,
|
35
20
|
where: whereToUse
|
36
21
|
});
|
37
|
-
const result = await
|
22
|
+
const result = await upsertRow({
|
38
23
|
id,
|
39
24
|
adapter: this,
|
40
25
|
data: versionData,
|
@@ -48,4 +33,4 @@ async function updateGlobalVersion({ id, global, locale, req = {}, versionData,
|
|
48
33
|
return result;
|
49
34
|
}
|
50
35
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uLCBVcGRhdGVHbG9iYWxWZXJzaW9uQXJncyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbFZlcnNpb248VCBleHRlbmRzIFR5cGVXaXRoSUQ+KFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHtcbiAgICBpZCxcbiAgICBnbG9iYWwsXG4gICAgbG9jYWxlLFxuICAgIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIHZlcnNpb25EYXRhLFxuICAgIHdoZXJlOiB3aGVyZUFyZyxcbiAgfTogVXBkYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gdGhpcy5wYXlsb2FkLmdsb2JhbHMuY29uZmlnLmZpbmQoXG4gICAgKHsgc2x1ZyB9KSA9PiBzbHVnID09PSBnbG9iYWwsXG4gIClcbiAgY29uc3Qgd2hlcmVUb1VzZSA9IHdoZXJlQXJnIHx8IHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH1cbiAgY29uc3QgdGFibGVOYW1lID0gYF8ke3RvU25ha2VDYXNlKGdsb2JhbCl9X3ZgXG4gIGNvbnN0IGZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhnbG9iYWxDb25maWcpXG5cbiAgY29uc3QgeyB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogd2hlcmVUb1VzZSxcbiAgfSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uLCBVcGRhdGVHbG9iYWxWZXJzaW9uQXJncyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbFZlcnNpb248VCBleHRlbmRzIFR5cGVXaXRoSUQ+KFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHtcbiAgICBpZCxcbiAgICBnbG9iYWwsXG4gICAgbG9jYWxlLFxuICAgIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIHZlcnNpb25EYXRhLFxuICAgIHdoZXJlOiB3aGVyZUFyZyxcbiAgfTogVXBkYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gdGhpcy5wYXlsb2FkLmdsb2JhbHMuY29uZmlnLmZpbmQoXG4gICAgKHsgc2x1ZyB9KSA9PiBzbHVnID09PSBnbG9iYWwsXG4gIClcbiAgY29uc3Qgd2hlcmVUb1VzZSA9IHdoZXJlQXJnIHx8IHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH1cbiAgY29uc3QgdGFibGVOYW1lID0gYF8ke3RvU25ha2VDYXNlKGdsb2JhbCl9X3ZgXG4gIGNvbnN0IGZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhnbG9iYWxDb25maWcpXG5cbiAgY29uc3QgeyB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogd2hlcmVUb1VzZSxcbiAgfSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+Pih7XG4gICAgaWQsXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB2ZXJzaW9uRGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHMsXG4gICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJ0b1NuYWtlQ2FzZSIsImJ1aWxkUXVlcnkiLCJ1cHNlcnRSb3ciLCJ1cGRhdGVHbG9iYWxWZXJzaW9uIiwiaWQiLCJnbG9iYWwiLCJsb2NhbGUiLCJyZXEiLCJ2ZXJzaW9uRGF0YSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJzbHVnIiwid2hlcmVUb1VzZSIsImVxdWFscyIsInRhYmxlTmFtZSIsImZpZWxkcyIsImFkYXB0ZXIiLCJyZXN1bHQiLCJkYXRhIiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSx3QkFBd0IsUUFBUSxtQkFBa0I7QUFDM0QsT0FBT0MsaUJBQWlCLGdCQUFlO0FBSXZDLE9BQU9DLGdCQUFnQix1QkFBc0I7QUFDN0MsU0FBU0MsU0FBUyxRQUFRLGNBQWE7QUFFdkMsT0FBTyxlQUFlQyxvQkFFcEIsRUFDRUMsRUFBRSxFQUNGQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1hDLE9BQU9DLFFBQVEsRUFDWTtJQUU3QixNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDTCxJQUFJTSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBc0MsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQzFFLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNmO0lBRXpCLE1BQU1nQixhQUFhWCxZQUFZO1FBQUVOLElBQUk7WUFBRWtCLFFBQVFsQjtRQUFHO0lBQUU7SUFDcEQsTUFBTW1CLFlBQVksQ0FBQyxDQUFDLEVBQUV2QixZQUFZSyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxNQUFNbUIsU0FBU3pCLHlCQUF5QmdCO0lBRXhDLE1BQU0sRUFBRU4sS0FBSyxFQUFFLEdBQUcsTUFBTVIsV0FBVztRQUNqQ3dCLFNBQVMsSUFBSTtRQUNiRDtRQUNBbEI7UUFDQWlCO1FBQ0FkLE9BQU9ZO0lBQ1Q7SUFFQSxNQUFNSyxTQUFTLE1BQU14QixVQUE4QjtRQUNqREU7UUFDQXFCLFNBQVMsSUFBSTtRQUNiRSxNQUFNbkI7UUFDTkc7UUFDQWE7UUFDQUksV0FBVztRQUNYTDtRQUNBZDtRQUNBRjtJQUNGO0lBRUEsT0FBT21CO0FBQ1QifQ==
|