@payloadcms/db-postgres 3.0.0-alpha.18 → 3.0.0-alpha.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/dist/connect.js +17 -32
  2. package/dist/create.js +6 -21
  3. package/dist/createGlobal.js +6 -21
  4. package/dist/createGlobalVersion.js +10 -25
  5. package/dist/createMigration.js +11 -26
  6. package/dist/createVersion.js +10 -25
  7. package/dist/deleteMany.js +8 -23
  8. package/dist/deleteOne.js +10 -25
  9. package/dist/deleteVersions.js +10 -25
  10. package/dist/destroy.js +2 -12
  11. package/dist/find/buildFindManyArgs.js +6 -14
  12. package/dist/find/chainMethods.js +2 -11
  13. package/dist/find/findMany.js +14 -29
  14. package/dist/find/traverseFields.js +8 -23
  15. package/dist/find.js +6 -21
  16. package/dist/findGlobal.js +6 -21
  17. package/dist/findGlobalVersions.js +8 -23
  18. package/dist/findOne.js +6 -21
  19. package/dist/findVersions.js +8 -23
  20. package/dist/index.js +72 -87
  21. package/dist/init.js +17 -32
  22. package/dist/migrate.js +15 -30
  23. package/dist/migrateDown.js +12 -22
  24. package/dist/migrateFresh.js +15 -28
  25. package/dist/migrateRefresh.js +18 -26
  26. package/dist/migrateReset.js +13 -21
  27. package/dist/migrateStatus.js +9 -19
  28. package/dist/queries/buildAndOrConditions.js +4 -14
  29. package/dist/queries/buildQuery.js +10 -20
  30. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +4 -14
  31. package/dist/queries/createJSONQuery/formatJSONPathSegment.js +2 -12
  32. package/dist/queries/createJSONQuery/index.js +6 -16
  33. package/dist/queries/getTableColumnFromPath.js +38 -49
  34. package/dist/queries/operatorMap.js +17 -27
  35. package/dist/queries/parseParams.js +32 -42
  36. package/dist/queries/sanitizeQueryValue.js +8 -18
  37. package/dist/queryDrafts.js +10 -25
  38. package/dist/schema/build.js +49 -64
  39. package/dist/schema/createIndex.js +5 -15
  40. package/dist/schema/idToUUID.js +2 -12
  41. package/dist/schema/parentIDColumnMap.js +7 -17
  42. package/dist/schema/setColumnID.js +10 -20
  43. package/dist/schema/traverseFields.js +62 -77
  44. package/dist/schema/validateExistingBlockIsIdentical.js +9 -19
  45. package/dist/transactions/beginTransaction.js +4 -14
  46. package/dist/transactions/commitTransaction.js +2 -12
  47. package/dist/transactions/rollbackTransaction.js +2 -12
  48. package/dist/transform/read/hasManyNumber.js +2 -12
  49. package/dist/transform/read/hasManyText.js +2 -12
  50. package/dist/transform/read/index.js +12 -20
  51. package/dist/transform/read/relationship.js +2 -12
  52. package/dist/transform/read/traverseFields.js +15 -23
  53. package/dist/transform/write/array.js +6 -16
  54. package/dist/transform/write/blocks.js +6 -21
  55. package/dist/transform/write/index.js +4 -14
  56. package/dist/transform/write/numbers.js +2 -12
  57. package/dist/transform/write/relationships.js +4 -14
  58. package/dist/transform/write/selects.js +4 -14
  59. package/dist/transform/write/texts.js +2 -12
  60. package/dist/transform/write/traverseFields.js +30 -45
  61. package/dist/transform/write/types.js +2 -5
  62. package/dist/types.js +2 -5
  63. package/dist/update.js +11 -26
  64. package/dist/updateGlobal.js +6 -21
  65. package/dist/updateGlobalVersion.js +10 -25
  66. package/dist/updateVersion.js +10 -25
  67. package/dist/upsertRow/deleteExistingArrayRows.js +5 -15
  68. package/dist/upsertRow/deleteExistingRowsByPath.js +9 -19
  69. package/dist/upsertRow/index.js +24 -34
  70. package/dist/upsertRow/insertArrays.js +2 -12
  71. package/dist/upsertRow/types.js +2 -5
  72. package/dist/utilities/appendPrefixToKeys.js +2 -12
  73. package/dist/utilities/createBlocksMap.js +2 -12
  74. package/dist/utilities/createMigrationTable.js +4 -14
  75. package/dist/utilities/createRelationshipMap.js +2 -12
  76. package/dist/utilities/hasLocalesTable.js +5 -15
  77. package/dist/utilities/isArrayOfRows.js +2 -12
  78. package/dist/utilities/migrationTableExists.js +4 -14
  79. package/dist/utilities/parseError.js +6 -14
  80. package/package.json +5 -4
@@ -1,34 +1,19 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "traverseFields", {
6
- enumerable: true,
7
- get: function() {
8
- return traverseFields;
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 ((0, _types.fieldAffectsData)(field)) {
31
- columnName = `${columnPrefix || ''}${(0, _tosnakecase.default)(field.name)}`;
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 = (0, _array.transformArray)({
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 = (0, _array.transformArray)({
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((0, _tosnakecase.default)(slug));
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
- (0, _blocks.transformBlocks)({
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 ((0, _isArrayOfRows.isArrayOfRows)(fieldData)) {
109
- (0, _blocks.transformBlocks)({
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 || ''}${(0, _tosnakecase.default)(tab.name)}_`,
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 || ''}${(0, _tosnakecase.default)(tab.name)}_`,
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
- (0, _relationships.transformRelationship)({
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
- (0, _relationships.transformRelationship)({
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
- (0, _texts.transformTexts)({
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
- (0, _texts.transformTexts)({
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
- (0, _numbers.transformNumbers)({
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
- (0, _numbers.transformNumbers)({
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 = (0, _selects.transformSelects)({
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 = (0, _selects.transformSelects)({
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 ((0, _types.fieldAffectsData)(field)) {
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+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdkYXRlJyAmJiBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0Jykge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobG9jYWxlS2V5KSB7XG4gICAgICAgICAgICByZWZbbG9jYWxlS2V5XVtmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVmW2ZpZWxkTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhZGFwdGVyIiwiYXJyYXlzIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImJsb2Nrc1RvRGVsZXRlIiwiY29sdW1uUHJlZml4IiwiZGF0YSIsImV4aXN0aW5nTG9jYWxlcyIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwiZm9yY2VkTG9jYWxlIiwibG9jYWxlcyIsInRleHRzIiwibnVtYmVycyIsInBhcmVudFRhYmxlTmFtZSIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwicm93Iiwic2VsZWN0cyIsImZvckVhY2giLCJmaWVsZCIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJmaWVsZERhdGEiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJuYW1lIiwidHlwZSIsImFycmF5VGFibGVOYW1lIiwibG9jYWxpemVkIiwiT2JqZWN0IiwiZW50cmllcyIsImxvY2FsZUtleSIsImxvY2FsZURhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdSb3dzIiwidHJhbnNmb3JtQXJyYXkiLCJsb2NhbGUiLCJjb25jYXQiLCJzbHVnIiwiYWRkIiwidHJhbnNmb3JtQmxvY2tzIiwiaXNBcnJheU9mUm93cyIsInRhYnMiLCJ0YWIiLCJyZWxhdGlvbnNoaXBQYXRoIiwicHVzaCIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsImJhc2VSb3ciLCJsZW5ndGgiLCJoYXNNYW55IiwidGV4dFBhdGgiLCJ0cmFuc2Zvcm1UZXh0cyIsIm51bWJlclBhdGgiLCJ0cmFuc2Zvcm1OdW1iZXJzIiwic2VsZWN0VGFibGVOYW1lIiwidHJhbnNmb3JtU2VsZWN0cyIsImlkIiwiX3V1aWQiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE4RHZCQTs7O2VBQUFBOzs7dUJBM0RvQjtvRUFDVDsrQkFLTTt1QkFDQzt3QkFDQzt5QkFDQzsrQkFDSzt5QkFDTDt1QkFDRjs7Ozs7O0FBK0N4QixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLFlBQVksRUFDWkMsSUFBSSxFQUNKQyxlQUFlLEVBQ2ZDLFdBQVcsRUFDWEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLE9B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
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJyYXlSb3dUb0luc2VydCA9IHtcbiAgYXJyYXlzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogQXJyYXlSb3dUb0luc2VydFtdXG4gIH1cbiAgbG9jYWxlczoge1xuICAgIFtsb2NhbGU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgcm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgdHlwZSBCbG9ja1Jvd1RvSW5zZXJ0ID0ge1xuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICBsb2NhbGVzOiB7XG4gICAgW2xvY2FsZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxuICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uc2hpcFRvRGVsZXRlID0ge1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFJvd1RvSW5zZXJ0ID0ge1xuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgbG9jYWxlczoge1xuICAgIFtsb2NhbGU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNlbGVjdHM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsV0FtQkMifQ==
package/dist/types.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "updateOne", {
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 = (0, _tosnakecase.default)(collectionSlug);
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 (0, _buildQuery.default)({
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 (0, _chainMethods.chainMethods)({
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 (0, _upsertRow.upsertRow)({
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: (0, _tosnakecase.default)(collectionSlug),
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/LlswXT8uaWRcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGlkOiBpZFRvVXBkYXRlLFxuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJkcmFmdCIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsIndoZXJlVG9Vc2UiLCJlcXVhbHMiLCJqb2luQWxpYXNlcyIsImpvaW5zIiwic2VsZWN0RmllbGRzIiwiYnVpbGRRdWVyeSIsImFkYXB0ZXIiLCJmaWVsZHMiLCJpZFRvVXBkYXRlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInNlbGVjdERpc3RpbmN0TWV0aG9kcyIsInB1c2giLCJhcmdzIiwibWV0aG9kIiwiZm9yRWFjaCIsImNvbmRpdGlvbiIsInRhYmxlIiwiZW50cmllcyIsImpvaW5UYWJsZSIsInRhYmxlcyIsInNlbGVjdERpc3RpbmN0UmVzdWx0IiwiY2hhaW5NZXRob2RzIiwibWV0aG9kcyIsInF1ZXJ5Iiwic2VsZWN0RGlzdGluY3QiLCJmcm9tIiwicmVzdWx0IiwidXBzZXJ0Um93Iiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7b0VBUlc7OEJBR0s7bUVBRU47MkJBQ0c7Ozs7OztBQUVuQixNQUFNQSxZQUF1QixlQUFlQSxVQUVqRCxFQUFFQyxFQUFFLEVBQUVDLFlBQVlDLGNBQWMsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxPQUFPQyxRQUFRLEVBQUU7SUFFN0UsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0osSUFBSUssYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1YLGFBQWEsSUFBSSxDQUFDWSxPQUFPLENBQUNDLFdBQVcsQ0FBQ1osZUFBZSxDQUFDYSxNQUFNO0lBQ2xFLE1BQU1DLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNmO0lBQzlCLE1BQU1nQixhQUFhVixZQUFZO1FBQUVSLElBQUk7WUFBRW1CLFFBQVFuQjtRQUFHO0lBQUU7SUFFcEQsTUFBTSxFQUFFb0IsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRWYsS0FBSyxFQUFFLEdBQUcsTUFBTWdCLElBQUFBLG1CQUFVLEVBQUM7UUFDbkVDLFNBQVMsSUFBSTtRQUNiQyxRQUFReEIsV0FBV3dCLE1BQU07UUFDekJwQjtRQUNBVztRQUNBVCxPQUFPVztJQUNUO0lBRUEsSUFBSVEsYUFBYTFCO0lBRWpCLHdKQUF3SjtJQUN4SixJQUFJMkIsT0FBT0MsSUFBSSxDQUFDUCxPQUFPUSxNQUFNLEdBQUcsS0FBS1QsWUFBWVMsTUFBTSxHQUFHLEdBQUc7UUFDM0QsTUFBTUMsd0JBQXdDLEVBQUU7UUFFaEQsSUFBSXZCLE9BQU87WUFDVHVCLHNCQUFzQkMsSUFBSSxDQUFDO2dCQUFFQyxNQUFNO29CQUFDekI7aUJBQU07Z0JBQUUwQixRQUFRO1lBQVE7UUFDOUQ7UUFFQWIsWUFBWWMsT0FBTyxDQUFDLENBQUMsRUFBRUMsU0FBUyxFQUFFQyxLQUFLLEVBQUU7WUFDdkNOLHNCQUFzQkMsSUFBSSxDQUFDO2dCQUN6QkMsTUFBTTtvQkFBQ0k7b0JBQU9EO2lCQUFVO2dCQUN4QkYsUUFBUTtZQUNWO1FBQ0Y7UUFFQU4sT0FBT1UsT0FBTyxDQUFDaEIsT0FBT2EsT0FBTyxDQUFDLENBQUMsQ0FBQ0ksV0FBV0gsVUFBVTtZQUNuRCxJQUFJRyxXQUFXO2dCQUNiUixzQkFBc0JDLElBQUksQ0FBQztvQkFDekJDLE1BQU07d0JBQUMsSUFBSSxDQUFDTyxNQUFNLENBQUNELFVBQVU7d0JBQUVIO3FCQUFVO29CQUN6Q0YsUUFBUTtnQkFDVjtZQUNGO1FBQ0Y7UUFFQUgsc0JBQXNCQyxJQUFJLENBQUM7WUFBRUMsTUFBTTtnQkFBQzthQUFFO1lBQUVDLFFBQVE7UUFBUTtRQUV4RCxNQUFNTyx1QkFBdUIsTUFBTUMsSUFBQUEsMEJBQVksRUFBQztZQUM5Q0MsU0FBU1o7WUFDVGEsT0FBT2xDLEdBQUdtQyxjQUFjLENBQUN0QixjQUFjdUIsSUFBSSxDQUFDLElBQUksQ0FBQ04sTUFBTSxDQUFDdkIsVUFBVTtRQUNwRTtRQUVBLElBQUl3QixzQkFBc0IsQ0FBQyxFQUFFLEVBQUV4QyxJQUFJO1lBQ2pDMEIsYUFBYWMsc0JBQXNCLENBQUMsRUFBRSxFQUFFeEM7UUFDMUM7SUFDRjtJQUVBLE1BQU04QyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUM7UUFDN0IvQyxJQUFJMEI7UUFDSkYsU0FBUyxJQUFJO1FBQ2JyQjtRQUNBTTtRQUNBZ0IsUUFBUXhCLFdBQVd3QixNQUFNO1FBQ3pCdUIsV0FBVztRQUNYaEMsV0FBV0MsSUFBQUEsb0JBQVcsRUFBQ2Y7UUFDdkJJO0lBQ0Y7SUFFQSxPQUFPd0M7QUFDVCJ9
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBDaGFpbmVkTWV0aG9kcyB9IGZyb20gJy4vZmluZC9jaGFpbk1ldGhvZHMnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2ZpbmQvY2hhaW5NZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLCBkYXRhLCBkcmFmdCwgbG9jYWxlLCByZXEsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHdoZXJlVG9Vc2UgPSB3aGVyZUFyZyB8fCB7IGlkOiB7IGVxdWFsczogaWQgfSB9XG5cbiAgY29uc3QgeyBqb2luQWxpYXNlcywgam9pbnMsIHNlbGVjdEZpZWxkcywgd2hlcmUgfSA9IGF3YWl0IGJ1aWxkUXVlcnkoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGxldCBpZFRvVXBkYXRlID0gaWRcblxuICAvLyBvbmx5IGZldGNoIElEcyB3aGVuIGEgc29ydCBvciB3aGVyZSBxdWVyeSBpcyB1c2VkIHRoYXQgbmVlZHMgdG8gYmUgZG9uZSBvbiBqb2luIHRhYmxlcywgb3RoZXJ3aXNlIHRoZXNlIGNhbiBiZSBkb25lIGRpcmVjdGx5IG9uIHRoZSB0YWJsZSBpbiBmaW5kTWFueVxuICBpZiAoT2JqZWN0LmtleXMoam9pbnMpLmxlbmd0aCA+IDAgfHwgam9pbkFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFt3aGVyZV0sIG1ldGhvZDogJ3doZXJlJyB9KVxuICAgIH1cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFt0aGlzLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goeyBhcmdzOiBbMV0sIG1ldGhvZDogJ2xpbWl0JyB9KVxuXG4gICAgY29uc3Qgc2VsZWN0RGlzdGluY3RSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0RGlzdGluY3RNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiLnNlbGVjdERpc3RpbmN0KHNlbGVjdEZpZWxkcykuZnJvbSh0aGlzLnRhYmxlc1t0YWJsZU5hbWVdKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkKSB7XG4gICAgICBpZFRvVXBkYXRlID0gc2VsZWN0RGlzdGluY3RSZXN1bHQ/LlswXT8uaWRcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGlkOiBpZFRvVXBkYXRlLFxuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ0b1NuYWtlQ2FzZSIsImNoYWluTWV0aG9kcyIsImJ1aWxkUXVlcnkiLCJ1cHNlcnRSb3ciLCJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJkcmFmdCIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ3aGVyZVRvVXNlIiwiZXF1YWxzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsInNlbGVjdEZpZWxkcyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJpZFRvVXBkYXRlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInNlbGVjdERpc3RpbmN0TWV0aG9kcyIsInB1c2giLCJhcmdzIiwibWV0aG9kIiwiZm9yRWFjaCIsImNvbmRpdGlvbiIsInRhYmxlIiwiZW50cmllcyIsImpvaW5UYWJsZSIsInRhYmxlcyIsInNlbGVjdERpc3RpbmN0UmVzdWx0IiwibWV0aG9kcyIsInF1ZXJ5Iiwic2VsZWN0RGlzdGluY3QiLCJmcm9tIiwicmVzdWx0Iiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPQSxpQkFBaUIsZ0JBQWU7QUFHdkMsU0FBU0MsWUFBWSxRQUFRLHNCQUFxQjtBQUVsRCxPQUFPQyxnQkFBZ0IsdUJBQXNCO0FBQzdDLFNBQVNDLFNBQVMsUUFBUSxjQUFhO0FBRXZDLE9BQU8sTUFBTUMsWUFBdUIsZUFBZUEsVUFFakQsRUFBRUMsRUFBRSxFQUFFQyxZQUFZQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLEdBQUcsRUFBRUMsT0FBT0MsUUFBUSxFQUFFO0lBRTdFLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNKLElBQUlLLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNWCxhQUFhLElBQUksQ0FBQ1ksT0FBTyxDQUFDQyxXQUFXLENBQUNaLGVBQWUsQ0FBQ2EsTUFBTTtJQUNsRSxNQUFNQyxZQUFZckIsWUFBWU87SUFDOUIsTUFBTWUsYUFBYVQsWUFBWTtRQUFFUixJQUFJO1lBQUVrQixRQUFRbEI7UUFBRztJQUFFO0lBRXBELE1BQU0sRUFBRW1CLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVkLEtBQUssRUFBRSxHQUFHLE1BQU1WLFdBQVc7UUFDbkV5QixTQUFTLElBQUk7UUFDYkMsUUFBUXRCLFdBQVdzQixNQUFNO1FBQ3pCbEI7UUFDQVc7UUFDQVQsT0FBT1U7SUFDVDtJQUVBLElBQUlPLGFBQWF4QjtJQUVqQix3SkFBd0o7SUFDeEosSUFBSXlCLE9BQU9DLElBQUksQ0FBQ04sT0FBT08sTUFBTSxHQUFHLEtBQUtSLFlBQVlRLE1BQU0sR0FBRyxHQUFHO1FBQzNELE1BQU1DLHdCQUF3QyxFQUFFO1FBRWhELElBQUlyQixPQUFPO1lBQ1RxQixzQkFBc0JDLElBQUksQ0FBQztnQkFBRUMsTUFBTTtvQkFBQ3ZCO2lCQUFNO2dCQUFFd0IsUUFBUTtZQUFRO1FBQzlEO1FBRUFaLFlBQVlhLE9BQU8sQ0FBQyxDQUFDLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFO1lBQ3ZDTixzQkFBc0JDLElBQUksQ0FBQztnQkFDekJDLE1BQU07b0JBQUNJO29CQUFPRDtpQkFBVTtnQkFDeEJGLFFBQVE7WUFDVjtRQUNGO1FBRUFOLE9BQU9VLE9BQU8sQ0FBQ2YsT0FBT1ksT0FBTyxDQUFDLENBQUMsQ0FBQ0ksV0FBV0gsVUFBVTtZQUNuRCxJQUFJRyxXQUFXO2dCQUNiUixzQkFBc0JDLElBQUksQ0FBQztvQkFDekJDLE1BQU07d0JBQUMsSUFBSSxDQUFDTyxNQUFNLENBQUNELFVBQVU7d0JBQUVIO3FCQUFVO29CQUN6Q0YsUUFBUTtnQkFDVjtZQUNGO1FBQ0Y7UUFFQUgsc0JBQXNCQyxJQUFJLENBQUM7WUFBRUMsTUFBTTtnQkFBQzthQUFFO1lBQUVDLFFBQVE7UUFBUTtRQUV4RCxNQUFNTyx1QkFBdUIsTUFBTTFDLGFBQWE7WUFDOUMyQyxTQUFTWDtZQUNUWSxPQUFPL0IsR0FBR2dDLGNBQWMsQ0FBQ3BCLGNBQWNxQixJQUFJLENBQUMsSUFBSSxDQUFDTCxNQUFNLENBQUNyQixVQUFVO1FBQ3BFO1FBRUEsSUFBSXNCLHNCQUFzQixDQUFDLEVBQUUsRUFBRXRDLElBQUk7WUFDakN3QixhQUFhYyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUV0QztRQUMxQztJQUNGO0lBRUEsTUFBTTJDLFNBQVMsTUFBTTdDLFVBQVU7UUFDN0JFLElBQUl3QjtRQUNKRixTQUFTLElBQUk7UUFDYm5CO1FBQ0FNO1FBQ0FjLFFBQVF0QixXQUFXc0IsTUFBTTtRQUN6QnFCLFdBQVc7UUFDWDVCLFdBQVdyQixZQUFZTztRQUN2Qkk7SUFDRjtJQUVBLE9BQU9xQztBQUNULEVBQUMifQ==
@@ -1,26 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
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 = (0, _tosnakecase.default)(slug);
6
+ const tableName = toSnakeCase(slug);
22
7
  const existingGlobal = await db.query[tableName].findFirst({});
23
- const result = await (0, _upsertRow.upsertRow)({
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/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWcgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoY29uZmlnKSA9PiBjb25maWcuc2x1ZyA9PT0gc2x1ZylcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2Uoc2x1ZylcblxuICBjb25zdCBleGlzdGluZ0dsb2JhbCA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KHt9KVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUPih7XG4gICAgLi4uKGV4aXN0aW5nR2xvYmFsID8geyBpZDogZXhpc3RpbmdHbG9iYWwuaWQsIG9wZXJhdGlvbjogJ3VwZGF0ZScgfSA6IHsgb3BlcmF0aW9uOiAnY3JlYXRlJyB9KSxcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGEsXG4gICAgZGIsXG4gICAgZmllbGRzOiBnbG9iYWxDb25maWcuZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgICByZXEsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZUdsb2JhbCIsImRhdGEiLCJyZXEiLCJzbHVnIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiZ2xvYmFsQ29uZmlnIiwicGF5bG9hZCIsImdsb2JhbHMiLCJjb25maWciLCJmaW5kIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJleGlzdGluZ0dsb2JhbCIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidXBzZXJ0Um93IiwiaWQiLCJvcGVyYXRpb24iLCJhZGFwdGVyIiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQVNzQkE7OztlQUFBQTs7O29FQU5FOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsYUFFcEIsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsSUFBSSxFQUFvQjtJQUU1RCxNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDSCxJQUFJSSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBZSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDRCxTQUFXQSxPQUFPUixJQUFJLEtBQUtBO0lBQ2xGLE1BQU1VLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNYO0lBRTlCLE1BQU1ZLGlCQUFpQixNQUFNWCxHQUFHWSxLQUFLLENBQUNILFVBQVUsQ0FBQ0ksU0FBUyxDQUFDLENBQUM7SUFFNUQsTUFBTUMsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFJO1FBQ2hDLEdBQUlKLGlCQUFpQjtZQUFFSyxJQUFJTCxlQUFlSyxFQUFFO1lBQUVDLFdBQVc7UUFBUyxJQUFJO1lBQUVBLFdBQVc7UUFBUyxDQUFDO1FBQzdGQyxTQUFTLElBQUk7UUFDYnJCO1FBQ0FHO1FBQ0FtQixRQUFRZixhQUFhZSxNQUFNO1FBQzNCVjtRQUNBWDtJQUNGO0lBRUEsT0FBT2dCO0FBQ1QifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBVcGRhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWcgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoY29uZmlnKSA9PiBjb25maWcuc2x1ZyA9PT0gc2x1ZylcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2Uoc2x1ZylcblxuICBjb25zdCBleGlzdGluZ0dsb2JhbCA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KHt9KVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUPih7XG4gICAgLi4uKGV4aXN0aW5nR2xvYmFsID8geyBpZDogZXhpc3RpbmdHbG9iYWwuaWQsIG9wZXJhdGlvbjogJ3VwZGF0ZScgfSA6IHsgb3BlcmF0aW9uOiAnY3JlYXRlJyB9KSxcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGEsXG4gICAgZGIsXG4gICAgZmllbGRzOiBnbG9iYWxDb25maWcuZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgICByZXEsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInRvU25ha2VDYXNlIiwidXBzZXJ0Um93IiwidXBkYXRlR2xvYmFsIiwiZGF0YSIsInJlcSIsInNsdWciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJ0YWJsZU5hbWUiLCJleGlzdGluZ0dsb2JhbCIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwiaWQiLCJvcGVyYXRpb24iLCJhZGFwdGVyIiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSxpQkFBaUIsZ0JBQWU7QUFJdkMsU0FBU0MsU0FBUyxRQUFRLGNBQWE7QUFFdkMsT0FBTyxlQUFlQyxhQUVwQixFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxJQUFJLEVBQW9CO0lBRTVELE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNILElBQUlJLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNQyxlQUFlLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUNELFNBQVdBLE9BQU9SLElBQUksS0FBS0E7SUFDbEYsTUFBTVUsWUFBWWYsWUFBWUs7SUFFOUIsTUFBTVcsaUJBQWlCLE1BQU1WLEdBQUdXLEtBQUssQ0FBQ0YsVUFBVSxDQUFDRyxTQUFTLENBQUMsQ0FBQztJQUU1RCxNQUFNQyxTQUFTLE1BQU1sQixVQUFhO1FBQ2hDLEdBQUllLGlCQUFpQjtZQUFFSSxJQUFJSixlQUFlSSxFQUFFO1lBQUVDLFdBQVc7UUFBUyxJQUFJO1lBQUVBLFdBQVc7UUFBUyxDQUFDO1FBQzdGQyxTQUFTLElBQUk7UUFDYm5CO1FBQ0FHO1FBQ0FpQixRQUFRYixhQUFhYSxNQUFNO1FBQzNCUjtRQUNBWDtJQUNGO0lBRUEsT0FBT2U7QUFDVCJ9
@@ -1,23 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "updateGlobalVersion", {
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 = `_${(0, _tosnakecase.default)(global)}_v`;
29
- const fields = (0, _versions.buildVersionGlobalFields)(globalConfig);
30
- const { where } = await (0, _buildQuery.default)({
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 (0, _upsertRow.upsertRow)({
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+Pih7XG4gICAgaWQsXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB2ZXJzaW9uRGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHMsXG4gICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVHbG9iYWxWZXJzaW9uIiwiaWQiLCJnbG9iYWwiLCJsb2NhbGUiLCJyZXEiLCJ2ZXJzaW9uRGF0YSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJzbHVnIiwid2hlcmVUb1VzZSIsImVxdWFscyIsInRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwiZmllbGRzIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIiwiYnVpbGRRdWVyeSIsImFkYXB0ZXIiLCJyZXN1bHQiLCJ1cHNlcnRSb3ciLCJkYXRhIiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVdzQkE7OztlQUFBQTs7OzBCQVJtQjtvRUFDakI7bUVBSUQ7MkJBQ0c7Ozs7OztBQUVuQixlQUFlQSxvQkFFcEIsRUFDRUMsRUFBRSxFQUNGQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1hDLE9BQU9DLFFBQVEsRUFDWTtJQUU3QixNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDTCxJQUFJTSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBc0MsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQzFFLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNmO0lBRXpCLE1BQU1nQixhQUFhWCxZQUFZO1FBQUVOLElBQUk7WUFBRWtCLFFBQVFsQjtRQUFHO0lBQUU7SUFDcEQsTUFBTW1CLFlBQVksQ0FBQyxDQUFDLEVBQUVDLElBQUFBLG9CQUFXLEVBQUNuQixRQUFRLEVBQUUsQ0FBQztJQUM3QyxNQUFNb0IsU0FBU0MsSUFBQUEsa0NBQXdCLEVBQUNYO0lBRXhDLE1BQU0sRUFBRU4sS0FBSyxFQUFFLEdBQUcsTUFBTWtCLElBQUFBLG1CQUFVLEVBQUM7UUFDakNDLFNBQVMsSUFBSTtRQUNiSDtRQUNBbkI7UUFDQWlCO1FBQ0FkLE9BQU9ZO0lBQ1Q7SUFFQSxNQUFNUSxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEMUI7UUFDQXdCLFNBQVMsSUFBSTtRQUNiRyxNQUFNdkI7UUFDTkc7UUFDQWM7UUFDQU8sV0FBVztRQUNYVDtRQUNBZDtRQUNBRjtJQUNGO0lBRUEsT0FBT3NCO0FBQ1QifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uLCBVcGRhdGVHbG9iYWxWZXJzaW9uQXJncyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUdsb2JhbFZlcnNpb248VCBleHRlbmRzIFR5cGVXaXRoSUQ+KFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHtcbiAgICBpZCxcbiAgICBnbG9iYWwsXG4gICAgbG9jYWxlLFxuICAgIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIHZlcnNpb25EYXRhLFxuICAgIHdoZXJlOiB3aGVyZUFyZyxcbiAgfTogVXBkYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gdGhpcy5wYXlsb2FkLmdsb2JhbHMuY29uZmlnLmZpbmQoXG4gICAgKHsgc2x1ZyB9KSA9PiBzbHVnID09PSBnbG9iYWwsXG4gIClcbiAgY29uc3Qgd2hlcmVUb1VzZSA9IHdoZXJlQXJnIHx8IHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH1cbiAgY29uc3QgdGFibGVOYW1lID0gYF8ke3RvU25ha2VDYXNlKGdsb2JhbCl9X3ZgXG4gIGNvbnN0IGZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhnbG9iYWxDb25maWcpXG5cbiAgY29uc3QgeyB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogd2hlcmVUb1VzZSxcbiAgfSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+Pih7XG4gICAgaWQsXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB2ZXJzaW9uRGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHMsXG4gICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJ0b1NuYWtlQ2FzZSIsImJ1aWxkUXVlcnkiLCJ1cHNlcnRSb3ciLCJ1cGRhdGVHbG9iYWxWZXJzaW9uIiwiaWQiLCJnbG9iYWwiLCJsb2NhbGUiLCJyZXEiLCJ2ZXJzaW9uRGF0YSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJzbHVnIiwid2hlcmVUb1VzZSIsImVxdWFscyIsInRhYmxlTmFtZSIsImZpZWxkcyIsImFkYXB0ZXIiLCJyZXN1bHQiLCJkYXRhIiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSx3QkFBd0IsUUFBUSxtQkFBa0I7QUFDM0QsT0FBT0MsaUJBQWlCLGdCQUFlO0FBSXZDLE9BQU9DLGdCQUFnQix1QkFBc0I7QUFDN0MsU0FBU0MsU0FBUyxRQUFRLGNBQWE7QUFFdkMsT0FBTyxlQUFlQyxvQkFFcEIsRUFDRUMsRUFBRSxFQUNGQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1hDLE9BQU9DLFFBQVEsRUFDWTtJQUU3QixNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDTCxJQUFJTSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBc0MsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQzFFLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNmO0lBRXpCLE1BQU1nQixhQUFhWCxZQUFZO1FBQUVOLElBQUk7WUFBRWtCLFFBQVFsQjtRQUFHO0lBQUU7SUFDcEQsTUFBTW1CLFlBQVksQ0FBQyxDQUFDLEVBQUV2QixZQUFZSyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxNQUFNbUIsU0FBU3pCLHlCQUF5QmdCO0lBRXhDLE1BQU0sRUFBRU4sS0FBSyxFQUFFLEdBQUcsTUFBTVIsV0FBVztRQUNqQ3dCLFNBQVMsSUFBSTtRQUNiRDtRQUNBbEI7UUFDQWlCO1FBQ0FkLE9BQU9ZO0lBQ1Q7SUFFQSxNQUFNSyxTQUFTLE1BQU14QixVQUE4QjtRQUNqREU7UUFDQXFCLFNBQVMsSUFBSTtRQUNiRSxNQUFNbkI7UUFDTkc7UUFDQWE7UUFDQUksV0FBVztRQUNYTDtRQUNBZDtRQUNBRjtJQUNGO0lBRUEsT0FBT21CO0FBQ1QifQ==