@payloadcms/db-postgres 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.js +1 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +7 -9
- package/dist/createGlobal.d.ts +1 -1
- package/dist/createGlobal.d.ts.map +1 -1
- package/dist/createGlobal.js +8 -10
- package/dist/createGlobalVersion.d.ts +1 -1
- package/dist/createGlobalVersion.d.ts.map +1 -1
- package/dist/createGlobalVersion.js +12 -14
- package/dist/createMigration.js +1 -1
- package/dist/createVersion.d.ts.map +1 -1
- package/dist/createVersion.js +22 -19
- package/dist/deleteMany.js +6 -8
- package/dist/deleteOne.d.ts.map +1 -1
- package/dist/deleteOne.js +6 -3
- package/dist/deleteVersions.d.ts.map +1 -1
- package/dist/deleteVersions.js +7 -8
- package/dist/destroy.js +1 -1
- package/dist/find/buildFindManyArgs.js +3 -3
- package/dist/find/chainMethods.js +1 -1
- package/dist/find/findMany.js +2 -2
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +23 -11
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +10 -11
- package/dist/findGlobal.d.ts.map +1 -1
- package/dist/findGlobal.js +7 -9
- package/dist/findGlobalVersions.d.ts.map +1 -1
- package/dist/findGlobalVersions.js +7 -8
- package/dist/findOne.d.ts +1 -1
- package/dist/findOne.d.ts.map +1 -1
- package/dist/findOne.js +9 -10
- package/dist/findVersions.d.ts.map +1 -1
- package/dist/findVersions.js +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +28 -15
- package/dist/migrate.js +1 -1
- package/dist/migrateDown.js +1 -1
- package/dist/migrateFresh.js +1 -1
- package/dist/migrateRefresh.js +1 -1
- package/dist/migrateReset.js +1 -1
- package/dist/migrateStatus.js +1 -1
- package/dist/queries/buildAndOrConditions.js +1 -1
- package/dist/queries/buildQuery.js +1 -1
- package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +1 -1
- package/dist/queries/createJSONQuery/formatJSONPathSegment.js +1 -1
- package/dist/queries/createJSONQuery/index.js +1 -1
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +148 -42
- package/dist/queries/operatorMap.js +1 -1
- package/dist/queries/parseParams.js +1 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +5 -2
- package/dist/queries/selectDistinct.js +1 -1
- package/dist/queryDrafts.d.ts.map +1 -1
- package/dist/queryDrafts.js +7 -8
- package/dist/schema/build.d.ts +2 -1
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +19 -14
- package/dist/schema/createIndex.js +1 -1
- package/dist/schema/getTableName.d.ts +32 -0
- package/dist/schema/getTableName.d.ts.map +1 -0
- package/dist/schema/getTableName.js +43 -0
- package/dist/schema/idToUUID.js +1 -1
- package/dist/schema/parentIDColumnMap.js +1 -1
- package/dist/schema/setColumnID.js +1 -1
- package/dist/schema/traverseFields.d.ts +2 -1
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +55 -17
- package/dist/schema/validateExistingBlockIsIdentical.d.ts +2 -1
- package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
- package/dist/schema/validateExistingBlockIsIdentical.js +12 -6
- package/dist/transactions/beginTransaction.js +1 -1
- package/dist/transactions/commitTransaction.js +1 -1
- package/dist/transactions/rollbackTransaction.js +1 -1
- package/dist/transform/read/hasManyNumber.js +1 -1
- package/dist/transform/read/hasManyText.js +1 -1
- package/dist/transform/read/index.js +1 -1
- package/dist/transform/read/relationship.js +1 -1
- package/dist/transform/read/traverseFields.js +1 -1
- package/dist/transform/write/array.js +1 -1
- package/dist/transform/write/blocks.d.ts +2 -2
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +4 -4
- package/dist/transform/write/index.js +1 -1
- package/dist/transform/write/numbers.js +1 -1
- package/dist/transform/write/relationships.js +1 -1
- package/dist/transform/write/selects.js +1 -1
- package/dist/transform/write/texts.js +1 -1
- package/dist/transform/write/traverseFields.d.ts +2 -2
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +34 -25
- package/dist/transform/write/types.js +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +7 -4
- package/dist/updateGlobal.d.ts +1 -1
- package/dist/updateGlobal.d.ts.map +1 -1
- package/dist/updateGlobal.js +9 -11
- package/dist/updateGlobalVersion.d.ts.map +1 -1
- package/dist/updateGlobalVersion.js +9 -5
- package/dist/updateVersion.d.ts.map +1 -1
- package/dist/updateVersion.js +9 -5
- package/dist/upsertRow/deleteExistingArrayRows.js +1 -1
- package/dist/upsertRow/deleteExistingRowsByPath.js +1 -1
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +7 -6
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +3 -3
- package/dist/upsertRow/types.d.ts +1 -1
- package/dist/upsertRow/types.d.ts.map +1 -1
- package/dist/upsertRow/types.js +1 -1
- package/dist/utilities/appendPrefixToKeys.js +1 -1
- package/dist/utilities/createBlocksMap.js +1 -1
- package/dist/utilities/createMigrationTable.js +1 -1
- package/dist/utilities/createRelationshipMap.js +1 -1
- package/dist/utilities/hasLocalesTable.js +1 -1
- package/dist/utilities/isArrayOfRows.js +1 -1
- package/dist/utilities/migrationTableExists.js +1 -1
- package/dist/utilities/parseError.js +1 -1
- package/package.json +2 -2
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "traverseFields", {
|
|
10
10
|
});
|
11
11
|
const _types = require("payload/types");
|
12
12
|
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
|
+
const _getTableName = require("../../schema/getTableName");
|
13
14
|
const _isArrayOfRows = require("../../utilities/isArrayOfRows");
|
14
15
|
const _array = require("./array");
|
15
16
|
const _blocks = require("./blocks");
|
@@ -22,13 +23,18 @@ function _interop_require_default(obj) {
|
|
22
23
|
default: obj
|
23
24
|
};
|
24
25
|
}
|
25
|
-
const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales,
|
26
|
+
const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, texts })=>{
|
26
27
|
fields.forEach((field)=>{
|
27
28
|
let columnName = '';
|
28
29
|
let fieldName = '';
|
29
30
|
let fieldData;
|
30
31
|
if ((0, _types.fieldAffectsData)(field)) {
|
31
|
-
columnName = `${columnPrefix || ''}${(0,
|
32
|
+
columnName = `${columnPrefix || ''}${(0, _getTableName.getTableName)({
|
33
|
+
adapter,
|
34
|
+
config: field,
|
35
|
+
// do not pass columnPrefix here because it is required and custom dbNames also need it
|
36
|
+
prefix: ''
|
37
|
+
})}`;
|
32
38
|
fieldName = `${fieldPrefix || ''}${field.name}`;
|
33
39
|
fieldData = data[field.name];
|
34
40
|
}
|
@@ -48,12 +54,12 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
48
54
|
data: localeData,
|
49
55
|
field,
|
50
56
|
locale: localeKey,
|
51
|
-
texts,
|
52
57
|
numbers,
|
53
58
|
path,
|
54
59
|
relationships,
|
55
60
|
relationshipsToDelete,
|
56
|
-
selects
|
61
|
+
selects,
|
62
|
+
texts
|
57
63
|
});
|
58
64
|
arrays[arrayTableName] = arrays[arrayTableName].concat(newRows);
|
59
65
|
}
|
@@ -68,20 +74,23 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
68
74
|
blocksToDelete,
|
69
75
|
data: data[field.name],
|
70
76
|
field,
|
71
|
-
texts,
|
72
77
|
numbers,
|
73
78
|
path,
|
74
79
|
relationships,
|
75
80
|
relationshipsToDelete,
|
76
|
-
selects
|
81
|
+
selects,
|
82
|
+
texts
|
77
83
|
});
|
78
84
|
arrays[arrayTableName] = arrays[arrayTableName].concat(newRows);
|
79
85
|
}
|
80
86
|
return;
|
81
87
|
}
|
82
88
|
if (field.type === 'blocks') {
|
83
|
-
field.blocks.forEach((
|
84
|
-
blocksToDelete.add((0,
|
89
|
+
field.blocks.forEach((block)=>{
|
90
|
+
blocksToDelete.add((0, _getTableName.getTableName)({
|
91
|
+
adapter,
|
92
|
+
config: block
|
93
|
+
}));
|
85
94
|
});
|
86
95
|
if (field.localized) {
|
87
96
|
if (typeof data[field.name] === 'object' && data[field.name] !== null) {
|
@@ -95,12 +104,12 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
95
104
|
data: localeData,
|
96
105
|
field,
|
97
106
|
locale: localeKey,
|
98
|
-
texts,
|
99
107
|
numbers,
|
100
108
|
path,
|
101
109
|
relationships,
|
102
110
|
relationshipsToDelete,
|
103
|
-
selects
|
111
|
+
selects,
|
112
|
+
texts
|
104
113
|
});
|
105
114
|
}
|
106
115
|
});
|
@@ -113,12 +122,12 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
113
122
|
blocksToDelete,
|
114
123
|
data: fieldData,
|
115
124
|
field,
|
116
|
-
texts,
|
117
125
|
numbers,
|
118
126
|
path,
|
119
127
|
relationships,
|
120
128
|
relationshipsToDelete,
|
121
|
-
selects
|
129
|
+
selects,
|
130
|
+
texts
|
122
131
|
});
|
123
132
|
}
|
124
133
|
return;
|
@@ -140,14 +149,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
140
149
|
fields: field.fields,
|
141
150
|
forcedLocale: localeKey,
|
142
151
|
locales,
|
143
|
-
texts,
|
144
152
|
numbers,
|
145
153
|
parentTableName,
|
146
154
|
path: `${path || ''}${field.name}.`,
|
147
155
|
relationships,
|
148
156
|
relationshipsToDelete,
|
149
157
|
row,
|
150
|
-
selects
|
158
|
+
selects,
|
159
|
+
texts
|
151
160
|
});
|
152
161
|
});
|
153
162
|
} else {
|
@@ -163,14 +172,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
163
172
|
fieldPrefix: `${fieldName}_`,
|
164
173
|
fields: field.fields,
|
165
174
|
locales,
|
166
|
-
texts,
|
167
175
|
numbers,
|
168
176
|
parentTableName,
|
169
177
|
path: `${path || ''}${field.name}.`,
|
170
178
|
relationships,
|
171
179
|
relationshipsToDelete,
|
172
180
|
row,
|
173
|
-
selects
|
181
|
+
selects,
|
182
|
+
texts
|
174
183
|
});
|
175
184
|
}
|
176
185
|
}
|
@@ -195,14 +204,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
195
204
|
fields: tab.fields,
|
196
205
|
forcedLocale: localeKey,
|
197
206
|
locales,
|
198
|
-
texts,
|
199
207
|
numbers,
|
200
208
|
parentTableName,
|
201
209
|
path: `${path || ''}${tab.name}.`,
|
202
210
|
relationships,
|
203
211
|
relationshipsToDelete,
|
204
212
|
row,
|
205
|
-
selects
|
213
|
+
selects,
|
214
|
+
texts
|
206
215
|
});
|
207
216
|
});
|
208
217
|
} else {
|
@@ -218,14 +227,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
218
227
|
fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,
|
219
228
|
fields: tab.fields,
|
220
229
|
locales,
|
221
|
-
texts,
|
222
230
|
numbers,
|
223
231
|
parentTableName,
|
224
232
|
path: `${path || ''}${tab.name}.`,
|
225
233
|
relationships,
|
226
234
|
relationshipsToDelete,
|
227
235
|
row,
|
228
|
-
selects
|
236
|
+
selects,
|
237
|
+
texts
|
229
238
|
});
|
230
239
|
}
|
231
240
|
}
|
@@ -242,14 +251,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
242
251
|
fieldPrefix,
|
243
252
|
fields: tab.fields,
|
244
253
|
locales,
|
245
|
-
texts,
|
246
254
|
numbers,
|
247
255
|
parentTableName,
|
248
256
|
path,
|
249
257
|
relationships,
|
250
258
|
relationshipsToDelete,
|
251
259
|
row,
|
252
|
-
selects
|
260
|
+
selects,
|
261
|
+
texts
|
253
262
|
});
|
254
263
|
}
|
255
264
|
});
|
@@ -267,14 +276,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
267
276
|
fieldPrefix,
|
268
277
|
fields: field.fields,
|
269
278
|
locales,
|
270
|
-
texts,
|
271
279
|
numbers,
|
272
280
|
parentTableName,
|
273
281
|
path,
|
274
282
|
relationships,
|
275
283
|
relationshipsToDelete,
|
276
284
|
row,
|
277
|
-
selects
|
285
|
+
selects,
|
286
|
+
texts
|
278
287
|
});
|
279
288
|
}
|
280
289
|
if (field.type === 'relationship' || field.type === 'upload') {
|
@@ -440,4 +449,4 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
440
449
|
});
|
441
450
|
};
|
442
451
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1UZXh0cyB9IGZyb20gJy4vdGV4dHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgYmxvY2tzVG9EZWxldGU6IFNldDxzdHJpbmc+XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGNvbHVtblByZWZpeCxcbiAgZGF0YSxcbiAgZXhpc3RpbmdMb2NhbGVzLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZWRMb2NhbGUsXG4gIGxvY2FsZXMsXG4gIHRleHRzLFxuICBudW1iZXJzLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgcm93LFxuICBzZWxlY3RzLFxufTogQXJncykgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBsZXQgY29sdW1uTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkRGF0YTogdW5rbm93blxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG5cbiAgICAgIGlmICghYXJyYXlzW2FycmF5VGFibGVOYW1lXSkgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKCh7IHNsdWcgfSkgPT4ge1xuICAgICAgICBibG9ja3NUb0RlbGV0ZS5hZGQodG9TbmFrZUNhc2Uoc2x1ZykpXG4gICAgICB9KVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXlPZlJvd3MoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbdGFiLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW3RhYi5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRhYi5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVt0YWIubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke3RvU25ha2VDYXNlKHRhYi5uYW1lKX1fYCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhW3RhYi5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7dGFiLm5hbWV9X2AsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncm93JyB8fCBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICBkYXRhLFxuICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgdGV4dHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICByb3csXG4gICAgICAgIHNlbGVjdHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAobG9jYWxlRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkRGF0YSA9PT0gbnVsbCB8fCAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpICYmIGZpZWxkRGF0YS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goeyBwYXRoOiByZWxhdGlvbnNoaXBQYXRoIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0ZXh0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCB0ZXh0UGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBwYXRoOiB0ZXh0UGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtVGV4dHMoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3QgbnVtYmVyUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IG51bWJlclBhdGgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgdHJhbnNmb3JtTnVtYmVycyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YFxuICAgICAgaWYgKCFzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1TZWxlY3RzKHtcbiAgICAgICAgICAgICAgICBpZDogZGF0YS5fdXVpZCB8fCBkYXRhLmlkLFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgaWQ6IGRhdGEuX3V1aWQgfHwgZGF0YS5pZCxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KVxuXG4gICAgICAgIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXS5jb25jYXQobmV3Um93cylcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCB2YWx1ZXNUb1RyYW5zZm9ybTogeyBsb2NhbGVLZXk/OiBzdHJpbmc7IHJlZjogdW5rbm93bjsgdmFsdWU6IHVua25vd24gfVtdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcgJiYgZmllbGREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFsb2NhbGVzW2xvY2FsZUtleV0pIGxvY2FsZXNbbG9jYWxlS2V5XSA9IHt9XG5cbiAgICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goe1xuICAgICAgICAgICAgICBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIHJlZjogbG9jYWxlcyxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCByZWYgPSByb3dcblxuICAgICAgICBpZiAoZm9yY2VkTG9jYWxlKSB7XG4gICAgICAgICAgaWYgKCFsb2NhbGVzW2ZvcmNlZExvY2FsZV0pIGxvY2FsZXNbZm9yY2VkTG9jYWxlXSA9IHt9XG4gICAgICAgICAgcmVmID0gbG9jYWxlc1tmb3JjZWRMb2NhbGVdXG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmLCB2YWx1ZTogZmllbGREYXRhIH0pXG4gICAgICB9XG5cbiAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLmZvckVhY2goKHsgbG9jYWxlS2V5LCByZWYsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdkYXRlJyAmJiBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0Jykge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobG9jYWxlS2V5KSB7XG4gICAgICAgICAgICByZWZbbG9jYWxlS2V5XVtmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVmW2ZpZWxkTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhZGFwdGVyIiwiYXJyYXlzIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImJsb2Nrc1RvRGVsZXRlIiwiY29sdW1uUHJlZml4IiwiZGF0YSIsImV4aXN0aW5nTG9jYWxlcyIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwiZm9yY2VkTG9jYWxlIiwibG9jYWxlcyIsInRleHRzIiwibnVtYmVycyIsInBhcmVudFRhYmxlTmFtZSIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwicm93Iiwic2VsZWN0cyIsImZvckVhY2giLCJmaWVsZCIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJmaWVsZERhdGEiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJuYW1lIiwidHlwZSIsImFycmF5VGFibGVOYW1lIiwibG9jYWxpemVkIiwiT2JqZWN0IiwiZW50cmllcyIsImxvY2FsZUtleSIsImxvY2FsZURhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdSb3dzIiwidHJhbnNmb3JtQXJyYXkiLCJsb2NhbGUiLCJjb25jYXQiLCJzbHVnIiwiYWRkIiwidHJhbnNmb3JtQmxvY2tzIiwiaXNBcnJheU9mUm93cyIsInRhYnMiLCJ0YWIiLCJyZWxhdGlvbnNoaXBQYXRoIiwicHVzaCIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsImJhc2VSb3ciLCJsZW5ndGgiLCJoYXNNYW55IiwidGV4dFBhdGgiLCJ0cmFuc2Zvcm1UZXh0cyIsIm51bWJlclBhdGgiLCJ0cmFuc2Zvcm1OdW1iZXJzIiwic2VsZWN0VGFibGVOYW1lIiwidHJhbnNmb3JtU2VsZWN0cyIsImlkIiwiX3V1aWQiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE4RHZCQTs7O2VBQUFBOzs7dUJBM0RvQjtvRUFDVDsrQkFLTTt1QkFDQzt3QkFDQzt5QkFDQzsrQkFDSzt5QkFDTDt1QkFDRjs7Ozs7O0FBK0N4QixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLFlBQVksRUFDWkMsSUFBSSxFQUNKQyxlQUFlLEVBQ2ZDLFdBQVcsRUFDWEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLE9B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
|
452
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFRhYmxlTmFtZSB9IGZyb20gJy4uLy4uL3NjaGVtYS9nZXRUYWJsZU5hbWUnXG5pbXBvcnQgeyBpc0FycmF5T2ZSb3dzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2lzQXJyYXlPZlJvd3MnXG5pbXBvcnQgeyB0cmFuc2Zvcm1BcnJheSB9IGZyb20gJy4vYXJyYXknXG5pbXBvcnQgeyB0cmFuc2Zvcm1CbG9ja3MgfSBmcm9tICcuL2Jsb2NrcydcbmltcG9ydCB7IHRyYW5zZm9ybU51bWJlcnMgfSBmcm9tICcuL251bWJlcnMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAgfSBmcm9tICcuL3JlbGF0aW9uc2hpcHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1TZWxlY3RzIH0gZnJvbSAnLi9zZWxlY3RzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtVGV4dHMgfSBmcm9tICcuL3RleHRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgYmFzZSB0YWJsZVxuICAgKi9cbiAgYmFzZVRhYmxlTmFtZTogc3RyaW5nXG4gIGJsb2Nrczoge1xuICAgIFtibG9ja1R5cGU6IHN0cmluZ106IEJsb2NrUm93VG9JbnNlcnRbXVxuICB9XG4gIGJsb2Nrc1RvRGVsZXRlOiBTZXQ8c3RyaW5nPlxuICAvKipcbiAgICogQSBzbmFrZS1jYXNlIGZpZWxkIHByZWZpeCwgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlfZ3JvdXBfbXlfbmFtZWRfdGFiX1xuICAgKi9cbiAgY29sdW1uUHJlZml4OiBzdHJpbmdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZXhpc3RpbmdMb2NhbGVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICAvKipcbiAgICogQSBwcmVmaXggdGhhdCB3aWxsIHJldGFpbiBjYW1lbC1jYXNlIGZvcm1hdHRpbmcsIHJlcHJlc2VudGluZyBwcmlvciBmaWVsZHNcbiAgICogRXg6IG15R3JvdXBfbXlOYW1lZFRhYl9cbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGZvcmNlZExvY2FsZT86IHN0cmluZ1xuICBsb2NhbGVzOiB7XG4gICAgW2xvY2FsZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBwYXJlbnQgdGFibGVcbiAgICovXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHBhdGg6IHN0cmluZ1xuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNlbGVjdHM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYXJyYXlzLFxuICBiYXNlVGFibGVOYW1lLFxuICBibG9ja3MsXG4gIGJsb2Nrc1RvRGVsZXRlLFxuICBjb2x1bW5QcmVmaXgsXG4gIGRhdGEsXG4gIGV4aXN0aW5nTG9jYWxlcyxcbiAgZmllbGRQcmVmaXgsXG4gIGZpZWxkcyxcbiAgZm9yY2VkTG9jYWxlLFxuICBsb2NhbGVzLFxuICBudW1iZXJzLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgcm93LFxuICBzZWxlY3RzLFxuICB0ZXh0cyxcbn06IEFyZ3MpID0+IHtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgbGV0IGNvbHVtbk5hbWUgPSAnJ1xuICAgIGxldCBmaWVsZE5hbWUgPSAnJ1xuICAgIGxldCBmaWVsZERhdGE6IHVua25vd25cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29sdW1uTmFtZSA9IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke2dldFRhYmxlTmFtZSh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGNvbmZpZzogZmllbGQsXG4gICAgICAgIC8vIGRvIG5vdCBwYXNzIGNvbHVtblByZWZpeCBoZXJlIGJlY2F1c2UgaXQgaXMgcmVxdWlyZWQgYW5kIGN1c3RvbSBkYk5hbWVzIGFsc28gbmVlZCBpdFxuICAgICAgICBwcmVmaXg6ICcnLFxuICAgICAgfSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG5cbiAgICAgIGlmICghYXJyYXlzW2FycmF5VGFibGVOYW1lXSkgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgIHRleHRzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICBibG9ja3NUb0RlbGV0ZS5hZGQoZ2V0VGFibGVOYW1lKHsgYWRhcHRlciwgY29uZmlnOiBibG9jayB9KSlcbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheU9mUm93cyhmaWVsZERhdGEpKSB7XG4gICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBmb3JjZWRMb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVt0YWIubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbdGFiLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGFiLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW3RhYi5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZSh0YWIubmFtZSl9X2AsXG4gICAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7dGFiLm5hbWV9X2AsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBmb3JjZWRMb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGFbdGFiLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGRQcmVmaXggfHwgJyd9JHt0YWIubmFtZX1fYCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7dGFiLm5hbWV9LmAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8IGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScpIHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzLFxuICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICBibG9ja3MsXG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBsb2NhbGVzLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgICB0ZXh0cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChsb2NhbGVEYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZS5wdXNoKHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmllbGREYXRhID09PSBudWxsIHx8IChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkgJiYgZmllbGREYXRhLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7IHBhdGg6IHJlbGF0aW9uc2hpcFBhdGggfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgIGNvbnN0IHRleHRQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybVRleHRzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogdGV4dFBhdGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBudW1iZXJQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybU51bWJlcnMoe1xuICAgICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiBudW1iZXJQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG4gICAgICBpZiAoIXNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSkgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybVNlbGVjdHMoe1xuICAgICAgICAgICAgICAgIGlkOiBkYXRhLl91dWlkIHx8IGRhdGEuaWQsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGFbZmllbGQubmFtZV0pKSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1TZWxlY3RzKHtcbiAgICAgICAgICBpZDogZGF0YS5fdXVpZCB8fCBkYXRhLmlkLFxuICAgICAgICAgIGRhdGE6IGRhdGFbZmllbGQubmFtZV0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlc1RvVHJhbnNmb3JtOiB7XG4gICAgICAgIGxvY2FsZUtleT86IHN0cmluZ1xuICAgICAgICByZWY6IHVua25vd25cbiAgICAgICAgdmFsdWU6IHVua25vd25cbiAgICAgIH1bXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnICYmIGZpZWxkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9jYWxlc1tsb2NhbGVLZXldKSBsb2NhbGVzW2xvY2FsZUtleV0gPSB7fVxuXG4gICAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHtcbiAgICAgICAgICAgICAgbG9jYWxlS2V5LFxuICAgICAgICAgICAgICByZWY6IGxvY2FsZXMsXG4gICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVmID0gcm93XG5cbiAgICAgICAgaWYgKGZvcmNlZExvY2FsZSkge1xuICAgICAgICAgIGlmICghbG9jYWxlc1tmb3JjZWRMb2NhbGVdKSBsb2NhbGVzW2ZvcmNlZExvY2FsZV0gPSB7fVxuICAgICAgICAgIHJlZiA9IGxvY2FsZXNbZm9yY2VkTG9jYWxlXVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZiwgdmFsdWU6IGZpZWxkRGF0YSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IGxvY2FsZUtleSwgcmVmLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdmFsdWVcblxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScgJiYgZmllbGQubmFtZSA9PT0gJ3VwZGF0ZWRBdCcpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxvY2FsZUtleSkge1xuICAgICAgICAgICAgcmVmW2xvY2FsZUtleV1bZmllbGROYW1lXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlZltmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImFycmF5cyIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJibG9ja3NUb0RlbGV0ZSIsImNvbHVtblByZWZpeCIsImRhdGEiLCJleGlzdGluZ0xvY2FsZXMiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlZExvY2FsZSIsImxvY2FsZXMiLCJudW1iZXJzIiwicGFyZW50VGFibGVOYW1lIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJyb3ciLCJzZWxlY3RzIiwidGV4dHMiLCJmb3JFYWNoIiwiZmllbGQiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwiZmllbGREYXRhIiwiZmllbGRBZmZlY3RzRGF0YSIsImdldFRhYmxlTmFtZSIsImNvbmZpZyIsInByZWZpeCIsIm5hbWUiLCJ0eXBlIiwiYXJyYXlUYWJsZU5hbWUiLCJsb2NhbGl6ZWQiLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxlS2V5IiwibG9jYWxlRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm5ld1Jvd3MiLCJ0cmFuc2Zvcm1BcnJheSIsImxvY2FsZSIsImNvbmNhdCIsImJsb2NrIiwiYWRkIiwidHJhbnNmb3JtQmxvY2tzIiwiaXNBcnJheU9mUm93cyIsInRhYnMiLCJ0YWIiLCJ0b1NuYWtlQ2FzZSIsInJlbGF0aW9uc2hpcFBhdGgiLCJwdXNoIiwidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwiYmFzZVJvdyIsImxlbmd0aCIsImhhc01hbnkiLCJ0ZXh0UGF0aCIsInRyYW5zZm9ybVRleHRzIiwibnVtYmVyUGF0aCIsInRyYW5zZm9ybU51bWJlcnMiLCJzZWxlY3RUYWJsZU5hbWUiLCJ0cmFuc2Zvcm1TZWxlY3RzIiwiaWQiLCJfdXVpZCIsInZhbHVlc1RvVHJhbnNmb3JtIiwicmVmIiwidmFsdWUiLCJmb3JtYXR0ZWRWYWx1ZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQStEdkJBOzs7ZUFBQUE7Ozt1QkE1RG9CO29FQUNUOzhCQUtLOytCQUNDO3VCQUNDO3dCQUNDO3lCQUNDOytCQUNLO3lCQUNMO3VCQUNGOzs7Ozs7QUErQ3hCLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxPQUFPLEVBQ1BDLE1BQU0sRUFDTkMsYUFBYSxFQUNiQyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsWUFBWSxFQUNaQyxJQUFJLEVBQ0pDLGVBQWUsRUFDZkMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLFlBQVksRUFDWkMsT0FBTyxFQUNQQyxPQUFPLEVBQ1BDLGVBQWUsRUFDZkMsSUFBSSxFQUNKQyxhQUFhLEVBQ2JDLHFCQUFxQixFQUNyQkMsR0FBRyxFQUNIQyxPQUFPLEVBQ1BDLEtBQUssRUFDQTtJQUNMVixPQUFPVyxPQUFPLENBQUMs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
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
4
4
|
});
|
5
5
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJyYW5nZU1hcHBpbmdzIjoiIiwibWFwcGluZ3MiOiIifQ==
|
package/dist/types.d.ts
CHANGED
@@ -8,12 +8,15 @@ import type { PayloadRequest } from 'payload/types';
|
|
8
8
|
import type { Pool, PoolConfig } from 'pg';
|
9
9
|
export type DrizzleDB = NodePgDatabase<Record<string, unknown>>;
|
10
10
|
export type Args = {
|
11
|
+
localesSuffix?: string;
|
11
12
|
idType?: 'serial' | 'uuid';
|
12
13
|
logger?: DrizzleConfig['logger'];
|
13
14
|
migrationDir?: string;
|
14
15
|
pool: PoolConfig;
|
15
16
|
push?: boolean;
|
16
17
|
schemaName?: string;
|
18
|
+
relationshipsSuffix?: string;
|
19
|
+
versionsSuffix?: string;
|
17
20
|
};
|
18
21
|
export type GenericColumn = PgColumn<ColumnBaseConfig<ColumnDataType, string>, Record<string, unknown>>;
|
19
22
|
export type GenericColumns = {
|
@@ -29,6 +32,10 @@ export type GenericEnum = PgEnum<[string, ...string[]]>;
|
|
29
32
|
export type GenericRelation = Relations<string, Record<string, Relation<string>>>;
|
30
33
|
export type DrizzleTransaction = PgTransaction<NodePgQueryResultHKT, Record<string, unknown>, ExtractTablesWithRelations<Record<string, unknown>>>;
|
31
34
|
export type PostgresAdapter = BaseDatabaseAdapter & {
|
35
|
+
/**
|
36
|
+
* Used internally to map the block name to the table name
|
37
|
+
*/
|
38
|
+
blockTableNames: Record<string, string>;
|
32
39
|
drizzle: DrizzleDB;
|
33
40
|
enums: Record<string, GenericEnum>;
|
34
41
|
/**
|
@@ -37,6 +44,7 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
|
|
37
44
|
*/
|
38
45
|
fieldConstraints: Record<string, Record<string, string>>;
|
39
46
|
idType: Args['idType'];
|
47
|
+
localesSuffix?: string;
|
40
48
|
logger: DrizzleConfig['logger'];
|
41
49
|
pgSchema?: {
|
42
50
|
table: PgTableFn;
|
@@ -45,6 +53,7 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
|
|
45
53
|
poolOptions: Args['pool'];
|
46
54
|
push: boolean;
|
47
55
|
relations: Record<string, GenericRelation>;
|
56
|
+
relationshipsSuffix?: string;
|
48
57
|
schema: Record<string, GenericEnum | GenericRelation | GenericTable>;
|
49
58
|
schemaName?: Args['schemaName'];
|
50
59
|
sessions: {
|
@@ -55,6 +64,7 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
|
|
55
64
|
};
|
56
65
|
};
|
57
66
|
tables: Record<string, GenericTable | PgTableWithColumns<any>>;
|
67
|
+
versionsSuffix?: string;
|
58
68
|
};
|
59
69
|
export type IDType = 'integer' | 'numeric' | 'uuid' | 'varchar';
|
60
70
|
export type PostgresAdapterResult = (args: {
|
@@ -73,9 +83,11 @@ declare module 'payload' {
|
|
73
83
|
drizzle: DrizzleDB;
|
74
84
|
enums: Record<string, GenericEnum>;
|
75
85
|
fieldConstraints: Record<string, Record<string, string>>;
|
86
|
+
localeSuffix?: string;
|
76
87
|
pool: Pool;
|
77
88
|
push: boolean;
|
78
89
|
relations: Record<string, GenericRelation>;
|
90
|
+
relationshipsSuffix?: string;
|
79
91
|
schema: Record<string, GenericEnum | GenericRelation | GenericTable>;
|
80
92
|
sessions: {
|
81
93
|
[id: string]: {
|
@@ -85,6 +97,7 @@ declare module 'payload' {
|
|
85
97
|
};
|
86
98
|
};
|
87
99
|
tables: Record<string, GenericTable>;
|
100
|
+
versionsSuffix?: string;
|
88
101
|
}
|
89
102
|
}
|
90
103
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
4
4
|
});
|
5
5
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJyYW5nZU1hcHBpbmdzIjoiIiwibWFwcGluZ3MiOiIifQ==
|
package/dist/update.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAYjD,eAAO,MAAM,SAAS,EAAE,SAgDvB,CAAA"}
|
package/dist/update.js
CHANGED
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "updateOne", {
|
|
8
8
|
return updateOne;
|
9
9
|
}
|
10
10
|
});
|
11
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
11
|
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
13
12
|
const _selectDistinct = require("./queries/selectDistinct");
|
13
|
+
const _getTableName = require("./schema/getTableName");
|
14
14
|
const _upsertRow = require("./upsertRow");
|
15
15
|
function _interop_require_default(obj) {
|
16
16
|
return obj && obj.__esModule ? obj : {
|
@@ -20,7 +20,10 @@ function _interop_require_default(obj) {
|
|
20
20
|
const updateOne = async function updateOne({ id, collection: collectionSlug, data, draft, locale, req, where: whereArg }) {
|
21
21
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
22
22
|
const collection = this.payload.collections[collectionSlug].config;
|
23
|
-
const tableName = (0,
|
23
|
+
const tableName = (0, _getTableName.getTableName)({
|
24
|
+
adapter: this,
|
25
|
+
config: collection
|
26
|
+
});
|
24
27
|
const whereToUse = whereArg || {
|
25
28
|
id: {
|
26
29
|
equals: id
|
@@ -62,9 +65,9 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
|
|
62
65
|
fields: collection.fields,
|
63
66
|
operation: 'update',
|
64
67
|
req,
|
65
|
-
tableName
|
68
|
+
tableName
|
66
69
|
});
|
67
70
|
return result;
|
68
71
|
};
|
69
72
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBDaGFpbmVkTWV0aG9kcyB9IGZyb20gJy4vZmluZC9jaGFpbk1ldGhvZHMnXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBidWlsZFF1ZXJ5IGZyb20gJy4vcXVlcmllcy9idWlsZFF1ZXJ5J1xuaW1wb3J0IHsgc2VsZWN0RGlzdGluY3QgfSBmcm9tICcuL3F1ZXJpZXMvc2VsZWN0RGlzdGluY3QnXG5pbXBvcnQgeyBnZXRUYWJsZU5hbWUgfSBmcm9tICcuL3NjaGVtYS9nZXRUYWJsZU5hbWUnXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLCBkYXRhLCBkcmFmdCwgbG9jYWxlLCByZXEsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gZ2V0VGFibGVOYW1lKHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgfSlcbiAgY29uc3Qgd2hlcmVUb1VzZSA9IHdoZXJlQXJnIHx8IHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH1cbiAgbGV0IGlkVG9VcGRhdGUgPSBpZFxuXG4gIGNvbnN0IHsgam9pbkFsaWFzZXMsIGpvaW5zLCBzZWxlY3RGaWVsZHMsIHdoZXJlIH0gPSBhd2FpdCBidWlsZFF1ZXJ5KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGZpZWxkczogY29sbGVjdGlvbi5maWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogd2hlcmVUb1VzZSxcbiAgfSlcblxuICBjb25zdCBzZWxlY3REaXN0aW5jdFJlc3VsdCA9IGF3YWl0IHNlbGVjdERpc3RpbmN0KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGNoYWluZWRNZXRob2RzOiBbeyBhcmdzOiBbMV0sIG1ldGhvZDogJ2xpbWl0JyB9XSxcbiAgICBkYixcbiAgICBqb2luQWxpYXNlcyxcbiAgICBqb2lucyxcbiAgICBzZWxlY3RGaWVsZHMsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIGlmIChzZWxlY3REaXN0aW5jdFJlc3VsdD8uWzBdPy5pZCkge1xuICAgIGlkVG9VcGRhdGUgPSBzZWxlY3REaXN0aW5jdFJlc3VsdD8uWzBdPy5pZFxuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXBzZXJ0Um93KHtcbiAgICBpZDogaWRUb1VwZGF0ZSxcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGEsXG4gICAgZGIsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgIHJlcSxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZU9uZSIsImlkIiwiY29sbGVjdGlvbiIsImNvbGxlY3Rpb25TbHVnIiwiZGF0YSIsImRyYWZ0IiwibG9jYWxlIiwicmVxIiwid2hlcmUiLCJ3aGVyZUFyZyIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsInRhYmxlTmFtZSIsImdldFRhYmxlTmFtZSIsImFkYXB0ZXIiLCJ3aGVyZVRvVXNlIiwiZXF1YWxzIiwiaWRUb1VwZGF0ZSIsImpvaW5BbGlhc2VzIiwiam9pbnMiLCJzZWxlY3RGaWVsZHMiLCJidWlsZFF1ZXJ5IiwiZmllbGRzIiwic2VsZWN0RGlzdGluY3RSZXN1bHQiLCJzZWxlY3REaXN0aW5jdCIsImNoYWluZWRNZXRob2RzIiwiYXJncyIsIm1ldGhvZCIsInJlc3VsdCIsInVwc2VydFJvdyIsIm9wZXJhdGlvbiJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7bUVBTFU7Z0NBQ1E7OEJBQ0Y7MkJBQ0g7Ozs7OztBQUVuQixNQUFNQSxZQUF1QixlQUFlQSxVQUVqRCxFQUFFQyxFQUFFLEVBQUVDLFlBQVlDLGNBQWMsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxPQUFPQyxRQUFRLEVBQUU7SUFFN0UsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0osSUFBSUssYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1YLGFBQWEsSUFBSSxDQUFDWSxPQUFPLENBQUNDLFdBQVcsQ0FBQ1osZUFBZSxDQUFDYSxNQUFNO0lBQ2xFLE1BQU1DLFlBQVlDLElBQUFBLDBCQUFZLEVBQUM7UUFDN0JDLFNBQVMsSUFBSTtRQUNiSCxRQUFRZDtJQUNWO0lBQ0EsTUFBTWtCLGFBQWFYLFlBQVk7UUFBRVIsSUFBSTtZQUFFb0IsUUFBUXBCO1FBQUc7SUFBRTtJQUNwRCxJQUFJcUIsYUFBYXJCO0lBRWpCLE1BQU0sRUFBRXNCLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVqQixLQUFLLEVBQUUsR0FBRyxNQUFNa0IsSUFBQUEsbUJBQVUsRUFBQztRQUNuRVAsU0FBUyxJQUFJO1FBQ2JRLFFBQVF6QixXQUFXeUIsTUFBTTtRQUN6QnJCO1FBQ0FXO1FBQ0FULE9BQU9ZO0lBQ1Q7SUFFQSxNQUFNUSx1QkFBdUIsTUFBTUMsSUFBQUEsOEJBQWMsRUFBQztRQUNoRFYsU0FBUyxJQUFJO1FBQ2JXLGdCQUFnQjtZQUFDO2dCQUFFQyxNQUFNO29CQUFDO2lCQUFFO2dCQUFFQyxRQUFRO1lBQVE7U0FBRTtRQUNoRHRCO1FBQ0FhO1FBQ0FDO1FBQ0FDO1FBQ0FSO1FBQ0FUO0lBQ0Y7SUFFQSxJQUFJb0Isc0JBQXNCLENBQUMsRUFBRSxFQUFFM0IsSUFBSTtRQUNqQ3FCLGFBQWFNLHNCQUFzQixDQUFDLEVBQUUsRUFBRTNCO0lBQzFDO0lBRUEsTUFBTWdDLFNBQVMsTUFBTUMsSUFBQUEsb0JBQVMsRUFBQztRQUM3QmpDLElBQUlxQjtRQUNKSCxTQUFTLElBQUk7UUFDYmY7UUFDQU07UUFDQWlCLFFBQVF6QixXQUFXeUIsTUFBTTtRQUN6QlEsV0FBVztRQUNYNUI7UUFDQVU7SUFDRjtJQUVBLE9BQU9nQjtBQUNUIn0=
|
package/dist/updateGlobal.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { UpdateGlobalArgs } from 'payload/database';
|
2
2
|
import type { TypeWithID } from 'payload/types';
|
3
3
|
import type { PostgresAdapter } from './types';
|
4
|
-
export declare function updateGlobal<T extends TypeWithID>(this: PostgresAdapter, { data, req
|
4
|
+
export declare function updateGlobal<T extends TypeWithID>(this: PostgresAdapter, { slug, data, req }: UpdateGlobalArgs): Promise<T>;
|
5
5
|
//# sourceMappingURL=updateGlobal.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateGlobal.d.ts","sourceRoot":"","sources":["../src/updateGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"updateGlobal.d.ts","sourceRoot":"","sources":["../src/updateGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,wBAAsB,YAAY,CAAC,CAAC,SAAS,UAAU,EACrD,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,IAAI,EAAE,GAA0B,EAAE,EAAE,gBAAgB,GAC3D,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
|
package/dist/updateGlobal.js
CHANGED
@@ -8,17 +8,15 @@ Object.defineProperty(exports, "updateGlobal", {
|
|
8
8
|
return updateGlobal;
|
9
9
|
}
|
10
10
|
});
|
11
|
-
const
|
11
|
+
const _getTableName = require("./schema/getTableName");
|
12
12
|
const _upsertRow = require("./upsertRow");
|
13
|
-
function
|
14
|
-
return obj && obj.__esModule ? obj : {
|
15
|
-
default: obj
|
16
|
-
};
|
17
|
-
}
|
18
|
-
async function updateGlobal({ data, req = {}, slug }) {
|
13
|
+
async function updateGlobal({ slug, data, req = {} }) {
|
19
14
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
20
15
|
const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
|
21
|
-
const tableName = (0,
|
16
|
+
const tableName = (0, _getTableName.getTableName)({
|
17
|
+
adapter: this,
|
18
|
+
config: globalConfig
|
19
|
+
});
|
22
20
|
const existingGlobal = await db.query[tableName].findFirst({});
|
23
21
|
const result = await (0, _upsertRow.upsertRow)({
|
24
22
|
...existingGlobal ? {
|
@@ -31,10 +29,10 @@ async function updateGlobal({ data, req = {}, slug }) {
|
|
31
29
|
data,
|
32
30
|
db,
|
33
31
|
fields: globalConfig.fields,
|
34
|
-
|
35
|
-
|
32
|
+
req,
|
33
|
+
tableName
|
36
34
|
});
|
37
35
|
return result;
|
38
36
|
}
|
39
37
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFRhYmxlTmFtZSB9IGZyb20gJy4vc2NoZW1hL2dldFRhYmxlTmFtZSdcbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlR2xvYmFsPFQgZXh0ZW5kcyBUeXBlV2l0aElEPihcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IHNsdWcsIGRhdGEsIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0IH06IFVwZGF0ZUdsb2JhbEFyZ3MsXG4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGdsb2JhbENvbmZpZyA9IHRoaXMucGF5bG9hZC5nbG9iYWxzLmNvbmZpZy5maW5kKChjb25maWcpID0+IGNvbmZpZy5zbHVnID09PSBzbHVnKVxuICBjb25zdCB0YWJsZU5hbWUgPSBnZXRUYWJsZU5hbWUoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgY29uZmlnOiBnbG9iYWxDb25maWcsXG4gIH0pXG5cbiAgY29uc3QgZXhpc3RpbmdHbG9iYWwgPSBhd2FpdCBkYi5xdWVyeVt0YWJsZU5hbWVdLmZpbmRGaXJzdCh7fSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VD4oe1xuICAgIC4uLihleGlzdGluZ0dsb2JhbCA/IHsgaWQ6IGV4aXN0aW5nR2xvYmFsLmlkLCBvcGVyYXRpb246ICd1cGRhdGUnIH0gOiB7IG9wZXJhdGlvbjogJ2NyZWF0ZScgfSksXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhLFxuICAgIGRiLFxuICAgIGZpZWxkczogZ2xvYmFsQ29uZmlnLmZpZWxkcyxcbiAgICByZXEsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVHbG9iYWwiLCJzbHVnIiwiZGF0YSIsInJlcSIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsImdsb2JhbENvbmZpZyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInRhYmxlTmFtZSIsImdldFRhYmxlTmFtZSIsImFkYXB0ZXIiLCJleGlzdGluZ0dsb2JhbCIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidXBzZXJ0Um93IiwiaWQiLCJvcGVyYXRpb24iLCJmaWVsZHMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBUXNCQTs7O2VBQUFBOzs7OEJBSE87MkJBQ0g7QUFFbkIsZUFBZUEsYUFFcEIsRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFvQjtJQUU1RCxNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDRixJQUFJRyxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBZSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDRCxTQUFXQSxPQUFPVixJQUFJLEtBQUtBO0lBQ2xGLE1BQU1ZLFlBQVlDLElBQUFBLDBCQUFZLEVBQUM7UUFDN0JDLFNBQVMsSUFBSTtRQUNiSixRQUFRSDtJQUNWO0lBRUEsTUFBTVEsaUJBQWlCLE1BQU1aLEdBQUdhLEtBQUssQ0FBQ0osVUFBVSxDQUFDSyxTQUFTLENBQUMsQ0FBQztJQUU1RCxNQUFNQyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUk7UUFDaEMsR0FBSUosaUJBQWlCO1lBQUVLLElBQUlMLGVBQWVLLEVBQUU7WUFBRUMsV0FBVztRQUFTLElBQUk7WUFBRUEsV0FBVztRQUFTLENBQUM7UUFDN0ZQLFNBQVMsSUFBSTtRQUNiYjtRQUNBRTtRQUNBbUIsUUFBUWYsYUFBYWUsTUFBTTtRQUMzQnBCO1FBQ0FVO0lBQ0Y7SUFFQSxPQUFPTTtBQUNUIn0=
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,eAAe,CAAA;AAItF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,eAAe,EACrB,EACE,EAAE,EACF,MAAM,EACN,MAAM,EACN,GAA0B,EAC1B,WAAW,EACX,KAAK,EAAE,QAAQ,GAChB,EAAE,uBAAuB,CAAC,CAAC,CAAC,+BAmC9B"}
|