@payloadcms/db-postgres 0.1.0-beta.19 → 0.1.0-beta.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"createMigration.d.ts","sourceRoot":"","sources":["../src/createMigration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAoDvD,eAAO,MAAM,eAAe,EAAE,eA2E7B,CAAA"}
1
+ {"version":3,"file":"createMigration.d.ts","sourceRoot":"","sources":["../src/createMigration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAoDvD,eAAO,MAAM,eAAe,EAAE,eA0E7B,CAAA"}
@@ -47,7 +47,7 @@ const getDefaultDrizzleSnapshot = ()=>({
47
47
  tables: {},
48
48
  version: '5'
49
49
  });
50
- const createMigration = async function createMigration(payload, migrationName) {
50
+ const createMigration = async function createMigration({ migrationName, payload }) {
51
51
  const dir = payload.db.migrationDir;
52
52
  if (!_fs.default.existsSync(dir)) {
53
53
  _fs.default.mkdirSync(dir);
@@ -92,4 +92,4 @@ const createMigration = async function createMigration(payload, migrationName) {
92
92
  });
93
93
  };
94
94
 
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVNaWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgRHJpenpsZVNuYXBzaG90SlNPTiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyBnZW5lcmF0ZURyaXp6bGVKc29uLCBnZW5lcmF0ZU1pZ3JhdGlvbiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHByb21wdHMgZnJvbSAncHJvbXB0cydcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBtaWdyYXRpb25UZW1wbGF0ZSA9IChcbiAgdXBTUUw/OiBzdHJpbmcsXG4gIGRvd25TUUw/OiBzdHJpbmcsXG4pID0+IGBpbXBvcnQgeyBNaWdyYXRlVXBBcmdzLCBNaWdyYXRlRG93bkFyZ3MgfSBmcm9tICdAcGF5bG9hZGNtcy9kYi1wb3N0Z3JlcydcbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoeyBwYXlsb2FkIH06IE1pZ3JhdGVVcEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiR7XG4gIHVwU1FMXG4gICAgPyBgYXdhaXQgcGF5bG9hZC5kYi5kcml6emxlLmV4ZWN1dGUoc3FsXFxgXG5cbiR7dXBTUUx9XFxgKTtcbmBcbiAgICA6ICcvLyBNaWdyYXRpb24gY29kZSdcbn1cbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKHsgcGF5bG9hZCB9OiBNaWdyYXRlRG93bkFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiR7XG4gIGRvd25TUUxcbiAgICA/IGBhd2FpdCBwYXlsb2FkLmRiLmRyaXp6bGUuZXhlY3V0ZShzcWxcXGBcblxuJHtkb3duU1FMfVxcYCk7XG5gXG4gICAgOiAnLy8gTWlncmF0aW9uIGNvZGUnXG59XG59O1xuYFxuXG5jb25zdCBnZXREZWZhdWx0RHJpenpsZVNuYXBzaG90ID0gKCk6IERyaXp6bGVTbmFwc2hvdEpTT04gPT4gKHtcbiAgaWQ6ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnLFxuICBfbWV0YToge1xuICAgIGNvbHVtbnM6IHt9LFxuICAgIHNjaGVtYXM6IHt9LFxuICAgIHRhYmxlczoge30sXG4gIH0sXG4gIGRpYWxlY3Q6ICdwZycsXG4gIGVudW1zOiB7fSxcbiAgcHJldklkOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAnLFxuICBzY2hlbWFzOiB7fSxcbiAgdGFibGVzOiB7fSxcbiAgdmVyc2lvbjogJzUnLFxufSlcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1pZ3JhdGlvbjogQ3JlYXRlTWlncmF0aW9uID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlTWlncmF0aW9uKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHBheWxvYWQsXG4gIG1pZ3JhdGlvbk5hbWUsXG4pIHtcbiAgY29uc3QgZGlyID0gcGF5bG9hZC5kYi5taWdyYXRpb25EaXJcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGRpcikpIHtcbiAgICBmcy5ta2RpclN5bmMoZGlyKVxuICB9XG5cbiAgY29uc3QgW3l5eW1tZGQsIGhobW1zc10gPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVxuICBjb25zdCBmb3JtYXR0ZWREYXRlID0geXl5bW1kZC5yZXBsYWNlKC9cXEQvZywgJycpXG4gIGNvbnN0IGZvcm1hdHRlZFRpbWUgPSBoaG1tc3Muc3BsaXQoJy4nKVswXS5yZXBsYWNlKC9cXEQvZywgJycpXG5cbiAgY29uc3QgdGltZXN0YW1wID0gYCR7Zm9ybWF0dGVkRGF0ZX1fJHtmb3JtYXR0ZWRUaW1lfWBcblxuICBjb25zdCBmaWxlTmFtZSA9IG1pZ3JhdGlvbk5hbWVcbiAgICA/IGAke3RpbWVzdGFtcH1fJHttaWdyYXRpb25OYW1lLnJlcGxhY2UoL1xcVy9nLCAnXycpfWBcbiAgICA6IGAke3RpbWVzdGFtcH1gXG5cbiAgY29uc3QgZmlsZVBhdGggPSBgJHtkaXJ9LyR7ZmlsZU5hbWV9YFxuXG4gIGxldCBkcml6emxlSnNvbkJlZm9yZSA9IGdldERlZmF1bHREcml6emxlU25hcHNob3QoKVxuXG4gIC8vIEdldCBsYXRlc3QgbWlncmF0aW9uIHNuYXBzaG90XG4gIGNvbnN0IGxhdGVzdFNuYXBzaG90ID0gZnNcbiAgICAucmVhZGRpclN5bmMoZGlyKVxuICAgIC5maWx0ZXIoKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoJy5qc29uJykpXG4gICAgLnNvcnQoKVxuICAgIC5yZXZlcnNlKCk/LlswXVxuXG4gIGlmIChsYXRlc3RTbmFwc2hvdCkge1xuICAgIGNvbnN0IGxhdGVzdFNuYXBzaG90SlNPTiA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMoYCR7ZGlyfS8ke2xhdGVzdFNuYXBzaG90fWAsICd1dGY4JyksXG4gICAgKSBhcyBEcml6emxlU25hcHNob3RKU09OXG5cbiAgICBkcml6emxlSnNvbkJlZm9yZSA9IGxhdGVzdFNuYXBzaG90SlNPTlxuICB9XG5cbiAgY29uc3QgZHJpenpsZUpzb25BZnRlciA9IGdlbmVyYXRlRHJpenpsZUpzb24odGhpcy5zY2hlbWEpXG4gIGNvbnN0IHNxbFN0YXRlbWVudHNVcCA9IGF3YWl0IGdlbmVyYXRlTWlncmF0aW9uKGRyaXp6bGVKc29uQmVmb3JlLCBkcml6emxlSnNvbkFmdGVyKVxuICBjb25zdCBzcWxTdGF0ZW1lbnRzRG93biA9IGF3YWl0IGdlbmVyYXRlTWlncmF0aW9uKGRyaXp6bGVKc29uQWZ0ZXIsIGRyaXp6bGVKc29uQmVmb3JlKVxuXG4gIGlmICghc3FsU3RhdGVtZW50c1VwLmxlbmd0aCAmJiAhc3FsU3RhdGVtZW50c0Rvd24ubGVuZ3RoKSB7XG4gICAgY29uc3QgeyBjb25maXJtOiBzaG91bGRDcmVhdGVCbGFua01pZ3JhdGlvbiB9ID0gYXdhaXQgcHJvbXB0cyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICBpbml0aWFsOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZTogJ05vIHNjaGVtYSBjaGFuZ2VzIGRldGVjdGVkLiBXb3VsZCB5b3UgbGlrZSB0byBjcmVhdGUgYSBibGFuayBtaWdyYXRpb24gZmlsZT8nLFxuICAgICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApXG5cbiAgICBpZiAoIXNob3VsZENyZWF0ZUJsYW5rTWlncmF0aW9uKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICB9XG4gIH1cblxuICAvLyB3cml0ZSBzY2hlbWFcbiAgZnMud3JpdGVGaWxlU3luYyhgJHtmaWxlUGF0aH0uanNvbmAsIEpTT04uc3RyaW5naWZ5KGRyaXp6bGVKc29uQWZ0ZXIsIG51bGwsIDIpKVxuXG4gIC8vIHdyaXRlIG1pZ3JhdGlvblxuICBmcy53cml0ZUZpbGVTeW5jKFxuICAgIGAke2ZpbGVQYXRofS50c2AsXG4gICAgbWlncmF0aW9uVGVtcGxhdGUoXG4gICAgICBzcWxTdGF0ZW1lbnRzVXAubGVuZ3RoID8gc3FsU3RhdGVtZW50c1VwPy5qb2luKCdcXG4nKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNxbFN0YXRlbWVudHNEb3duLmxlbmd0aCA/IHNxbFN0YXRlbWVudHNEb3duPy5qb2luKCdcXG4nKSA6IHVuZGVmaW5lZCxcbiAgICApLFxuICApXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpb24gY3JlYXRlZCBhdCAke2ZpbGVQYXRofS50c2AgfSlcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVNaWdyYXRpb24iLCJtaWdyYXRpb25UZW1wbGF0ZSIsInVwU1FMIiwiZG93blNRTCIsImdldERlZmF1bHREcml6emxlU25hcHNob3QiLCJpZCIsIl9tZXRhIiwiY29sdW1ucyIsInNjaGVtYXMiLCJ0YWJsZXMiLCJkaWFsZWN0IiwiZW51bXMiLCJwcmV2SWQiLCJ2ZXJzaW9uIiwicGF5bG9hZCIsIm1pZ3JhdGlvbk5hbWUiLCJkaXIiLCJkYiIsIm1pZ3JhdGlvbkRpciIsImZzIiwiZXhpc3RzU3luYyIsIm1rZGlyU3luYyIsInl5eW1tZGQiLCJoaG1tc3MiLCJEYXRlIiwidG9JU09TdHJpbmciLCJzcGxpdCIsImZvcm1hdHRlZERhdGUiLCJyZXBsYWNlIiwiZm9ybWF0dGVkVGltZSIsInRpbWVzdGFtcCIsImZpbGVOYW1lIiwiZmlsZVBhdGgiLCJkcml6emxlSnNvbkJlZm9yZSIsImxhdGVzdFNuYXBzaG90IiwicmVhZGRpclN5bmMiLCJmaWx0ZXIiLCJmaWxlIiwiZW5kc1dpdGgiLCJzb3J0IiwicmV2ZXJzZSIsImxhdGVzdFNuYXBzaG90SlNPTiIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsImRyaXp6bGVKc29uQWZ0ZXIiLCJnZW5lcmF0ZURyaXp6bGVKc29uIiwic2NoZW1hIiwic3FsU3RhdGVtZW50c1VwIiwiZ2VuZXJhdGVNaWdyYXRpb24iLCJzcWxTdGF0ZW1lbnRzRG93biIsImxlbmd0aCIsImNvbmZpcm0iLCJzaG91bGRDcmVhdGVCbGFua01pZ3JhdGlvbiIsInByb21wdHMiLCJuYW1lIiwiaW5pdGlhbCIsIm1lc3NhZ2UiLCJ0eXBlIiwib25DYW5jZWwiLCJwcm9jZXNzIiwiZXhpdCIsIndyaXRlRmlsZVN5bmMiLCJzdHJpbmdpZnkiLCJqb2luIiwidW5kZWZpbmVkIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQXNENUNBOzs7ZUFBQUE7Ozt1QkFsRDBDOzJEQUN4QztnRUFDSzs7Ozs7O0FBSXBCLE1BQU1DLG9CQUFvQixD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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVNaWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgRHJpenpsZVNuYXBzaG90SlNPTiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyBnZW5lcmF0ZURyaXp6bGVKc29uLCBnZW5lcmF0ZU1pZ3JhdGlvbiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHByb21wdHMgZnJvbSAncHJvbXB0cydcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBtaWdyYXRpb25UZW1wbGF0ZSA9IChcbiAgdXBTUUw/OiBzdHJpbmcsXG4gIGRvd25TUUw/OiBzdHJpbmcsXG4pID0+IGBpbXBvcnQgeyBNaWdyYXRlVXBBcmdzLCBNaWdyYXRlRG93bkFyZ3MgfSBmcm9tICdAcGF5bG9hZGNtcy9kYi1wb3N0Z3JlcydcbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoeyBwYXlsb2FkIH06IE1pZ3JhdGVVcEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiR7XG4gIHVwU1FMXG4gICAgPyBgYXdhaXQgcGF5bG9hZC5kYi5kcml6emxlLmV4ZWN1dGUoc3FsXFxgXG5cbiR7dXBTUUx9XFxgKTtcbmBcbiAgICA6ICcvLyBNaWdyYXRpb24gY29kZSdcbn1cbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKHsgcGF5bG9hZCB9OiBNaWdyYXRlRG93bkFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiR7XG4gIGRvd25TUUxcbiAgICA/IGBhd2FpdCBwYXlsb2FkLmRiLmRyaXp6bGUuZXhlY3V0ZShzcWxcXGBcblxuJHtkb3duU1FMfVxcYCk7XG5gXG4gICAgOiAnLy8gTWlncmF0aW9uIGNvZGUnXG59XG59O1xuYFxuXG5jb25zdCBnZXREZWZhdWx0RHJpenpsZVNuYXBzaG90ID0gKCk6IERyaXp6bGVTbmFwc2hvdEpTT04gPT4gKHtcbiAgaWQ6ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnLFxuICBfbWV0YToge1xuICAgIGNvbHVtbnM6IHt9LFxuICAgIHNjaGVtYXM6IHt9LFxuICAgIHRhYmxlczoge30sXG4gIH0sXG4gIGRpYWxlY3Q6ICdwZycsXG4gIGVudW1zOiB7fSxcbiAgcHJldklkOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAnLFxuICBzY2hlbWFzOiB7fSxcbiAgdGFibGVzOiB7fSxcbiAgdmVyc2lvbjogJzUnLFxufSlcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1pZ3JhdGlvbjogQ3JlYXRlTWlncmF0aW9uID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlTWlncmF0aW9uKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgbWlncmF0aW9uTmFtZSwgcGF5bG9hZCB9LFxuKSB7XG4gIGNvbnN0IGRpciA9IHBheWxvYWQuZGIubWlncmF0aW9uRGlyXG4gIGlmICghZnMuZXhpc3RzU3luYyhkaXIpKSB7XG4gICAgZnMubWtkaXJTeW5jKGRpcilcbiAgfVxuXG4gIGNvbnN0IFt5eXltbWRkLCBoaG1tc3NdID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylcbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHl5eW1tZGQucmVwbGFjZSgvXFxEL2csICcnKVxuICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gaGhtbXNzLnNwbGl0KCcuJylbMF0ucmVwbGFjZSgvXFxEL2csICcnKVxuXG4gIGNvbnN0IHRpbWVzdGFtcCA9IGAke2Zvcm1hdHRlZERhdGV9XyR7Zm9ybWF0dGVkVGltZX1gXG5cbiAgY29uc3QgZmlsZU5hbWUgPSBtaWdyYXRpb25OYW1lXG4gICAgPyBgJHt0aW1lc3RhbXB9XyR7bWlncmF0aW9uTmFtZS5yZXBsYWNlKC9cXFcvZywgJ18nKX1gXG4gICAgOiBgJHt0aW1lc3RhbXB9YFxuXG4gIGNvbnN0IGZpbGVQYXRoID0gYCR7ZGlyfS8ke2ZpbGVOYW1lfWBcblxuICBsZXQgZHJpenpsZUpzb25CZWZvcmUgPSBnZXREZWZhdWx0RHJpenpsZVNuYXBzaG90KClcblxuICAvLyBHZXQgbGF0ZXN0IG1pZ3JhdGlvbiBzbmFwc2hvdFxuICBjb25zdCBsYXRlc3RTbmFwc2hvdCA9IGZzXG4gICAgLnJlYWRkaXJTeW5jKGRpcilcbiAgICAuZmlsdGVyKChmaWxlKSA9PiBmaWxlLmVuZHNXaXRoKCcuanNvbicpKVxuICAgIC5zb3J0KClcbiAgICAucmV2ZXJzZSgpPy5bMF1cblxuICBpZiAobGF0ZXN0U25hcHNob3QpIHtcbiAgICBjb25zdCBsYXRlc3RTbmFwc2hvdEpTT04gPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKGAke2Rpcn0vJHtsYXRlc3RTbmFwc2hvdH1gLCAndXRmOCcpLFxuICAgICkgYXMgRHJpenpsZVNuYXBzaG90SlNPTlxuXG4gICAgZHJpenpsZUpzb25CZWZvcmUgPSBsYXRlc3RTbmFwc2hvdEpTT05cbiAgfVxuXG4gIGNvbnN0IGRyaXp6bGVKc29uQWZ0ZXIgPSBnZW5lcmF0ZURyaXp6bGVKc29uKHRoaXMuc2NoZW1hKVxuICBjb25zdCBzcWxTdGF0ZW1lbnRzVXAgPSBhd2FpdCBnZW5lcmF0ZU1pZ3JhdGlvbihkcml6emxlSnNvbkJlZm9yZSwgZHJpenpsZUpzb25BZnRlcilcbiAgY29uc3Qgc3FsU3RhdGVtZW50c0Rvd24gPSBhd2FpdCBnZW5lcmF0ZU1pZ3JhdGlvbihkcml6emxlSnNvbkFmdGVyLCBkcml6emxlSnNvbkJlZm9yZSlcblxuICBpZiAoIXNxbFN0YXRlbWVudHNVcC5sZW5ndGggJiYgIXNxbFN0YXRlbWVudHNEb3duLmxlbmd0aCkge1xuICAgIGNvbnN0IHsgY29uZmlybTogc2hvdWxkQ3JlYXRlQmxhbmtNaWdyYXRpb24gfSA9IGF3YWl0IHByb21wdHMoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgaW5pdGlhbDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6ICdObyBzY2hlbWEgY2hhbmdlcyBkZXRlY3RlZC4gV291bGQgeW91IGxpa2UgdG8gY3JlYXRlIGEgYmxhbmsgbWlncmF0aW9uIGZpbGU/JyxcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgaWYgKCFzaG91bGRDcmVhdGVCbGFua01pZ3JhdGlvbikge1xuICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgfVxuICB9XG5cbiAgLy8gd3JpdGUgc2NoZW1hXG4gIGZzLndyaXRlRmlsZVN5bmMoYCR7ZmlsZVBhdGh9Lmpzb25gLCBKU09OLnN0cmluZ2lmeShkcml6emxlSnNvbkFmdGVyLCBudWxsLCAyKSlcblxuICAvLyB3cml0ZSBtaWdyYXRpb25cbiAgZnMud3JpdGVGaWxlU3luYyhcbiAgICBgJHtmaWxlUGF0aH0udHNgLFxuICAgIG1pZ3JhdGlvblRlbXBsYXRlKFxuICAgICAgc3FsU3RhdGVtZW50c1VwLmxlbmd0aCA/IHNxbFN0YXRlbWVudHNVcD8uam9pbignXFxuJykgOiB1bmRlZmluZWQsXG4gICAgICBzcWxTdGF0ZW1lbnRzRG93bi5sZW5ndGggPyBzcWxTdGF0ZW1lbnRzRG93bj8uam9pbignXFxuJykgOiB1bmRlZmluZWQsXG4gICAgKSxcbiAgKVxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW9uIGNyZWF0ZWQgYXQgJHtmaWxlUGF0aH0udHNgIH0pXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlTWlncmF0aW9uIiwibWlncmF0aW9uVGVtcGxhdGUiLCJ1cFNRTCIsImRvd25TUUwiLCJnZXREZWZhdWx0RHJpenpsZVNuYXBzaG90IiwiaWQiLCJfbWV0YSIsImNvbHVtbnMiLCJzY2hlbWFzIiwidGFibGVzIiwiZGlhbGVjdCIsImVudW1zIiwicHJldklkIiwidmVyc2lvbiIsIm1pZ3JhdGlvbk5hbWUiLCJwYXlsb2FkIiwiZGlyIiwiZGIiLCJtaWdyYXRpb25EaXIiLCJmcyIsImV4aXN0c1N5bmMiLCJta2RpclN5bmMiLCJ5eXltbWRkIiwiaGhtbXNzIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic3BsaXQiLCJmb3JtYXR0ZWREYXRlIiwicmVwbGFjZSIsImZvcm1hdHRlZFRpbWUiLCJ0aW1lc3RhbXAiLCJmaWxlTmFtZSIsImZpbGVQYXRoIiwiZHJpenpsZUpzb25CZWZvcmUiLCJsYXRlc3RTbmFwc2hvdCIsInJlYWRkaXJTeW5jIiwiZmlsdGVyIiwiZmlsZSIsImVuZHNXaXRoIiwic29ydCIsInJldmVyc2UiLCJsYXRlc3RTbmFwc2hvdEpTT04iLCJKU09OIiwicGFyc2UiLCJyZWFkRmlsZVN5bmMiLCJkcml6emxlSnNvbkFmdGVyIiwiZ2VuZXJhdGVEcml6emxlSnNvbiIsInNjaGVtYSIsInNxbFN0YXRlbWVudHNVcCIsImdlbmVyYXRlTWlncmF0aW9uIiwic3FsU3RhdGVtZW50c0Rvd24iLCJsZW5ndGgiLCJjb25maXJtIiwic2hvdWxkQ3JlYXRlQmxhbmtNaWdyYXRpb24iLCJwcm9tcHRzIiwibmFtZSIsImluaXRpYWwiLCJtZXNzYWdlIiwidHlwZSIsIm9uQ2FuY2VsIiwicHJvY2VzcyIsImV4aXQiLCJ3cml0ZUZpbGVTeW5jIiwic3RyaW5naWZ5Iiwiam9pbiIsInVuZGVmaW5lZCIsImxvZ2dlciIsImluZm8iLCJtc2ciXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDs7OzsrQkFzRDVDQTs7O2VBQUFBOzs7dUJBbEQwQzsyREFDeEM7Z0VBQ0s7Ozs7OztBQUlwQixNQUFNQyxvQkFBb0Is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
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IA8DlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IA6DlB,CAAA"}
package/dist/init.js CHANGED
@@ -26,7 +26,6 @@ const init = async function init() {
26
26
  (0, _build.buildTable)({
27
27
  adapter: this,
28
28
  buildRelationships: true,
29
- collectionIndexes: collection.indexes,
30
29
  disableUnique: false,
31
30
  fields: collection.fields,
32
31
  tableName,
@@ -70,4 +69,4 @@ const init = async function init() {
70
69
  });
71
70
  };
72
71
 
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsIGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9zY2hlbWEvYnVpbGQnXG5cbmV4cG9ydCBjb25zdCBpbml0OiBJbml0ID0gYXN5bmMgZnVuY3Rpb24gaW5pdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpIHtcbiAgaWYgKHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgdGhpcy5lbnVtcy5lbnVtX19sb2NhbGVzID0gcGdFbnVtKFxuICAgICAgJ19sb2NhbGVzJyxcbiAgICAgIHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMubWFwKCh7IGNvZGUgfSkgPT4gY29kZSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgIClcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24uc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGNvbGxlY3Rpb25JbmRleGVzOiBjb2xsZWN0aW9uLmluZGV4ZXMsXG4gICAgICBkaXNhYmxlVW5pcXVlOiBmYWxzZSxcbiAgICAgIGZpZWxkczogY29sbGVjdGlvbi5maWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgICB0aW1lc3RhbXBzOiBjb2xsZWN0aW9uLnRpbWVzdGFtcHMsXG4gICAgfSlcblxuICAgIGlmIChjb2xsZWN0aW9uLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uc1RhYmxlTmFtZSA9IGBfJHt0YWJsZU5hbWV9X3ZgXG4gICAgICBjb25zdCB2ZXJzaW9uRmllbGRzID0gYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyhjb2xsZWN0aW9uKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlVW5pcXVlOiB0cnVlLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICAgIHRhYmxlTmFtZTogdmVyc2lvbnNUYWJsZU5hbWUsXG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfSlcblxuICB0aGlzLnBheWxvYWQuY29uZmlnLmdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoZ2xvYmFsLnNsdWcpXG5cbiAgICBidWlsZFRhYmxlKHtcbiAgICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICBkaXNhYmxlVW5pcXVlOiBmYWxzZSxcbiAgICAgIGZpZWxkczogZ2xvYmFsLmZpZWxkcyxcbiAgICAgIHRhYmxlTmFtZSxcbiAgICAgIHRpbWVzdGFtcHM6IGZhbHNlLFxuICAgIH0pXG5cbiAgICBpZiAoZ2xvYmFsLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uc1RhYmxlTmFtZSA9IGBfJHt0YWJsZU5hbWV9X3ZgXG4gICAgICBjb25zdCB2ZXJzaW9uRmllbGRzID0gYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbClcblxuICAgICAgYnVpbGRUYWJsZSh7XG4gICAgICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZVVuaXF1ZTogdHJ1ZSxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uRmllbGRzLFxuICAgICAgICB0YWJsZU5hbWU6IHZlcnNpb25zVGFibGVOYW1lLFxuICAgICAgICB0aW1lc3RhbXBzOiB0cnVlLFxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsiaW5pdCIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJlbnVtcyIsImVudW1fX2xvY2FsZXMiLCJwZ0VudW0iLCJsb2NhbGVzIiwibWFwIiwiY29kZSIsImNvbGxlY3Rpb25zIiwiZm9yRWFjaCIsImNvbGxlY3Rpb24iLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInNsdWciLCJidWlsZFRhYmxlIiwiYWRhcHRlciIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25JbmRleGVzIiwiaW5kZXhlcyIsImRpc2FibGVVbmlxdWUiLCJmaWVsZHMiLCJ0aW1lc3RhbXBzIiwidmVyc2lvbnMiLCJ2ZXJzaW9uc1RhYmxlTmFtZSIsInZlcnNpb25GaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwiZ2xvYmFscyIsImdsb2JhbCIsImJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQVl2QkE7OztlQUFBQTs7O3dCQVJVOzBCQUNnRDtvRUFDL0M7dUJBSUc7Ozs7OztBQUVwQixNQUFNQSxPQUFhLGVBQWVBO0lBQ3ZDLElBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFO1FBQ3BDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxhQUFhLEdBQUdDLElBQUFBLGNBQU0sRUFDL0IsWUFDQSxJQUFJLENBQUNMLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLENBQUNJLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBO0lBRS9EO0lBRUEsSUFBSSxDQUFDUixPQUFPLENBQUNDLE1BQU0sQ0FBQ1EsV0FBVyxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7UUFDdkMsTUFBTUMsWUFBWUMsSUFBQUEsb0JBQVcsRUFBQ0YsV0FBV0csSUFBSTtRQUU3Q0MsSUFBQUEsaUJBQVUsRUFBQztZQUNUQyxTQUFTLElBQUk7WUFDYkMsb0JBQW9CO1lBQ3BCQyxtQkFBbUJQLFdBQVdRLE9BQU87WUFDckNDLGVBQWU7WUFDZkMsUUFBUVYsV0FBV1UsTUFBTTtZQUN6QlQ7WUFDQVUsWUFBWVgsV0FBV1csVUFBVTtRQUNuQztRQUVBLElBQUlYLFdBQVdZLFFBQVEsRUFBRTtZQUN2QixNQUFNQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVaLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1hLGdCQUFnQkMsSUFBQUEsc0NBQTRCLEVBQUNmO1lBRW5ESSxJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJHLGVBQWU7Z0JBQ2ZDLFFBQVFJO2dCQUNSYixXQUFXWTtnQkFDWEYsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtJQUVBLElBQUksQ0FBQ3RCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDMEIsT0FBTyxDQUFDakIsT0FBTyxDQUFDLENBQUNrQjtRQUNuQyxNQUFNaEIsWUFBWUMsSUFBQUEsb0JBQVcsRUFBQ2UsT0FBT2QsSUFBSTtRQUV6Q0MsSUFBQUEsaUJBQVUsRUFBQztZQUNUQyxTQUFTLElBQUk7WUFDYkMsb0JBQW9CO1lBQ3BCRyxlQUFlO1lBQ2ZDLFFBQVFPLE9BQU9QLE1BQU07WUFDckJUO1lBQ0FVLFlBQVk7UUFDZDtRQUVBLElBQUlNLE9BQU9MLFFBQVEsRUFBRTtZQUNuQixNQUFNQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVaLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1hLGdCQUFnQkksSUFBQUEsa0NBQXdCLEVBQUNEO1lBRS9DYixJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJHLGVBQWU7Z0JBQ2ZDLFFBQVFJO2dCQUNSYixXQUFXWTtnQkFDWEYsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtBQUNGIn0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsIGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9zY2hlbWEvYnVpbGQnXG5cbmV4cG9ydCBjb25zdCBpbml0OiBJbml0ID0gYXN5bmMgZnVuY3Rpb24gaW5pdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpIHtcbiAgaWYgKHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgdGhpcy5lbnVtcy5lbnVtX19sb2NhbGVzID0gcGdFbnVtKFxuICAgICAgJ19sb2NhbGVzJyxcbiAgICAgIHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMubWFwKCh7IGNvZGUgfSkgPT4gY29kZSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgIClcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24uc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHRhYmxlTmFtZSxcbiAgICAgIHRpbWVzdGFtcHM6IGNvbGxlY3Rpb24udGltZXN0YW1wcyxcbiAgICB9KVxuXG4gICAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24pXG5cbiAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICBhZGFwdGVyOiB0aGlzLFxuICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICAgIGRpc2FibGVVbmlxdWU6IHRydWUsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lOiB2ZXJzaW9uc1RhYmxlTmFtZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuZ2xvYmFscy5mb3JFYWNoKChnbG9iYWwpID0+IHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShnbG9iYWwuc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgdGFibGVOYW1lLFxuICAgICAgdGltZXN0YW1wczogZmFsc2UsXG4gICAgfSlcblxuICAgIGlmIChnbG9iYWwudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMoZ2xvYmFsKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlVW5pcXVlOiB0cnVlLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICAgIHRhYmxlTmFtZTogdmVyc2lvbnNUYWJsZU5hbWUsXG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJpbml0IiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImVudW1zIiwiZW51bV9fbG9jYWxlcyIsInBnRW51bSIsImxvY2FsZXMiLCJtYXAiLCJjb2RlIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwic2x1ZyIsImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkcyIsInRpbWVzdGFtcHMiLCJ2ZXJzaW9ucyIsInZlcnNpb25zVGFibGVOYW1lIiwidmVyc2lvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBWXZCQTs7O2VBQUFBOzs7d0JBUlU7MEJBQ2dEO29FQUMvQzt1QkFJRzs7Ozs7O0FBRXBCLE1BQU1BLE9BQWEsZUFBZUE7SUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7UUFDcEMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGFBQWEsR0FBR0MsSUFBQUEsY0FBTSxFQUMvQixZQUNBLElBQUksQ0FBQ0wsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksQ0FBQ0ksT0FBTyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0E7SUFFL0Q7SUFFQSxJQUFJLENBQUNSLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDUSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxDQUFDQztRQUN2QyxNQUFNQyxZQUFZQyxJQUFBQSxvQkFBVyxFQUFDRixXQUFXRyxJQUFJO1FBRTdDQyxJQUFBQSxpQkFBVSxFQUFDO1lBQ1RDLFNBQVMsSUFBSTtZQUNiQyxvQkFBb0I7WUFDcEJDLGVBQWU7WUFDZkMsUUFBUVIsV0FBV1EsTUFBTTtZQUN6QlA7WUFDQVEsWUFBWVQsV0FBV1MsVUFBVTtRQUNuQztRQUVBLElBQUlULFdBQVdVLFFBQVEsRUFBRTtZQUN2QixNQUFNQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVWLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1XLGdCQUFnQkMsSUFBQUEsc0NBQTRCLEVBQUNiO1lBRW5ESSxJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJDLGVBQWU7Z0JBQ2ZDLFFBQVFJO2dCQUNSWCxXQUFXVTtnQkFDWEYsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtJQUVBLElBQUksQ0FBQ3BCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDd0IsT0FBTyxDQUFDZixPQUFPLENBQUMsQ0FBQ2dCO1FBQ25DLE1BQU1kLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNhLE9BQU9aLElBQUk7UUFFekNDLElBQUFBLGlCQUFVLEVBQUM7WUFDVEMsU0FBUyxJQUFJO1lBQ2JDLG9CQUFvQjtZQUNwQkMsZUFBZTtZQUNmQyxRQUFRTyxPQUFPUCxNQUFNO1lBQ3JCUDtZQUNBUSxZQUFZO1FBQ2Q7UUFFQSxJQUFJTSxPQUFPTCxRQUFRLEVBQUU7WUFDbkIsTUFBTUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFVixVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNVyxnQkFBZ0JJLElBQUFBLGtDQUF3QixFQUFDRDtZQUUvQ1gsSUFBQUEsaUJBQVUsRUFBQztnQkFDVEMsU0FBUyxJQUFJO2dCQUNiQyxvQkFBb0I7Z0JBQ3BCQyxlQUFlO2dCQUNmQyxRQUFRSTtnQkFDUlgsV0FBV1U7Z0JBQ1hGLFlBQVk7WUFDZDtRQUNGO0lBQ0Y7QUFDRiJ9
@@ -1,15 +1,15 @@
1
1
  import type { IndexBuilder, PgColumnBuilder, UniqueConstraintBuilder } from 'drizzle-orm/pg-core';
2
- import type { Field, SanitizedCollectionConfig } from 'payload/types';
2
+ import type { Field } from 'payload/types';
3
3
  import type { GenericColumns, PostgresAdapter } from '../types';
4
4
  type Args = {
5
5
  adapter: PostgresAdapter;
6
6
  baseColumns?: Record<string, PgColumnBuilder>;
7
7
  baseExtraConfig?: Record<string, (cols: GenericColumns) => IndexBuilder | UniqueConstraintBuilder>;
8
8
  buildRelationships?: boolean;
9
- collectionIndexes?: SanitizedCollectionConfig['indexes'];
10
9
  disableUnique: boolean;
11
10
  fields: Field[];
12
11
  rootRelationsToBuild?: Map<string, string>;
12
+ rootRelationships?: Set<string>;
13
13
  rootTableIDColType?: string;
14
14
  rootTableName?: string;
15
15
  tableName: string;
@@ -18,6 +18,6 @@ type Args = {
18
18
  type Result = {
19
19
  relationsToBuild: Map<string, string>;
20
20
  };
21
- export declare const buildTable: ({ adapter, baseColumns, baseExtraConfig, buildRelationships, collectionIndexes, disableUnique, fields, rootRelationsToBuild, rootTableIDColType, rootTableName, tableName, timestamps, }: Args) => Result;
21
+ export declare const buildTable: ({ adapter, baseColumns, baseExtraConfig, buildRelationships, disableUnique, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps, }: Args) => Result;
22
22
  export {};
23
23
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAgBrE,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAK7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;IACxD,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,6LAapB,IAAI,KAAG,MA6QT,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAK7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,6LAapB,IAAI,KAAG,MA+QT,CAAA"}
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
19
19
  default: obj
20
20
  };
21
21
  }
22
- const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRelationships, collectionIndexes = [], disableUnique = false, fields, rootRelationsToBuild, rootTableIDColType, rootTableName, tableName, timestamps })=>{
22
+ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRelationships, disableUnique = false, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps })=>{
23
23
  const columns = baseColumns;
24
24
  const indexes = {};
25
25
  let hasLocalizedField = false;
@@ -30,8 +30,10 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRela
30
30
  const localesIndexes = {};
31
31
  let localesTable;
32
32
  let numbersTable;
33
- const relationships = new Set();
33
+ // Relationships to the base collection
34
+ const relationships = rootRelationships || new Set();
34
35
  let relationshipsTable;
36
+ // Drizzle relations
35
37
  const relationsToBuild = new Map();
36
38
  const idField = fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
37
39
  let idColType = 'integer';
@@ -50,7 +52,6 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRela
50
52
  ({ hasLocalizedField, hasLocalizedManyNumberField, hasLocalizedRelationshipField, hasManyNumberField } = (0, _traverseFields.traverseFields)({
51
53
  adapter,
52
54
  buildRelationships,
53
- collectionIndexes,
54
55
  columns,
55
56
  disableUnique,
56
57
  fields,
@@ -244,4 +245,4 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRela
244
245
  };
245
246
  };
246
247
 
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgcGFyZW50SURDb2x1bW5NYXAgfSBmcm9tICcuL3BhcmVudElEQ29sdW1uTWFwJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBiYXNlQ29sdW1ucz86IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgYmFzZUV4dHJhQ29uZmlnPzogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlcj5cbiAgYnVpbGRSZWxhdGlvbnNoaXBzPzogYm9vbGVhblxuICBjb2xsZWN0aW9uSW5kZXhlcz86IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdbJ2luZGV4ZXMnXVxuICBkaXNhYmxlVW5pcXVlOiBib29sZWFuXG4gIGZpZWxkczogRmllbGRbXVxuICByb290UmVsYXRpb25zVG9CdWlsZD86IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcm9vdFRhYmxlSURDb2xUeXBlPzogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgdGltZXN0YW1wcz86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkVGFibGUgPSAoe1xuICBhZGFwdGVyLFxuICBiYXNlQ29sdW1ucyA9IHt9LFxuICBiYXNlRXh0cmFDb25maWcgPSB7fSxcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2xsZWN0aW9uSW5kZXhlcyA9IFtdLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkcyxcbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZSxcbiAgdGFibGVOYW1lLFxuICB0aW1lc3RhbXBzLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSBiYXNlQ29sdW1uc1xuICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlcj4gPSB7fVxuXG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgY29uc3QgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7fVxuICBjb25zdCBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cbiAgbGV0IGxvY2FsZXNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIGNvbnN0IHJlbGF0aW9uc2hpcHM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZEZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICBsZXQgaWRDb2xUeXBlID0gJ2ludGVnZXInXG5cbiAgaWYgKGlkRmllbGQpIHtcbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWRDb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICBjb2x1bW5zLmlkID0gbnVtZXJpYygnaWQnKS5wcmltYXJ5S2V5KClcbiAgICB9XG5cbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAndGV4dCcpIHtcbiAgICAgIGlkQ29sVHlwZSA9ICd2YXJjaGFyJ1xuICAgICAgY29sdW1ucy5pZCA9IHZhcmNoYXIoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gIH1cblxuICA7KHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgIGFkYXB0ZXIsXG4gICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgIGNvbGxlY3Rpb25JbmRleGVzLFxuICAgIGNvbHVtbnMsXG4gICAgZGlzYWJsZVVuaXF1ZSxcbiAgICBmaWVsZHMsXG4gICAgaW5kZXhlcyxcbiAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICBuZXdUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBwYXJlbnRUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ6IHJvb3RSZWxhdGlvbnNUb0J1aWxkIHx8IHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgcm9vdFRhYmxlSURDb2xUeXBlOiByb290VGFibGVJRENvbFR5cGUgfHwgaWRDb2xUeXBlLFxuICAgIHJvb3RUYWJsZU5hbWU6IHJvb3RUYWJsZU5hbWUgfHwgdGFibGVOYW1lLFxuICB9KSlcblxuICBpZiAodGltZXN0YW1wcykge1xuICAgIGNvbHVtbnMuY3JlYXRlZEF0ID0gdGltZXN0YW1wKCdjcmVhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgICBjb2x1bW5zLnVwZGF0ZWRBdCA9IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gIH1cblxuICBjb25zdCB0YWJsZSA9IHBnVGFibGUodGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgIGNvbnN0IGV4dHJhQ29uZmlnID0gT2JqZWN0LmVudHJpZXMoYmFzZUV4dHJhQ29uZmlnKS5yZWR1Y2UoKGNvbmZpZywgW2tleSwgZnVuY10pID0+IHtcbiAgICAgIGNvbmZpZ1trZXldID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sIHt9KVxuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4ZXMpLnJlZHVjZSgoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBleHRyYUNvbmZpZylcbiAgfSlcblxuICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdID0gdGFibGVcblxuICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICBjb25zdCBsb2NhbGVUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXG4gICAgbG9jYWxlc0NvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9wYXJlbnRJRCA9IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgLm5vdE51bGwoKVxuXG4gICAgbG9jYWxlc1RhYmxlID0gcGdUYWJsZShsb2NhbGVUYWJsZU5hbWUsIGxvY2FsZXNDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGxvY2FsZXNJbmRleGVzKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBfbG9jYWxlUGFyZW50OiB1bmlxdWUoYCR7bG9jYWxlVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50X2lkX3VuaXF1ZWApLm9uKFxuICAgICAgICAgICAgY29scy5fbG9jYWxlLFxuICAgICAgICAgICAgY29scy5fcGFyZW50SUQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbG9jYWxlVGFibGVOYW1lXSA9IGxvY2FsZXNUYWJsZVxuXG4gICAgY29uc3QgbG9jYWxlc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGxvY2FsZXNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBfcGFyZW50SUQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtsb2NhbGVzVGFibGUuX3BhcmVudElEXSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2xvY2FsZVRhYmxlTmFtZX1gXSA9IGxvY2FsZXNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgbnVtYmVyOiBudW1lcmljKCdudW1iZXInKSxcbiAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAubm90TnVsbCgpLFxuICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICB9XG5cbiAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICBudW1iZXJzVGFibGUgPSBwZ1RhYmxlKG51bWJlcnNUYWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBJbmRleEJ1aWxkZXI+ID0ge1xuICAgICAgICBvcmRlclBhcmVudElkeDogaW5kZXgoJ29yZGVyX3BhcmVudF9pZHgnKS5vbihjb2xzLm9yZGVyLCBjb2xzLnBhcmVudCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNNYW55TnVtYmVyRmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy5udW1iZXJJZHggPSBpbmRleCgnbnVtYmVyX2lkeCcpLm9uKGNvbHMubnVtYmVyKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICAgIGluZGV4ZXMubG9jYWxlUGFyZW50ID0gaW5kZXgoJ2xvY2FsZV9wYXJlbnQnKS5vbihjb2xzLmxvY2FsZSwgY29scy5wYXJlbnQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdID0gbnVtYmVyc1RhYmxlXG5cbiAgICBjb25zdCBudW1iZXJzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMobnVtYmVyc1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW251bWJlcnNUYWJsZS5wYXJlbnRdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7bnVtYmVyc1RhYmxlTmFtZX1gXSA9IG51bWJlcnNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGJ1aWxkUmVsYXRpb25zaGlwcykge1xuICAgIGlmIChyZWxhdGlvbnNoaXBzLnNpemUpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcENvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKSxcbiAgICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQ29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgICB9XG5cbiAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRSZWxhdGlvblRvID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgbGV0IGNvbFR5cGUgPSAnaW50ZWdlcidcbiAgICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCA9IGFkYXB0ZXIucGF5bG9hZC5jb2xsZWN0aW9uc1tcbiAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgIF0uY29uZmlnLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICdudW1iZXInKSBjb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAndGV4dCcpIGNvbFR5cGUgPSAndmFyY2hhcidcblxuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zW2Ake3JlbGF0aW9uVG99SURgXSA9IHBhcmVudElEQ29sdW1uTWFwW2NvbFR5cGVdKFxuICAgICAgICAgIGAke2Zvcm1hdHRlZFJlbGF0aW9uVG99X2lkYCxcbiAgICAgICAgKS5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW2Zvcm1hdHRlZFJlbGF0aW9uVG9dLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZSA9IHBnVGFibGUocmVsYXRpb25zaGlwc1RhYmxlTmFtZSwgcmVsYXRpb25zaGlwQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBvcmRlcjogaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgIHBhcmVudElkeDogaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgcGF0aElkeDogaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5wYXRoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICAgIHJlc3VsdC5sb2NhbGVJZHggPSBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMubG9jYWxlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0gPSByZWxhdGlvbnNoaXBzVGFibGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHJlbGF0aW9uc2hpcHNUYWJsZSwgKHsgb25lIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlLnBhcmVudF0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgICAgICAgcmVsYXRpb25OYW1lOiAnX3JlbHMnLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgcmVsYXRpb25zaGlwcy5mb3JFYWNoKChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsYXRlZFRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKHJlbGF0aW9uVG8pXG4gICAgICAgICAgY29uc3QgaWRDb2x1bW5OYW1lID0gYCR7cmVsYXRpb25Ub31JRGBcbiAgICAgICAgICByZXN1bHRbaWRDb2x1bW5OYW1lXSA9IG9uZShhZGFwdGVyLnRhYmxlc1tyZWxhdGVkVGFibGVOYW1lXSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlW2lkQ29sdW1uTmFtZV1dLFxuICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0pXG5cbiAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfWBdID0gcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zXG4gICAgfVxuICB9XG5cbiAgY29uc3QgdGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnModGFibGUsICh7IG1hbnkgfSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7fVxuXG4gICAgcmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgfSlcblxuICAgIGlmIChoYXNMb2NhbGl6ZWRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShsb2NhbGVzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IHJlbGF0aW9uc1RvQnVpbGQgfVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYmFzZUNvbHVtbnMiLCJiYXNlRXh0cmFDb25maWciLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJjb2xsZWN0aW9uSW5kZXhlcyIsImRpc2FibGVVbmlxdWUiLCJmaWVsZHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZU5hbWUiLCJ0aW1lc3RhbXBzIiwiY29sdW1ucyIsImluZGV4ZXMiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsImxvY2FsZXNUYWJsZSIsIm51bWJlcnNUYWJsZSIsInJlbGF0aW9uc2hpcHMiLCJTZXQiLCJyZWxhdGlvbnNoaXBzVGFibGUiLCJyZWxhdGlvbnNUb0J1aWxkIiwiTWFwIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiaWRDb2xUeXBlIiwidHlwZSIsImlkIiwibnVtZXJpYyIsInByaW1hcnlLZXkiLCJ2YXJjaGFyIiwic2VyaWFsIiwidHJhdmVyc2VGaWVsZHMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZGVmYXVsdE5vdyIsIm5vdE51bGwiLCJ1cGRhdGVkQXQiLCJ0YWJsZSIsInBnVGFibGUiLCJjb2xzIiwiZXh0cmFDb25maWciLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiY29uZmlnIiwia2V5IiwiZnVuYyIsImFjYyIsImNvbE5hbWUiLCJ0YWJsZXMiLCJsb2NhbGVUYWJsZU5hbWUiLCJfbG9jYWxlIiwiZW51bXMiLCJlbnVtX19sb2NhbGVzIiwiX3BhcmVudElEIiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwib25EZWxldGUiLCJfbG9jYWxlUGFyZW50IiwidW5pcXVlIiwib24iLCJsb2NhbGVzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwib3JkZXIiLCJpbnRlZ2VyIiwicGFyZW50IiwicGF0aCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJudW1iZXJJZHgiLCJsb2NhbGVQYXJlbnQiLCJudW1iZXJzVGFibGVSZWxhdGlvbnMiLCJzaXplIiwicmVsYXRpb25zaGlwQ29sdW1ucyIsImZvckVhY2giLCJyZWxhdGlvblRvIiwiZm9ybWF0dGVkUmVsYXRpb25UbyIsInRvU25ha2VDYXNlIiwiY29sVHlwZSIsInJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbnNoaXBzVGFibGVOYW1lIiwicmVzdWx0IiwicGFyZW50SWR4IiwicGF0aElkeCIsImxvY2FsZUlkeCIsInJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9uTmFtZSIsInJlbGF0ZWRUYWJsZU5hbWUiLCJpZENvbHVtbk5hbWUiLCJ0YWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJ2YWwiLCJfbG9jYWxlcyIsIl9udW1iZXJzIiwiX3JlbHMiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyQ3ZCQTs7O2VBQUFBOzs7NEJBdENhO3dCQVVuQjt1QkFDMEI7b0VBQ1Q7bUNBSVU7Z0NBQ0g7Ozs7OztBQXFCeEIsTUFBTUEsYUFBYSxDQUFDLEVBQ3pCQyxPQUFP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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgcGFyZW50SURDb2x1bW5NYXAgfSBmcm9tICcuL3BhcmVudElEQ29sdW1uTWFwJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBiYXNlQ29sdW1ucz86IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgYmFzZUV4dHJhQ29uZmlnPzogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlcj5cbiAgYnVpbGRSZWxhdGlvbnNoaXBzPzogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlOiBib29sZWFuXG4gIGZpZWxkczogRmllbGRbXVxuICByb290UmVsYXRpb25zVG9CdWlsZD86IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc2hpcHM/OiBTZXQ8c3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU/OiBzdHJpbmdcbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB0aW1lc3RhbXBzPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFJlbGF0aW9uc2hpcHMsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZSxcbiAgdGFibGVOYW1lLFxuICB0aW1lc3RhbXBzLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSBiYXNlQ29sdW1uc1xuICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlcj4gPSB7fVxuXG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgY29uc3QgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7fVxuICBjb25zdCBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cbiAgbGV0IGxvY2FsZXNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIFJlbGF0aW9uc2hpcHMgdG8gdGhlIGJhc2UgY29sbGVjdGlvblxuICBjb25zdCByZWxhdGlvbnNoaXBzOiBTZXQ8c3RyaW5nPiA9IHJvb3RSZWxhdGlvbnNoaXBzIHx8IG5ldyBTZXQoKVxuXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIERyaXp6bGUgcmVsYXRpb25zXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZEZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICBsZXQgaWRDb2xUeXBlID0gJ2ludGVnZXInXG5cbiAgaWYgKGlkRmllbGQpIHtcbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWRDb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICBjb2x1bW5zLmlkID0gbnVtZXJpYygnaWQnKS5wcmltYXJ5S2V5KClcbiAgICB9XG5cbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAndGV4dCcpIHtcbiAgICAgIGlkQ29sVHlwZSA9ICd2YXJjaGFyJ1xuICAgICAgY29sdW1ucy5pZCA9IHZhcmNoYXIoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gIH1cblxuICA7KHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgIGFkYXB0ZXIsXG4gICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgIGNvbHVtbnMsXG4gICAgZGlzYWJsZVVuaXF1ZSxcbiAgICBmaWVsZHMsXG4gICAgaW5kZXhlcyxcbiAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICBuZXdUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBwYXJlbnRUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ6IHJvb3RSZWxhdGlvbnNUb0J1aWxkIHx8IHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgcm9vdFRhYmxlSURDb2xUeXBlOiByb290VGFibGVJRENvbFR5cGUgfHwgaWRDb2xUeXBlLFxuICAgIHJvb3RUYWJsZU5hbWU6IHJvb3RUYWJsZU5hbWUgfHwgdGFibGVOYW1lLFxuICB9KSlcblxuICBpZiAodGltZXN0YW1wcykge1xuICAgIGNvbHVtbnMuY3JlYXRlZEF0ID0gdGltZXN0YW1wKCdjcmVhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgICBjb2x1bW5zLnVwZGF0ZWRBdCA9IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gIH1cblxuICBjb25zdCB0YWJsZSA9IHBnVGFibGUodGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgIGNvbnN0IGV4dHJhQ29uZmlnID0gT2JqZWN0LmVudHJpZXMoYmFzZUV4dHJhQ29uZmlnKS5yZWR1Y2UoKGNvbmZpZywgW2tleSwgZnVuY10pID0+IHtcbiAgICAgIGNvbmZpZ1trZXldID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sIHt9KVxuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4ZXMpLnJlZHVjZSgoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBleHRyYUNvbmZpZylcbiAgfSlcblxuICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdID0gdGFibGVcblxuICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICBjb25zdCBsb2NhbGVUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXG4gICAgbG9jYWxlc0NvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9wYXJlbnRJRCA9IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgLm5vdE51bGwoKVxuXG4gICAgbG9jYWxlc1RhYmxlID0gcGdUYWJsZShsb2NhbGVUYWJsZU5hbWUsIGxvY2FsZXNDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGxvY2FsZXNJbmRleGVzKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBfbG9jYWxlUGFyZW50OiB1bmlxdWUoYCR7bG9jYWxlVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50X2lkX3VuaXF1ZWApLm9uKFxuICAgICAgICAgICAgY29scy5fbG9jYWxlLFxuICAgICAgICAgICAgY29scy5fcGFyZW50SUQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbG9jYWxlVGFibGVOYW1lXSA9IGxvY2FsZXNUYWJsZVxuXG4gICAgY29uc3QgbG9jYWxlc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGxvY2FsZXNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBfcGFyZW50SUQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtsb2NhbGVzVGFibGUuX3BhcmVudElEXSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2xvY2FsZVRhYmxlTmFtZX1gXSA9IGxvY2FsZXNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgbnVtYmVyOiBudW1lcmljKCdudW1iZXInKSxcbiAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAubm90TnVsbCgpLFxuICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICB9XG5cbiAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICBudW1iZXJzVGFibGUgPSBwZ1RhYmxlKG51bWJlcnNUYWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBJbmRleEJ1aWxkZXI+ID0ge1xuICAgICAgICBvcmRlclBhcmVudElkeDogaW5kZXgoJ29yZGVyX3BhcmVudF9pZHgnKS5vbihjb2xzLm9yZGVyLCBjb2xzLnBhcmVudCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNNYW55TnVtYmVyRmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy5udW1iZXJJZHggPSBpbmRleCgnbnVtYmVyX2lkeCcpLm9uKGNvbHMubnVtYmVyKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICAgIGluZGV4ZXMubG9jYWxlUGFyZW50ID0gaW5kZXgoJ2xvY2FsZV9wYXJlbnQnKS5vbihjb2xzLmxvY2FsZSwgY29scy5wYXJlbnQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdID0gbnVtYmVyc1RhYmxlXG5cbiAgICBjb25zdCBudW1iZXJzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMobnVtYmVyc1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW251bWJlcnNUYWJsZS5wYXJlbnRdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7bnVtYmVyc1RhYmxlTmFtZX1gXSA9IG51bWJlcnNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGJ1aWxkUmVsYXRpb25zaGlwcykge1xuICAgIGlmIChyZWxhdGlvbnNoaXBzLnNpemUpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcENvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKSxcbiAgICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQ29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgICB9XG5cbiAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRSZWxhdGlvblRvID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgbGV0IGNvbFR5cGUgPSAnaW50ZWdlcidcbiAgICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCA9IGFkYXB0ZXIucGF5bG9hZC5jb2xsZWN0aW9uc1tcbiAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgIF0uY29uZmlnLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICdudW1iZXInKSBjb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAndGV4dCcpIGNvbFR5cGUgPSAndmFyY2hhcidcblxuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zW2Ake3JlbGF0aW9uVG99SURgXSA9IHBhcmVudElEQ29sdW1uTWFwW2NvbFR5cGVdKFxuICAgICAgICAgIGAke2Zvcm1hdHRlZFJlbGF0aW9uVG99X2lkYCxcbiAgICAgICAgKS5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW2Zvcm1hdHRlZFJlbGF0aW9uVG9dLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZSA9IHBnVGFibGUocmVsYXRpb25zaGlwc1RhYmxlTmFtZSwgcmVsYXRpb25zaGlwQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBvcmRlcjogaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgIHBhcmVudElkeDogaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgcGF0aElkeDogaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5wYXRoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICAgIHJlc3VsdC5sb2NhbGVJZHggPSBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMubG9jYWxlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0gPSByZWxhdGlvbnNoaXBzVGFibGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHJlbGF0aW9uc2hpcHNUYWJsZSwgKHsgb25lIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlLnBhcmVudF0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgICAgICAgcmVsYXRpb25OYW1lOiAnX3JlbHMnLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgcmVsYXRpb25zaGlwcy5mb3JFYWNoKChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsYXRlZFRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKHJlbGF0aW9uVG8pXG4gICAgICAgICAgY29uc3QgaWRDb2x1bW5OYW1lID0gYCR7cmVsYXRpb25Ub31JRGBcbiAgICAgICAgICByZXN1bHRbaWRDb2x1bW5OYW1lXSA9IG9uZShhZGFwdGVyLnRhYmxlc1tyZWxhdGVkVGFibGVOYW1lXSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlW2lkQ29sdW1uTmFtZV1dLFxuICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0pXG5cbiAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfWBdID0gcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zXG4gICAgfVxuICB9XG5cbiAgY29uc3QgdGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnModGFibGUsICh7IG1hbnkgfSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7fVxuXG4gICAgcmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgfSlcblxuICAgIGlmIChoYXNMb2NhbGl6ZWRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShsb2NhbGVzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IHJlbGF0aW9uc1RvQnVpbGQgfVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYmFzZUNvbHVtbnMiLCJiYXNlRXh0cmFDb25maWciLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRzIiwicm9vdFJlbGF0aW9uc1RvQnVpbGQiLCJyb290UmVsYXRpb25zaGlwcyIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZU5hbWUiLCJ0aW1lc3RhbXBzIiwiY29sdW1ucyIsImluZGV4ZXMiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsImxvY2FsZXNUYWJsZSIsIm51bWJlcnNUYWJsZSIsInJlbGF0aW9uc2hpcHMiLCJTZXQiLCJyZWxhdGlvbnNoaXBzVGFibGUiLCJyZWxhdGlvbnNUb0J1aWxkIiwiTWFwIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiaWRDb2xUeXBlIiwidHlwZSIsImlkIiwibnVtZXJpYyIsInByaW1hcnlLZXkiLCJ2YXJjaGFyIiwic2VyaWFsIiwidHJhdmVyc2VGaWVsZHMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZGVmYXVsdE5vdyIsIm5vdE51bGwiLCJ1cGRhdGVkQXQiLCJ0YWJsZSIsInBnVGFibGUiLCJjb2xzIiwiZXh0cmFDb25maWciLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiY29uZmlnIiwia2V5IiwiZnVuYyIsImFjYyIsImNvbE5hbWUiLCJ0YWJsZXMiLCJsb2NhbGVUYWJsZU5hbWUiLCJfbG9jYWxlIiwiZW51bXMiLCJlbnVtX19sb2NhbGVzIiwiX3BhcmVudElEIiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwib25EZWxldGUiLCJfbG9jYWxlUGFyZW50IiwidW5pcXVlIiwib24iLCJsb2NhbGVzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwib3JkZXIiLCJpbnRlZ2VyIiwicGFyZW50IiwicGF0aCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJudW1iZXJJZHgiLCJsb2NhbGVQYXJlbnQiLCJudW1iZXJzVGFibGVSZWxhdGlvbnMiLCJzaXplIiwicmVsYXRpb25zaGlwQ29sdW1ucyIsImZvckVhY2giLCJyZWxhdGlvblRvIiwiZm9ybWF0dGVkUmVsYXRpb25UbyIsInRvU25ha2VDYXNlIiwiY29sVHlwZSIsInJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbnNoaXBzVGFibGVOYW1lIiwicmVzdWx0IiwicGFyZW50SWR4IiwicGF0aElkeCIsImxvY2FsZUlkeCIsInJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9uTmFtZSIsInJlbGF0ZWRUYWJsZU5hbWUiLCJpZENvbHVtbk5hbWUiLCJ0YWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJ2YWwiLCJfbG9jYWxlcyIsIl9udW1iZXJzIiwiX3JlbHMiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyQ3ZCQTs7O2VBQUFBOzs7NEJBdENhO3dCQVVuQjt1QkFDMEI7b0VBQ1Q7bUNBSVU7Z0NBQ0g7Ozs7OztBQXFCeEIsTUFBTUEsYUFBYSxDQUFDLEVB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
@@ -1,10 +1,9 @@
1
1
  import type { IndexBuilder, PgColumnBuilder } from 'drizzle-orm/pg-core';
2
- import type { Field, SanitizedCollectionConfig, TabAsField } from 'payload/types';
2
+ import type { Field, TabAsField } from 'payload/types';
3
3
  import type { GenericColumns, PostgresAdapter } from '../types';
4
4
  type Args = {
5
5
  adapter: PostgresAdapter;
6
6
  buildRelationships: boolean;
7
- collectionIndexes: SanitizedCollectionConfig['indexes'];
8
7
  columnPrefix?: string;
9
8
  columns: Record<string, PgColumnBuilder>;
10
9
  disableUnique?: boolean;
@@ -28,6 +27,6 @@ type Result = {
28
27
  hasLocalizedRelationshipField: boolean;
29
28
  hasManyNumberField: 'index' | boolean;
30
29
  };
31
- export declare const traverseFields: ({ adapter, buildRelationships, collectionIndexes, columnPrefix, columns, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
30
+ export declare const traverseFields: ({ adapter, buildRelationships, columnPrefix, columns, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
32
31
  export {};
33
32
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAqBjF,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,iBAAiB,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;IACvD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,qSAoBxB,IAAI,KAAG,MAmfT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kRAmBxB,IAAI,KAAG,MA+dT,CAAA"}
@@ -23,7 +23,7 @@ function _interop_require_default(obj) {
23
23
  default: obj
24
24
  };
25
25
  }
26
- const traverseFields = ({ adapter, buildRelationships, collectionIndexes, columnPrefix, columns, disableUnique = false, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName })=>{
26
+ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, disableUnique = false, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName })=>{
27
27
  let hasLocalizedField = false;
28
28
  let hasLocalizedRelationshipField = false;
29
29
  let hasManyNumberField = false;
@@ -47,18 +47,6 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
47
47
  targetTable = localesColumns;
48
48
  targetIndexes = localesIndexes;
49
49
  }
50
- const collectionIndex = collectionIndexes ? collectionIndexes.findIndex((index)=>{
51
- return Object.keys(index.fields).some((indexField)=>indexField === fieldName);
52
- }) : -1;
53
- if (collectionIndex > -1) {
54
- const name = (0, _tosnakecase.default)(`${Object.keys(collectionIndexes[collectionIndex].fields).join('_')}`);
55
- targetIndexes[`${name}Idx`] = (0, _createIndex.createIndex)({
56
- name: Object.keys(collectionIndexes[collectionIndex].fields),
57
- columnName: name,
58
- unique: collectionIndexes[collectionIndex].options.unique
59
- });
60
- collectionIndexes.splice(collectionIndex);
61
- }
62
50
  if ((field.unique || field.index) && ![
63
51
  'array',
64
52
  'blocks',
@@ -208,6 +196,7 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
208
196
  disableUnique,
209
197
  fields: field.fields,
210
198
  rootRelationsToBuild,
199
+ rootRelationships: relationships,
211
200
  rootTableIDColType,
212
201
  rootTableName,
213
202
  tableName: arrayTableName
@@ -263,6 +252,7 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
263
252
  disableUnique,
264
253
  fields: block.fields,
265
254
  rootRelationsToBuild,
255
+ rootRelationships: relationships,
266
256
  rootTableIDColType,
267
257
  rootTableName,
268
258
  tableName: blockTableName
@@ -306,7 +296,6 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
306
296
  const { hasLocalizedField: groupHasLocalizedField, hasLocalizedManyNumberField: groupHasLocalizedManyNumberField, hasLocalizedRelationshipField: groupHasLocalizedRelationshipField, hasManyNumberField: groupHasManyNumberField } = traverseFields({
307
297
  adapter,
308
298
  buildRelationships,
309
- collectionIndexes,
310
299
  columnPrefix,
311
300
  columns,
312
301
  disableUnique,
@@ -333,7 +322,6 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
333
322
  const { hasLocalizedField: groupHasLocalizedField, hasLocalizedManyNumberField: groupHasLocalizedManyNumberField, hasLocalizedRelationshipField: groupHasLocalizedRelationshipField, hasManyNumberField: groupHasManyNumberField } = traverseFields({
334
323
  adapter,
335
324
  buildRelationships,
336
- collectionIndexes,
337
325
  columnPrefix: `${columnName}_`,
338
326
  columns,
339
327
  disableUnique,
@@ -362,7 +350,6 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
362
350
  const { hasLocalizedField: tabHasLocalizedField, hasLocalizedManyNumberField: tabHasLocalizedManyNumberField, hasLocalizedRelationshipField: tabHasLocalizedRelationshipField, hasManyNumberField: tabHasManyNumberField } = traverseFields({
363
351
  adapter,
364
352
  buildRelationships,
365
- collectionIndexes,
366
353
  columnPrefix,
367
354
  columns,
368
355
  disableUnique,
@@ -395,7 +382,6 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
395
382
  const { hasLocalizedField: rowHasLocalizedField, hasLocalizedManyNumberField: rowHasLocalizedManyNumberField, hasLocalizedRelationshipField: rowHasLocalizedRelationshipField, hasManyNumberField: rowHasManyNumberField } = traverseFields({
396
383
  adapter,
397
384
  buildRelationships,
398
- collectionIndexes,
399
385
  columnPrefix,
400
386
  columns,
401
387
  disableUnique,
@@ -446,4 +432,4 @@ const traverseFields = ({ adapter, buildRelationships, collectionIndexes, column
446
432
  };
447
433
  };
448
434
 
449
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHVuaXF1ZSxcbiAgdmFyY2hhcixcbn0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEludmFsaWRDb25maWd1cmF0aW9uIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGhhc0xvY2FsZXNUYWJsZSB9IGZyb20gJy4uL3V0aWxpdGllcy9oYXNMb2NhbGVzVGFibGUnXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9idWlsZCdcbmltcG9ydCB7IGNyZWF0ZUluZGV4IH0gZnJvbSAnLi9jcmVhdGVJbmRleCdcbmltcG9ydCB7IHBhcmVudElEQ29sdW1uTWFwIH0gZnJvbSAnLi9wYXJlbnRJRENvbHVtbk1hcCdcbmltcG9ydCB7IHZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsIH0gZnJvbSAnLi92YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCdcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYnVpbGRSZWxhdGlvbnNoaXBzOiBib29sZWFuXG4gIGNvbGxlY3Rpb25JbmRleGVzOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnWydpbmRleGVzJ11cbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgZGlzYWJsZVVuaXF1ZT86IGJvb2xlYW5cbiAgZmllbGRQcmVmaXg/OiBzdHJpbmdcbiAgZmllbGRzOiAoRmllbGQgfCBUYWJBc0ZpZWxkKVtdXG4gIGZvcmNlTG9jYWxpemVkPzogYm9vbGVhblxuICBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlcj5cbiAgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuICBwYXJlbnRUYWJsZU5hbWU6IHN0cmluZ1xuICByZWxhdGlvbnNUb0J1aWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJlbGF0aW9uc2hpcHM6IFNldDxzdHJpbmc+XG4gIHJvb3RSZWxhdGlvbnNUb0J1aWxkPzogTWFwPHN0cmluZywgc3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU6IHN0cmluZ1xuICByb290VGFibGVOYW1lOiBzdHJpbmdcbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIGhhc0xvY2FsaXplZEZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogYm9vbGVhblxuICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogYm9vbGVhblxuICBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgY29sbGVjdGlvbkluZGV4ZXMsXG4gIGNvbHVtblByZWZpeCxcbiAgY29sdW1ucyxcbiAgZGlzYWJsZVVuaXF1ZSA9IGZhbHNlLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZUxvY2FsaXplZCxcbiAgaW5kZXhlcyxcbiAgbG9jYWxlc0NvbHVtbnMsXG4gIGxvY2FsZXNJbmRleGVzLFxuICBuZXdUYWJsZU5hbWUsXG4gIHBhcmVudFRhYmxlTmFtZSxcbiAgcmVsYXRpb25zVG9CdWlsZCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZSxcbn06IEFyZ3MpOiBSZXN1bHQgPT4ge1xuICBsZXQgaGFzTG9jYWxpemVkRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTWFueU51bWJlckZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGxldCBwYXJlbnRJRENvbFR5cGUgPSAnaW50ZWdlcidcbiAgaWYgKGNvbHVtbnMuaWQgaW5zdGFuY2VvZiBQZ051bWVyaWNCdWlsZGVyKSBwYXJlbnRJRENvbFR5cGUgPSAnbnVtZXJpYydcbiAgaWYgKGNvbHVtbnMuaWQgaW5zdGFuY2VvZiBQZ1ZhcmNoYXJCdWlsZGVyKSBwYXJlbnRJRENvbFR5cGUgPSAndmFyY2hhcidcblxuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBpZiAoJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpIHJldHVyblxuICAgIGxldCBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgICBsZXQgZmllbGROYW1lOiBzdHJpbmdcblxuICAgIGxldCB0YXJnZXRUYWJsZSA9IGNvbHVtbnNcbiAgICBsZXQgdGFyZ2V0SW5kZXhlcyA9IGluZGV4ZXNcblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29sdW1uTmFtZSA9IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWVbMF0gPT09ICdfJyA/ICdfJyA6ICcnfSR7dG9TbmFrZUNhc2UoXG4gICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICApfWBcbiAgICAgIGZpZWxkTmFtZSA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1gXG5cbiAgICAgIC8vIElmIGZpZWxkIGlzIGxvY2FsaXplZCxcbiAgICAgIC8vIGFkZCB0aGUgY29sdW1uIHRvIHRoZSBsb2NhbGUgdGFibGUgaW5zdGVhZCBvZiBtYWluIHRhYmxlXG4gICAgICBpZiAoYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24gJiYgKGZpZWxkLmxvY2FsaXplZCB8fCBmb3JjZUxvY2FsaXplZCkpIHtcbiAgICAgICAgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIHRhcmdldFRhYmxlID0gbG9jYWxlc0NvbHVtbnNcbiAgICAgICAgdGFyZ2V0SW5kZXhlcyA9IGxvY2FsZXNJbmRleGVzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbGxlY3Rpb25JbmRleCA9IGNvbGxlY3Rpb25JbmRleGVzXG4gICAgICAgID8gY29sbGVjdGlvbkluZGV4ZXMuZmluZEluZGV4KChpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGluZGV4LmZpZWxkcykuc29tZSgoaW5kZXhGaWVsZCkgPT4gaW5kZXhGaWVsZCA9PT0gZmllbGROYW1lKVxuICAgICAgICAgIH0pXG4gICAgICAgIDogLTFcblxuICAgICAgaWYgKGNvbGxlY3Rpb25JbmRleCA+IC0xKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0b1NuYWtlQ2FzZShcbiAgICAgICAgICBgJHtPYmplY3Qua2V5cyhjb2xsZWN0aW9uSW5kZXhlc1tjb2xsZWN0aW9uSW5kZXhdLmZpZWxkcykuam9pbignXycpfWAsXG4gICAgICAgIClcbiAgICAgICAgdGFyZ2V0SW5kZXhlc1tgJHtuYW1lfUlkeGBdID0gY3JlYXRlSW5kZXgoe1xuICAgICAgICAgIG5hbWU6IE9iamVjdC5rZXlzKGNvbGxlY3Rpb25JbmRleGVzW2NvbGxlY3Rpb25JbmRleF0uZmllbGRzKSxcbiAgICAgICAgICBjb2x1bW5OYW1lOiBuYW1lLFxuICAgICAgICAgIHVuaXF1ZTogY29sbGVjdGlvbkluZGV4ZXNbY29sbGVjdGlvbkluZGV4XS5vcHRpb25zLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgY29sbGVjdGlvbkluZGV4ZXMuc3BsaWNlKGNvbGxlY3Rpb25JbmRleClcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAoZmllbGQudW5pcXVlIHx8IGZpZWxkLmluZGV4KSAmJlxuICAgICAgICAhWydhcnJheScsICdibG9ja3MnLCAnZ3JvdXAnLCAncG9pbnQnLCAncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICEoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSlcbiAgICAgICkge1xuICAgICAgICB0YXJnZXRJbmRleGVzW2Ake2ZpZWxkLm5hbWV9SWR4YF0gPSBjcmVhdGVJbmRleCh7XG4gICAgICAgICAgbmFtZTogZmllbGROYW1lLFxuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgdW5pcXVlOiBkaXNhYmxlVW5pcXVlICE9PSB0cnVlICYmIGZpZWxkLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHZhcmNoYXIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9ICdpbmRleCdcbiAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQudW5pcXVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZ3VyYXRpb24oXG4gICAgICAgICAgICAgICdVbmlxdWUgaXMgbm90IHN1cHBvcnRlZCBpbiBQb3N0Z3JlcyBmb3IgaGFzTWFueSBudW1iZXIgZmllbGRzLicsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBudW1lcmljKGNvbHVtbk5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGpzb25iKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB0aW1lc3RhbXAoY29sdW1uTmFtZSwge1xuICAgICAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3BvaW50Jzoge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyYWRpbyc6XG4gICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gYGVudW1fJHtuZXdUYWJsZU5hbWV9XyR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuXG4gICAgICAgIGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdID0gcGdFbnVtKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgIH0pIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkTmFtZSl9YFxuICAgICAgICAgIGNvbnN0IGJhc2VDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJykubm90TnVsbCgpLFxuICAgICAgICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtwYXJlbnRJRENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAgICAgICAucmVmZXJlbmNlcygoKSA9PiBhZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgICAgIHZhbHVlOiBhZGFwdGVyLmVudW1zW2VudW1OYW1lXSgndmFsdWUnKSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBiYXNlRXh0cmFDb25maWc6IFJlY29yZDxcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgICA+ID0ge1xuICAgICAgICAgICAgb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnb3JkZXJfaWR4Jykub24oY29scy5vcmRlciksXG4gICAgICAgICAgICBwYXJlbnRJZHg6IChjb2xzKSA9PiBpbmRleCgncGFyZW50X2lkeCcpLm9uKGNvbHMucGFyZW50KSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICBiYXNlQ29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLmxvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMubG9jYWxlKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5pbmRleCkge1xuICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLnZhbHVlID0gKGNvbHMpID0+IGluZGV4KCd2YWx1ZV9pZHgnKS5vbihjb2xzLnZhbHVlKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGJhc2VDb2x1bW5zLFxuICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB0YWJsZU5hbWU6IHNlbGVjdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBzZWxlY3RUYWJsZU5hbWUpXG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50OiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0ucGFyZW50XSxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbl8ke3NlbGVjdFRhYmxlTmFtZX1gXSA9IHNlbGVjdFRhYmxlUmVsYXRpb25zXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKGZpZWxkTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGJvb2xlYW4oY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgIGNvbnN0IGFycmF5VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgX3BhcmVudElEOiBwYXJlbnRJRENvbHVtbk1hcFtwYXJlbnRJRENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgID4gPSB7XG4gICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ19vcmRlcl9pZHgnKS5vbihjb2xzLl9vcmRlciksXG4gICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ19wYXJlbnRfaWRfaWR4Jykub24oY29scy5fcGFyZW50SUQpLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGJhc2VDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnX2xvY2FsZV9pZHgnKS5vbihjb2xzLl9sb2NhbGUpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHJlbGF0aW9uc1RvQnVpbGQ6IHN1YlJlbGF0aW9uc1RvQnVpbGQgfSA9IGJ1aWxkVGFibGUoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lOiBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICByZWxhdGlvbnNUb0J1aWxkLnNldChmaWVsZE5hbWUsIGFycmF5VGFibGVOYW1lKVxuXG4gICAgICAgIGNvbnN0IGFycmF5VGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMoYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLCAoeyBtYW55LCBvbmUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgICBfcGFyZW50SUQ6IG9uZShhZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaGFzTG9jYWxlc1RhYmxlKGZpZWxkLmZpZWxkcykpIHtcbiAgICAgICAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkoYWRhcHRlci50YWJsZXNbYCR7YXJyYXlUYWJsZU5hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdWJSZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICB9KVxuXG4gICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHthcnJheVRhYmxlTmFtZX1gXSA9IGFycmF5VGFibGVSZWxhdGlvbnNcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fYmxvY2tzXyR7dG9TbmFrZUNhc2UoYmxvY2suc2x1Zyl9YFxuICAgICAgICAgIGlmICghYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRDogcGFyZW50SURDb2x1bW5NYXBbcm9vdFRhYmxlSURDb2xUeXBlXSgnX3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXRoOiB0ZXh0KCdfcGF0aCcpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIF9wYXRoSWR4OiAoY29scykgPT4gaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5fcGF0aCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyByZWxhdGlvbnNUb0J1aWxkOiBzdWJSZWxhdGlvbnNUb0J1aWxkIH0gPSBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlTmFtZTogYmxvY2tUYWJsZU5hbWUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBibG9ja1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShibG9jay5maWVsZHMpKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2Jsb2NrVGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2Jsb2NrVGFibGVOYW1lfWBdID0gYmxvY2tUYWJsZVJlbGF0aW9uc1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwoe1xuICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgbG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLnNldChgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YCwgYmxvY2tUYWJsZU5hbWUpXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFiJzpcbiAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICBpZiAoISgnbmFtZScgaW4gZmllbGQpKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgY29sbGVjdGlvbkluZGV4ZXMsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgICAgbmV3VGFibGVOYW1lOiBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiBncm91cEhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiBncm91cEhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2xsZWN0aW9uSW5kZXhlcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQ6IGZpZWxkLmxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YCxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogdGFiSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogdGFiSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbGxlY3Rpb25JbmRleGVzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogcm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiByb3dIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sbGVjdGlvbkluZGV4ZXMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkLnJlbGF0aW9uVG8uZm9yRWFjaCgocmVsYXRpb24pID0+IHJlbGF0aW9uc2hpcHMuYWRkKHJlbGF0aW9uKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLmFkZChmaWVsZC5yZWxhdGlvblRvKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uID0gZmllbGQuYWRtaW4gJiYgZmllbGQuYWRtaW4uY29uZGl0aW9uXG5cbiAgICBpZiAodGFyZ2V0VGFibGVbZmllbGROYW1lXSAmJiAncmVxdWlyZWQnIGluIGZpZWxkICYmIGZpZWxkLnJlcXVpcmVkICYmICFjb25kaXRpb24pIHtcbiAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0ubm90TnVsbCgpXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiB7XG4gICAgaGFzTG9jYWxpemVkRmllbGQsXG4gICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIGhhc01hbnlOdW1iZXJGaWVsZCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25JbmRleGVzIiwiY29sdW1uUHJlZml4IiwiY29sdW1ucyIsImRpc2FibGVVbmlxdWUiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlTG9jYWxpemVkIiwiaW5kZXhlcyIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJyZWxhdGlvbnNUb0J1aWxkIiwicmVsYXRpb25zaGlwcyIsInJvb3RSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55TnVtYmVyRmllbGQiLCJoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJwYXJlbnRJRENvbFR5cGUiLCJpZCIsIlBnTnVtZXJpY0J1aWxkZXIiLCJQZ1ZhcmNoYXJCdWlsZGVyIiwiZm9yRWFjaCIsImZpZWxkIiwibmFtZSIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJ0YXJnZXRUYWJsZSIsInRhcmdldEluZGV4ZXMiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxpemVkIiwiY29sbGVjdGlvbkluZGV4IiwiZmluZEluZGV4IiwiaW5kZXgiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsImluZGV4RmllbGQiLCJqb2luIiwiY3JlYXRlSW5kZXgiLCJ1bmlxdWUiLCJvcHRpb25zIiwic3BsaWNlIiwiaW5jbHVkZXMiLCJ0eXBlIiwiaGFzTWFueSIsInZhcmNoYXIiLCJJbnZhbGlkQ29uZmlndXJhdGlvbiIsIm51bWVyaWMiLCJqc29uYiIsInRpbWVzdGFtcCIsIm1vZGUiLCJwcmVjaXNpb24iLCJ3aXRoVGltZXpvbmUiLCJlbnVtTmFtZSIsImVudW1zIiwicGdFbnVtIiwibWFwIiwib3B0aW9uIiwib3B0aW9uSXNPYmplY3QiLCJ2YWx1ZSIsInNlbGVjdFRhYmxlTmFtZSIsImJhc2VDb2x1bW5zIiwib3JkZXIiLCJpbnRlZ2VyIiwibm90TnVsbCIsInBhcmVudCIsInBhcmVudElEQ29sdW1uTWFwIiwicmVmZXJlbmNlcyIsInRhYmxlcyIsIm9uRGVsZXRlIiwiYmFzZUV4dHJhQ29uZmlnIiwib3JkZXJJZHgiLCJjb2xzIiwib24iLCJwYXJlbnRJZHgiLCJsb2NhbGUiLCJlbnVtX19sb2NhbGVzIiwibG9jYWxlSWR4IiwiYnVpbGRUYWJsZSIsInRhYmxlTmFtZSIsInNldCIsInNlbGVjdFRhYmxlUmVsYXRpb25zIiwicmVsYXRpb25zIiwib25lIiwicmVzdWx0IiwiYm9vbGVhbiIsImFycmF5VGFibGVOYW1lIiwiX29yZGVyIiwiX3BhcmVudElEIiwiX29yZGVySWR4IiwiX3BhcmVudElESWR4IiwiX2xvY2FsZSIsIl9sb2NhbGVJZHgiLCJzdWJSZWxhdGlvbnNUb0J1aWxkIiwiYXJyYXlUYWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJoYXNMb2NhbGVzVGFibGUiLCJfbG9jYWxlcyIsInZhbCIsImtleSIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tUYWJsZU5hbWUiLCJzbHVnIiwiX3BhdGgiLCJ0ZXh0IiwiX3BhdGhJZHgiLCJibG9ja1RhYmxlUmVsYXRpb25zIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwiLCJ0YWJsZSIsImdyb3VwSGFzTG9jYWxpemVkRmllbGQiLCJncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJncm91cEhhc01hbnlOdW1iZXJGaWVsZCIsInRhYkhhc0xvY2FsaXplZEZpZWxkIiwidGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJ0YWJIYXNNYW55TnVtYmVyRmllbGQiLCJ0YWJzIiwidGFiIiwicm93SGFzTG9jYWxpemVkRmllbGQiLCJyb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJyb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInJvd0hhc01hbnlOdW1iZXJGaWVsZCIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJyZWxhdGlvbiIsImFkZCIsImNvbmRpdGlvbiIsImFkbWluIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE2RHZCQTs7O2VBQUFBOzs7NEJBeERhO3dCQWNuQjt3QkFDOEI7dUJBQ1k7b0VBQ3pCO2lDQUlRO3VCQUNMOzZCQUNDO21DQUNNO2tEQUNlOzs7Ozs7QUErQjFDLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxPQUFPLEVBQ1BDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxZQUFZLEVBQ1pDLE9BQU8sRUFDUEMs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
435
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRQcmVmaXgsXG4gIGZpZWxkcyxcbiAgZm9yY2VMb2NhbGl6ZWQsXG4gIGluZGV4ZXMsXG4gIGxvY2FsZXNDb2x1bW5zLFxuICBsb2NhbGVzSW5kZXhlcyxcbiAgbmV3VGFibGVOYW1lLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHJlbGF0aW9uc1RvQnVpbGQsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICByb290VGFibGVJRENvbFR5cGUsXG4gIHJvb3RUYWJsZU5hbWUsXG59OiBBcmdzKTogUmVzdWx0ID0+IHtcbiAgbGV0IGhhc0xvY2FsaXplZEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gZmFsc2VcblxuICBsZXQgcGFyZW50SURDb2xUeXBlID0gJ2ludGVnZXInXG4gIGlmIChjb2x1bW5zLmlkIGluc3RhbmNlb2YgUGdOdW1lcmljQnVpbGRlcikgcGFyZW50SURDb2xUeXBlID0gJ251bWVyaWMnXG4gIGlmIChjb2x1bW5zLmlkIGluc3RhbmNlb2YgUGdWYXJjaGFyQnVpbGRlcikgcGFyZW50SURDb2xUeXBlID0gJ3ZhcmNoYXInXG5cbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSByZXR1cm5cbiAgICBsZXQgY29sdW1uTmFtZTogc3RyaW5nXG4gICAgbGV0IGZpZWxkTmFtZTogc3RyaW5nXG5cbiAgICBsZXQgdGFyZ2V0VGFibGUgPSBjb2x1bW5zXG4gICAgbGV0IHRhcmdldEluZGV4ZXMgPSBpbmRleGVzXG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbHVtbk5hbWUgPSBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lWzBdID09PSAnXycgPyAnXycgOiAnJ30ke3RvU25ha2VDYXNlKFxuICAgICAgICBmaWVsZC5uYW1lLFxuICAgICAgKX1gXG4gICAgICBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAvLyBJZiBmaWVsZCBpcyBsb2NhbGl6ZWQsXG4gICAgICAvLyBhZGQgdGhlIGNvbHVtbiB0byB0aGUgbG9jYWxlIHRhYmxlIGluc3RlYWQgb2YgbWFpbiB0YWJsZVxuICAgICAgaWYgKGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uICYmIChmaWVsZC5sb2NhbGl6ZWQgfHwgZm9yY2VMb2NhbGl6ZWQpKSB7XG4gICAgICAgIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICB0YXJnZXRUYWJsZSA9IGxvY2FsZXNDb2x1bW5zXG4gICAgICAgIHRhcmdldEluZGV4ZXMgPSBsb2NhbGVzSW5kZXhlc1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIChmaWVsZC51bmlxdWUgfHwgZmllbGQuaW5kZXgpICYmXG4gICAgICAgICFbJ2FycmF5JywgJ2Jsb2NrcycsICdncm91cCcsICdwb2ludCcsICdyZWxhdGlvbnNoaXAnLCAndXBsb2FkJ10uaW5jbHVkZXMoZmllbGQudHlwZSkgJiZcbiAgICAgICAgIShmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55ID09PSB0cnVlKVxuICAgICAgKSB7XG4gICAgICAgIHRhcmdldEluZGV4ZXNbYCR7ZmllbGQubmFtZX1JZHhgXSA9IGNyZWF0ZUluZGV4KHtcbiAgICAgICAgICBuYW1lOiBmaWVsZE5hbWUsXG4gICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICB1bmlxdWU6IGRpc2FibGVVbmlxdWUgIT09IHRydWUgJiYgZmllbGQudW5pcXVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICBjYXNlICdlbWFpbCc6XG4gICAgICBjYXNlICdjb2RlJzpcbiAgICAgIGNhc2UgJ3RleHRhcmVhJzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gdmFyY2hhcihjb2x1bW5OYW1lKVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5pbmRleCkge1xuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkID0gJ2luZGV4J1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgICAgICAgICAgJ1VuaXF1ZSBpcyBub3Qgc3VwcG9ydGVkIGluIFBvc3RncmVzIGZvciBoYXNNYW55IG51bWJlciBmaWVsZHMuJyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IG51bWVyaWMoY29sdW1uTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyaWNoVGV4dCc6XG4gICAgICBjYXNlICdqc29uJzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0ganNvbmIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHRpbWVzdGFtcChjb2x1bW5OYW1lLCB7XG4gICAgICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgICAgIHdpdGhUaW1lem9uZTogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JhZGlvJzpcbiAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgY29uc3QgZW51bU5hbWUgPSBgZW51bV8ke25ld1RhYmxlTmFtZX1fJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gXG5cbiAgICAgICAgYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0gPSBwZ0VudW0oXG4gICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgZmllbGQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uXG4gICAgICAgICAgfSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGROYW1lKX1gXG4gICAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICAgICAgdmFsdWU6IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKCd2YWx1ZScpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgID4gPSB7XG4gICAgICAgICAgICBvcmRlcklkeDogKGNvbHMpID0+IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICAgIHBhcmVudElkeDogKGNvbHMpID0+IGluZGV4KCdwYXJlbnRfaWR4Jykub24oY29scy5wYXJlbnQpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGJhc2VDb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJykubm90TnVsbCgpXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcubG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5sb2NhbGUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmluZGV4KSB7XG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcudmFsdWUgPSAoY29scykgPT4gaW5kZXgoJ3ZhbHVlX2lkeCcpLm9uKGNvbHMudmFsdWUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnVpbGRUYWJsZSh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgZmllbGRzOiBbXSxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogc2VsZWN0VGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLnNldChmaWVsZE5hbWUsIHNlbGVjdFRhYmxlTmFtZSlcblxuICAgICAgICAgIGNvbnN0IHNlbGVjdFRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGFkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0sICh7IG9uZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgICBwYXJlbnQ6IG9uZShhZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbc2VsZWN0VGFibGVOYW1lXS5wYXJlbnRdLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uXyR7c2VsZWN0VGFibGVOYW1lfWBdID0gc2VsZWN0VGFibGVSZWxhdGlvbnNcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oZmllbGROYW1lKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2NoZWNrYm94Jzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gYm9vbGVhbihjb2x1bW5OYW1lKVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgPiA9IHtcbiAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnX29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgnX3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdfbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIHJlbGF0aW9uc1RvQnVpbGQuc2V0KGZpZWxkTmFtZSwgYXJyYXlUYWJsZU5hbWUpXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0sICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoZmllbGQuZmllbGRzKSkge1xuICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH0pXG5cbiAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2FycmF5VGFibGVOYW1lfWBdID0gYXJyYXlUYWJsZVJlbGF0aW9uc1xuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2tUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gXG4gICAgICAgICAgaWYgKCFhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0pIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgICAgX3BhcmVudElEOiBwYXJlbnRJRENvbHVtbk1hcFtyb290VGFibGVJRENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgICAgICAgICAgICAucmVmZXJlbmNlcygoKSA9PiBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgICAgICAgX3BhdGg6IHRleHQoJ19wYXRoJykubm90TnVsbCgpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBiYXNlRXh0cmFDb25maWc6IFJlY29yZDxcbiAgICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgICA+ID0ge1xuICAgICAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnb3JkZXJfaWR4Jykub24oY29scy5fb3JkZXIpLFxuICAgICAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgncGFyZW50X2lkX2lkeCcpLm9uKGNvbHMuX3BhcmVudElEKSxcbiAgICAgICAgICAgICAgX3BhdGhJZHg6IChjb2xzKSA9PiBpbmRleCgncGF0aF9pZHgnKS5vbihjb2xzLl9wYXRoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgICAgICBiYXNlQ29sdW1ucy5fbG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdfbG9jYWxlJykubm90TnVsbCgpXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5fbG9jYWxlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IHJlbGF0aW9uc1RvQnVpbGQ6IHN1YlJlbGF0aW9uc1RvQnVpbGQgfSA9IGJ1aWxkVGFibGUoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNoaXBzOiByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlTmFtZTogYmxvY2tUYWJsZU5hbWUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBibG9ja1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShibG9jay5maWVsZHMpKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2Jsb2NrVGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2Jsb2NrVGFibGVOYW1lfWBdID0gYmxvY2tUYWJsZVJlbGF0aW9uc1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwoe1xuICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgbG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLnNldChgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YCwgYmxvY2tUYWJsZU5hbWUpXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFiJzpcbiAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICBpZiAoISgnbmFtZScgaW4gZmllbGQpKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICAgIG5ld1RhYmxlTmFtZTogcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWU6IGAke3BhcmVudFRhYmxlTmFtZX1fJHtjb2x1bW5OYW1lfWAsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IHRhYkhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogdGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IHRhYkhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgIGZpZWxkczogZmllbGQudGFicy5tYXAoKHRhYikgPT4gKHsgLi4udGFiLCB0eXBlOiAndGFiJyB9KSksXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogcm93SGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiByb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogcm93SGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWU6IHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgY2FzZSAndXBsb2FkJzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICBmaWVsZC5yZWxhdGlvblRvLmZvckVhY2goKHJlbGF0aW9uKSA9PiByZWxhdGlvbnNoaXBzLmFkZChyZWxhdGlvbikpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwcy5hZGQoZmllbGQucmVsYXRpb25UbylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVha1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmRpdGlvbiA9IGZpZWxkLmFkbWluICYmIGZpZWxkLmFkbWluLmNvbmRpdGlvblxuXG4gICAgaWYgKHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gJiYgJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJiBmaWVsZC5yZXF1aXJlZCAmJiAhY29uZGl0aW9uKSB7XG4gICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdLm5vdE51bGwoKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGhhc0xvY2FsaXplZEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55TnVtYmVyRmllbGQsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFkYXB0ZXIiLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJjb2x1bW5QcmVmaXgiLCJjb2x1bW5zIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwiZm9yY2VMb2NhbGl6ZWQiLCJpbmRleGVzIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsIm5ld1RhYmxlTmFtZSIsInBhcmVudFRhYmxlTmFtZSIsInJlbGF0aW9uc1RvQnVpbGQiLCJyZWxhdGlvbnNoaXBzIiwicm9vdFJlbGF0aW9uc1RvQnVpbGQiLCJyb290VGFibGVJRENvbFR5cGUiLCJyb290VGFibGVOYW1lIiwiaGFzTG9jYWxpemVkRmllbGQiLCJoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImhhc01hbnlOdW1iZXJGaWVsZCIsImhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInBhcmVudElEQ29sVHlwZSIsImlkIiwiUGdOdW1lcmljQnVpbGRlciIsIlBnVmFyY2hhckJ1aWxkZXIiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiY29sdW1uTmFtZSIsImZpZWxkTmFtZSIsInRhcmdldFRhYmxlIiwidGFyZ2V0SW5kZXhlcyIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0b1NuYWtlQ2FzZSIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJsb2NhbGl6ZWQiLCJ1bmlxdWUiLCJpbmRleCIsImluY2x1ZGVzIiwidHlwZSIsImhhc01hbnkiLCJjcmVhdGVJbmRleCIsInZhcmNoYXIiLCJJbnZhbGlkQ29uZmlndXJhdGlvbiIsIm51bWVyaWMiLCJqc29uYiIsInRpbWVzdGFtcCIsIm1vZGUiLCJwcmVjaXNpb24iLCJ3aXRoVGltZXpvbmUiLCJlbnVtTmFtZSIsImVudW1zIiwicGdFbnVtIiwib3B0aW9ucyIsIm1hcCIsIm9wdGlvbiIsIm9wdGlvbklzT2JqZWN0IiwidmFsdWUiLCJzZWxlY3RUYWJsZU5hbWUiLCJiYXNlQ29sdW1ucyIsIm9yZGVyIiwiaW50ZWdlciIsIm5vdE51bGwiLCJwYXJlbnQiLCJwYXJlbnRJRENvbHVtbk1hcCIsInJlZmVyZW5jZXMiLCJ0YWJsZXMiLCJvbkRlbGV0ZSIsImJhc2VFeHRyYUNvbmZpZyIsIm9yZGVySWR4IiwiY29scyIsIm9uIiwicGFyZW50SWR4IiwibG9jYWxlIiwiZW51bV9fbG9jYWxlcyIsImxvY2FsZUlkeCIsImJ1aWxkVGFibGUiLCJ0YWJsZU5hbWUiLCJzZXQiLCJzZWxlY3RUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9ucyIsIm9uZSIsInJlc3VsdCIsImJvb2xlYW4iLCJhcnJheVRhYmxlTmFtZSIsIl9vcmRlciIsIl9wYXJlbnRJRCIsIl9vcmRlcklkeCIsIl9wYXJlbnRJRElkeCIsIl9sb2NhbGUiLCJfbG9jYWxlSWR4Iiwic3ViUmVsYXRpb25zVG9CdWlsZCIsInJvb3RSZWxhdGlvbnNoaXBzIiwiYXJyYXlUYWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJoYXNMb2NhbGVzVGFibGUiLCJfbG9jYWxlcyIsInZhbCIsImtleSIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tUYWJsZU5hbWUiLCJzbHVnIiwiX3BhdGgiLCJ0ZXh0IiwiX3BhdGhJZHgiLCJibG9ja1RhYmxlUmVsYXRpb25zIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwiLCJ0YWJsZSIsImdyb3VwSGFzTG9jYWxpemVkRmllbGQiLCJncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJncm91cEhhc01hbnlOdW1iZXJGaWVsZCIsInRhYkhhc0xvY2FsaXplZEZpZWxkIiwidGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJ0YWJIYXNNYW55TnVtYmVyRmllbGQiLCJ0YWJzIiwidGFiIiwicm93SGFzTG9jYWxpemVkRmllbGQiLCJyb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJyb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInJvd0hhc01hbnlOdW1iZXJGaWVsZCIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJyZWxhdGlvbiIsImFkZCIsImNvbmRpdGlvbiIsImFkbWluIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyRHZCQTs7O2VBQUFBOzs7NEJBdERhO3dCQWFuQjt3QkFDOEI7dUJBQ1k7b0VBQ3pCO2lDQUlRO3VCQUNMOzZCQUNDO21DQUNNO2tEQUNlOzs7Ozs7QUE4QjFDLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxPQUFPLEVBQ1BDLGtCQUFrQixFQUNsQkMsWUFBWSxFQUNaQyxPQUFPLEVBQ1BDLGdCQUFnQixLQUFLLEVBQ3JCQyxXQUFXLEVBQ1hD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-postgres",
3
- "version": "0.1.0-beta.19",
3
+ "version": "0.1.0-beta.20",
4
4
  "description": "The officially supported Postgres database adapter for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  "devDependencies": {
25
25
  "@types/pg": "8.10.2",
26
26
  "@types/to-snake-case": "1.0.0",
27
- "payload": "2.0.0-beta.28",
27
+ "payload": "2.0.0-beta.30",
28
28
  "@payloadcms/eslint-config": "0.0.1"
29
29
  },
30
30
  "peerDependencies": {