@payloadcms/db-postgres 0.8.6 → 0.8.8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +5 -52
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +3 -3
- package/dist/createMigration.d.ts.map +1 -1
- package/dist/createMigration.js +10 -4
- package/dist/find/buildFindManyArgs.d.ts.map +1 -1
- package/dist/find/buildFindManyArgs.js +2 -1
- package/dist/find/findMany.d.ts.map +1 -1
- package/dist/find/findMany.js +3 -3
- package/dist/find/traverseFields.d.ts +2 -1
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +9 -3
- package/dist/init.js +3 -2
- package/dist/migrate.js +3 -3
- package/dist/migrateDown.js +2 -2
- package/dist/migrateRefresh.js +2 -2
- package/dist/migrateReset.js +3 -3
- package/dist/migrateStatus.js +2 -2
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +4 -3
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +3 -1
- package/dist/queries/sanitizeQueryValue.d.ts +2 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +11 -2
- package/dist/schema/build.d.ts +10 -2
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +23 -6
- package/dist/schema/traverseFields.d.ts +6 -1
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +46 -17
- package/dist/transform/read/hasManyNumber.d.ts +2 -1
- package/dist/transform/read/hasManyNumber.d.ts.map +1 -1
- package/dist/transform/read/hasManyNumber.js +14 -4
- package/dist/transform/read/hasManyText.d.ts +2 -1
- package/dist/transform/read/hasManyText.d.ts.map +1 -1
- package/dist/transform/read/hasManyText.js +14 -4
- package/dist/transform/read/relationship.d.ts +2 -1
- package/dist/transform/read/relationship.d.ts.map +1 -1
- package/dist/transform/read/relationship.js +16 -7
- package/dist/transform/read/traverseFields.d.ts +5 -1
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +118 -85
- package/dist/transform/write/array.d.ts +6 -1
- package/dist/transform/write/array.d.ts.map +1 -1
- package/dist/transform/write/array.js +7 -3
- package/dist/transform/write/blocks.d.ts +6 -1
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +5 -3
- package/dist/transform/write/traverseFields.d.ts +6 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +40 -15
- package/dist/types.d.ts +9 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +5 -2
- package/dist/utilities/migrationTableExists.d.ts +2 -2
- package/dist/utilities/migrationTableExists.d.ts.map +1 -1
- package/dist/utilities/migrationTableExists.js +10 -6
- package/dist/utilities/pushDevSchema.d.ts +9 -0
- package/dist/utilities/pushDevSchema.d.ts.map +1 -0
- package/dist/utilities/pushDevSchema.js +59 -0
- package/dist/utilities/requireDrizzleKit.d.ts +14 -0
- package/dist/utilities/requireDrizzleKit.d.ts.map +1 -0
- package/dist/utilities/requireDrizzleKit.js +13 -0
- package/package.json +6 -6
package/dist/migrate.js
CHANGED
@@ -34,7 +34,7 @@ async function migrate() {
|
|
34
34
|
}
|
35
35
|
let latestBatch = 0;
|
36
36
|
let migrationsInDB = [];
|
37
|
-
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this
|
37
|
+
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this);
|
38
38
|
if (hasMigrationTable) {
|
39
39
|
({ docs: migrationsInDB } = await payload.find({
|
40
40
|
collection: 'payload-migrations',
|
@@ -74,7 +74,7 @@ async function migrate() {
|
|
74
74
|
}
|
75
75
|
}
|
76
76
|
async function runMigrationFile(payload, migration, batch) {
|
77
|
-
const { generateDrizzleJson } = require('drizzle-kit/
|
77
|
+
const { generateDrizzleJson } = require('drizzle-kit/api');
|
78
78
|
const start = Date.now();
|
79
79
|
const req = {
|
80
80
|
payload
|
@@ -113,4 +113,4 @@ async function runMigrationFile(payload, migration, batch) {
|
|
113
113
|
}
|
114
114
|
}
|
115
115
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvZGlzdC9leHByZXNzL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAncGF5bG9hZC9kaXN0L3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCBwcm9tcHRzIGZyb20gJ3Byb21wdHMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgY3JlYXRlTWlncmF0aW9uVGFibGUgfSBmcm9tICcuL3V0aWxpdGllcy9jcmVhdGVNaWdyYXRpb25UYWJsZSdcbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvcidcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGUodGhpczogUG9zdGdyZXNBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBpZiAoIW1pZ3JhdGlvbkZpbGVzLmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJ1bi4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBsZXQgbGF0ZXN0QmF0Y2ggPSAwXG4gIGxldCBtaWdyYXRpb25zSW5EQiA9IFtdXG5cbiAgY29uc3QgaGFzTWlncmF0aW9uVGFibGUgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzKVxuXG4gIGlmIChoYXNNaWdyYXRpb25UYWJsZSkge1xuICAgIDsoeyBkb2NzOiBtaWdyYXRpb25zSW5EQiB9ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgbGltaXQ6IDAsXG4gICAgICBzb3J0OiAnLW5hbWUnLFxuICAgIH0pKVxuICAgIGlmIChOdW1iZXIobWlncmF0aW9uc0luREI/LlswXT8uYmF0Y2gpID4gMCkge1xuICAgICAgbGF0ZXN0QmF0Y2ggPSBOdW1iZXIobWlncmF0aW9uc0luREJbMF0/LmJhdGNoKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBjcmVhdGVNaWdyYXRpb25UYWJsZSh0aGlzKVxuICB9XG5cbiAgaWYgKG1pZ3JhdGlvbnNJbkRCLmZpbmQoKG0pID0+IG0uYmF0Y2ggPT09IC0xKSkge1xuICAgIGNvbnN0IHsgY29uZmlybTogcnVuTWlncmF0aW9ucyB9ID0gYXdhaXQgcHJvbXB0cyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgICAgIGluaXRpYWw6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiSXQgbG9va3MgbGlrZSB5b3UndmUgcnVuIFBheWxvYWQgaW4gZGV2IG1vZGUsIG1lYW5pbmcgeW91J3ZlIGR5bmFtaWNhbGx5IHB1c2hlZCBjaGFuZ2VzIHRvIHlvdXIgZGF0YWJhc2UuXFxuXFxuXCIgK1xuICAgICAgICAgIFwiSWYgeW91J2QgbGlrZSB0byBydW4gbWlncmF0aW9ucywgZGF0YSBsb3NzIHdpbGwgb2NjdXIuIFdvdWxkIHlvdSBsaWtlIHRvIHByb2NlZWQ/XCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApXG5cbiAgICBpZiAoIXJ1bk1pZ3JhdGlvbnMpIHtcbiAgICAgIHByb2Nlc3MuZXhpdCgwKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG5ld0JhdGNoID0gbGF0ZXN0QmF0Y2ggKyAxXG5cbiAgLy8gRXhlY3V0ZSAndXAnIGZ1bmN0aW9uIGZvciBlYWNoIG1pZ3JhdGlvbiBzZXF1ZW50aWFsbHlcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBjb25zdCBhbHJlYWR5UmFuID0gbWlncmF0aW9uc0luREIuZmluZCgoZXhpc3RpbmcpID0+IGV4aXN0aW5nLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuXG4gICAgLy8gSWYgYWxyZWFkeSByYW4sIHNraXBcbiAgICBpZiAoYWxyZWFkeVJhbikge1xuICAgICAgY29udGludWUgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250aW51ZVxuICAgIH1cblxuICAgIGF3YWl0IHJ1bk1pZ3JhdGlvbkZpbGUocGF5bG9hZCwgbWlncmF0aW9uLCBuZXdCYXRjaClcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBydW5NaWdyYXRpb25GaWxlKHBheWxvYWQ6IFBheWxvYWQsIG1pZ3JhdGlvbjogTWlncmF0aW9uLCBiYXRjaDogbnVtYmVyKSB7XG4gIGNvbnN0IHsgZ2VuZXJhdGVEcml6emxlSnNvbiB9ID0gcmVxdWlyZSgnZHJpenpsZS1raXQvYXBpJylcblxuICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgY29uc3QgcmVxID0geyBwYXlsb2FkIH0gYXMgUGF5bG9hZFJlcXVlc3RcblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcblxuICBjb25zdCBwZ0FkYXB0ZXIgPSBwYXlsb2FkLmRiXG4gIGNvbnN0IGRyaXp6bGVKU09OID0gZ2VuZXJhdGVEcml6emxlSnNvbihwZ0FkYXB0ZXIuc2NoZW1hKVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICBhd2FpdCBtaWdyYXRpb24udXAoeyBwYXlsb2FkLCByZXEgfSlcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgZGF0YToge1xuICAgICAgICBuYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgYmF0Y2gsXG4gICAgICAgIHNjaGVtYTogZHJpenpsZUpTT04sXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgIH0pXG4gICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgIGVycixcbiAgICAgIG1zZzogcGFyc2VFcnJvcihlcnIsIGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfWApLFxuICAgIH0pXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsImxhdGVzdEJhdGNoIiwibWlncmF0aW9uc0luREIiLCJoYXNNaWdyYXRpb25UYWJsZSIsIm1pZ3JhdGlvblRhYmxlRXhpc3RzIiwiZG9jcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJzb3J0IiwiTnVtYmVyIiwiYmF0Y2giLCJjcmVhdGVNaWdyYXRpb25UYWJsZSIsIm0iLCJjb25maXJtIiwicnVuTWlncmF0aW9ucyIsInByb21wdHMiLCJuYW1lIiwidHlwZSIsImluaXRpYWwiLCJtZXNzYWdlIiwib25DYW5jZWwiLCJwcm9jZXNzIiwiZXhpdCIsIm5ld0JhdGNoIiwibWlncmF0aW9uIiwiYWxyZWFkeVJhbiIsImV4aXN0aW5nIiwicnVuTWlncmF0aW9uRmlsZSIsImdlbmVyYXRlRHJpenpsZUpzb24iLCJyZXF1aXJlIiwic3RhcnQiLCJEYXRlIiwibm93IiwicmVxIiwicGdBZGFwdGVyIiwiZGIiLCJkcml6emxlSlNPTiIsInNjaGVtYSIsImluaXRUcmFuc2FjdGlvbiIsInVwIiwiY3JlYXRlIiwiZGF0YSIsImNvbW1pdFRyYW5zYWN0aW9uIiwiZXJyIiwia2lsbFRyYW5zYWN0aW9uIiwiZXJyb3IiLCJwYXJzZUVycm9yIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBaUJuQ0E7OztlQUFBQTs7OzBCQVphO21DQUNEO2lDQUNGO2lDQUNBO2dFQUNaO3NDQUlpQjtzQ0FDQTs0QkFDVjs7Ozs7O0FBRXBCLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FB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
|
package/dist/migrateDown.js
CHANGED
@@ -53,7 +53,7 @@ async function migrateDown() {
|
|
53
53
|
payload.logger.info({
|
54
54
|
msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
|
55
55
|
});
|
56
|
-
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this
|
56
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this);
|
57
57
|
if (tableExists) {
|
58
58
|
await payload.delete({
|
59
59
|
id: migration.id,
|
@@ -73,4 +73,4 @@ async function migrateDown() {
|
|
73
73
|
}
|
74
74
|
}
|
75
75
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMsIHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvcidcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVEb3duKHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHtcbiAgICBwYXlsb2FkLFxuICB9KVxuXG4gIGlmICghZXhpc3RpbmdNaWdyYXRpb25zPy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyB0byByb2xsYmFjay4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBSb2xsaW5nIGJhY2sgYmF0Y2ggJHtsYXRlc3RCYXRjaH0gY29uc2lzdGluZyBvZiAke2V4aXN0aW5nTWlncmF0aW9ucy5sZW5ndGh9IG1pZ3JhdGlvbihzKS5gLFxuICB9KVxuXG4gIGNvbnN0IGxhdGVzdEJhdGNoTWlncmF0aW9ucyA9IGV4aXN0aW5nTWlncmF0aW9ucy5maWx0ZXIoKHsgYmF0Y2ggfSkgPT4gYmF0Y2ggPT09IGxhdGVzdEJhdGNoKVxuXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIGxhdGVzdEJhdGNoTWlncmF0aW9ucykge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkZpbGUgPSBtaWdyYXRpb25GaWxlcy5maW5kKChtKSA9PiBtLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gbm90IGZvdW5kIGxvY2FsbHkuYClcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICBjb25zdCByZXEgPSB7IHBheWxvYWQgfSBhcyBQYXlsb2FkUmVxdWVzdFxuXG4gICAgdHJ5IHtcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb25GaWxlLm5hbWV9YCB9KVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMpXG4gICAgICBpZiAodGFibGVFeGlzdHMpIHtcbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGlkOiBtaWdyYXRpb24uaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBwYXJzZUVycm9yKGVyciwgYEVycm9yIG1pZ3JhdGluZyBkb3duICR7bWlncmF0aW9uRmlsZS5uYW1lfS4gUm9sbGluZyBiYWNrLmApLFxuICAgICAgfSlcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVEb3duIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJnZXRNaWdyYXRpb25zIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsImxhdGVzdEJhdGNoTWlncmF0aW9ucyIsImZpbHRlciIsImJhdGNoIiwibWlncmF0aW9uIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwicmVxIiwiaW5pdFRyYW5zYWN0aW9uIiwiZG93biIsInRhYmxlRXhpc3RzIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJkZWxldGUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsImtpbGxUcmFuc2FjdGlvbiIsImVycm9yIiwicGFyc2VFcnJvciIsInByb2Nlc3MiLCJleGl0Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDs7OzsrQkFhbkNBOzs7ZUFBQUE7OzswQkFWNEI7bUNBQ2hCO2lDQUNGO2lDQUNBO3NDQUlLOzRCQUNWO0FBRXBCLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTUMsSUFBQUEsNEJBQWtCLEVBQUM7UUFBRUY7SUFBUTtJQUUxRCxNQUFNLEVBQUVHLGtCQUFrQixFQUFFQyxXQUFXLEVBQUUsR0FBRyxNQUFNQyxJQUFBQSx1QkFBYSxFQUFDO1FBQzlETDtJQUNGO0lBRUEsSUFBSSxDQUFDRyxvQkFBb0JHLFFBQVE7UUFDL0JOLFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBNkI7UUFDeEQ7SUFDRjtJQUVBVCxRQUFRTyxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNsQkMsS0FBSyxDQUFDLG1CQUFtQixFQUFFTCxZQUFZLGVBQWUsRUFBRUQsbUJBQW1CRyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQ25HO0lBRUEsTUFBTUksd0JBQXdCUCxtQkFBbUJRLE1BQU0sQ0FBQyxDQUFDLEVBQUVDLEtBQUssRUFBRSxHQUFLQSxVQUFVUjtJQUVqRixLQUFLLE1BQU1TLGFBQWFILHNCQUF1QjtRQUM3QyxNQUFNSSxnQkFBZ0JiLGVBQWVjLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFDMUUsSUFBSSxDQUFDSCxlQUFlO1lBQ2xCLE1BQU0sSUFBSUksTUFBTSxDQUFDLFVBQVUsRUFBRUwsVUFBVUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xFO1FBRUEsTUFBTUUsUUFBUUMsS0FBS0MsR0FBRztRQUN0QixNQUFNQyxNQUFNO1lBQUV0QjtRQUFRO1FBRXRCLElBQUk7WUFDRkEsUUFBUU8sTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUssY0FBY0csSUFBSSxDQUFDLENBQUM7WUFBQztZQUNuRSxNQUFNTSxJQUFBQSxnQ0FBZSxFQUFDRDtZQUN0QixNQUFNUixjQUFjVSxJQUFJLENBQUM7Z0JBQUV4QjtnQkFBU3NCO1lBQUk7WUFDeEN0QixRQUFRTyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFDbEJDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUssY0FBY0csSUFBSSxDQUFDLEVBQUUsRUFBRUcsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUN4RTtZQUVBLE1BQU1NLGNBQWMsTUFBTUMsSUFBQUEsMENBQW9CLEVBQUMsSUFBSTtZQUNuRCxJQUFJRCxhQUFhO2dCQUNmLE1BQU16QixRQUFRMkIsTUFBTSxDQUFDO29CQUNuQkMsSUFBSWYsVUFBVWUsRUFBRTtvQkFDaEJDLFlBQVk7b0JBQ1pQO2dCQUNGO1lBQ0Y7WUFFQSxNQUFNUSxJQUFBQSxvQ0FBaUIsRUFBQ1I7UUFDMUIsRUFBRSxPQUFPUyxLQUFjO1lBQ3JCLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNWO1lBRXRCdEIsUUFBUU8sTUFBTSxDQUFDMEIsS0FBSyxDQUFDO2dCQUNuQkY7Z0JBQ0F0QixLQUFLeUIsSUFBQUEsc0JBQVUsRUFBQ0gsS0FBSyxDQUFDLHFCQUFxQixFQUFFakIsY0FBY0csSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNsRjtZQUNBa0IsUUFBUUMsSUFBSSxDQUFDO1FBQ2Y7SUFDRjtBQUNGIn0=
|
package/dist/migrateRefresh.js
CHANGED
@@ -54,7 +54,7 @@ async function migrateRefresh() {
|
|
54
54
|
payload.logger.info({
|
55
55
|
msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
|
56
56
|
});
|
57
|
-
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this
|
57
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this);
|
58
58
|
if (tableExists) {
|
59
59
|
await payload.delete({
|
60
60
|
collection: 'payload-migrations',
|
@@ -111,4 +111,4 @@ async function migrateRefresh() {
|
|
111
111
|
}
|
112
112
|
}
|
113
113
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVmcmVzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMsIHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvcidcblxuLyoqXG4gKiBSdW4gYWxsIG1pZ3JhdGlvbiBkb3duIGZ1bmN0aW9ucyBiZWZvcmUgcnVubmluZyB1cFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlZnJlc2godGhpczogUG9zdGdyZXNBZGFwdGVyKSB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoe1xuICAgIHBheWxvYWQsXG4gIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVmcmVzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMsIHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvcidcblxuLyoqXG4gKiBSdW4gYWxsIG1pZ3JhdGlvbiBkb3duIGZ1bmN0aW9ucyBiZWZvcmUgcnVubmluZyB1cFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlZnJlc2godGhpczogUG9zdGdyZXNBZGFwdGVyKSB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoe1xuICAgIHBheWxvYWQsXG4gIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJvbGxiYWNrLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYFJvbGxpbmcgYmFjayBiYXRjaCAke2xhdGVzdEJhdGNofSBjb25zaXN0aW5nIG9mICR7ZXhpc3RpbmdNaWdyYXRpb25zLmxlbmd0aH0gbWlncmF0aW9uKHMpLmAsXG4gIH0pXG5cbiAgY29uc3QgcmVxID0geyBwYXlsb2FkIH0gYXMgUGF5bG9hZFJlcXVlc3RcblxuICAvLyBSZXZlcnNlIG9yZGVyIG9mIG1pZ3JhdGlvbnMgdG8gcm9sbGJhY2tcbiAgZXhpc3RpbmdNaWdyYXRpb25zLnJldmVyc2UoKVxuXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIGV4aXN0aW5nTWlncmF0aW9ucykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uRmlsZS5kb3duKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICAgICAgbXNnOiBgTWlncmF0ZWQgZG93bjogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgdGFibGVFeGlzdHMgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzKVxuICAgICAgaWYgKHRhYmxlRXhpc3RzKSB7XG4gICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBwYXJzZUVycm9yKGVyciwgYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9LiBSb2xsaW5nIGJhY2suYCksXG4gICAgICB9KVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICB9XG5cbiAgLy8gUnVuIGFsbCBtaWdyYXRlIHVwXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgIGV4ZWN1dGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2c6IHBhcnNlRXJyb3IoZXJyLCBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0uIFJvbGxpbmcgYmFjay5gKSxcbiAgICAgIH0pXG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlUmVmcmVzaCIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsInJlYWRNaWdyYXRpb25GaWxlcyIsImV4aXN0aW5nTWlncmF0aW9ucyIsImxhdGVzdEJhdGNoIiwiZ2V0TWlncmF0aW9ucyIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJyZXEiLCJyZXZlcnNlIiwibWlncmF0aW9uIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwiaW5pdFRyYW5zYWN0aW9uIiwiZG93biIsInRhYmxlRXhpc3RzIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJkZWxldGUiLCJjb2xsZWN0aW9uIiwid2hlcmUiLCJlcXVhbHMiLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsImtpbGxUcmFuc2FjdGlvbiIsImVycm9yIiwicGFyc2VFcnJvciIsInByb2Nlc3MiLCJleGl0IiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXhlY3V0ZWQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBZ0JuQ0E7OztlQUFBQTs7OzBCQWI0QjttQ0FDaEI7aUNBQ0Y7aUNBQ0E7c0NBSUs7NEJBQ1Y7QUFLcEIsZUFBZUE7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSw0QkFBa0IsRUFBQztRQUFFRjtJQUFRO0lBRTFELE1BQU0sRUFBRUcsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRSxHQUFHLE1BQU1DLElBQUFBLHVCQUFhLEVBQUM7UUFDOURMO0lBQ0Y7SUFFQSxJQUFJLENBQUNHLG9CQUFvQkcsUUFBUTtRQUMvQk4sUUFBUU8sTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSztRQUE2QjtRQUN4RDtJQUNGO0lBRUFULFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQ2xCQyxLQUFLLENBQUMsbUJBQW1CLEVBQUVMLFlBQVksZUFBZSxFQUFFRCxtQkFBbUJHLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbkc7SUFFQSxNQUFNSSxNQUFNO1FBQUVWO0lBQVE7SUFFdEIsMENBQTBDO0lBQzFDRyxtQkFBbUJRLE9BQU87SUFFMUIsS0FBSyxNQUFNQyxhQUFhVCxtQkFBb0I7UUFD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
|
package/dist/migrateReset.js
CHANGED
@@ -49,7 +49,7 @@ async function migrateReset() {
|
|
49
49
|
payload.logger.info({
|
50
50
|
msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
|
51
51
|
});
|
52
|
-
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this
|
52
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this);
|
53
53
|
if (tableExists) {
|
54
54
|
await payload.delete({
|
55
55
|
id: migration.id,
|
@@ -70,7 +70,7 @@ async function migrateReset() {
|
|
70
70
|
}
|
71
71
|
}
|
72
72
|
// Delete dev migration
|
73
|
-
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this
|
73
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this);
|
74
74
|
if (tableExists) {
|
75
75
|
try {
|
76
76
|
await payload.delete({
|
@@ -90,4 +90,4 @@ async function migrateReset() {
|
|
90
90
|
}
|
91
91
|
}
|
92
92
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVzZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zLCByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAncGF5bG9hZC9kaXN0L3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG4vKipcbiAqIFJ1biBhbGwgbWlncmF0ZSBkb3duIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlc2V0KHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJlc2V0LicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUm9sbGJhY2sgYWxsIG1pZ3JhdGlvbnMgaW4gb3JkZXJcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgZXhpc3RpbmdNaWdyYXRpb25zKSB7XG4gICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVzZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zLCByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAncGF5bG9hZC9kaXN0L3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG4vKipcbiAqIFJ1biBhbGwgbWlncmF0ZSBkb3duIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlc2V0KHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJlc2V0LicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUm9sbGJhY2sgYWxsIG1pZ3JhdGlvbnMgaW4gb3JkZXJcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgZXhpc3RpbmdNaWdyYXRpb25zKSB7XG4gICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG4gICAgdHJ5IHtcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb25GaWxlLm5hbWV9YCB9KVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMpXG4gICAgICBpZiAodGFibGVFeGlzdHMpIHtcbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGlkOiBtaWdyYXRpb24uaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBsZXQgbXNnID0gYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uRmlsZS5uYW1lfS5gXG5cbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikgbXNnICs9IGAgJHtlcnIubWVzc2FnZX1gXG5cbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnLFxuICAgICAgfSlcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgfVxuXG4gIC8vIERlbGV0ZSBkZXYgbWlncmF0aW9uXG5cbiAgY29uc3QgdGFibGVFeGlzdHMgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzKVxuICBpZiAodGFibGVFeGlzdHMpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBiYXRjaDoge1xuICAgICAgICAgICAgZXF1YWxzOiAtMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVyciwgbXNnOiAnRXJyb3IgZGVsZXRpbmcgZGV2IG1pZ3JhdGlvbicgfSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlUmVzZXQiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJnZXRNaWdyYXRpb25zIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsInJlcSIsIm1pZ3JhdGlvbiIsIm1pZ3JhdGlvbkZpbGUiLCJmaW5kIiwibSIsIm5hbWUiLCJFcnJvciIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsImluaXRUcmFuc2FjdGlvbiIsImRvd24iLCJ0YWJsZUV4aXN0cyIsIm1pZ3JhdGlvblRhYmxlRXhpc3RzIiwiZGVsZXRlIiwiaWQiLCJjb2xsZWN0aW9uIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnIiLCJtZXNzYWdlIiwia2lsbFRyYW5zYWN0aW9uIiwiZXJyb3IiLCJwcm9jZXNzIiwiZXhpdCIsIndoZXJlIiwiYmF0Y2giLCJlcXVhbHMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBZW5DQTs7O2VBQUFBOzs7MEJBWjRCO21DQUNoQjtpQ0FDRjtpQ0FDQTtzQ0FJSztBQUs5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRSxHQUFHLE1BQU1DLElBQUFBLHVCQUFhLEVBQUM7UUFBRUo7SUFBUTtJQUU3RCxJQUFJLENBQUNHLG9CQUFvQkUsUUFBUTtRQUMvQkwsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSztRQUEwQjtRQUNyRDtJQUNGO0lBRUEsTUFBTUMsTUFBTTtRQUFFVDtJQUFRO0lBRXRCLG1DQUFtQztJQUNuQyxLQUFLLE1BQU1VLGFBQWFQLG1CQUFvQjtRQUMxQyxNQUFNUSxnQkFBZ0JWLGVBQWVXLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFDMUUsSUFBSTtZQUNGLElBQUksQ0FBQ0gsZUFBZTtnQkFDbEIsTUFBTSxJQUFJSSxNQUFNLENBQUMsVUFBVSxFQUFFTCxVQUFVSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDbEU7WUFFQSxNQUFNRSxRQUFRQyxLQUFLQyxHQUFHO1lBQ3RCbEIsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUcsY0FBY0csSUFBSSxDQUFDLENBQUM7WUFBQztZQUNuRSxNQUFNSyxJQUFBQSxnQ0FBZSxFQUFDVjtZQUN0QixNQUFNRSxjQUFjUyxJQUFJLENBQUM7Z0JBQUVwQjtnQkFBU1M7WUFBSTtZQUN4Q1QsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQ2xCQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVHLGNBQWNHLElBQUksQ0FBQyxFQUFFLEVBQUVHLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFDeEU7WUFFQSxNQUFNSyxjQUFjLE1BQU1DLElBQUFBLDBDQUFvQixFQUFDLElBQUk7WUFDbkQsSUFBSUQsYUFBYTtnQkFDZixNQUFNckIsUUFBUXVCLE1BQU0sQ0FBQztvQkFDbkJDLElBQUlkLFVBQVVjLEVBQUU7b0JBQ2hCQyxZQUFZO29CQUNaaEI7Z0JBQ0Y7WUFDRjtZQUVBLE1BQU1pQixJQUFBQSxvQ0FBaUIsRUFBQ2pCO1FBQzFCLEVBQUUsT0FBT2tCLEtBQWM7WUFDckIsSUFBSW5CLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRUcsY0FBY0csSUFBSSxDQUFDLENBQUMsQ0FBQztZQUUxRCxJQUFJYSxlQUFlWixPQUFPUCxPQUFPLENBQUMsQ0FBQyxFQUFFbUIsSUFBSUMsT0FBTyxDQUFDLENBQUM7WUFFbEQsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ3BCO1lBQ3RCVCxRQUFRTSxNQUFNLENBQUN3QixLQUFLLENBQUM7Z0JBQ25CSDtnQkFDQW5CO1lBQ0Y7WUFDQXVCLFFBQVFDLElBQUksQ0FBQztRQUNmO0lBQ0Y7SUFFQSx1QkFBdUI7SUFFdkIsTUFBTVgsY0FBYyxNQUFNQyxJQUFBQSwwQ0FBb0IsRUFBQyxJQUFJO0lBQ25ELElBQUlELGFBQWE7UUFDZixJQUFJO1lBQ0YsTUFBTXJCLFFBQVF1QixNQUFNLENBQUM7Z0JBQ25CRSxZQUFZO2dCQUNaUSxPQUFPO29CQUNMQyxPQUFPO3dCQUNMQyxRQUFRLENBQUM7b0JBQ1g7Z0JBQ0Y7WUFDRjtRQUNGLEVBQUUsT0FBT1IsS0FBYztZQUNyQjNCLFFBQVFNLE1BQU0sQ0FBQ3dCLEtBQUssQ0FBQztnQkFBRUEsT0FBT0g7Z0JBQUtuQixLQUFLO1lBQStCO1FBQ3pFO0lBQ0Y7QUFDRiJ9
|
package/dist/migrateStatus.js
CHANGED
@@ -20,7 +20,7 @@ async function migrateStatus() {
|
|
20
20
|
msg: `Found ${migrationFiles.length} migration files.`
|
21
21
|
});
|
22
22
|
let existingMigrations = [];
|
23
|
-
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this
|
23
|
+
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this);
|
24
24
|
if (hasMigrationTable) {
|
25
25
|
({ existingMigrations } = await (0, _database.getMigrations)({
|
26
26
|
payload
|
@@ -51,4 +51,4 @@ async function migrateStatus() {
|
|
51
51
|
p.printTable();
|
52
52
|
}
|
53
53
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlU3RhdHVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSAnY29uc29sZS10YWJsZS1wcmludGVyJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucywgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVN0YXR1cyh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlU3RhdHVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSAnY29uc29sZS10YWJsZS1wcmludGVyJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucywgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVN0YXR1cyh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIHBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgICBtc2c6IGBGb3VuZCAke21pZ3JhdGlvbkZpbGVzLmxlbmd0aH0gbWlncmF0aW9uIGZpbGVzLmAsXG4gIH0pXG5cbiAgbGV0IGV4aXN0aW5nTWlncmF0aW9ucyA9IFtdXG4gIGNvbnN0IGhhc01pZ3JhdGlvblRhYmxlID0gYXdhaXQgbWlncmF0aW9uVGFibGVFeGlzdHModGhpcylcblxuICBpZiAoaGFzTWlncmF0aW9uVGFibGUpIHtcbiAgICA7KHsgZXhpc3RpbmdNaWdyYXRpb25zIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHsgcGF5bG9hZCB9KSlcbiAgfVxuXG4gIGlmICghbWlncmF0aW9uRmlsZXMubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIG1pZ3JhdGlvbnMgZm91bmQuJyB9KVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ29tcGFyZSBtaWdyYXRpb24gZmlsZXMgdG8gZXhpc3RpbmcgbWlncmF0aW9uc1xuICBjb25zdCBzdGF0dXNlcyA9IG1pZ3JhdGlvbkZpbGVzLm1hcCgobWlncmF0aW9uKSA9PiB7XG4gICAgY29uc3QgZXhpc3RpbmdNaWdyYXRpb24gPSBleGlzdGluZ01pZ3JhdGlvbnMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICByZXR1cm4ge1xuICAgICAgTmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGVyZmVjdGlvbmlzdC9zb3J0LW9iamVjdHNcbiAgICAgIEJhdGNoOiBleGlzdGluZ01pZ3JhdGlvbj8uYmF0Y2gsXG4gICAgICBSYW46IGV4aXN0aW5nTWlncmF0aW9uID8gJ1llcycgOiAnTm8nLFxuICAgIH1cbiAgfSlcblxuICBjb25zdCBwID0gbmV3IFRhYmxlKClcblxuICBzdGF0dXNlcy5mb3JFYWNoKChzKSA9PiB7XG4gICAgcC5hZGRSb3cocywge1xuICAgICAgY29sb3I6IHMuUmFuID09PSAnWWVzJyA/ICdncmVlbicgOiAncmVkJyxcbiAgICB9KVxuICB9KVxuICBwLnByaW50VGFibGUoKVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVTdGF0dXMiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsIm1zZyIsImxlbmd0aCIsImV4aXN0aW5nTWlncmF0aW9ucyIsImhhc01pZ3JhdGlvblRhYmxlIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJnZXRNaWdyYXRpb25zIiwiaW5mbyIsInN0YXR1c2VzIiwibWFwIiwibWlncmF0aW9uIiwiZXhpc3RpbmdNaWdyYXRpb24iLCJmaW5kIiwibSIsIm5hbWUiLCJOYW1lIiwiQmF0Y2giLCJiYXRjaCIsIlJhbiIsInAiLCJUYWJsZSIsImZvckVhY2giLCJzIiwiYWRkUm93IiwiY29sb3IiLCJwcmludFRhYmxlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFPc0JBOzs7ZUFBQUE7OztxQ0FQQTswQkFDNEI7c0NBSWI7QUFFOUIsZUFBZUE7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSw0QkFBa0IsRUFBQztRQUFFRjtJQUFRO0lBRTFEQSxRQUFRRyxNQUFNLENBQUNDLEtBQUssQ0FBQztRQUNuQkMsS0FBSyxDQUFDLE1BQU0sRUFBRUosZUFBZUssTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ3hEO0lBRUEsSUFBSUMscUJBQXFCLEVBQUU7SUFDM0IsTUFBTUMsb0JBQW9CLE1BQU1DLElBQUFBLDBDQUFvQixFQUFDLElBQUk7SUFFekQsSUFBSUQsbUJBQW1CO1FBQ25CLENBQUEsRUFBRUQsa0JBQWtCLEVBQUUsR0FBRyxNQUFNRyxJQUFBQSx1QkFBYSxFQUFDO1lBQUVWO1FBQVEsRUFBQztJQUM1RDtJQUVBLElBQUksQ0FBQ0MsZUFBZUssTUFBTSxFQUFFO1FBQzFCTixRQUFRRyxNQUFNLENBQUNRLElBQUksQ0FBQztZQUFFTixLQUFLO1FBQXVCO1FBQ2xEO0lBQ0Y7SUFFQSxpREFBaUQ7SUFDakQsTUFBTU8sV0FBV1gsZUFBZVksR0FBRyxDQUFDLENBQUNDO1FBQ25DLE1BQU1DLG9CQUFvQlIsbUJBQW1CUyxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLSixVQUFVSSxJQUFJO1FBQ2xGLE9BQU87WUFDTEMsTUFBTUwsVUFBVUksSUFBSTtZQUNwQixzREFBc0Q7WUFDdERFLE9BQU9MLG1CQUFtQk07WUFDMUJDLEtBQUtQLG9CQUFvQixRQUFRO1FBQ25DO0lBQ0Y7SUFFQSxNQUFNUSxJQUFJLElBQUlDLDBCQUFLO0lBRW5CWixTQUFTYSxPQUFPLENBQUMsQ0FBQ0M7UUFDaEJILEVBQUVJLE1BQU0sQ0FBQ0QsR0FBRztZQUNWRSxPQUFPRixFQUFFSixHQUFHLEtBQUssUUFBUSxVQUFVO1FBQ3JDO0lBQ0Y7SUFDQUMsRUFBRU0sVUFBVTtBQUNkIn0=
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,eAAe,CAAA;AAUlG,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;CAC9C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2RAiBhC,IAAI,KAAG,
|
1
|
+
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,eAAe,CAAA;AAUlG,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;CAC9C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2RAiBhC,IAAI,KAAG,WA2fT,CAAA"}
|
@@ -214,9 +214,10 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
214
214
|
case 'array':
|
215
215
|
{
|
216
216
|
newTableName = adapter.tableNameMap.get(`${tableName}_${tableNameSuffix}${(0, _tosnakecase.default)(field.name)}`);
|
217
|
+
const arrayParentTable = aliasTable || adapter.tables[tableName];
|
217
218
|
constraintPath = `${constraintPath}${field.name}.%.`;
|
218
219
|
if (locale && field.localized && adapter.payload.config.localization) {
|
219
|
-
joins[newTableName] = (0, _drizzleorm.and)((0, _drizzleorm.eq)(
|
220
|
+
joins[newTableName] = (0, _drizzleorm.and)((0, _drizzleorm.eq)(arrayParentTable.id, adapter.tables[newTableName]._parentID), (0, _drizzleorm.eq)(adapter.tables[newTableName]._locale, locale));
|
220
221
|
if (locale !== 'all') {
|
221
222
|
constraints.push({
|
222
223
|
columnName: '_locale',
|
@@ -225,7 +226,7 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
225
226
|
});
|
226
227
|
}
|
227
228
|
} else {
|
228
|
-
joins[newTableName] = (0, _drizzleorm.eq)(
|
229
|
+
joins[newTableName] = (0, _drizzleorm.eq)(arrayParentTable.id, adapter.tables[newTableName]._parentID);
|
229
230
|
}
|
230
231
|
return getTableColumnFromPath({
|
231
232
|
adapter,
|
@@ -453,4 +454,4 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
453
454
|
throw new _errors.APIError(`Cannot find field for path at ${fieldPath}`);
|
454
455
|
};
|
455
456
|
|
456
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVXaXRoQ29sdW1ucyB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBUYWJBc0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBsaWtlLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGFsaWFzIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBHZW5lcmljVGFibGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMsIEJ1aWxkUXVlcnlKb2lucyB9IGZyb20gJy4vYnVpbGRRdWVyeSdcblxudHlwZSBDb25zdHJhaW50ID0ge1xuICBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgdGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIHZhbHVlOiB1bmtub3duXG59XG5cbnR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgY29uc3RyYWludHM6IENvbnN0cmFpbnRbXVxuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlPzogKHZhbDogdW5rbm93bikgPT4gc3RyaW5nXG4gIHBhdGhTZWdtZW50cz86IHN0cmluZ1tdXG4gIHJhd0NvbHVtbj86IFNRTFxuICB0YWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYWxpYXNUYWJsZT86IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGNvbGxlY3Rpb25QYXRoOiBzdHJpbmdcbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbnN0cmFpbnRQYXRoPzogc3RyaW5nXG4gIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludFtdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhdGhTZWdtZW50czogc3RyaW5nW11cbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiBjcmVhdGluZyBhIG5ldyB0YWJsZSBuYW1lIGZvciBhcnJheXMgYW5kIGJsb2NrcywgdGhpcyBzdWZmaXggc2hvdWxkIGJlIGFwcGVuZGVkIHRvIHRoZSB0YWJsZSBuYW1lXG4gICAqL1xuICB0YWJsZU5hbWVTdWZmaXg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByYXcgdmFsdWUgb2YgdGhlIHF1ZXJ5IGJlZm9yZSBzYW5pdGl6YXRpb25cbiAgICovXG4gIHZhbHVlOiB1bmtub3duXG59XG4vKipcbiAqIFRyYW5zZm9ybXMgcGF0aCB0byB0YWJsZSBhbmQgY29sdW1uIG5hbWVcbiAqIEFkZHMgdGFibGVzIHRvIGBqb2luYFxuICogQHJldHVybnMgVGFibGVDb2x1bW5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggPSAoe1xuICBhZGFwdGVyLFxuICBhbGlhc1RhYmxlLFxuICBjb2xsZWN0aW9uUGF0aCxcbiAgY29sdW1uUHJlZml4ID0gJycsXG4gIGNvbnN0cmFpbnRQYXRoOiBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoLFxuICBjb25zdHJhaW50cyA9IFtdLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlOiBpbmNvbWluZ0xvY2FsZSxcbiAgcGF0aFNlZ21lbnRzOiBpbmNvbWluZ1NlZ21lbnRzLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB0YWJsZU5hbWVTdWZmaXggPSAnJyxcbiAgdmFsdWUsXG59OiBBcmdzKTogVGFibGVDb2x1bW4gPT4ge1xuICBjb25zdCBmaWVsZFBhdGggPSBpbmNvbWluZ1NlZ21lbnRzWzBdXG4gIGxldCBsb2NhbGUgPSBpbmNvbWluZ0xvY2FsZVxuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBsZXQgY29uc3RyYWludFBhdGggPSBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIHx8ICcnXG5cbiAgY29uc3QgZmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzIGFzIEZpZWxkW10pLmZpbmQoXG4gICAgKGZpZWxkVG9GaW5kKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkVG9GaW5kKSAmJiBmaWVsZFRvRmluZC5uYW1lID09PSBmaWVsZFBhdGgsXG4gICkgYXMgRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGxldCBuZXdUYWJsZU5hbWUgPSB0YWJsZU5hbWVcblxuICBpZiAoIWZpZWxkICYmIGZpZWxkUGF0aCA9PT0gJ2lkJykge1xuICAgIHNlbGVjdEZpZWxkcy5pZCA9IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uaWRcbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uTmFtZTogJ2lkJyxcbiAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgZmllbGQ6IHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd0ZXh0JyA6ICdudW1iZXInLFxuICAgICAgfSBhcyBOdW1iZXJGaWVsZCB8IFRleHRGaWVsZCxcbiAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZCkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IFsuLi5pbmNvbWluZ1NlZ21lbnRzXVxuXG4gICAgLy8gSWYgbmV4dCBzZWdtZW50IGlzIGEgbG9jYWxlLFxuICAgIC8vIHdlIG5lZWQgdG8gdGFrZSBpdCBvdXQgYW5kIHVzZSBpdCBhcyB0aGUgbG9jYWxlIGZyb20gdGhpcyBwb2ludCBvblxuICAgIGlmICgnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMb2NhbGUgPSBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5maW5kKFxuICAgICAgICAobG9jYWxlKSA9PiBsb2NhbGUgPT09IHBhdGhTZWdtZW50c1sxXSxcbiAgICAgIClcblxuICAgICAgaWYgKG1hdGNoZWRMb2NhbGUpIHtcbiAgICAgICAgbG9jYWxlID0gbWF0Y2hlZExvY2FsZVxuICAgICAgICBwYXRoU2VnbWVudHMuc3BsaWNlKDEsIDEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFsaWFzVGFibGUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRQYXRoOiBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfSR7YWRhcHRlci5sb2NhbGVzU3VmZml4fWBcblxuICAgICAgICAgIGpvaW5zW3RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgY29uc3RyYWludFBhdGg6IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgIGAke3RhYmxlTmFtZX1fJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLnBhcmVudCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gZXEoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBsZXQgdGFibGVUeXBlID0gJ3RleHRzJ1xuICAgICAgICAgIGxldCBjb2x1bW5OYW1lID0gJ3RleHQnXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0YWJsZVR5cGUgPSAnbnVtYmVycydcbiAgICAgICAgICAgIGNvbHVtbk5hbWUgPSAnbnVtYmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV8ke3RhYmxlVHlwZX1gXG4gICAgICAgICAgY29uc3Qgam9pbkNvbnN0cmFpbnRzID0gW1xuICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50KSxcbiAgICAgICAgICAgIGxpa2UoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgXVxuXG4gICAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICAgIC4uLmpvaW5Db25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fbG9jYWxlLCBsb2NhbGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZCguLi5qb2luQ29uc3RyYWludHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgYCR7dGFibGVOYW1lfV8ke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWAsXG4gICAgICAgIClcblxuICAgICAgICBjb25zdHJhaW50UGF0aCA9IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uJS5gXG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZChcbiAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElEKSxcbiAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKFxuICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElELFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgbGV0IGJsb2NrVGFibGVDb2x1bW46IFRhYmxlQ29sdW1uXG4gICAgICAgIGxldCBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuXG4gICAgICAgIC8vIGhhbmRsZSBibG9ja1R5cGUgcXVlcmllc1xuICAgICAgICBpZiAocGF0aFNlZ21lbnRzWzFdID09PSAnYmxvY2tUeXBlJykge1xuICAgICAgICAgIC8vIGZpbmQgdGhlIGJsb2NrIGNvbmZpZyB1c2luZyB0aGUgdmFsdWVcbiAgICAgICAgICBjb25zdCBibG9ja1R5cGVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cbiAgICAgICAgICBibG9ja1R5cGVzLmZvckVhY2goKGJsb2NrVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2spID0+IGJsb2NrLnNsdWcgPT09IGJsb2NrVHlwZSlcblxuICAgICAgICAgICAgbmV3VGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWAsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19wYXRoJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXRoU2VnbWVudHNbMF0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKCkgPT4gJ2lkJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0Jsb2NrRmllbGQgPSBmaWVsZC5ibG9ja3Muc29tZSgoYmxvY2spID0+IHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7dGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gKVxuICAgICAgICAgIGNvbnN0cmFpbnRQYXRoID0gYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfS4lLmBcblxuICAgICAgICAgIGxldCByZXN1bHRcbiAgICAgICAgICBjb25zdCBibG9ja0NvbnN0cmFpbnRzID0gW11cbiAgICAgICAgICBjb25zdCBibG9ja1NlbGVjdEZpZWxkcyA9IHt9XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBibG9ja0NvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RGaWVsZHM6IGJsb2NrU2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIGZpbmUsIG5vdCBldmVyeSBibG9jayB3aWxsIGhhdmUgdGhlIGZpZWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgYmxvY2tUYWJsZUNvbHVtbiA9IHJlc3VsdFxuICAgICAgICAgIGNvbnN0cmFpbnRzID0gY29uc3RyYWludHMuY29uY2F0KGJsb2NrQ29uc3RyYWludHMpXG4gICAgICAgICAgc2VsZWN0RmllbGRzID0geyAuLi5zZWxlY3RGaWVsZHMsIC4uLmJsb2NrU2VsZWN0RmllbGRzIH1cbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChoYXNCbG9ja0ZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6IGJsb2NrVGFibGVDb2x1bW4uY29sdW1uTmFtZSxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQ6IGJsb2NrVGFibGVDb2x1bW4uZmllbGQsXG4gICAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogYmxvY2tUYWJsZUNvbHVtbi5yYXdDb2x1bW4sXG4gICAgICAgICAgICB0YWJsZTogYmxvY2tUYWJsZUNvbHVtbi50YWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgbGV0IHJlbGF0aW9uc2hpcEZpZWxkc1xuICAgICAgICBjb25zdCByZWxhdGlvblRhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuICAgICAgICBjb25zdCBuZXdDb2xsZWN0aW9uUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJylcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUgPSB1dWlkKClcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSA9IGFsaWFzKFxuICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uVGFibGVOYW1lXSxcbiAgICAgICAgICBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSxcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgZXEoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgICAgIGxpa2UoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgbGlrZShhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGgsIGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX1gKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0RmllbGRzW2Ake3JlbGF0aW9uVGFibGVOYW1lfS5wYXRoYF0gPSBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGhcblxuICAgICAgICBsZXQgbmV3QWxpYXNUYWJsZVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQucmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBDb25maWcgPSBhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbZmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQodG9TbmFrZUNhc2UocmVsYXRpb25zaGlwQ29uZmlnLnNsdWcpKVxuXG4gICAgICAgICAgLy8gcGFyZW50IHRvIHJlbGF0aW9uc2hpcCBqb2luIHRhYmxlXG4gICAgICAgICAgcmVsYXRpb25zaGlwRmllbGRzID0gcmVsYXRpb25zaGlwQ29uZmlnLmZpZWxkc1xuXG4gICAgICAgICAgbmV3QWxpYXNUYWJsZSA9IGFsaWFzKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sIHRvU25ha2VDYXNlKHV1aWQoKSkpXG5cbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogZXEobmV3QWxpYXNUYWJsZS5pZCwgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZVtgJHtmaWVsZC5yZWxhdGlvblRvfUlEYF0pLFxuICAgICAgICAgICAgdGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJycgfHwgbmV3Q29sbGVjdGlvblBhdGggPT09ICdpZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGAke2ZpZWxkLnJlbGF0aW9uVG99SURgLFxuICAgICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3ZhbHVlJykge1xuICAgICAgICAgIGNvbnN0IHRhYmxlQ29sdW1uc05hbWVzID0gZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uVGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICB0b1NuYWtlQ2FzZShhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLnNsdWcpLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gYFwiJHthbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZX1cIi5cIiR7cmVsYXRpb25UYWJsZU5hbWV9X2lkXCJgXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogc3FsLnJhdyhgQ09BTEVTQ0UoJHt0YWJsZUNvbHVtbnNOYW1lcy5qb2luKCcsICcpfSlgKSxcbiAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3JlbGF0aW9uVG8nKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBmaWVsZC5yZWxhdGlvblRvIDogW2ZpZWxkLnJlbGF0aW9uVG9dXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IHJlbGF0aW9uVG8uZmluZCgocmVsYXRpb24pID0+IHJlbGF0aW9uID09PSB2YWwpXG4gICAgICAgICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHJldHVybiBgJHttYXRjaGVkUmVsYXRpb259SURgXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdOb3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGFsaWFzVGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgY29sbGVjdGlvblBhdGg6IG5ld0NvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIGZpZWxkczogcmVsYXRpb25zaGlwRmllbGRzLFxuICAgICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICByb290VGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAvLyBJZiBsb2NhbGl6ZWQsIHdlIGdvIHRvIGxvY2FsaXplZCB0YWJsZSBhbmQgc2V0IGFsaWFzVGFibGUgdG8gdW5kZWZpbmVkXG4gICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwaWNrZWQgdXAgYmVsb3cgdG8gYmUgdXNlZCBhcyB0YXJnZXRUYWJsZVxuICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuXG4gICAgICAgIGNvbnN0IHBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKHBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcblxuICAgICAgICBhbGlhc1RhYmxlID0gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdXG5cbiAgICAgIHNlbGVjdEZpZWxkc1tgJHtuZXdUYWJsZU5hbWV9LiR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gXSA9XG4gICAgICAgIHRhcmdldFRhYmxlW2Ake2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9YF1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uTmFtZTogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gLFxuICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgdGFibGU6IHRhcmdldFRhYmxlLFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcihgQ2Fubm90IGZpbmQgZmllbGQgZm9yIHBhdGggYXQgJHtmaWVsZFBhdGh9YClcbn1cbiJdLCJuYW1lcyI6WyJnZXRUYWJsZUNvbHVtbkZyb21QYXRoIiwiYWRhcHRlciIsImFsaWFzVGFibGUiLCJjb2xsZWN0aW9uUGF0aCIsImNvbHVtblByZWZpeCIsImNvbnN0cmFpbnRQYXRoIiwiaW5jb21pbmdDb25zdHJhaW50UGF0aCIsImNvbnN0cmFpbnRzIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsImluY29taW5nTG9jYWxlIiwicGF0aFNlZ21lbnRzIiwiaW5jb21pbmdTZWdtZW50cyIsInJvb3RUYWJsZU5hbWUiLCJpbmNvbWluZ1Jvb3RUYWJsZU5hbWUiLCJzZWxlY3RGaWVsZHMiLCJ0YWJsZU5hbWUiLCJ0YWJsZU5hbWVTdWZmaXgiLCJ2YWx1ZSIsImZpZWxkUGF0aCIsImZpZWxkIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZmluZCIsImZpZWxkVG9GaW5kIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJuZXdUYWJsZU5hbWUiLCJpZCIsInRhYmxlcyIsImNvbHVtbk5hbWUiLCJ0eXBlIiwiaWRUeXBlIiwidGFibGUiLCJsb2NhbGl6ZWQiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibWF0Y2hlZExvY2FsZSIsImxvY2FsZUNvZGVzIiwic3BsaWNlIiwidGFicyIsIm1hcCIsInRhYiIsInNsaWNlIiwidGFiSGFzTmFtZSIsInRvU25ha2VDYXNlIiwibG9jYWxlc1N1ZmZpeCIsImVxIiwiX3BhcmVudElEIiwicHVzaCIsImhhc01hbnkiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJhbmQiLCJwYXJlbnQiLCJfbG9jYWxlIiwidGFibGVUeXBlIiwiam9pbkNvbnN0cmFpbnRzIiwibGlrZSIsInBhdGgiLCJibG9ja1RhYmxlQ29sdW1uIiwiYmxvY2tUeXBlcyIsIkFycmF5IiwiaXNBcnJheSIsImZvckVhY2giLCJibG9ja1R5cGUiLCJibG9jayIsImJsb2NrcyIsInNsdWciLCJnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSIsImhhc0Jsb2NrRmllbGQiLCJzb21lIiwicmVzdWx0IiwiYmxvY2tDb25zdHJhaW50cyIsImJsb2NrU2VsZWN0RmllbGRzIiwiZXJyb3IiLCJjb25jYXQiLCJyYXdDb2x1bW4iLCJyZWxhdGlvbnNoaXBGaWVsZHMiLCJyZWxhdGlvblRhYmxlTmFtZSIsInJlbGF0aW9uc2hpcHNTdWZmaXgiLCJuZXdDb2xsZWN0aW9uUGF0aCIsImpvaW4iLCJhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSIsInV1aWQiLCJhbGlhc1JlbGF0aW9uc2hpcFRhYmxlIiwiYWxpYXMiLCJjb25kaXRpb24iLCJuZXdBbGlhc1RhYmxlIiwicmVsYXRpb25UbyIsInJlbGF0aW9uc2hpcENvbmZpZyIsImNvbGxlY3Rpb25zIiwidGFibGVDb2x1bW5zTmFtZXMiLCJzcWwiLCJyYXciLCJ2YWwiLCJtYXRjaGVkUmVsYXRpb24iLCJyZWxhdGlvbiIsInVuZGVmaW5lZCIsIkFQSUVycm9yIiwicGFyZW50VGFibGUiLCJ0YXJnZXRUYWJsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
457
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVXaXRoQ29sdW1ucyB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBUYWJBc0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBsaWtlLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGFsaWFzIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBHZW5lcmljVGFibGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMsIEJ1aWxkUXVlcnlKb2lucyB9IGZyb20gJy4vYnVpbGRRdWVyeSdcblxudHlwZSBDb25zdHJhaW50ID0ge1xuICBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgdGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIHZhbHVlOiB1bmtub3duXG59XG5cbnR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgY29uc3RyYWludHM6IENvbnN0cmFpbnRbXVxuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlPzogKHZhbDogdW5rbm93bikgPT4gc3RyaW5nXG4gIHBhdGhTZWdtZW50cz86IHN0cmluZ1tdXG4gIHJhd0NvbHVtbj86IFNRTFxuICB0YWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYWxpYXNUYWJsZT86IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGNvbGxlY3Rpb25QYXRoOiBzdHJpbmdcbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbnN0cmFpbnRQYXRoPzogc3RyaW5nXG4gIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludFtdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhdGhTZWdtZW50czogc3RyaW5nW11cbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiBjcmVhdGluZyBhIG5ldyB0YWJsZSBuYW1lIGZvciBhcnJheXMgYW5kIGJsb2NrcywgdGhpcyBzdWZmaXggc2hvdWxkIGJlIGFwcGVuZGVkIHRvIHRoZSB0YWJsZSBuYW1lXG4gICAqL1xuICB0YWJsZU5hbWVTdWZmaXg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByYXcgdmFsdWUgb2YgdGhlIHF1ZXJ5IGJlZm9yZSBzYW5pdGl6YXRpb25cbiAgICovXG4gIHZhbHVlOiB1bmtub3duXG59XG4vKipcbiAqIFRyYW5zZm9ybXMgcGF0aCB0byB0YWJsZSBhbmQgY29sdW1uIG5hbWVcbiAqIEFkZHMgdGFibGVzIHRvIGBqb2luYFxuICogQHJldHVybnMgVGFibGVDb2x1bW5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggPSAoe1xuICBhZGFwdGVyLFxuICBhbGlhc1RhYmxlLFxuICBjb2xsZWN0aW9uUGF0aCxcbiAgY29sdW1uUHJlZml4ID0gJycsXG4gIGNvbnN0cmFpbnRQYXRoOiBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoLFxuICBjb25zdHJhaW50cyA9IFtdLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlOiBpbmNvbWluZ0xvY2FsZSxcbiAgcGF0aFNlZ21lbnRzOiBpbmNvbWluZ1NlZ21lbnRzLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB0YWJsZU5hbWVTdWZmaXggPSAnJyxcbiAgdmFsdWUsXG59OiBBcmdzKTogVGFibGVDb2x1bW4gPT4ge1xuICBjb25zdCBmaWVsZFBhdGggPSBpbmNvbWluZ1NlZ21lbnRzWzBdXG4gIGxldCBsb2NhbGUgPSBpbmNvbWluZ0xvY2FsZVxuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBsZXQgY29uc3RyYWludFBhdGggPSBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIHx8ICcnXG5cbiAgY29uc3QgZmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzIGFzIEZpZWxkW10pLmZpbmQoXG4gICAgKGZpZWxkVG9GaW5kKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkVG9GaW5kKSAmJiBmaWVsZFRvRmluZC5uYW1lID09PSBmaWVsZFBhdGgsXG4gICkgYXMgRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGxldCBuZXdUYWJsZU5hbWUgPSB0YWJsZU5hbWVcblxuICBpZiAoIWZpZWxkICYmIGZpZWxkUGF0aCA9PT0gJ2lkJykge1xuICAgIHNlbGVjdEZpZWxkcy5pZCA9IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uaWRcbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uTmFtZTogJ2lkJyxcbiAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgZmllbGQ6IHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd0ZXh0JyA6ICdudW1iZXInLFxuICAgICAgfSBhcyBOdW1iZXJGaWVsZCB8IFRleHRGaWVsZCxcbiAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZCkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IFsuLi5pbmNvbWluZ1NlZ21lbnRzXVxuXG4gICAgLy8gSWYgbmV4dCBzZWdtZW50IGlzIGEgbG9jYWxlLFxuICAgIC8vIHdlIG5lZWQgdG8gdGFrZSBpdCBvdXQgYW5kIHVzZSBpdCBhcyB0aGUgbG9jYWxlIGZyb20gdGhpcyBwb2ludCBvblxuICAgIGlmICgnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMb2NhbGUgPSBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5maW5kKFxuICAgICAgICAobG9jYWxlKSA9PiBsb2NhbGUgPT09IHBhdGhTZWdtZW50c1sxXSxcbiAgICAgIClcblxuICAgICAgaWYgKG1hdGNoZWRMb2NhbGUpIHtcbiAgICAgICAgbG9jYWxlID0gbWF0Y2hlZExvY2FsZVxuICAgICAgICBwYXRoU2VnbWVudHMuc3BsaWNlKDEsIDEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFsaWFzVGFibGUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRQYXRoOiBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfSR7YWRhcHRlci5sb2NhbGVzU3VmZml4fWBcblxuICAgICAgICAgIGpvaW5zW3RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgY29uc3RyYWludFBhdGg6IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgIGAke3RhYmxlTmFtZX1fJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLnBhcmVudCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gZXEoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBsZXQgdGFibGVUeXBlID0gJ3RleHRzJ1xuICAgICAgICAgIGxldCBjb2x1bW5OYW1lID0gJ3RleHQnXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0YWJsZVR5cGUgPSAnbnVtYmVycydcbiAgICAgICAgICAgIGNvbHVtbk5hbWUgPSAnbnVtYmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV8ke3RhYmxlVHlwZX1gXG4gICAgICAgICAgY29uc3Qgam9pbkNvbnN0cmFpbnRzID0gW1xuICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50KSxcbiAgICAgICAgICAgIGxpa2UoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgXVxuXG4gICAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICAgIC4uLmpvaW5Db25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fbG9jYWxlLCBsb2NhbGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZCguLi5qb2luQ29uc3RyYWludHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgYCR7dGFibGVOYW1lfV8ke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWAsXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCBhcnJheVBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgY29uc3RyYWludFBhdGggPSBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LiUuYFxuICAgICAgICBpZiAobG9jYWxlICYmIGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICBlcShhcnJheVBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShhcnJheVBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgbGV0IGJsb2NrVGFibGVDb2x1bW46IFRhYmxlQ29sdW1uXG4gICAgICAgIGxldCBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuXG4gICAgICAgIC8vIGhhbmRsZSBibG9ja1R5cGUgcXVlcmllc1xuICAgICAgICBpZiAocGF0aFNlZ21lbnRzWzFdID09PSAnYmxvY2tUeXBlJykge1xuICAgICAgICAgIC8vIGZpbmQgdGhlIGJsb2NrIGNvbmZpZyB1c2luZyB0aGUgdmFsdWVcbiAgICAgICAgICBjb25zdCBibG9ja1R5cGVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cbiAgICAgICAgICBibG9ja1R5cGVzLmZvckVhY2goKGJsb2NrVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2spID0+IGJsb2NrLnNsdWcgPT09IGJsb2NrVHlwZSlcblxuICAgICAgICAgICAgbmV3VGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWAsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19wYXRoJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXRoU2VnbWVudHNbMF0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKCkgPT4gJ2lkJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0Jsb2NrRmllbGQgPSBmaWVsZC5ibG9ja3Muc29tZSgoYmxvY2spID0+IHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7dGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gKVxuICAgICAgICAgIGNvbnN0cmFpbnRQYXRoID0gYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfS4lLmBcblxuICAgICAgICAgIGxldCByZXN1bHRcbiAgICAgICAgICBjb25zdCBibG9ja0NvbnN0cmFpbnRzID0gW11cbiAgICAgICAgICBjb25zdCBibG9ja1NlbGVjdEZpZWxkcyA9IHt9XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBibG9ja0NvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RGaWVsZHM6IGJsb2NrU2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIGZpbmUsIG5vdCBldmVyeSBibG9jayB3aWxsIGhhdmUgdGhlIGZpZWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgYmxvY2tUYWJsZUNvbHVtbiA9IHJlc3VsdFxuICAgICAgICAgIGNvbnN0cmFpbnRzID0gY29uc3RyYWludHMuY29uY2F0KGJsb2NrQ29uc3RyYWludHMpXG4gICAgICAgICAgc2VsZWN0RmllbGRzID0geyAuLi5zZWxlY3RGaWVsZHMsIC4uLmJsb2NrU2VsZWN0RmllbGRzIH1cbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChoYXNCbG9ja0ZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6IGJsb2NrVGFibGVDb2x1bW4uY29sdW1uTmFtZSxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQ6IGJsb2NrVGFibGVDb2x1bW4uZmllbGQsXG4gICAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogYmxvY2tUYWJsZUNvbHVtbi5yYXdDb2x1bW4sXG4gICAgICAgICAgICB0YWJsZTogYmxvY2tUYWJsZUNvbHVtbi50YWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgbGV0IHJlbGF0aW9uc2hpcEZpZWxkc1xuICAgICAgICBjb25zdCByZWxhdGlvblRhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuICAgICAgICBjb25zdCBuZXdDb2xsZWN0aW9uUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJylcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUgPSB1dWlkKClcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSA9IGFsaWFzKFxuICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uVGFibGVOYW1lXSxcbiAgICAgICAgICBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSxcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgZXEoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgICAgIGxpa2UoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgbGlrZShhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGgsIGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX1gKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0RmllbGRzW2Ake3JlbGF0aW9uVGFibGVOYW1lfS5wYXRoYF0gPSBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGhcblxuICAgICAgICBsZXQgbmV3QWxpYXNUYWJsZVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQucmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBDb25maWcgPSBhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbZmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQodG9TbmFrZUNhc2UocmVsYXRpb25zaGlwQ29uZmlnLnNsdWcpKVxuXG4gICAgICAgICAgLy8gcGFyZW50IHRvIHJlbGF0aW9uc2hpcCBqb2luIHRhYmxlXG4gICAgICAgICAgcmVsYXRpb25zaGlwRmllbGRzID0gcmVsYXRpb25zaGlwQ29uZmlnLmZpZWxkc1xuXG4gICAgICAgICAgbmV3QWxpYXNUYWJsZSA9IGFsaWFzKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sIHRvU25ha2VDYXNlKHV1aWQoKSkpXG5cbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogZXEobmV3QWxpYXNUYWJsZS5pZCwgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZVtgJHtmaWVsZC5yZWxhdGlvblRvfUlEYF0pLFxuICAgICAgICAgICAgdGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJycgfHwgbmV3Q29sbGVjdGlvblBhdGggPT09ICdpZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGAke2ZpZWxkLnJlbGF0aW9uVG99SURgLFxuICAgICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3ZhbHVlJykge1xuICAgICAgICAgIGNvbnN0IHRhYmxlQ29sdW1uc05hbWVzID0gZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uVGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICB0b1NuYWtlQ2FzZShhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLnNsdWcpLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gYFwiJHthbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZX1cIi5cIiR7cmVsYXRpb25UYWJsZU5hbWV9X2lkXCJgXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogc3FsLnJhdyhgQ09BTEVTQ0UoJHt0YWJsZUNvbHVtbnNOYW1lcy5qb2luKCcsICcpfSlgKSxcbiAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3JlbGF0aW9uVG8nKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBmaWVsZC5yZWxhdGlvblRvIDogW2ZpZWxkLnJlbGF0aW9uVG9dXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IHJlbGF0aW9uVG8uZmluZCgocmVsYXRpb24pID0+IHJlbGF0aW9uID09PSB2YWwpXG4gICAgICAgICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHJldHVybiBgJHttYXRjaGVkUmVsYXRpb259SURgXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdOb3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGFsaWFzVGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgY29sbGVjdGlvblBhdGg6IG5ld0NvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIGZpZWxkczogcmVsYXRpb25zaGlwRmllbGRzLFxuICAgICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICByb290VGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAvLyBJZiBsb2NhbGl6ZWQsIHdlIGdvIHRvIGxvY2FsaXplZCB0YWJsZSBhbmQgc2V0IGFsaWFzVGFibGUgdG8gdW5kZWZpbmVkXG4gICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwaWNrZWQgdXAgYmVsb3cgdG8gYmUgdXNlZCBhcyB0YXJnZXRUYWJsZVxuICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuXG4gICAgICAgIGNvbnN0IHBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKHBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcblxuICAgICAgICBhbGlhc1RhYmxlID0gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdXG5cbiAgICAgIHNlbGVjdEZpZWxkc1tgJHtuZXdUYWJsZU5hbWV9LiR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gXSA9XG4gICAgICAgIHRhcmdldFRhYmxlW2Ake2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9YF1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uTmFtZTogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gLFxuICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgdGFibGU6IHRhcmdldFRhYmxlLFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcihgQ2Fubm90IGZpbmQgZmllbGQgZm9yIHBhdGggYXQgJHtmaWVsZFBhdGh9YClcbn1cbiJdLCJuYW1lcyI6WyJnZXRUYWJsZUNvbHVtbkZyb21QYXRoIiwiYWRhcHRlciIsImFsaWFzVGFibGUiLCJjb2xsZWN0aW9uUGF0aCIsImNvbHVtblByZWZpeCIsImNvbnN0cmFpbnRQYXRoIiwiaW5jb21pbmdDb25zdHJhaW50UGF0aCIsImNvbnN0cmFpbnRzIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsImluY29taW5nTG9jYWxlIiwicGF0aFNlZ21lbnRzIiwiaW5jb21pbmdTZWdtZW50cyIsInJvb3RUYWJsZU5hbWUiLCJpbmNvbWluZ1Jvb3RUYWJsZU5hbWUiLCJzZWxlY3RGaWVsZHMiLCJ0YWJsZU5hbWUiLCJ0YWJsZU5hbWVTdWZmaXgiLCJ2YWx1ZSIsImZpZWxkUGF0aCIsImZpZWxkIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZmluZCIsImZpZWxkVG9GaW5kIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJuZXdUYWJsZU5hbWUiLCJpZCIsInRhYmxlcyIsImNvbHVtbk5hbWUiLCJ0eXBlIiwiaWRUeXBlIiwidGFibGUiLCJsb2NhbGl6ZWQiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibWF0Y2hlZExvY2FsZSIsImxvY2FsZUNvZGVzIiwic3BsaWNlIiwidGFicyIsIm1hcCIsInRhYiIsInNsaWNlIiwidGFiSGFzTmFtZSIsInRvU25ha2VDYXNlIiwibG9jYWxlc1N1ZmZpeCIsImVxIiwiX3BhcmVudElEIiwicHVzaCIsImhhc01hbnkiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJhbmQiLCJwYXJlbnQiLCJfbG9jYWxlIiwidGFibGVUeXBlIiwiam9pbkNvbnN0cmFpbnRzIiwibGlrZSIsInBhdGgiLCJhcnJheVBhcmVudFRhYmxlIiwiYmxvY2tUYWJsZUNvbHVtbiIsImJsb2NrVHlwZXMiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwiYmxvY2tUeXBlIiwiYmxvY2siLCJibG9ja3MiLCJzbHVnIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJoYXNCbG9ja0ZpZWxkIiwic29tZSIsInJlc3VsdCIsImJsb2NrQ29uc3RyYWludHMiLCJibG9ja1NlbGVjdEZpZWxkcyIsImVycm9yIiwiY29uY2F0IiwicmF3Q29sdW1uIiwicmVsYXRpb25zaGlwRmllbGRzIiwicmVsYXRpb25UYWJsZU5hbWUiLCJyZWxhdGlvbnNoaXBzU3VmZml4IiwibmV3Q29sbGVjdGlvblBhdGgiLCJqb2luIiwiYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUiLCJ1dWlkIiwiYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSIsImFsaWFzIiwiY29uZGl0aW9uIiwibmV3QWxpYXNUYWJsZSIsInJlbGF0aW9uVG8iLCJyZWxhdGlvbnNoaXBDb25maWciLCJjb2xsZWN0aW9ucyIsInRhYmxlQ29sdW1uc05hbWVzIiwic3FsIiwicmF3IiwidmFsIiwibWF0Y2hlZFJlbGF0aW9uIiwicmVsYXRpb24iLCJ1bmRlZmluZWQiLCJBUElFcnJvciIsInBhcmVudFRhYmxlIiwidGFyZ2V0VGFibGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,eAAe,CAAA;AAO3D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAS1E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAgNrB"}
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "parseParams", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _pgcore = require("drizzle-orm/pg-core");
|
12
13
|
const _errors = require("payload/errors");
|
13
14
|
const _types = require("payload/types");
|
14
15
|
const _buildAndOrConditions = require("./buildAndOrConditions");
|
@@ -144,6 +145,7 @@ async function parseParams({ adapter, fields, joinAliases, joins, locale, select
|
|
144
145
|
const sanitizedQueryValue = (0, _sanitizeQueryValue.sanitizeQueryValue)({
|
145
146
|
adapter,
|
146
147
|
field,
|
148
|
+
isUUID: table?.[columnName] instanceof _pgcore.PgUUID,
|
147
149
|
operator,
|
148
150
|
relationOrPath,
|
149
151
|
val
|
@@ -192,4 +194,4 @@ async function parseParams({ adapter, fields, joinAliases, joins, locale, select
|
|
192
194
|
return result;
|
193
195
|
}
|
194
196
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3BhcnNlUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBPcGVyYXRvciwgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGlsaWtlLCBpc05vdE51bGwsIGlzTnVsbCwgbmUsIG5vdEluQXJyYXksIG9yLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IHZhbGlkT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRRdWVyeUpvaW5BbGlhc2VzLCBCdWlsZFF1ZXJ5Sm9pbnMgfSBmcm9tICcuL2J1aWxkUXVlcnknXG5cbmltcG9ydCB7IGJ1aWxkQW5kT3JDb25kaXRpb25zIH0gZnJvbSAnLi9idWlsZEFuZE9yQ29uZGl0aW9ucydcbmltcG9ydCB7IGNyZWF0ZUpTT05RdWVyeSB9IGZyb20gJy4vY3JlYXRlSlNPTlF1ZXJ5J1xuaW1wb3J0IHsgY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwgfSBmcm9tICcuL2NyZWF0ZUpTT05RdWVyeS9jb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCdcbmltcG9ydCB7IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggfSBmcm9tICcuL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgnXG5pbXBvcnQgeyBvcGVyYXRvck1hcCB9IGZyb20gJy4vb3BlcmF0b3JNYXAnXG5pbXBvcnQgeyBzYW5pdGl6ZVF1ZXJ5VmFsdWUgfSBmcm9tICcuL3Nhbml0aXplUXVlcnlWYWx1ZSdcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXNcbiAgam9pbnM6IEJ1aWxkUXVlcnlKb2luc1xuICBsb2NhbGU6IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIHdoZXJlOiBXaGVyZVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VQYXJhbXMoe1xuICBhZGFwdGVyLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlLFxuICBzZWxlY3RGaWVsZHMsXG4gIHRhYmxlTmFtZSxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxTUUw+IHtcbiAgbGV0IHJlc3VsdDogU1FMXG4gIGNvbnN0IGNvbnN0cmFpbnRzOiBTUUxbXSA9IFtdXG5cbiAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMod2hlcmUpLmxlbmd0aCA+IDApIHtcbiAgICAvLyBXZSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGUgd2hlcmVLZXkgaXMgYW4gQU5ELCBPUiwgb3IgYSBzY2hlbWEgcGF0aFxuICAgIGZvciAoY29uc3QgcmVsYXRpb25PclBhdGggb2YgT2JqZWN0LmtleXMod2hlcmUpKSB7XG4gICAgICBpZiAocmVsYXRpb25PclBhdGgpIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uID0gd2hlcmVbcmVsYXRpb25PclBhdGhdXG4gICAgICAgIGxldCBjb25kaXRpb25PcGVyYXRvcjogJ2FuZCcgfCAnb3InXG4gICAgICAgIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnYW5kJykge1xuICAgICAgICAgIGNvbmRpdGlvbk9wZXJhdG9yID0gJ2FuZCdcbiAgICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnb3InKSB7XG4gICAgICAgICAgY29uZGl0aW9uT3BlcmF0b3IgPSAnb3InXG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZGl0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IGJ1aWx0Q29uZGl0aW9ucyA9IGF3YWl0IGJ1aWxkQW5kT3JDb25kaXRpb25zKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgd2hlcmU6IGNvbmRpdGlvbixcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChidWlsdENvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gb3BlcmF0b3JNYXBbY29uZGl0aW9uT3BlcmF0b3JdKC4uLmJ1aWx0Q29uZGl0aW9ucylcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSXQncyBhIHBhdGggLSBhbmQgdGhlcmUgY2FuIGJlIG11bHRpcGxlIGNvbXBhcmlzb25zIG9uIGEgc2luZ2xlIHBhdGguXG4gICAgICAgICAgLy8gRm9yIGV4YW1wbGUgLSB0aXRsZSBsaWtlICd0ZXN0JyBhbmQgdGl0bGUgbm90IGVxdWFsIHRvICd0ZXN0ZXInXG4gICAgICAgICAgLy8gU28gd2UgbmVlZCB0byBsb29wIG9uIGtleXMgYWdhaW4gaGVyZSB0byBoYW5kbGUgZWFjaCBvcGVyYXRvciBpbmRlcGVuZGVudGx5XG4gICAgICAgICAgY29uc3QgcGF0aE9wZXJhdG9ycyA9IHdoZXJlW3JlbGF0aW9uT3JQYXRoXVxuICAgICAgICAgIGlmICh0eXBlb2YgcGF0aE9wZXJhdG9ycyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGZvciAobGV0IG9wZXJhdG9yIG9mIE9iamVjdC5rZXlzKHBhdGhPcGVyYXRvcnMpKSB7XG4gICAgICAgICAgICAgIGlmICh2YWxpZE9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvciBhcyBPcGVyYXRvcikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB3aGVyZVtyZWxhdGlvbk9yUGF0aF1bb3BlcmF0b3JdXG4gICAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBxdWVyeUNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgICAgICAgICAgIHJhd0NvbHVtbixcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0gPSBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aDogcmVsYXRpb25PclBhdGgsXG4gICAgICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiByZWxhdGlvbk9yUGF0aC5yZXBsYWNlKC9fXy9nLCAnLicpLnNwbGl0KCcuJyksXG4gICAgICAgICAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsLFxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBxdWVyeUNvbnN0cmFpbnRzLmZvckVhY2goKHsgY29sdW1uTmFtZTogY29sLCB0YWJsZTogY29uc3RyYWludFRhYmxlLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmRleE9mKCclJykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKG9wZXJhdG9yTWFwLmxpa2UoY29uc3RyYWludFRhYmxlW2NvbF0sIHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2gob3BlcmF0b3JNYXAuZXF1YWxzKGNvbnN0cmFpbnRUYWJsZVtjb2xdLCB2YWx1ZSkpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIFsnanNvbicsICdyaWNoVGV4dCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHBhdGhTZWdtZW50cykgJiZcbiAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50cy5sZW5ndGggPiAxXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzZWdtZW50cyA9IHBhdGhTZWdtZW50cy5zbGljZSgxKVxuICAgICAgICAgICAgICAgICAgc2VnbWVudHMudW5zaGlmdCh0YWJsZVtjb2x1bW5OYW1lXS5uYW1lKVxuXG4gICAgICAgICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JpY2hUZXh0Jykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBqc29uUXVlcnkgPSBjcmVhdGVKU09OUXVlcnkoe1xuICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50czogc2VnbWVudHMsXG4gICAgICAgICAgICAgICAgICAgICAgdHJlYXRBc0FycmF5OiBbJ2NoaWxkcmVuJ10sXG4gICAgICAgICAgICAgICAgICAgICAgdHJlYXRSb290QXNBcnJheTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsLFxuICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goc3FsLnJhdyhqc29uUXVlcnkpKVxuICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBqc29uUXVlcnkgPSBjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbChwYXRoU2VnbWVudHMpXG4gICAgICAgICAgICAgICAgICBjb25zdCBvcGVyYXRvcktleXMgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zOiB7IG9wZXJhdG9yOiAnaWxpa2UnLCB3aWxkY2FyZDogJyUnIH0sXG4gICAgICAgICAgICAgICAgICAgIGVxdWFsczogeyBvcGVyYXRvcjogJz0nLCB3aWxkY2FyZDogJycgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RzOiB7IG9wZXJhdG9yOiB2YWwgPT09IHRydWUgPyAnaXMgbm90IG51bGwnIDogJ2lzIG51bGwnIH0sXG4gICAgICAgICAgICAgICAgICAgIGxpa2U6IHsgb3BlcmF0b3I6ICdsaWtlJywgd2lsZGNhcmQ6ICclJyB9LFxuICAgICAgICAgICAgICAgICAgICBub3RfZXF1YWxzOiB7IG9wZXJhdG9yOiAnPD4nLCB3aWxkY2FyZDogJycgfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IGAnJHtvcGVyYXRvcktleXNbb3BlcmF0b3JdLndpbGRjYXJkfSR7dmFsfSR7b3BlcmF0b3JLZXlzW29wZXJhdG9yXS53aWxkY2FyZH0nYFxuXG4gICAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdleGlzdHMnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gJydcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgc3FsLnJhdyhcbiAgICAgICAgICAgICAgICAgICAgICBgJHt0YWJsZVtjb2x1bW5OYW1lXS5uYW1lfSR7anNvblF1ZXJ5fSAke29wZXJhdG9yS2V5c1tvcGVyYXRvcl0ub3BlcmF0b3J9ICR7Zm9ybWF0dGVkVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSh2YWwpXG4gICAgICAgICAgICAgICAgICBpZiAoY29sdW1uTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKGlzTm90TnVsbCh0YWJsZVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihbeyBwYXRoOiByZWxhdGlvbk9yUGF0aCB9XSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPT09ICdsaWtlJyAmJlxuICAgICAgICAgICAgICAgICAgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInIHx8IHRhYmxlW2NvbHVtbk5hbWVdLmNvbHVtblR5cGUgPT09ICdQZ1VVSUQnKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPSAnZXF1YWxzJ1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2xpa2UnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBhbmQoLi4udmFsLnNwbGl0KCcgJykubWFwKCh3b3JkKSA9PiBpbGlrZSh0YWJsZVtjb2x1bW5OYW1lXSwgYCUke3dvcmR9JWApKSksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZFF1ZXJ5VmFsdWUgPSBzYW5pdGl6ZVF1ZXJ5VmFsdWUoe1xuICAgICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbk9yUGF0aCxcbiAgICAgICAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgaWYgKHNhbml0aXplZFF1ZXJ5VmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBvcGVyYXRvcjogcXVlcnlPcGVyYXRvciwgdmFsdWU6IHF1ZXJ5VmFsdWUgfSA9IHNhbml0aXplZFF1ZXJ5VmFsdWVcblxuICAgICAgICAgICAgICAgIGlmIChxdWVyeU9wZXJhdG9yID09PSAnbm90X2VxdWFscycgJiYgcXVlcnlWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgb3IoXG4gICAgICAgICAgICAgICAgICAgICAgaXNOdWxsKHJhd0NvbHVtbiB8fCB0YWJsZVtjb2x1bW5OYW1lXSksXG4gICAgICAgICAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuICAgICAgICAgICAgICAgICAgICAgIG5lPGFueT4ocmF3Q29sdW1uIHx8IHRhYmxlW2NvbHVtbk5hbWVdLCBxdWVyeVZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSAmJlxuICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShxdWVyeVZhbHVlKSAmJlxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPT09ICdub3RfaW4nXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBzcWxgKCR7bm90SW5BcnJheSh0YWJsZVtjb2x1bW5OYW1lXSwgcXVlcnlWYWx1ZSl9IE9SXG4gICAgICAgICAgICAgICAgICAgICR7dGFibGVbY29sdW1uTmFtZV19XG4gICAgICAgICAgICAgICAgICAgIElTXG4gICAgICAgICAgICAgICAgICAgIE5VTEwpYCxcbiAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdlcXVhbHMnICYmIHF1ZXJ5VmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goaXNOdWxsKHJhd0NvbHVtbiB8fCB0YWJsZVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ25vdF9lcXVhbHMnICYmIHF1ZXJ5VmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goaXNOb3ROdWxsKHJhd0NvbHVtbiB8fCB0YWJsZVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvck1hcFtxdWVyeU9wZXJhdG9yXShyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0sIHF1ZXJ5VmFsdWUpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoY29uc3RyYWludHMubGVuZ3RoID4gMCkge1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJlc3VsdCA9IGFuZChyZXN1bHQsIC4uLmNvbnN0cmFpbnRzKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBhbmQoLi4uY29uc3RyYWludHMpXG4gICAgfVxuICB9XG4gIGlmIChjb25zdHJhaW50cy5sZW5ndGggPT09IDEgJiYgIXJlc3VsdCkge1xuICAgIDtbcmVzdWx0XSA9IGNvbnN0cmFpbnRzXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJhbXMiLCJhZGFwdGVyIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsInNlbGVjdEZpZWxkcyIsInRhYmxlTmFtZSIsIndoZXJlIiwicmVzdWx0IiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicmVsYXRpb25PclBhdGgiLCJjb25kaXRpb24iLCJjb25kaXRpb25PcGVyYXRvciIsInRvTG93ZXJDYXNlIiwiQXJyYXkiLCJpc0FycmF5IiwiYnVpbHRDb25kaXRpb25zIiwiYnVpbGRBbmRPckNvbmRpdGlvbnMiLCJvcGVyYXRvck1hcCIsInBhdGhPcGVyYXRvcnMiLCJvcGVyYXRvciIsInZhbGlkT3BlcmF0b3JzIiwiaW5jbHVkZXMiLCJ2YWwiLCJjb2x1bW5OYW1lIiwicXVlcnlDb25zdHJhaW50cyIsImZpZWxkIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJwYXRoU2VnbWVudHMiLCJyYXdDb2x1bW4iLCJ0YWJsZSIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJjb2xsZWN0aW9uUGF0aCIsInJlcGxhY2UiLCJzcGxpdCIsInZhbHVlIiwiZm9yRWFjaCIsImNvbCIsImNvbnN0cmFpbnRUYWJsZSIsImluZGV4T2YiLCJwdXNoIiwibGlrZSIsImVxdWFscyIsInR5cGUiLCJzZWdtZW50cyIsInNsaWNlIiwidW5zaGlmdCIsIm5hbWUiLCJqc29uUXVlcnkiLCJjcmVhdGVKU09OUXVlcnkiLCJ0cmVhdEFzQXJyYXkiLCJ0cmVhdFJvb3RBc0FycmF5Iiwic3FsIiwicmF3IiwiY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwiLCJvcGVyYXRvcktleXMiLCJjb250YWlucyIsIndpbGRjYXJkIiwiZXhpc3RzIiwibm90X2VxdWFscyIsImZvcm1hdHRlZFZhbHVlIiwiaXNOb3ROdWxsIiwiUXVlcnlFcnJvciIsInBhdGgiLCJjb2x1bW5UeXBlIiwiYW5kIiwibWFwIiwid29yZCIsImlsaWtlIiwic2FuaXRpemVkUXVlcnlWYWx1ZSIsInNhbml0aXplUXVlcnlWYWx1ZSIsInF1ZXJ5T3BlcmF0b3IiLCJxdWVyeVZhbHVlIiwib3IiLCJpc051bGwiLCJuZSIsIm5vdEluQXJyYXkiXSwicmFu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
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3BhcnNlUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBPcGVyYXRvciwgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGlsaWtlLCBpc05vdE51bGwsIGlzTnVsbCwgbmUsIG5vdEluQXJyYXksIG9yLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IFBnVVVJRCB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBRdWVyeUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyB2YWxpZE9wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJ1aWxkUXVlcnlKb2luQWxpYXNlcywgQnVpbGRRdWVyeUpvaW5zIH0gZnJvbSAnLi9idWlsZFF1ZXJ5J1xuXG5pbXBvcnQgeyBidWlsZEFuZE9yQ29uZGl0aW9ucyB9IGZyb20gJy4vYnVpbGRBbmRPckNvbmRpdGlvbnMnXG5pbXBvcnQgeyBjcmVhdGVKU09OUXVlcnkgfSBmcm9tICcuL2NyZWF0ZUpTT05RdWVyeSdcbmltcG9ydCB7IGNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsIH0gZnJvbSAnLi9jcmVhdGVKU09OUXVlcnkvY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwnXG5pbXBvcnQgeyBnZXRUYWJsZUNvbHVtbkZyb21QYXRoIH0gZnJvbSAnLi9nZXRUYWJsZUNvbHVtbkZyb21QYXRoJ1xuaW1wb3J0IHsgb3BlcmF0b3JNYXAgfSBmcm9tICcuL29wZXJhdG9yTWFwJ1xuaW1wb3J0IHsgc2FuaXRpemVRdWVyeVZhbHVlIH0gZnJvbSAnLi9zYW5pdGl6ZVF1ZXJ5VmFsdWUnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGZpZWxkczogRmllbGRbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlOiBzdHJpbmdcbiAgc2VsZWN0RmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBHZW5lcmljQ29sdW1uPlxuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB3aGVyZTogV2hlcmVcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlUGFyYW1zKHtcbiAgYWRhcHRlcixcbiAgZmllbGRzLFxuICBqb2luQWxpYXNlcyxcbiAgam9pbnMsXG4gIGxvY2FsZSxcbiAgc2VsZWN0RmllbGRzLFxuICB0YWJsZU5hbWUsXG4gIHdoZXJlLFxufTogQXJncyk6IFByb21pc2U8U1FMPiB7XG4gIGxldCByZXN1bHQ6IFNRTFxuICBjb25zdCBjb25zdHJhaW50czogU1FMW10gPSBbXVxuXG4gIGlmICh0eXBlb2Ygd2hlcmUgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHdoZXJlKS5sZW5ndGggPiAwKSB7XG4gICAgLy8gV2UgbmVlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHdoZXJlS2V5IGlzIGFuIEFORCwgT1IsIG9yIGEgc2NoZW1hIHBhdGhcbiAgICBmb3IgKGNvbnN0IHJlbGF0aW9uT3JQYXRoIG9mIE9iamVjdC5rZXlzKHdoZXJlKSkge1xuICAgICAgaWYgKHJlbGF0aW9uT3JQYXRoKSB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IHdoZXJlW3JlbGF0aW9uT3JQYXRoXVxuICAgICAgICBsZXQgY29uZGl0aW9uT3BlcmF0b3I6ICdhbmQnIHwgJ29yJ1xuICAgICAgICBpZiAocmVsYXRpb25PclBhdGgudG9Mb3dlckNhc2UoKSA9PT0gJ2FuZCcpIHtcbiAgICAgICAgICBjb25kaXRpb25PcGVyYXRvciA9ICdhbmQnXG4gICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb25PclBhdGgudG9Mb3dlckNhc2UoKSA9PT0gJ29yJykge1xuICAgICAgICAgIGNvbmRpdGlvbk9wZXJhdG9yID0gJ29yJ1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmRpdGlvbikpIHtcbiAgICAgICAgICBjb25zdCBidWlsdENvbmRpdGlvbnMgPSBhd2FpdCBidWlsZEFuZE9yQ29uZGl0aW9ucyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZSxcbiAgICAgICAgICAgIHdoZXJlOiBjb25kaXRpb24sXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAoYnVpbHRDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG9wZXJhdG9yTWFwW2NvbmRpdGlvbk9wZXJhdG9yXSguLi5idWlsdENvbmRpdGlvbnMpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEl0J3MgYSBwYXRoIC0gYW5kIHRoZXJlIGNhbiBiZSBtdWx0aXBsZSBjb21wYXJpc29ucyBvbiBhIHNpbmdsZSBwYXRoLlxuICAgICAgICAgIC8vIEZvciBleGFtcGxlIC0gdGl0bGUgbGlrZSAndGVzdCcgYW5kIHRpdGxlIG5vdCBlcXVhbCB0byAndGVzdGVyJ1xuICAgICAgICAgIC8vIFNvIHdlIG5lZWQgdG8gbG9vcCBvbiBrZXlzIGFnYWluIGhlcmUgdG8gaGFuZGxlIGVhY2ggb3BlcmF0b3IgaW5kZXBlbmRlbnRseVxuICAgICAgICAgIGNvbnN0IHBhdGhPcGVyYXRvcnMgPSB3aGVyZVtyZWxhdGlvbk9yUGF0aF1cbiAgICAgICAgICBpZiAodHlwZW9mIHBhdGhPcGVyYXRvcnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBvcGVyYXRvciBvZiBPYmplY3Qua2V5cyhwYXRoT3BlcmF0b3JzKSkge1xuICAgICAgICAgICAgICBpZiAodmFsaWRPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IgYXMgT3BlcmF0b3IpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gd2hlcmVbcmVsYXRpb25PclBhdGhdW29wZXJhdG9yXVxuICAgICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50czogcXVlcnlDb25zdHJhaW50cyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgICAgZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUsXG4gICAgICAgICAgICAgICAgICBwYXRoU2VnbWVudHMsXG4gICAgICAgICAgICAgICAgICByYXdDb2x1bW4sXG4gICAgICAgICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgICAgICB9ID0gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblBhdGg6IHJlbGF0aW9uT3JQYXRoLFxuICAgICAgICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50czogcmVsYXRpb25PclBhdGgucmVwbGFjZSgvX18vZywgJy4nKS5zcGxpdCgnLicpLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgcXVlcnlDb25zdHJhaW50cy5mb3JFYWNoKCh7IGNvbHVtbk5hbWU6IGNvbCwgdGFibGU6IGNvbnN0cmFpbnRUYWJsZSwgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5kZXhPZignJScpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChvcGVyYXRvck1hcC5saWtlKGNvbnN0cmFpbnRUYWJsZVtjb2xdLCB2YWx1ZSkpXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKG9wZXJhdG9yTWFwLmVxdWFscyhjb25zdHJhaW50VGFibGVbY29sXSwgdmFsdWUpKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBbJ2pzb24nLCAncmljaFRleHQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSAmJlxuICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShwYXRoU2VnbWVudHMpICYmXG4gICAgICAgICAgICAgICAgICBwYXRoU2VnbWVudHMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoU2VnbWVudHMuc2xpY2UoMSlcbiAgICAgICAgICAgICAgICAgIHNlZ21lbnRzLnVuc2hpZnQodGFibGVbY29sdW1uTmFtZV0ubmFtZSlcblxuICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyaWNoVGV4dCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QganNvblF1ZXJ5ID0gY3JlYXRlSlNPTlF1ZXJ5KHtcbiAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoU2VnbWVudHM6IHNlZ21lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgIHRyZWF0QXNBcnJheTogWydjaGlsZHJlbiddLFxuICAgICAgICAgICAgICAgICAgICAgIHRyZWF0Um9vdEFzQXJyYXk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHNxbC5yYXcoanNvblF1ZXJ5KSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29uc3QganNvblF1ZXJ5ID0gY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwocGF0aFNlZ21lbnRzKVxuICAgICAgICAgICAgICAgICAgY29uc3Qgb3BlcmF0b3JLZXlzID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250YWluczogeyBvcGVyYXRvcjogJ2lsaWtlJywgd2lsZGNhcmQ6ICclJyB9LFxuICAgICAgICAgICAgICAgICAgICBlcXVhbHM6IHsgb3BlcmF0b3I6ICc9Jywgd2lsZGNhcmQ6ICcnIH0sXG4gICAgICAgICAgICAgICAgICAgIGV4aXN0czogeyBvcGVyYXRvcjogdmFsID09PSB0cnVlID8gJ2lzIG5vdCBudWxsJyA6ICdpcyBudWxsJyB9LFxuICAgICAgICAgICAgICAgICAgICBsaWtlOiB7IG9wZXJhdG9yOiAnbGlrZScsIHdpbGRjYXJkOiAnJScgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90X2VxdWFsczogeyBvcGVyYXRvcjogJzw+Jywgd2lsZGNhcmQ6ICcnIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSBgJyR7b3BlcmF0b3JLZXlzW29wZXJhdG9yXS53aWxkY2FyZH0ke3ZhbH0ke29wZXJhdG9yS2V5c1tvcGVyYXRvcl0ud2lsZGNhcmR9J2BcblxuICAgICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnZXhpc3RzJykge1xuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9ICcnXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHNxbC5yYXcoXG4gICAgICAgICAgICAgICAgICAgICAgYCR7dGFibGVbY29sdW1uTmFtZV0ubmFtZX0ke2pzb25RdWVyeX0gJHtvcGVyYXRvcktleXNbb3BlcmF0b3JdLm9wZXJhdG9yfSAke2Zvcm1hdHRlZFZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGdldE5vdE51bGxDb2x1bW5CeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUodmFsKVxuICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChpc05vdE51bGwodGFibGVbY29sdW1uTmFtZV0pKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoW3sgcGF0aDogcmVsYXRpb25PclBhdGggfV0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID09PSAnbGlrZScgJiZcbiAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyB8fCB0YWJsZVtjb2x1bW5OYW1lXS5jb2x1bW5UeXBlID09PSAnUGdVVUlEJylcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID0gJ2VxdWFscydcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdsaWtlJykge1xuICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgYW5kKC4uLnZhbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gaWxpa2UodGFibGVbY29sdW1uTmFtZV0sIGAlJHt3b3JkfSVgKSkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzYW5pdGl6ZWRRdWVyeVZhbHVlID0gc2FuaXRpemVRdWVyeVZhbHVlKHtcbiAgICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICAgIGlzVVVJRDogdGFibGU/Lltjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFBnVVVJRCxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25PclBhdGgsXG4gICAgICAgICAgICAgICAgICB2YWwsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChzYW5pdGl6ZWRRdWVyeVZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3BlcmF0b3I6IHF1ZXJ5T3BlcmF0b3IsIHZhbHVlOiBxdWVyeVZhbHVlIH0gPSBzYW5pdGl6ZWRRdWVyeVZhbHVlXG5cbiAgICAgICAgICAgICAgICBpZiAocXVlcnlPcGVyYXRvciA9PT0gJ25vdF9lcXVhbHMnICYmIHF1ZXJ5VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIG9yKFxuICAgICAgICAgICAgICAgICAgICAgIGlzTnVsbChyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0pLFxuICAgICAgICAgICAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbiAgICAgICAgICAgICAgICAgICAgICBuZTxhbnk+KHJhd0NvbHVtbiB8fCB0YWJsZVtjb2x1bW5OYW1lXSwgcXVlcnlWYWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykgJiZcbiAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocXVlcnlWYWx1ZSkgJiZcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID09PSAnbm90X2luJ1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgc3FsYCgke25vdEluQXJyYXkodGFibGVbY29sdW1uTmFtZV0sIHF1ZXJ5VmFsdWUpfSBPUlxuICAgICAgICAgICAgICAgICAgICAke3RhYmxlW2NvbHVtbk5hbWVdfVxuICAgICAgICAgICAgICAgICAgICBJU1xuICAgICAgICAgICAgICAgICAgICBOVUxMKWAsXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnZXF1YWxzJyAmJiBxdWVyeVZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKGlzTnVsbChyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0pKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdub3RfZXF1YWxzJyAmJiBxdWVyeVZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKGlzTm90TnVsbChyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0pKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3JNYXBbcXVlcnlPcGVyYXRvcl0ocmF3Q29sdW1uIHx8IHRhYmxlW2NvbHVtbk5hbWVdLCBxdWVyeVZhbHVlKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKGNvbnN0cmFpbnRzLmxlbmd0aCA+IDApIHtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXN1bHQgPSBhbmQocmVzdWx0LCAuLi5jb25zdHJhaW50cylcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYW5kKC4uLmNvbnN0cmFpbnRzKVxuICAgIH1cbiAgfVxuICBpZiAoY29uc3RyYWludHMubGVuZ3RoID09PSAxICYmICFyZXN1bHQpIHtcbiAgICA7W3Jlc3VsdF0gPSBjb25zdHJhaW50c1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInBhcnNlUGFyYW1zIiwiYWRhcHRlciIsImZpZWxkcyIsImpvaW5BbGlhc2VzIiwiam9pbnMiLCJsb2NhbGUiLCJzZWxlY3RGaWVsZHMiLCJ0YWJsZU5hbWUiLCJ3aGVyZSIsInJlc3VsdCIsImNvbnN0cmFpbnRzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInJlbGF0aW9uT3JQYXRoIiwiY29uZGl0aW9uIiwiY29uZGl0aW9uT3BlcmF0b3IiLCJ0b0xvd2VyQ2FzZSIsIkFycmF5IiwiaXNBcnJheSIsImJ1aWx0Q29uZGl0aW9ucyIsImJ1aWxkQW5kT3JDb25kaXRpb25zIiwib3BlcmF0b3JNYXAiLCJwYXRoT3BlcmF0b3JzIiwib3BlcmF0b3IiLCJ2YWxpZE9wZXJhdG9ycyIsImluY2x1ZGVzIiwidmFsIiwiY29sdW1uTmFtZSIsInF1ZXJ5Q29uc3RyYWludHMiLCJmaWVsZCIsImdldE5vdE51bGxDb2x1bW5CeVZhbHVlIiwicGF0aFNlZ21lbnRzIiwicmF3Q29sdW1uIiwidGFibGUiLCJnZXRUYWJsZUNvbHVtbkZyb21QYXRoIiwiY29sbGVjdGlvblBhdGgiLCJyZXBsYWNlIiwic3BsaXQiLCJ2YWx1ZSIsImZvckVhY2giLCJjb2wiLCJjb25zdHJhaW50VGFibGUiLCJpbmRleE9mIiwicHVzaCIsImxpa2UiLCJlcXVhbHMiLCJ0eXBlIiwic2VnbWVudHMiLCJzbGljZSIsInVuc2hpZnQiLCJuYW1lIiwianNvblF1ZXJ5IiwiY3JlYXRlSlNPTlF1ZXJ5IiwidHJlYXRBc0FycmF5IiwidHJlYXRSb290QXNBcnJheSIsInNxbCIsInJhdyIsImNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsIiwib3BlcmF0b3JLZXlzIiwiY29udGFpbnMiLCJ3aWxkY2FyZCIsImV4aXN0cyIsIm5vdF9lcXVhbHMiLCJmb3JtYXR0ZWRWYWx1ZSIsImlzTm90TnVsbCIsIlF1ZXJ5RXJyb3IiLCJwYXRoIiwiY29sdW1uVHlwZSIsImFuZCIsIm1hcCIsIndvcmQiLCJpbGlrZSIsInNhbml0aXplZFF1ZXJ5VmFsdWUiLCJzYW5pdGl6ZVF1ZXJ5VmFsdWUiLCJpc1VVSUQiLCJQZ1VVSUQiLCJxdWVyeU9wZXJhdG9yIiwicXVlcnlWYWx1ZSIsIm9yIiwiaXNOdWxsIiwibmUiLCJub3RJbkFycmF5Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7Ozs7K0JBOEJiQTs7O2VBQUFBOzs7NEJBMUJpRDt3QkFDaEQ7d0JBQ0k7dUJBQ0k7c0NBS007aUNBQ0w7NENBQ1c7d0NBQ0o7NkJBQ1g7b0NBQ087QUFhNUIsZUFBZUEsWUFBWSxFQUNoQ0MsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLFdBQVcsRUFDWEMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFlBQVksRUFDWkMsU0FBUyxFQUNUQyxLQUFLLEVBQ0E7SUFDTCxJQUFJQztJQUNKLE1BQU1DLGNBQXFCLEVBQUU7SUFFN0IsSUFBSSxPQUFPRixVQUFVLFlBQVlHLE9BQU9DLElBQUksQ0FBQ0osT0FBT0ssTUFBTSxHQUFHLEdBQUc7UUFDOUQsdUVBQXVFO1FBQ3ZFLEtBQUssTUFBTUMsa0JBQWtCSCxPQUFPQyxJQUFJLENBQUNKLE9BQVE7WUFDL0MsSUFBSU0sZ0JBQWdCO2dCQUNsQixNQUFNQyxZQUFZUCxLQUFLLENBQUNNLGVBQWU7Z0JBQ3ZDLElBQUlFO2dCQUNKLElBQUlGLGVBQWVHLFdBQVcsT0FBTyxPQUFPO29CQUMxQ0Qsb0JBQW9CO2dCQUN0QixPQUFPLElBQUlGLGVBQWVHLFdBQVcsT0FBTyxNQUFNO29CQUNoREQsb0JBQW9CO2dCQUN0QjtnQkFDQSxJ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
|