payload 2.6.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/components/styles.css +1 -1
  2. package/components/utilities.d.ts +1 -0
  3. package/components/utilities.js +5 -1
  4. package/dist/admin/components/elements/DocumentFields/index.d.ts.map +1 -1
  5. package/dist/admin/components/elements/DocumentFields/index.js +5 -2
  6. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  7. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +3 -3
  8. package/dist/admin/components/elements/EditUpload/index.scss +6 -0
  9. package/dist/admin/components/elements/Header/index.scss +0 -1
  10. package/dist/admin/components/elements/ListDrawer/DrawerContent.js +2 -2
  11. package/dist/admin/components/elements/Popup/PopupButtonList/index.scss +9 -2
  12. package/dist/admin/components/elements/Popup/index.scss +20 -2
  13. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +3 -3
  14. package/dist/admin/components/forms/Form/fieldReducer.js +3 -3
  15. package/dist/admin/components/forms/RenderFields/index.scss +1 -0
  16. package/dist/admin/components/forms/field-types/JSON/index.d.ts.map +1 -1
  17. package/dist/admin/components/forms/field-types/JSON/index.js +17 -9
  18. package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
  19. package/dist/admin/components/forms/field-types/Relationship/index.js +11 -9
  20. package/dist/admin/components/forms/field-types/Text/Input.d.ts +3 -0
  21. package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
  22. package/dist/admin/components/forms/field-types/Text/Input.js +33 -5
  23. package/dist/admin/components/forms/field-types/Text/index.d.ts.map +1 -1
  24. package/dist/admin/components/forms/field-types/Text/index.js +48 -5
  25. package/dist/admin/components/forms/field-types/Text/index.scss +4 -2
  26. package/dist/admin/components/forms/useField/types.d.ts +1 -1
  27. package/dist/admin/components/forms/useField/types.d.ts.map +1 -1
  28. package/dist/admin/components/forms/withCondition/WatchCondition.js +3 -3
  29. package/dist/admin/components/templates/Default/index.scss +5 -0
  30. package/dist/admin/components/views/Account/index.d.ts.map +1 -1
  31. package/dist/admin/components/views/Account/index.js +3 -4
  32. package/dist/admin/components/views/Global/index.js +2 -2
  33. package/dist/admin/components/views/collections/Edit/formatFields.js +2 -2
  34. package/dist/admin/components/views/collections/Edit/index.js +2 -2
  35. package/dist/admin/hooks/useTitle.d.ts.map +1 -1
  36. package/dist/admin/hooks/useTitle.js +9 -2
  37. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -2
  38. package/dist/bin/build.d.ts.map +1 -1
  39. package/dist/bin/build.js +5 -8
  40. package/dist/bundlers/mocks/db-mongodb.js +13 -0
  41. package/dist/bundlers/mocks/db-postgres.js +13 -0
  42. package/dist/collections/graphql/init.d.ts.map +1 -1
  43. package/dist/collections/graphql/init.js +4 -3
  44. package/dist/collections/operations/create.d.ts.map +1 -1
  45. package/dist/collections/operations/create.js +4 -3
  46. package/dist/database/getLocalizedPaths.js +2 -2
  47. package/dist/database/migrations/migrate.d.ts.map +1 -1
  48. package/dist/database/migrations/migrate.js +13 -11
  49. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  50. package/dist/database/migrations/migrateDown.js +13 -9
  51. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  52. package/dist/database/migrations/migrateRefresh.js +18 -15
  53. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  54. package/dist/database/migrations/migrateReset.js +13 -9
  55. package/dist/database/migrations/migrationTemplate.d.ts +1 -1
  56. package/dist/database/migrations/migrationTemplate.d.ts.map +1 -1
  57. package/dist/database/migrations/migrationTemplate.js +3 -3
  58. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  59. package/dist/database/migrations/migrationsCollection.js +4 -3
  60. package/dist/database/types.d.ts +6 -4
  61. package/dist/database/types.d.ts.map +1 -1
  62. package/dist/exports/components/utilities.d.ts +1 -0
  63. package/dist/exports/components/utilities.d.ts.map +1 -1
  64. package/dist/exports/components/utilities.js +5 -1
  65. package/dist/fields/config/schema.d.ts.map +1 -1
  66. package/dist/fields/config/schema.js +12 -2
  67. package/dist/fields/config/types.d.ts +17 -1
  68. package/dist/fields/config/types.d.ts.map +1 -1
  69. package/dist/fields/config/types.js +1 -1
  70. package/dist/fields/hooks/beforeChange/promise.js +3 -3
  71. package/dist/fields/validations.d.ts.map +1 -1
  72. package/dist/fields/validations.js +34 -12
  73. package/dist/fields/validations.spec.js +22 -1
  74. package/dist/graphql/schema/buildMutationInputType.d.ts.map +1 -1
  75. package/dist/graphql/schema/buildMutationInputType.js +4 -3
  76. package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
  77. package/dist/graphql/schema/buildObjectType.js +2 -2
  78. package/dist/graphql/schema/buildWhereInputType.d.ts.map +1 -1
  79. package/dist/graphql/schema/buildWhereInputType.js +3 -3
  80. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  81. package/dist/utilities/configToJSONSchema.js +14 -1
  82. package/dist/utilities/initTransaction.d.ts.map +1 -1
  83. package/dist/utilities/initTransaction.js +4 -2
  84. package/dist/utilities/isValidID.d.ts.map +1 -1
  85. package/dist/utilities/isValidID.js +11 -2
  86. package/dist/utilities/logger.js +2 -2
  87. package/dist/versions/buildCollectionFields.js +13 -13
  88. package/package.json +3 -3
@@ -36,6 +36,7 @@ const _findVersionByID = /*#__PURE__*/ _interop_require_default(require("./resol
36
36
  const _findVersions = /*#__PURE__*/ _interop_require_default(require("./resolvers/findVersions"));
37
37
  const _restoreVersion = /*#__PURE__*/ _interop_require_default(require("./resolvers/restoreVersion"));
38
38
  const _update = /*#__PURE__*/ _interop_require_default(require("./resolvers/update"));
39
+ const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/flattenTopLevelFields"));
39
40
  function _interop_require_default(obj) {
40
41
  return obj && obj.__esModule ? obj : {
41
42
  default: obj
@@ -106,13 +107,13 @@ function initCollectionsGraphQL(payload) {
106
107
  pluralName = `all${singularName}`;
107
108
  }
108
109
  collection.graphQL = {};
109
- const idField = fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
110
+ const hasIDField = (0, _flattenTopLevelFields.default)(fields).findIndex((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id') > -1;
110
111
  const idType = (0, _buildMutationInputType.getCollectionIDType)(payload, config);
111
112
  const baseFields = {};
112
113
  const whereInputFields = [
113
114
  ...fields
114
115
  ];
115
- if (!idField) {
116
+ if (!hasIDField) {
116
117
  baseFields.id = {
117
118
  type: idType
118
119
  };
@@ -514,4 +515,4 @@ function initCollectionsGraphQL(payload) {
514
515
  }
515
516
  const _default = initCollectionsGraphQL;
516
517
 
517
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgeyBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvYnVpbGRDb2xsZWN0aW9uRmllbGRzJ1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5cbmZ1bmN0aW9uIGluaXRDb2xsZWN0aW9uc0dyYXBoUUwocGF5bG9hZDogUGF5bG9hZCk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhwYXlsb2FkLmNvbGxlY3Rpb25zKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbc2x1Z11cbiAgICBjb25zdCB7XG4gICAgICBjb25maWcsXG4gICAgICBjb25maWc6IHsgZmllbGRzLCBncmFwaFFMID0ge30gYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1snZ3JhcGhRTCddLCB2ZXJzaW9ucyB9LFxuICAgIH0gPSBjb2xsZWN0aW9uXG5cbiAgICBpZiAoIWdyYXBoUUwpIHJldHVyblxuXG4gICAgbGV0IHNpbmd1bGFyTmFtZVxuICAgIGxldCBwbHVyYWxOYW1lXG4gICAgY29uc3QgZnJvbVNsdWcgPSBmb3JtYXROYW1lcyhjb2xsZWN0aW9uLmNvbmZpZy5zbHVnKVxuICAgIGlmIChncmFwaFFMLnNpbmd1bGFyTmFtZSkge1xuICAgICAgc2luZ3VsYXJOYW1lID0gdG9Xb3JkcyhncmFwaFFMLnNpbmd1bGFyTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2luZ3VsYXJOYW1lID0gZnJvbVNsdWcuc2luZ3VsYXJcbiAgICB9XG4gICAgaWYgKGdyYXBoUUwucGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5wbHVyYWxOYW1lLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBwbHVyYWxOYW1lID0gZnJvbVNsdWcucGx1cmFsXG4gICAgfVxuXG4gICAgLy8gRm9yIGNvbGxlY3Rpb25zIG5hbWVkICdNZWRpYScgb3Igc2ltaWxhcixcbiAgICAvLyB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIHNpbmd1bGFyIG5hbWVcbiAgICAvLyB3aWxsIGVxdWFsIHRoZSBwbHVyYWwgbmFtZS4gQXBwZW5kIGBhbGxgIHRvIHRoZSBiZWdpbm5pbmdcbiAgICAvLyBvZiBwb3RlbnRpYWwgY29uZmxpY3RzXG4gICAgaWYgKHNpbmd1bGFyTmFtZSA9PT0gcGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IGBhbGwke3Npbmd1bGFyTmFtZX1gXG4gICAgfVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMID0ge30gYXMgQ29sbGVjdGlvblsnZ3JhcGhRTCddXG5cbiAgICBjb25zdCBpZEZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgIGNvbnN0IGlkVHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgY29uZmlnKVxuXG4gICAgY29uc3QgYmFzZUZpZWxkczogT2JqZWN0VHlwZUNvbmZpZyA9IHt9XG5cbiAgICBjb25zdCB3aGVyZUlucHV0RmllbGRzID0gWy4uLmZpZWxkc11cblxuICAgIGlmICghaWRGaWVsZCkge1xuICAgICAgYmFzZUZpZWxkcy5pZCA9IHsgdHlwZTogaWRUeXBlIH1cbiAgICAgIHdoZXJlSW5wdXRGaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgYmFzZUZpZWxkcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgcGFyZW50TmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnBhZ2luYXRlZFR5cGUgPSBidWlsZFBhZ2luYXRlZExpc3RUeXBlKHBsdXJhbE5hbWUsIGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlID0gYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHM6IHdoZXJlSW5wdXRGaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBpZiAoY29uZmlnLmF1dGggJiYgIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICAgIGxhYmVsOiAnUGFzc3dvcmQnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgICAgZmllbGRzLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgIClcbiAgICBpZiAoY3JlYXRlTXV0YXRpb25JbnB1dFR5cGUpIHtcbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5tdXRhdGlvbklucHV0VHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSlcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgYCR7c2luZ3VsYXJOYW1lfVVwZGF0ZWAsXG4gICAgICBmaWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSksXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIHRydWUsXG4gICAgKVxuICAgIGlmICh1cGRhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW3Npbmd1bGFyTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kQnlJRFJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbcGx1cmFsTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIHdoZXJlOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC53aGVyZUlucHV0VHlwZSB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGxpbWl0OiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIHNvcnQ6IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGZpbmRSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpLFxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bkb2NBY2Nlc3Mke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgaWQ6IHsgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGlkVHlwZSkgfSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBkb2NBY2Nlc3NSZXNvbHZlcigpLFxuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgZW50aXR5OiBjb25maWcsXG4gICAgICAgIHNjb3BlOiAnZG9jQWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlU3VmZml4OiAnRG9jQWNjZXNzJyxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2BjcmVhdGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNyZWF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVwZGF0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBhdXRvc2F2ZTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4odXBkYXRlTXV0YXRpb25JbnB1dFR5cGVcbiAgICAgICAgICA/IHsgZGF0YTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogdXBkYXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZGVsZXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZ2V0RGVsZXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uSURUeXBlID0gcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlID09PSAndGV4dCcgPyBHcmFwaFFMU3RyaW5nIDogR3JhcGhRTEludFxuICAgICAgY29uc3QgdmVyc2lvbkNvbGxlY3Rpb25GaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIC4uLmJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29uZmlnKSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgdHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgZm9yY2VOdWxsYWJsZTogZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUsXG4gICAgICAgIHBhcmVudE5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0pXG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9uJHtmb3JtYXROYW1lKHNpbmd1bGFyTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9ucyR7cGx1cmFsTmFtZX1gXSA9IHtcbiAgICAgICAgYXJnczoge1xuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0eXBlOiBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBidWlsZFBhZ2luYXRlZExpc3RUeXBlKFxuICAgICAgICAgIGB2ZXJzaW9ucyR7Zm9ybWF0TmFtZShwbHVyYWxOYW1lKX1gLFxuICAgICAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgICAgKSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZXN0b3JlVmVyc2lvbiR7Zm9ybWF0TmFtZShzaW5ndWxhck5hbWUpfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgaWQ6IHsgdHlwZTogdmVyc2lvbklEVHlwZSB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZXN0b3JlVmVyc2lvblJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGNvbnN0IGF1dGhGaWVsZHM6IEZpZWxkW10gPSBjb25maWcuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneVxuICAgICAgICA/IFtdXG4gICAgICAgIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW1haWwnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLkpXVCA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31KV1RgKSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgLi4uY29uZmlnLmZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5zYXZlVG9KV1QpLFxuICAgICAgICAgIC4uLmF1dGhGaWVsZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50TmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUpXVGApLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlcblxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYG1lJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHJlc29sdmU6IG1lKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31NZWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bpbml0aWFsaXplZCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBpbml0KGNvbGxlY3Rpb24uY29uZmlnLnNsdWcpLFxuICAgICAgICB0eXBlOiBHcmFwaFFMQm9vbGVhbixcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlZnJlc2hUb2tlbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZWZyZXNoKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31SZWZyZXNoZWQke3Npbmd1bGFyTmFtZX1gKSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2hlZFRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwuSldULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGxvZ291dCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBsb2dvdXQoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICB9XG5cbiAgICAgIGlmICghY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgICAgaWYgKGNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgPiAwKSB7XG4gICAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVubG9jayR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZykgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlOiB1bmxvY2soY29sbGVjdGlvbiksXG4gICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bsb2dpbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IGxvZ2luKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9TG9naW5SZXN1bHRgKSxcbiAgICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0b2tlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZm9yZ290UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBkaXNhYmxlRW1haWw6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBmb3Jnb3RQYXNzd29yZChjb2xsZWN0aW9uKSxcbiAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlc2V0UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiByZXNldFBhc3N3b3JkKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVzZXRQYXNzd29yZGApLFxuICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B2ZXJpZnlFbWFpbCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IHZlcmlmeUVtYWlsKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IEdyYXBoUUxCb29sZWFuLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBpbml0Q29sbGVjdGlvbnNHcmFwaFFMXG4iXSwibmFtZXMiOlsiaW5pdENvbGxlY3Rpb25zR3JhcGhRTCIsInBheWxvYWQiLCJPYmplY3QiLCJrZXlzIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwic2x1ZyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJmaWVsZHMiLCJncmFwaFFMIiwidmVyc2lvbnMiLCJzaW5ndWxhck5hbWUiLCJwbHVyYWxOYW1lIiwiZnJvbVNsdWciLCJmb3JtYXROYW1lcyIsInRvV29yZHMiLCJzaW5ndWxhciIsInBsdXJhbCIsImlkRmllbGQiLCJmaW5kIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImlkVHlwZSIsImdldENvbGxlY3Rpb25JRFR5cGUiLCJiYXNlRmllbGRzIiwid2hlcmVJbnB1dEZpZWxkcyIsImlkIiwidHlwZSIsInB1c2giLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSIsIkJvb2xlYW4iLCJkcmFmdHMiLCJidWlsZE9iamVjdFR5cGUiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsInBhZ2luYXRlZFR5cGUiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwid2hlcmVJbnB1dFR5cGUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwibGFiZWwiLCJyZXF1aXJlZCIsImNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsIm11dGF0aW9uSW5wdXRUeXBlIiwiR3JhcGhRTE5vbk51bGwiLCJ1cGRhdGVNdXRhdGlvbklucHV0VHlwZSIsImZpbHRlciIsIlF1ZXJ5IiwiYXJncyIsImRyYWZ0IiwiR3JhcGhRTEJvb2xlYW4iLCJsb2NhbGl6YXRpb24iLCJmYWxsYmFja0xvY2FsZSIsInR5cGVzIiwiZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUiLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJyZXNvbHZlIiwiZmluZEJ5SURSZXNvbHZlciIsIndoZXJlIiwibGltaXQiLCJHcmFwaFFMSW50IiwicGFnZSIsInNvcnQiLCJHcmFwaFFMU3RyaW5nIiwiZmluZFJlc29sdmVyIiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJidWlsZFBvbGljeVR5cGUiLCJlbnRpdHkiLCJzY29wZSIsInR5cGVTdWZmaXgiLCJNdXRhdGlvbiIsImRhdGEiLCJjcmVhdGVSZXNvbHZlciIsImF1dG9zYXZlIiwidXBkYXRlUmVzb2x2ZXIiLCJnZXREZWxldGVSZXNvbHZlciIsInZlcnNpb25JRFR5cGUiLCJ2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJ2ZXJzaW9uVHlwZSIsImZvcm1hdE5hbWUiLCJmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciIsImZpbmRWZXJzaW9uc1Jlc29sdmVyIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciIsImF1dGhGaWVsZHMiLCJKV1QiLCJzYXZlVG9KV1QiLCJtZSIsIkdyYXBoUUxPYmplY3RUeXBlIiwiZXhwIiwidG9rZW4iLCJ1c2VyIiwiaW5pdCIsInJlZnJlc2giLCJyZWZyZXNoZWRUb2tlbiIsImxvZ291dCIsIm1heExvZ2luQXR0ZW1wdHMiLCJlbWFpbCIsInVubG9jayIsInBhc3N3b3JkIiwibG9naW4iLCJkaXNhYmxlRW1haWwiLCJleHBpcmF0aW9uIiwiZm9yZ290UGFzc3dvcmQiLCJyZXNldFBhc3N3b3JkIiwidmVyaWZ5RW1haWwiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFzY3BDOzs7ZUFBQTs7O3lCQS9iTzt1RUFPb0I7NkRBQ1Y7OERBQ0M7K0RBQ0M7MkRBQ0o7Z0VBQ0s7c0VBQ007K0RBQ1A7b0VBQ0s7dUJBQ1M7Z0ZBRzFCO3dFQUNxQjsrRUFDTzttQ0FDSDs0RUFDQTttRUFDVDs4QkFDYzt1Q0FDUTsrREFDbEI7K0RBQ0c7MkJBQ0k7NkRBQ1Q7aUVBQ0k7d0VBQ087cUVBQ0g7dUVBQ0U7K0RBQ1I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzQixTQUFTQSx1QkFBdUJDLE9BQWdCO0lBQzlDQyxPQUFPQyxJQUFJLENBQUNGLFFBQVFHLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUNDO1FBQ3hDLE1BQU1DLGFBQXlCTixRQUFRRyxXQUFXLENBQUNFLEtBQUs7UUFDeEQsTUFBTSxFQUNKRSxNQUFNLEVBQ05BLFFBQVEsRUFBRUMsTUFBTSxFQUFFQyxVQUFVLENBQUMsQ0FBeUMsRUFBRUMsUUFBUSxFQUFFLEVBQ25GLEdBQUdKO1FBRUosSUFBSSxDQUFDRyxTQUFTO1FBRWQsSUFBSUU7UUFDSixJQUFJQztRQUNKLE1BQU1DLFdBQVdDLElBQUFBLHlCQUFXLEVBQUNSLFdBQVdDLE1BQU0sQ0FBQ0YsSUFBSTtRQUNuRCxJQUFJSSxRQUFRRSxZQUFZLEVBQUU7WUFDeEJBLGVBQWVJLElBQUFBLHFCQUFPLEVBQUNOLFFBQVFFLFlBQVksRUFBRTtRQUMvQyxPQUFPO1lBQ0xBLGVBQWVFLFNBQVNHLFFBQVE7UUFDbEM7UUFDQSxJQUFJUCxRQUFRRyxVQUFVLEVBQUU7WUFDdEJBLGFBQWFHLElBQUFBLHFCQUFPLEVBQUNOLFFBQVFHLFVBQVUsRUFBRTtRQUMzQyxPQUFPO1lBQ0xBLGFBQWFD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
518
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgeyBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvYnVpbGRDb2xsZWN0aW9uRmllbGRzJ1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuXG5mdW5jdGlvbiBpbml0Q29sbGVjdGlvbnNHcmFwaFFMKHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkIHtcbiAgT2JqZWN0LmtleXMocGF5bG9hZC5jb2xsZWN0aW9ucykuZm9yRWFjaCgoc2x1ZykgPT4ge1xuICAgIGNvbnN0IGNvbGxlY3Rpb246IENvbGxlY3Rpb24gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3NsdWddXG4gICAgY29uc3Qge1xuICAgICAgY29uZmlnLFxuICAgICAgY29uZmlnOiB7IGZpZWxkcywgZ3JhcGhRTCA9IHt9IGFzIFNhbml0aXplZENvbGxlY3Rpb25Db25maWdbJ2dyYXBoUUwnXSwgdmVyc2lvbnMgfSxcbiAgICB9ID0gY29sbGVjdGlvblxuXG4gICAgaWYgKCFncmFwaFFMKSByZXR1cm5cblxuICAgIGxldCBzaW5ndWxhck5hbWVcbiAgICBsZXQgcGx1cmFsTmFtZVxuICAgIGNvbnN0IGZyb21TbHVnID0gZm9ybWF0TmFtZXMoY29sbGVjdGlvbi5jb25maWcuc2x1ZylcbiAgICBpZiAoZ3JhcGhRTC5zaW5ndWxhck5hbWUpIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5zaW5ndWxhck5hbWUsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IGZyb21TbHVnLnNpbmd1bGFyXG4gICAgfVxuICAgIGlmIChncmFwaFFMLnBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSB0b1dvcmRzKGdyYXBoUUwucGx1cmFsTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGx1cmFsTmFtZSA9IGZyb21TbHVnLnBsdXJhbFxuICAgIH1cblxuICAgIC8vIEZvciBjb2xsZWN0aW9ucyBuYW1lZCAnTWVkaWEnIG9yIHNpbWlsYXIsXG4gICAgLy8gdGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBzaW5ndWxhciBuYW1lXG4gICAgLy8gd2lsbCBlcXVhbCB0aGUgcGx1cmFsIG5hbWUuIEFwcGVuZCBgYWxsYCB0byB0aGUgYmVnaW5uaW5nXG4gICAgLy8gb2YgcG90ZW50aWFsIGNvbmZsaWN0c1xuICAgIGlmIChzaW5ndWxhck5hbWUgPT09IHBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSBgYWxsJHtzaW5ndWxhck5hbWV9YFxuICAgIH1cblxuICAgIGNvbGxlY3Rpb24uZ3JhcGhRTCA9IHt9IGFzIENvbGxlY3Rpb25bJ2dyYXBoUUwnXVxuXG4gICAgY29uc3QgaGFzSURGaWVsZCA9XG4gICAgICBmbGF0dGVuRmllbGRzKGZpZWxkcykuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgPlxuICAgICAgLTFcblxuICAgIGNvbnN0IGlkVHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgY29uZmlnKVxuXG4gICAgY29uc3QgYmFzZUZpZWxkczogT2JqZWN0VHlwZUNvbmZpZyA9IHt9XG5cbiAgICBjb25zdCB3aGVyZUlucHV0RmllbGRzID0gWy4uLmZpZWxkc11cblxuICAgIGlmICghaGFzSURGaWVsZCkge1xuICAgICAgYmFzZUZpZWxkcy5pZCA9IHsgdHlwZTogaWRUeXBlIH1cbiAgICAgIHdoZXJlSW5wdXRGaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgYmFzZUZpZWxkcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgcGFyZW50TmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnBhZ2luYXRlZFR5cGUgPSBidWlsZFBhZ2luYXRlZExpc3RUeXBlKHBsdXJhbE5hbWUsIGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlID0gYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHM6IHdoZXJlSW5wdXRGaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBpZiAoY29uZmlnLmF1dGggJiYgIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICAgIGxhYmVsOiAnUGFzc3dvcmQnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgICAgZmllbGRzLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgIClcbiAgICBpZiAoY3JlYXRlTXV0YXRpb25JbnB1dFR5cGUpIHtcbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5tdXRhdGlvbklucHV0VHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSlcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgYCR7c2luZ3VsYXJOYW1lfVVwZGF0ZWAsXG4gICAgICBmaWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSksXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIHRydWUsXG4gICAgKVxuICAgIGlmICh1cGRhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW3Npbmd1bGFyTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kQnlJRFJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbcGx1cmFsTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIHdoZXJlOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC53aGVyZUlucHV0VHlwZSB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGxpbWl0OiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIHNvcnQ6IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGZpbmRSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpLFxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bkb2NBY2Nlc3Mke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgaWQ6IHsgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGlkVHlwZSkgfSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBkb2NBY2Nlc3NSZXNvbHZlcigpLFxuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgZW50aXR5OiBjb25maWcsXG4gICAgICAgIHNjb3BlOiAnZG9jQWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlU3VmZml4OiAnRG9jQWNjZXNzJyxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2BjcmVhdGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNyZWF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVwZGF0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBhdXRvc2F2ZTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4odXBkYXRlTXV0YXRpb25JbnB1dFR5cGVcbiAgICAgICAgICA/IHsgZGF0YTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogdXBkYXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZGVsZXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZ2V0RGVsZXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uSURUeXBlID0gcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlID09PSAndGV4dCcgPyBHcmFwaFFMU3RyaW5nIDogR3JhcGhRTEludFxuICAgICAgY29uc3QgdmVyc2lvbkNvbGxlY3Rpb25GaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIC4uLmJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29uZmlnKSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgdHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgZm9yY2VOdWxsYWJsZTogZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUsXG4gICAgICAgIHBhcmVudE5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0pXG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9uJHtmb3JtYXROYW1lKHNpbmd1bGFyTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9ucyR7cGx1cmFsTmFtZX1gXSA9IHtcbiAgICAgICAgYXJnczoge1xuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0eXBlOiBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBidWlsZFBhZ2luYXRlZExpc3RUeXBlKFxuICAgICAgICAgIGB2ZXJzaW9ucyR7Zm9ybWF0TmFtZShwbHVyYWxOYW1lKX1gLFxuICAgICAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgICAgKSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZXN0b3JlVmVyc2lvbiR7Zm9ybWF0TmFtZShzaW5ndWxhck5hbWUpfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgaWQ6IHsgdHlwZTogdmVyc2lvbklEVHlwZSB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZXN0b3JlVmVyc2lvblJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGNvbnN0IGF1dGhGaWVsZHM6IEZpZWxkW10gPSBjb25maWcuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneVxuICAgICAgICA/IFtdXG4gICAgICAgIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW1haWwnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLkpXVCA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31KV1RgKSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgLi4uY29uZmlnLmZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5zYXZlVG9KV1QpLFxuICAgICAgICAgIC4uLmF1dGhGaWVsZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50TmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUpXVGApLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlcblxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYG1lJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHJlc29sdmU6IG1lKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31NZWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bpbml0aWFsaXplZCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBpbml0KGNvbGxlY3Rpb24uY29uZmlnLnNsdWcpLFxuICAgICAgICB0eXBlOiBHcmFwaFFMQm9vbGVhbixcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlZnJlc2hUb2tlbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZWZyZXNoKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31SZWZyZXNoZWQke3Npbmd1bGFyTmFtZX1gKSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2hlZFRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwuSldULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGxvZ291dCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBsb2dvdXQoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICB9XG5cbiAgICAgIGlmICghY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgICAgaWYgKGNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgPiAwKSB7XG4gICAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVubG9jayR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZykgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlOiB1bmxvY2soY29sbGVjdGlvbiksXG4gICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bsb2dpbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IGxvZ2luKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9TG9naW5SZXN1bHRgKSxcbiAgICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0b2tlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZm9yZ290UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBkaXNhYmxlRW1haWw6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBmb3Jnb3RQYXNzd29yZChjb2xsZWN0aW9uKSxcbiAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlc2V0UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiByZXNldFBhc3N3b3JkKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVzZXRQYXNzd29yZGApLFxuICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B2ZXJpZnlFbWFpbCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IHZlcmlmeUVtYWlsKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IEdyYXBoUUxCb29sZWFuLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBpbml0Q29sbGVjdGlvbnNHcmFwaFFMXG4iXSwibmFtZXMiOlsiaW5pdENvbGxlY3Rpb25zR3JhcGhRTCIsInBheWxvYWQiLCJPYmplY3QiLCJrZXlzIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwic2x1ZyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJmaWVsZHMiLCJncmFwaFFMIiwidmVyc2lvbnMiLCJzaW5ndWxhck5hbWUiLCJwbHVyYWxOYW1lIiwiZnJvbVNsdWciLCJmb3JtYXROYW1lcyIsInRvV29yZHMiLCJzaW5ndWxhciIsInBsdXJhbCIsImhhc0lERmllbGQiLCJmbGF0dGVuRmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImlkVHlwZSIsImdldENvbGxlY3Rpb25JRFR5cGUiLCJiYXNlRmllbGRzIiwid2hlcmVJbnB1dEZpZWxkcyIsImlkIiwidHlwZSIsInB1c2giLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSIsIkJvb2xlYW4iLCJkcmFmdHMiLCJidWlsZE9iamVjdFR5cGUiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsInBhZ2luYXRlZFR5cGUiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwid2hlcmVJbnB1dFR5cGUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwibGFiZWwiLCJyZXF1aXJlZCIsImNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsIm11dGF0aW9uSW5wdXRUeXBlIiwiR3JhcGhRTE5vbk51bGwiLCJ1cGRhdGVNdXRhdGlvbklucHV0VHlwZSIsImZpbHRlciIsIlF1ZXJ5IiwiYXJncyIsImRyYWZ0IiwiR3JhcGhRTEJvb2xlYW4iLCJsb2NhbGl6YXRpb24iLCJmYWxsYmFja0xvY2FsZSIsInR5cGVzIiwiZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUiLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJyZXNvbHZlIiwiZmluZEJ5SURSZXNvbHZlciIsIndoZXJlIiwibGltaXQiLCJHcmFwaFFMSW50IiwicGFnZSIsInNvcnQiLCJHcmFwaFFMU3RyaW5nIiwiZmluZFJlc29sdmVyIiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJidWlsZFBvbGljeVR5cGUiLCJlbnRpdHkiLCJzY29wZSIsInR5cGVTdWZmaXgiLCJNdXRhdGlvbiIsImRhdGEiLCJjcmVhdGVSZXNvbHZlciIsImF1dG9zYXZlIiwidXBkYXRlUmVzb2x2ZXIiLCJnZXREZWxldGVSZXNvbHZlciIsInZlcnNpb25JRFR5cGUiLCJ2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJ2ZXJzaW9uVHlwZSIsImZvcm1hdE5hbWUiLCJmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciIsImZpbmRWZXJzaW9uc1Jlc29sdmVyIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciIsImF1dGhGaWVsZHMiLCJKV1QiLCJzYXZlVG9KV1QiLCJtZSIsIkdyYXBoUUxPYmplY3RUeXBlIiwiZXhwIiwidG9rZW4iLCJ1c2VyIiwiaW5pdCIsInJlZnJlc2giLCJyZWZyZXNoZWRUb2tlbiIsImxvZ291dCIsIm1heExvZ2luQXR0ZW1wdHMiLCJlbWFpbCIsInVubG9jayIsInBhc3N3b3JkIiwibG9naW4iLCJkaXNhYmxlRW1haWwiLCJleHBpcmF0aW9uIiwiZm9yZ290UGFzc3dvcmQiLCJyZXNldFBhc3N3b3JkIiwidmVyaWZ5RW1haWwiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEwY3BDOzs7ZUFBQTs7O3lCQW5jTzt1RUFPb0I7NkRBQ1Y7OERBQ0M7K0RBQ0M7MkRBQ0o7Z0VBQ0s7c0VBQ007K0RBQ1A7b0VBQ0s7dUJBQ1M7Z0ZBRzFCO3dFQUNxQjsrRUFDTzttQ0FDSDs0RUFDQTttRUFDVDs4QkFDYzt1Q0FDUTsrREFDbEI7K0RBQ0c7MkJBQ0k7NkRBQ1Q7aUVBQ0k7d0VBQ087cUVBQ0g7dUVBQ0U7K0RBQ1I7OEVBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixTQUFTQSx1QkFBdUJDLE9BQWdCO0lBQzlDQyxPQUFPQyxJQUFJLENBQUNGLFFBQVFHLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUNDO1FBQ3hDLE1BQU1DLGFBQXlCTixRQUFRRyxXQUFXLENBQUNFLEtBQUs7UUFDeEQsTUFBTSxFQUNKRSxNQUFNLEVBQ05BLFFBQVEsRUFBRUMsTUFBTSxFQUFFQyxVQUFVLENBQUMsQ0FBeUMsRUFBRUMsUUFBUSxFQUFFLEVBQ25GLEdBQUdKO1FBRUosSUFBSSxDQUFDRyxTQUFTO1FBRWQsSUFBSUU7UUFDSixJQUFJQztRQUNKLE1BQU1DLFdBQVdDLElBQUFBLHlCQUFXLEVBQUNSLFdBQVdDLE1BQU0sQ0FBQ0YsSUFBSTtRQUNuRCxJQUFJSSxRQUFRRSxZQUFZLEVBQUU7WUFDeEJBLGVBQWVJLElBQUFBLHFCQUFPLEVBQUNOLFFBQVFFLFlB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
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,iBAAiB,CAAA;AAsBxB,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,MAAM,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACrE,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAC5D,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CA8T/C;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,iBAAiB,CAAA;AAuBxB,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,MAAM,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACrE,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAC5D,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CA8T/C;AAED,eAAe,MAAM,CAAA"}
@@ -14,7 +14,6 @@ const _util = require("util");
14
14
  const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
15
15
  const _sendVerificationEmail = /*#__PURE__*/ _interop_require_default(require("../../auth/sendVerificationEmail"));
16
16
  const _register = require("../../auth/strategies/local/register");
17
- const _types = require("../../fields/config/types");
18
17
  const _afterChange = require("../../fields/hooks/afterChange");
19
18
  const _afterRead = require("../../fields/hooks/afterRead");
20
19
  const _beforeChange = require("../../fields/hooks/beforeChange");
@@ -28,6 +27,7 @@ const _killTransaction = require("../../utilities/killTransaction");
28
27
  const _sanitizeInternalFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/sanitizeInternalFields"));
29
28
  const _saveVersion = require("../../versions/saveVersion");
30
29
  const _utils = require("./utils");
30
+ const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/flattenTopLevelFields"));
31
31
  function _interop_require_default(obj) {
32
32
  return obj && obj.__esModule ? obj : {
33
33
  default: obj
@@ -65,7 +65,8 @@ async function create(incomingArgs) {
65
65
  // /////////////////////////////////////
66
66
  // Custom id
67
67
  // /////////////////////////////////////
68
- const hasIdField = collectionConfig.fields.findIndex((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id') > -1;
68
+ // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields
69
+ const hasIdField = (0, _flattenTopLevelFields.default)(collectionConfig.fields).findIndex((field)=>field.name === 'id') > -1;
69
70
  if (hasIdField) {
70
71
  data = {
71
72
  _id: data.id,
@@ -280,4 +281,4 @@ async function create(incomingArgs) {
280
281
  }
281
282
  const _default = create;
282
283
 
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2NyZWF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBZnRlckNoYW5nZUhvb2ssXG4gIEJlZm9yZU9wZXJhdGlvbkhvb2ssXG4gIEJlZm9yZVZhbGlkYXRlSG9vayxcbiAgQ29sbGVjdGlvbixcbn0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsIGZyb20gJy4uLy4uL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsJ1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vYXV0aC9zdHJhdGVnaWVzL2xvY2FsL3JlZ2lzdGVyJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBhZnRlckNoYW5nZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlckNoYW5nZSdcbmltcG9ydCB7IGFmdGVyUmVhZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQnXG5pbXBvcnQgeyBiZWZvcmVDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlJ1xuaW1wb3J0IHsgYmVmb3JlVmFsaWRhdGUgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlVmFsaWRhdGUnXG5pbXBvcnQgeyBnZW5lcmF0ZUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZW5lcmF0ZUZpbGVEYXRhJ1xuaW1wb3J0IHsgdW5saW5rVGVtcEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91bmxpbmtUZW1wRmlsZXMnXG5pbXBvcnQgeyB1cGxvYWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdXBsb2FkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyBzYXZlVmVyc2lvbiB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL3NhdmVWZXJzaW9uJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IHVubGlua0ZpbGUgPSBwcm9taXNpZnkoZnMudW5saW5rKVxuXG5leHBvcnQgdHlwZSBDcmVhdGVVcGRhdGVUeXBlID0geyBbZmllbGQ6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IHVua25vd24gfVxuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIENyZWF0ZVVwZGF0ZVR5cGU+ID0ge1xuICBhdXRvc2F2ZT86IGJvb2xlYW5cbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkYXRhOiBNYXJrT3B0aW9uYWw8VCwgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnPlxuICBkZXB0aD86IG51bWJlclxuICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWw/OiBib29sZWFuXG4gIGRyYWZ0PzogYm9vbGVhblxuICBvdmVycmlkZUFjY2Vzcz86IGJvb2xlYW5cbiAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcz86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzPzogYm9vbGVhblxufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGU8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGluY29taW5nQXJnczogQXJndW1lbnRzPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4sXG4pOiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gYmVmb3JlT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2sgfCBQcm9taXNlPHZvaWQ+LCBob29rOiBCZWZvcmVPcGVyYXRpb25Ib29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgYXJncyA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgY29udGV4dDogYXJncy5yZXEuY29udGV4dCxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICB9KSkgfHwgYXJnc1xuICAgIH0sXG4gICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gIClcblxuICBjb25zdCB7XG4gICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICBjb2xsZWN0aW9uOiB7IGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyB9LFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZGVwdGgsXG4gICAgZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsLFxuICAgIGRyYWZ0ID0gZmFsc2UsXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IGZhbHNlLFxuICAgIHJlcToge1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHBheWxvYWQ6IHsgY29uZmlnLCBlbWFpbE9wdGlvbnMgfSxcbiAgICB9LFxuICAgIHJlcSxcbiAgICBzaG93SGlkZGVuRmllbGRzLFxuICB9ID0gYXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcblxuICAgIGNvbnN0IHNob3VsZFNhdmVEcmFmdCA9IEJvb2xlYW4oZHJhZnQgJiYgY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucy5kcmFmdHMpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFvdmVycmlkZUFjY2Vzcykge1xuICAgICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGRhdGEsIHJlcSB9LCBjb2xsZWN0aW9uQ29uZmlnLmFjY2Vzcy5jcmVhdGUpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEN1c3RvbSBpZFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGhhc0lkRmllbGQgPVxuICAgICAgY29sbGVjdGlvbkNvbmZpZy5maWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgPlxuICAgICAgLTFcbiAgICBpZiAoaGFzSWRGaWVsZCkge1xuICAgICAgZGF0YSA9IHtcbiAgICAgICAgX2lkOiBkYXRhLmlkLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBHZW5lcmF0ZSBkYXRhIGZvciBhbGwgZmlsZXMgYW5kIHNpemVzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkYXRhOiBuZXdGaWxlRGF0YSwgZmlsZXM6IGZpbGVzVG9VcGxvYWQgfSA9IGF3YWl0IGdlbmVyYXRlRmlsZURhdGEoe1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRhdGEsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzLFxuICAgICAgcmVxLFxuICAgICAgdGhyb3dPbk1pc3NpbmdGaWxlOlxuICAgICAgICAhc2hvdWxkU2F2ZURyYWZ0ICYmIGNvbGxlY3Rpb24uY29uZmlnLnVwbG9hZC5maWxlc1JlcXVpcmVkT25DcmVhdGUgIT09IGZhbHNlLFxuICAgIH0pXG5cbiAgICBkYXRhID0gbmV3RmlsZURhdGFcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGRhdGEgPSBhd2FpdCBiZWZvcmVWYWxpZGF0ZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiB7fSxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gQ29sbGVjdGlvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVZhbGlkYXRlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZVZhbGlkYXRlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZVZhbGlkYXRlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBkYXRhID1cbiAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICB9KSkgfHwgZGF0YVxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHRXaXRoTG9jYWxlcyA9IGF3YWl0IGJlZm9yZUNoYW5nZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzoge30sXG4gICAgICBkb2NXaXRoTG9jYWxlczoge30sXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcS50KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGVcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgZG9jXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoICYmICFjb2xsZWN0aW9uQ29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgIGlmIChkYXRhLmVtYWlsKSB7XG4gICAgICAgIHJlc3VsdFdpdGhMb2NhbGVzLmVtYWlsID0gKGRhdGEuZW1haWwgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpXG4gICAgICB9XG5cbiAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5KSB7XG4gICAgICAgIHJlc3VsdFdpdGhMb2NhbGVzLl92ZXJpZmllZCA9IEJvb2xlYW4ocmVzdWx0V2l0aExvY2FsZXMuX3ZlcmlmaWVkKSB8fCBmYWxzZVxuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5fdmVyaWZpY2F0aW9uVG9rZW4gPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMjApLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgfVxuXG4gICAgICBkb2MgPSBhd2FpdCByZWdpc3RlckxvY2FsU3RyYXRlZ3koe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2M6IHJlc3VsdFdpdGhMb2NhbGVzLFxuICAgICAgICBwYXNzd29yZDogZGF0YS5wYXNzd29yZCBhcyBzdHJpbmcsXG4gICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBkb2MgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgZGF0YTogcmVzdWx0V2l0aExvY2FsZXMsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgdmVyaWZpY2F0aW9uVG9rZW4gPSBkb2MuX3ZlcmlmaWNhdGlvblRva2VuXG4gICAgbGV0IHJlc3VsdDogRG9jdW1lbnQgPSBzYW5pdGl6ZUludGVybmFsRmllbGRzKGRvYylcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGlkOiByZXN1bHQuaWQsXG4gICAgICAgIGF1dG9zYXZlLFxuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2NXaXRoTG9jYWxlczogcmVzdWx0LFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBTZW5kIHZlcmlmaWNhdGlvbiBlbWFpbCBpZiBhcHBsaWNhYmxlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiBjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICBzZW5kVmVyaWZpY2F0aW9uRW1haWwoe1xuICAgICAgICBjb2xsZWN0aW9uOiB7IGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyB9LFxuICAgICAgICBjb25maWc6IHBheWxvYWQuY29uZmlnLFxuICAgICAgICBkaXNhYmxlRW1haWw6IGRpc2FibGVWZXJpZmljYXRpb25FbWFpbCxcbiAgICAgICAgZW1haWxPcHRpb25zLFxuICAgICAgICByZXEsXG4gICAgICAgIHNlbmRFbWFpbDogcGF5bG9hZC5zZW5kRW1haWwsXG4gICAgICAgIHRva2VuOiB2ZXJpZmljYXRpb25Ub2tlbixcbiAgICAgICAgdXNlcjogcmVzdWx0LFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJSZWFkKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRlcHRoLFxuICAgICAgZG9jOiByZXN1bHQsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBwcmV2aW91c0RvYzoge30sXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEFmdGVyQ2hhbmdlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEFmdGVyQ2hhbmdlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICByZXN1bHQgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHByZXZpb3VzRG9jOiB7fSxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBhd2FpdCB1bmxpbmtUZW1wRmlsZXMoeyBjb2xsZWN0aW9uQ29uZmlnLCBjb25maWcsIHJlcSB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVcbiJdLCJuYW1lcyI6WyJ1bmxpbmtGaWxlIiwicHJvbWlzaWZ5IiwiZnMiLCJ1bmxpbmsiLCJjcmVhdGUiLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJyZXEiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImF1dG9zYXZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwiZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsIiwiZHJhZnQiLCJvdmVycmlkZUFjY2VzcyIsIm92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMiLCJwYXlsb2FkIiwiZW1haWxPcHRpb25zIiwic2hvd0hpZGRlbkZpZWxkcyIsInNob3VsZENvbW1pdCIsImluaXRUcmFuc2FjdGlvbiIsImRhdGEiLCJzaG91bGRTYXZlRHJhZnQiLCJCb29sZWFuIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwiaGFzSWRGaWVsZCIsImZpZWxkcyIsImZpbmRJbmRleCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJfaWQiLCJpZCIsIm5ld0ZpbGVEYXRhIiwiZmlsZXMiLCJmaWxlc1RvVXBsb2FkIiwiZ2VuZXJhdGVGaWxlRGF0YSIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImJlZm9yZVZhbGlkYXRlIiwiZG9jIiwiZ2xvYmFsIiwiYmVmb3JlQ2hhbmdlIiwicmVzdWx0V2l0aExvY2FsZXMiLCJkb2NXaXRoTG9jYWxlcyIsInNraXBWYWxpZGF0aW9uIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInVwbG9hZEZpbGVzIiwidCIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImVtYWlsIiwidG9Mb3dlckNhc2UiLCJ2ZXJpZnkiLCJfdmVyaWZpZWQiLCJfdmVyaWZpY2F0aW9uVG9rZW4iLCJjcnlwdG8iLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwicmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IiwicGFzc3dvcmQiLCJkYiIsInNsdWciLCJ2ZXJpZmljYXRpb25Ub2tlbiIsInJlc3VsdCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiLCJzYXZlVmVyc2lvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsImRpc2FibGVFbWFpbCIsInNlbmRFbWFpbCIsInRva2VuIiwidXNlciIsImFmdGVyUmVhZCIsImFmdGVyQ2hhbmdlIiwicHJldmlvdXNEb2MiLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwidW5saW5rVGVtcEZpbGVzIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnJvciIsImtpbGxUcmFuc2FjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFxWEE7OztlQUFBOzs7K0RBblhtQjsyREFDSjtzQkFDVztzRUFZQTs4RUFDUTswQkFDSTt1QkFDTDs2QkFDTDsyQkFDRjs4QkFDRztnQ0FDRTtrQ0FDRTtpQ0FDRDs2QkFDSjttQ0FDTTtpQ0FDRjtpQ0FDQTsrRUFDRzs2QkFDUDt1QkFDUTs7Ozs7O0FBRXBDLE1BQU1BLGFBQWFDLElBQUFBLGVBQVMsRUFBQ0MsV0FBRSxDQUFDQyxNQUFNO0FBaUJ0QyxlQUFlQyxPQUNiQyxZQUE2RDtJQUU3RCxJQUFJQyxPQUFPRDtJQUVYLHdDQUF3QztJQUN4QywrQkFBK0I7SUFDL0Isd0NBQXdDO0lBRXhDLE1BQU1DLEtBQUtDLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLENBQUNDLGVBQWUsQ0FBQ0MsTUFBTSxDQUN2RCxPQUFPQyxXQUFnREM7UUFDckQsTUFBTUQ7UUFFTk4sT0FDRSxBQUFDLE1BQU1PLEtBQUs7WUFDVlA7WUFDQUMsWUFBWUQsS0FBS0MsVUFBVSxDQUFDQyxNQUFNO1lBQ2xDTSxTQUFTUixLQUFLUyxHQUFHLENBQUNELE9BQU87WUFDekJFLFdBQVc7UUFDYixN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
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2NyZWF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBZnRlckNoYW5nZUhvb2ssXG4gIEJlZm9yZU9wZXJhdGlvbkhvb2ssXG4gIEJlZm9yZVZhbGlkYXRlSG9vayxcbiAgQ29sbGVjdGlvbixcbn0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsIGZyb20gJy4uLy4uL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsJ1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vYXV0aC9zdHJhdGVnaWVzL2xvY2FsL3JlZ2lzdGVyJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBhZnRlckNoYW5nZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlckNoYW5nZSdcbmltcG9ydCB7IGFmdGVyUmVhZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQnXG5pbXBvcnQgeyBiZWZvcmVDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlJ1xuaW1wb3J0IHsgYmVmb3JlVmFsaWRhdGUgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlVmFsaWRhdGUnXG5pbXBvcnQgeyBnZW5lcmF0ZUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZW5lcmF0ZUZpbGVEYXRhJ1xuaW1wb3J0IHsgdW5saW5rVGVtcEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91bmxpbmtUZW1wRmlsZXMnXG5pbXBvcnQgeyB1cGxvYWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdXBsb2FkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyBzYXZlVmVyc2lvbiB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL3NhdmVWZXJzaW9uJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuXG5jb25zdCB1bmxpbmtGaWxlID0gcHJvbWlzaWZ5KGZzLnVubGluaylcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVXBkYXRlVHlwZSA9IHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzPFQgZXh0ZW5kcyBDcmVhdGVVcGRhdGVUeXBlPiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YTogTWFya09wdGlvbmFsPFQsICdjcmVhdGVkQXQnIHwgJ2lkJyB8ICdzaXplcycgfCAndXBkYXRlZEF0Jz5cbiAgZGVwdGg/OiBudW1iZXJcbiAgZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbn1cblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGF3YWl0IGFyZ3MuY29sbGVjdGlvbi5jb25maWcuaG9va3MuYmVmb3JlT3BlcmF0aW9uLnJlZHVjZShcbiAgICBhc3luYyAocHJpb3JIb29rOiBCZWZvcmVPcGVyYXRpb25Ib29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlT3BlcmF0aW9uSG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICB9LFxuICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICApXG5cbiAgY29uc3Qge1xuICAgIGF1dG9zYXZlID0gZmFsc2UsXG4gICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRlcHRoLFxuICAgIGRpc2FibGVWZXJpZmljYXRpb25FbWFpbCxcbiAgICBkcmFmdCA9IGZhbHNlLFxuICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMgPSBmYWxzZSxcbiAgICByZXE6IHtcbiAgICAgIHBheWxvYWQsXG4gICAgICBwYXlsb2FkOiB7IGNvbmZpZywgZW1haWxPcHRpb25zIH0sXG4gICAgfSxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgfSA9IGFyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICBsZXQgeyBkYXRhIH0gPSBhcmdzXG5cbiAgICBjb25zdCBzaG91bGRTYXZlRHJhZnQgPSBCb29sZWFuKGRyYWZ0ICYmIGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnMuZHJhZnRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyBkYXRhLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuY3JlYXRlKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDdXN0b20gaWRcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQHRvZG86IFJlZmFjdG9yIGNvZGUgdG8gc3RvcmUgJ2N1c3RvbUlkJyBvbiB0aGUgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uIGl0c2VsZiBzbyB3ZSBkb24ndCBuZWVkIHRvIHJlcGVhdCBmbGF0dGVuRmllbGRzXG4gICAgY29uc3QgaGFzSWRGaWVsZCA9XG4gICAgICBmbGF0dGVuRmllbGRzKGNvbGxlY3Rpb25Db25maWcuZmllbGRzKS5maW5kSW5kZXgoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnaWQnKSA+IC0xXG5cbiAgICBpZiAoaGFzSWRGaWVsZCkge1xuICAgICAgZGF0YSA9IHtcbiAgICAgICAgX2lkOiBkYXRhLmlkLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBHZW5lcmF0ZSBkYXRhIGZvciBhbGwgZmlsZXMgYW5kIHNpemVzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkYXRhOiBuZXdGaWxlRGF0YSwgZmlsZXM6IGZpbGVzVG9VcGxvYWQgfSA9IGF3YWl0IGdlbmVyYXRlRmlsZURhdGEoe1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRhdGEsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzLFxuICAgICAgcmVxLFxuICAgICAgdGhyb3dPbk1pc3NpbmdGaWxlOlxuICAgICAgICAhc2hvdWxkU2F2ZURyYWZ0ICYmIGNvbGxlY3Rpb24uY29uZmlnLnVwbG9hZC5maWxlc1JlcXVpcmVkT25DcmVhdGUgIT09IGZhbHNlLFxuICAgIH0pXG5cbiAgICBkYXRhID0gbmV3RmlsZURhdGFcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGRhdGEgPSBhd2FpdCBiZWZvcmVWYWxpZGF0ZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiB7fSxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gQ29sbGVjdGlvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVZhbGlkYXRlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZVZhbGlkYXRlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZVZhbGlkYXRlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBkYXRhID1cbiAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICB9KSkgfHwgZGF0YVxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHRXaXRoTG9jYWxlcyA9IGF3YWl0IGJlZm9yZUNoYW5nZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzoge30sXG4gICAgICBkb2NXaXRoTG9jYWxlczoge30sXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcS50KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGVcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgZG9jXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoICYmICFjb2xsZWN0aW9uQ29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgIGlmIChkYXRhLmVtYWlsKSB7XG4gICAgICAgIHJlc3VsdFdpdGhMb2NhbGVzLmVtYWlsID0gKGRhdGEuZW1haWwgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpXG4gICAgICB9XG5cbiAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5KSB7XG4gICAgICAgIHJlc3VsdFdpdGhMb2NhbGVzLl92ZXJpZmllZCA9IEJvb2xlYW4ocmVzdWx0V2l0aExvY2FsZXMuX3ZlcmlmaWVkKSB8fCBmYWxzZVxuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5fdmVyaWZpY2F0aW9uVG9rZW4gPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMjApLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgfVxuXG4gICAgICBkb2MgPSBhd2FpdCByZWdpc3RlckxvY2FsU3RyYXRlZ3koe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2M6IHJlc3VsdFdpdGhMb2NhbGVzLFxuICAgICAgICBwYXNzd29yZDogZGF0YS5wYXNzd29yZCBhcyBzdHJpbmcsXG4gICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBkb2MgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgZGF0YTogcmVzdWx0V2l0aExvY2FsZXMsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgdmVyaWZpY2F0aW9uVG9rZW4gPSBkb2MuX3ZlcmlmaWNhdGlvblRva2VuXG4gICAgbGV0IHJlc3VsdDogRG9jdW1lbnQgPSBzYW5pdGl6ZUludGVybmFsRmllbGRzKGRvYylcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGlkOiByZXN1bHQuaWQsXG4gICAgICAgIGF1dG9zYXZlLFxuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2NXaXRoTG9jYWxlczogcmVzdWx0LFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBTZW5kIHZlcmlmaWNhdGlvbiBlbWFpbCBpZiBhcHBsaWNhYmxlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiBjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICBzZW5kVmVyaWZpY2F0aW9uRW1haWwoe1xuICAgICAgICBjb2xsZWN0aW9uOiB7IGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyB9LFxuICAgICAgICBjb25maWc6IHBheWxvYWQuY29uZmlnLFxuICAgICAgICBkaXNhYmxlRW1haWw6IGRpc2FibGVWZXJpZmljYXRpb25FbWFpbCxcbiAgICAgICAgZW1haWxPcHRpb25zLFxuICAgICAgICByZXEsXG4gICAgICAgIHNlbmRFbWFpbDogcGF5bG9hZC5zZW5kRW1haWwsXG4gICAgICAgIHRva2VuOiB2ZXJpZmljYXRpb25Ub2tlbixcbiAgICAgICAgdXNlcjogcmVzdWx0LFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJSZWFkKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRlcHRoLFxuICAgICAgZG9jOiByZXN1bHQsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBwcmV2aW91c0RvYzoge30sXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEFmdGVyQ2hhbmdlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEFmdGVyQ2hhbmdlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICByZXN1bHQgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHByZXZpb3VzRG9jOiB7fSxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBhd2FpdCB1bmxpbmtUZW1wRmlsZXMoeyBjb2xsZWN0aW9uQ29uZmlnLCBjb25maWcsIHJlcSB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVcbiJdLCJuYW1lcyI6WyJ1bmxpbmtGaWxlIiwicHJvbWlzaWZ5IiwiZnMiLCJ1bmxpbmsiLCJjcmVhdGUiLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJyZXEiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImF1dG9zYXZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwiZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsIiwiZHJhZnQiLCJvdmVycmlkZUFjY2VzcyIsIm92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMiLCJwYXlsb2FkIiwiZW1haWxPcHRpb25zIiwic2hvd0hpZGRlbkZpZWxkcyIsInNob3VsZENvbW1pdCIsImluaXRUcmFuc2FjdGlvbiIsImRhdGEiLCJzaG91bGRTYXZlRHJhZnQiLCJCb29sZWFuIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwiaGFzSWRGaWVsZCIsImZsYXR0ZW5GaWVsZHMiLCJmaWVsZHMiLCJmaW5kSW5kZXgiLCJmaWVsZCIsIm5hbWUiLCJfaWQiLCJpZCIsIm5ld0ZpbGVEYXRhIiwiZmlsZXMiLCJmaWxlc1RvVXBsb2FkIiwiZ2VuZXJhdGVGaWxlRGF0YSIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImJlZm9yZVZhbGlkYXRlIiwiZG9jIiwiZ2xvYmFsIiwiYmVmb3JlQ2hhbmdlIiwicmVzdWx0V2l0aExvY2FsZXMiLCJkb2NXaXRoTG9jYWxlcyIsInNraXBWYWxpZGF0aW9uIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInVwbG9hZEZpbGVzIiwidCIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImVtYWlsIiwidG9Mb3dlckNhc2UiLCJ2ZXJpZnkiLCJfdmVyaWZpZWQiLCJfdmVyaWZpY2F0aW9uVG9rZW4iLCJjcnlwdG8iLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwicmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IiwicGFzc3dvcmQiLCJkYiIsInNsdWciLCJ2ZXJpZmljYXRpb25Ub2tlbiIsInJlc3VsdCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiLCJzYXZlVmVyc2lvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsImRpc2FibGVFbWFpbCIsInNlbmRFbWFpbCIsInRva2VuIiwidXNlciIsImFmdGVyUmVhZCIsImFmdGVyQ2hhbmdlIiwicHJldmlvdXNEb2MiLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwidW5saW5rVGVtcEZpbGVzIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnJvciIsImtpbGxUcmFuc2FjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzWEE7OztlQUFBOzs7K0RBcFhtQjsyREFDSjtzQkFDVztzRUFZQTs4RUFDUTswQkFDSTs2QkFFVjsyQkFDRjs4QkFDRztnQ0FDRTtrQ0FDRTtpQ0FDRDs2QkFDSjttQ0FDTTtpQ0FDRjtpQ0FDQTsrRUFDRzs2QkFDUDt1QkFDUTs4RUFDVjs7Ozs7O0FBRTFCLE1BQU1BLGFBQWFDLElBQUFBLGVBQVMsRUFBQ0MsV0FBRSxDQUFDQyxNQUFNO0FBaUJ0QyxlQUFlQyxPQUNiQyxZQUE2RDtJQUU3RCxJQUFJQyxPQUFPRDtJQUVYLHdDQUF3QztJQUN4QywrQkFBK0I7SUFDL0Isd0NBQXdDO0lBRXhDLE1BQU1DLEtBQUtDLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDQyxLQUFL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
@@ -78,7 +78,7 @@ async function getLocalizedPaths({ collectionSlug, fields, globalSlug, incomingP
78
78
  const lastSegmentIsValid = [
79
79
  'relationTo',
80
80
  'value'
81
- ].includes(pathSegments[pathSegments.length - 1]);
81
+ ].includes(pathSegments[pathSegments.length - 1]) || pathSegments.length === 1;
82
82
  if (lastSegmentIsValid) {
83
83
  lastIncompletePath.complete = true;
84
84
  lastIncompletePath.path = pathSegments.join('.');
@@ -129,4 +129,4 @@ async function getLocalizedPaths({ collectionSlug, fields, globalSlug, incomingP
129
129
  return paths;
130
130
  }
131
131
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9nZXRMb2NhbGl6ZWRQYXRocy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLidcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXRoVG9RdWVyeSB9IGZyb20gJy4vcXVlcnlWYWxpZGF0aW9uL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmbGF0dGVuRmllbGRzIGZyb20gJy4uL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMb2NhbGl6ZWRQYXRocyh7XG4gIGNvbGxlY3Rpb25TbHVnLFxuICBmaWVsZHMsXG4gIGdsb2JhbFNsdWcsXG4gIGluY29taW5nUGF0aCxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyA9IGZhbHNlLFxuICBwYXlsb2FkLFxufToge1xuICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZ2xvYmFsU2x1Zz86IHN0cmluZ1xuICBpbmNvbWluZ1BhdGg6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHBheWxvYWQ6IFBheWxvYWRcbn0pOiBQcm9taXNlPFBhdGhUb1F1ZXJ5W10+IHtcbiAgY29uc3QgcGF0aFNlZ21lbnRzID0gaW5jb21pbmdQYXRoLnNwbGl0KCcuJylcbiAgY29uc3QgbG9jYWxpemF0aW9uQ29uZmlnID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG5cbiAgbGV0IHBhdGhzOiBQYXRoVG9RdWVyeVtdID0gW1xuICAgIHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgY29tcGxldGU6IGZhbHNlLFxuICAgICAgZmllbGQ6IHVuZGVmaW5lZCxcbiAgICAgIGZpZWxkczogZmxhdHRlbkZpZWxkcyhmaWVsZHMsIGZhbHNlKSxcbiAgICAgIGdsb2JhbFNsdWcsXG4gICAgICBpbnZhbGlkOiBmYWxzZSxcbiAgICAgIHBhdGg6ICcnLFxuICAgIH0sXG4gIF1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBwYXRoU2VnbWVudHNbaV1cblxuICAgIGNvbnN0IGxhc3RJbmNvbXBsZXRlUGF0aCA9IHBhdGhzLmZpbmQoKHsgY29tcGxldGUgfSkgPT4gIWNvbXBsZXRlKVxuXG4gICAgaWYgKGxhc3RJbmNvbXBsZXRlUGF0aCkge1xuICAgICAgY29uc3QgeyBwYXRoIH0gPSBsYXN0SW5jb21wbGV0ZVBhdGhcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke3NlZ21lbnR9YCA6IHNlZ21lbnRcblxuICAgICAgY29uc3QgbWF0Y2hlZEZpZWxkID0gbGFzdEluY29tcGxldGVQYXRoLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09IHNlZ21lbnQsXG4gICAgICApXG4gICAgICBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQgPSBtYXRjaGVkRmllbGRcblxuICAgICAgaWYgKGN1cnJlbnRQYXRoID09PSAnZ2xvYmFsVHlwZScgJiYgZ2xvYmFsU2x1Zykge1xuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG4gICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICdnbG9iYWxUeXBlJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoZWRGaWVsZCkge1xuICAgICAgICBpZiAoJ2hpZGRlbicgaW4gbWF0Y2hlZEZpZWxkICYmIG1hdGNoZWRGaWVsZC5oaWRkZW4gJiYgIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmludmFsaWQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0U2VnbWVudCA9IHBhdGhTZWdtZW50c1tpICsgMV1cbiAgICAgICAgY29uc3QgbmV4dFNlZ21lbnRJc0xvY2FsZSA9XG4gICAgICAgICAgbG9jYWxpemF0aW9uQ29uZmlnICYmIGxvY2FsaXphdGlvbkNvbmZpZy5sb2NhbGVDb2Rlcy5pbmNsdWRlcyhuZXh0U2VnbWVudClcblxuICAgICAgICBpZiAobmV4dFNlZ21lbnRJc0xvY2FsZSkge1xuICAgICAgICAgIC8vIFNraXAgdGhlIG5leHQgaXRlcmF0aW9uLCBiZWNhdXNlIGl0J3MgYSBsb2NhbGVcbiAgICAgICAgICBpICs9IDFcbiAgICAgICAgICBjdXJyZW50UGF0aCA9IGAke2N1cnJlbnRQYXRofS4ke25leHRTZWdtZW50fWBcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhbGl6YXRpb25Db25maWcgJiYgJ2xvY2FsaXplZCcgaW4gbWF0Y2hlZEZpZWxkICYmIG1hdGNoZWRGaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBjdXJyZW50UGF0aCA9IGAke2N1cnJlbnRQYXRofS4ke2xvY2FsZX1gXG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKG1hdGNoZWRGaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6XG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGNvbnN0IHVwY29taW5nU2VnbWVudHMgPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmNvbXBsZXRlID0gdHJ1ZVxuICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSB1cGNvbWluZ1NlZ21lbnRzXG4gICAgICAgICAgICAgID8gYCR7Y3VycmVudFBhdGh9LiR7dXBjb21pbmdTZWdtZW50c31gXG4gICAgICAgICAgICAgIDogY3VycmVudFBhdGhcbiAgICAgICAgICAgIHJldHVybiBwYXRoc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHBvbHltb3JwaGljIHJlbGF0aW9uLFxuICAgICAgICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHF1ZXJ5aW5nIGRpcmVjdGx5IChubyBuZXN0ZWQgcXVlcnlpbmcpXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1hdGNoZWRGaWVsZC5yZWxhdGlvblRvICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBjb25zdCBsYXN0U2VnbWVudElzVmFsaWQgPSBbJ3JlbGF0aW9uVG8nLCAndmFsdWUnXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDFdLFxuICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgaWYgKGxhc3RTZWdtZW50SXNWYWxpZCkge1xuICAgICAgICAgICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IHBhdGhTZWdtZW50cy5qb2luKCcuJylcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguaW52YWxpZCA9IHRydWVcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmNvbXBsZXRlID0gdHJ1ZVxuICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG5cbiAgICAgICAgICAgICAgY29uc3QgbmVzdGVkUGF0aFRvUXVlcnkgPSBwYXRoU2VnbWVudHNcbiAgICAgICAgICAgICAgICAuc2xpY2UobmV4dFNlZ21lbnRJc0xvY2FsZSA/IGkgKyAyIDogaSArIDEpXG4gICAgICAgICAgICAgICAgLmpvaW4oJy4nKVxuXG4gICAgICAgICAgICAgIGlmIChuZXN0ZWRQYXRoVG9RdWVyeSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uID0gcGF5bG9hZC5jb2xsZWN0aW9uc1ttYXRjaGVkRmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ1BhdGhzID0gYXdhaXQgZ2V0TG9jYWxpemVkUGF0aHMoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWc6IHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHJlbGF0ZWRDb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGdsb2JhbFNsdWcsXG4gICAgICAgICAgICAgICAgICBpbmNvbWluZ1BhdGg6IG5lc3RlZFBhdGhUb1F1ZXJ5LFxuICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgcGF0aHMgPSBbLi4ucGF0aHMsIC4uLnJlbWFpbmluZ1BhdGhzXVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGhzXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKCdmaWVsZHMnIGluIGxhc3RJbmNvbXBsZXRlUGF0aC5maWVsZCkge1xuICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGRzID0gZmxhdHRlbkZpZWxkcyhsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQuZmllbGRzLCBmYWxzZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGkgKyAxID09PSBwYXRoU2VnbWVudHMubGVuZ3RoKSBsYXN0SW5jb21wbGV0ZVBhdGguY29tcGxldGUgPSB0cnVlXG4gICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguaW52YWxpZCA9IHRydWVcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBjdXJyZW50UGF0aFxuICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGF0aHNcbn1cbiJdLCJuYW1lcyI6WyJnZXRMb2NhbGl6ZWRQYXRocyIsImNvbGxlY3Rpb25TbHVnIiwiZmllbGRzIiwiZ2xvYmFsU2x1ZyIsImluY29taW5nUGF0aCIsImxvY2FsZSIsIm92ZXJyaWRlQWNjZXNzIiwicGF5bG9hZCIsInBhdGhTZWdtZW50cyIsInNwbGl0IiwibG9jYWxpemF0aW9uQ29uZmlnIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwicGF0aHMiLCJjb21wbGV0ZSIsImZpZWxkIiwidW5kZWZpbmVkIiwiZmxhdHRlbkZpZWxkcyIsImludmFsaWQiLCJwYXRoIiwiaSIsImxlbmd0aCIsInNlZ21lbnQiLCJsYXN0SW5jb21wbGV0ZVBhdGgiLCJmaW5kIiwiY3VycmVudFBhdGgiLCJtYXRjaGVkRmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsInR5cGUiLCJoaWRkZW4iLCJuZXh0U2VnbWVudCIsIm5leHRTZWdtZW50SXNMb2NhbGUiLCJsb2NhbGVDb2RlcyIsImluY2x1ZGVzIiwibG9jYWxpemVkIiwidXBjb21pbmdTZWdtZW50cyIsInNsaWNlIiwiam9pbiIsInJlbGF0aW9uVG8iLCJsYXN0U2VnbWVudElzVmFsaWQiLCJuZXN0ZWRQYXRoVG9RdWVyeSIsInJlbGF0ZWRDb2xsZWN0aW9uIiwiY29sbGVjdGlvbnMiLCJyZW1haW5pbmdQYXRocyIsInNsdWciXSwibWFwcGluZ3MiOiI7Ozs7K0JBT3NCQTs7O2VBQUFBOzs7dUJBSFc7OEVBQ1A7Ozs7OztBQUVuQixlQUFlQSxrQkFBa0IsRUFDdENDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsTUFBTSxFQUNOQyxpQkFBaUIsS0FBSyxFQUN0QkMsT0FBTyxFQVNSO0lBQ0MsTUFBTUMsZUFBZUosYUFBYUssS0FBSyxDQUFDO0lBQ3hDLE1BQU1DLHFCQUFxQkgsUUFBUUksTUFBTSxDQUFDQyxZQUFZO0lBRXRELElBQUlDLFFBQXVCO1FBQ3pCO1lBQ0VaO1lBQ0FhLFVBQVU7WUFDVkMsT0FBT0M7WUFDUGQsUUFBUWUsSUFBQUEsOEJBQWEsRUFBQ2YsUUFBUTtZQUM5QkM7WUFDQWUsU0FBUztZQUNUQyxNQUFNO1FBQ1I7S0FDRDtJQUVELElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJWixhQUFhYSxNQUFNLEVBQUVELEtBQUssRUFBRztRQUMvQyxNQUFNRSxVQUFVZCxZQUFZLENBQUNZLEVBQUU7UUFFL0IsTUFBTUcscUJBQXFCVixNQUFNVyxJQUFJLENBQUMsQ0FBQyxFQUFFVixRQUFRLEVBQUUsR0FBSyxDQUFDQTtRQUV6RCxJQUFJUyxvQkFBb0I7WUFDdEIsTUFBTSxFQUFFSixJQUFJLEVBQUUsR0FBR0k7WUFDakIsSUFBSUUsY0FBY04sT0FBTyxDQUFD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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9nZXRMb2NhbGl6ZWRQYXRocy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLidcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXRoVG9RdWVyeSB9IGZyb20gJy4vcXVlcnlWYWxpZGF0aW9uL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmbGF0dGVuRmllbGRzIGZyb20gJy4uL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMb2NhbGl6ZWRQYXRocyh7XG4gIGNvbGxlY3Rpb25TbHVnLFxuICBmaWVsZHMsXG4gIGdsb2JhbFNsdWcsXG4gIGluY29taW5nUGF0aCxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyA9IGZhbHNlLFxuICBwYXlsb2FkLFxufToge1xuICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZ2xvYmFsU2x1Zz86IHN0cmluZ1xuICBpbmNvbWluZ1BhdGg6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHBheWxvYWQ6IFBheWxvYWRcbn0pOiBQcm9taXNlPFBhdGhUb1F1ZXJ5W10+IHtcbiAgY29uc3QgcGF0aFNlZ21lbnRzID0gaW5jb21pbmdQYXRoLnNwbGl0KCcuJylcbiAgY29uc3QgbG9jYWxpemF0aW9uQ29uZmlnID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG5cbiAgbGV0IHBhdGhzOiBQYXRoVG9RdWVyeVtdID0gW1xuICAgIHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgY29tcGxldGU6IGZhbHNlLFxuICAgICAgZmllbGQ6IHVuZGVmaW5lZCxcbiAgICAgIGZpZWxkczogZmxhdHRlbkZpZWxkcyhmaWVsZHMsIGZhbHNlKSxcbiAgICAgIGdsb2JhbFNsdWcsXG4gICAgICBpbnZhbGlkOiBmYWxzZSxcbiAgICAgIHBhdGg6ICcnLFxuICAgIH0sXG4gIF1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBwYXRoU2VnbWVudHNbaV1cblxuICAgIGNvbnN0IGxhc3RJbmNvbXBsZXRlUGF0aCA9IHBhdGhzLmZpbmQoKHsgY29tcGxldGUgfSkgPT4gIWNvbXBsZXRlKVxuXG4gICAgaWYgKGxhc3RJbmNvbXBsZXRlUGF0aCkge1xuICAgICAgY29uc3QgeyBwYXRoIH0gPSBsYXN0SW5jb21wbGV0ZVBhdGhcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke3NlZ21lbnR9YCA6IHNlZ21lbnRcblxuICAgICAgY29uc3QgbWF0Y2hlZEZpZWxkID0gbGFzdEluY29tcGxldGVQYXRoLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09IHNlZ21lbnQsXG4gICAgICApXG4gICAgICBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQgPSBtYXRjaGVkRmllbGRcblxuICAgICAgaWYgKGN1cnJlbnRQYXRoID09PSAnZ2xvYmFsVHlwZScgJiYgZ2xvYmFsU2x1Zykge1xuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG4gICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICdnbG9iYWxUeXBlJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoZWRGaWVsZCkge1xuICAgICAgICBpZiAoJ2hpZGRlbicgaW4gbWF0Y2hlZEZpZWxkICYmIG1hdGNoZWRGaWVsZC5oaWRkZW4gJiYgIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmludmFsaWQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0U2VnbWVudCA9IHBhdGhTZWdtZW50c1tpICsgMV1cbiAgICAgICAgY29uc3QgbmV4dFNlZ21lbnRJc0xvY2FsZSA9XG4gICAgICAgICAgbG9jYWxpemF0aW9uQ29uZmlnICYmIGxvY2FsaXphdGlvbkNvbmZpZy5sb2NhbGVDb2Rlcy5pbmNsdWRlcyhuZXh0U2VnbWVudClcblxuICAgICAgICBpZiAobmV4dFNlZ21lbnRJc0xvY2FsZSkge1xuICAgICAgICAgIC8vIFNraXAgdGhlIG5leHQgaXRlcmF0aW9uLCBiZWNhdXNlIGl0J3MgYSBsb2NhbGVcbiAgICAgICAgICBpICs9IDFcbiAgICAgICAgICBjdXJyZW50UGF0aCA9IGAke2N1cnJlbnRQYXRofS4ke25leHRTZWdtZW50fWBcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhbGl6YXRpb25Db25maWcgJiYgJ2xvY2FsaXplZCcgaW4gbWF0Y2hlZEZpZWxkICYmIG1hdGNoZWRGaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBjdXJyZW50UGF0aCA9IGAke2N1cnJlbnRQYXRofS4ke2xvY2FsZX1gXG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKG1hdGNoZWRGaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6XG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGNvbnN0IHVwY29taW5nU2VnbWVudHMgPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmNvbXBsZXRlID0gdHJ1ZVxuICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSB1cGNvbWluZ1NlZ21lbnRzXG4gICAgICAgICAgICAgID8gYCR7Y3VycmVudFBhdGh9LiR7dXBjb21pbmdTZWdtZW50c31gXG4gICAgICAgICAgICAgIDogY3VycmVudFBhdGhcbiAgICAgICAgICAgIHJldHVybiBwYXRoc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHBvbHltb3JwaGljIHJlbGF0aW9uLFxuICAgICAgICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHF1ZXJ5aW5nIGRpcmVjdGx5IChubyBuZXN0ZWQgcXVlcnlpbmcpXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1hdGNoZWRGaWVsZC5yZWxhdGlvblRvICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBjb25zdCBsYXN0U2VnbWVudElzVmFsaWQgPVxuICAgICAgICAgICAgICAgIFsncmVsYXRpb25UbycsICd2YWx1ZSddLmluY2x1ZGVzKHBhdGhTZWdtZW50c1twYXRoU2VnbWVudHMubGVuZ3RoIC0gMV0pIHx8XG4gICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzLmxlbmd0aCA9PT0gMVxuXG4gICAgICAgICAgICAgIGlmIChsYXN0U2VnbWVudElzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguY29tcGxldGUgPSB0cnVlXG4gICAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBwYXRoU2VnbWVudHMuam9pbignLicpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmludmFsaWQgPSB0cnVlXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhdGhzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBjdXJyZW50UGF0aFxuXG4gICAgICAgICAgICAgIGNvbnN0IG5lc3RlZFBhdGhUb1F1ZXJ5ID0gcGF0aFNlZ21lbnRzXG4gICAgICAgICAgICAgICAgLnNsaWNlKG5leHRTZWdtZW50SXNMb2NhbGUgPyBpICsgMiA6IGkgKyAxKVxuICAgICAgICAgICAgICAgIC5qb2luKCcuJylcblxuICAgICAgICAgICAgICBpZiAobmVzdGVkUGF0aFRvUXVlcnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbbWF0Y2hlZEZpZWxkLnJlbGF0aW9uVG9dLmNvbmZpZ1xuXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICAgICAgICAgICAgICBjb25zdCByZW1haW5pbmdQYXRocyA9IGF3YWl0IGdldExvY2FsaXplZFBhdGhzKHtcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnOiByZWxhdGVkQ29sbGVjdGlvbi5zbHVnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiByZWxhdGVkQ29sbGVjdGlvbi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBnbG9iYWxTbHVnLFxuICAgICAgICAgICAgICAgICAgaW5jb21pbmdQYXRoOiBuZXN0ZWRQYXRoVG9RdWVyeSxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIHBhdGhzID0gWy4uLnBhdGhzLCAuLi5yZW1haW5pbmdQYXRoc11cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBwYXRoc1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGlmICgnZmllbGRzJyBpbiBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQpIHtcbiAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmZpZWxkcyA9IGZsYXR0ZW5GaWVsZHMobGFzdEluY29tcGxldGVQYXRoLmZpZWxkLmZpZWxkcywgZmFsc2UpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpICsgMSA9PT0gcGF0aFNlZ21lbnRzLmxlbmd0aCkgbGFzdEluY29tcGxldGVQYXRoLmNvbXBsZXRlID0gdHJ1ZVxuICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBjdXJyZW50UGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmludmFsaWQgPSB0cnVlXG4gICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5wYXRoID0gY3VycmVudFBhdGhcbiAgICAgICAgcmV0dXJuIHBhdGhzXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhdGhzXG59XG4iXSwibmFtZXMiOlsiZ2V0TG9jYWxpemVkUGF0aHMiLCJjb2xsZWN0aW9uU2x1ZyIsImZpZWxkcyIsImdsb2JhbFNsdWciLCJpbmNvbWluZ1BhdGgiLCJsb2NhbGUiLCJvdmVycmlkZUFjY2VzcyIsInBheWxvYWQiLCJwYXRoU2VnbWVudHMiLCJzcGxpdCIsImxvY2FsaXphdGlvbkNvbmZpZyIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsInBhdGhzIiwiY29tcGxldGUiLCJmaWVsZCIsInVuZGVmaW5lZCIsImZsYXR0ZW5GaWVsZHMiLCJpbnZhbGlkIiwicGF0aCIsImkiLCJsZW5ndGgiLCJzZWdtZW50IiwibGFzdEluY29tcGxldGVQYXRoIiwiZmluZCIsImN1cnJlbnRQYXRoIiwibWF0Y2hlZEZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiaGlkZGVuIiwibmV4dFNlZ21lbnQiLCJuZXh0U2VnbWVudElzTG9jYWxlIiwibG9jYWxlQ29kZXMiLCJpbmNsdWRlcyIsImxvY2FsaXplZCIsInVwY29taW5nU2VnbWVudHMiLCJzbGljZSIsImpvaW4iLCJyZWxhdGlvblRvIiwibGFzdFNlZ21lbnRJc1ZhbGlkIiwibmVzdGVkUGF0aFRvUXVlcnkiLCJyZWxhdGVkQ29sbGVjdGlvbiIsImNvbGxlY3Rpb25zIiwicmVtYWluaW5nUGF0aHMiLCJzbHVnIl0sIm1hcHBpbmdzIjoiOzs7OytCQU9zQkE7OztlQUFBQTs7O3VCQUhXOzhFQUNQOzs7Ozs7QUFFbkIsZUFBZUEsa0JBQWtCLEVBQ3RDQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxZQUFZLEVBQ1pDLE1BQU0sRUFDTkMsaUJBQWlCLEtBQUssRUFDdEJDLE9BQU8sRUFTUjtJQUNDLE1BQU1DLGVBQWVKLGFBQWFLLEtBQUssQ0FBQztJQUN4QyxNQUFNQyxxQkFBcUJILFFBQVFJLE1BQU0sQ0FBQ0MsWUFBWTtJQUV0RCxJQUFJQyxRQUF1QjtRQUN6QjtZQUNFWjtZQUNBYSxVQUFVO1lBQ1ZDLE9BQU9DO1lBQ1BkLFFBQVFlLElBQUFBLDhCQUFhLEVBQUNmLFFBQVE7WUFDOUJDO1lBQ0FlLFNBQVM7WUFDVEMsTUFBTTtRQUNSO0tBQ0Q7SUFFRCxJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSVosYUFBYWEsTUFBTSxFQUFFRCxLQUFLLEVBQUc7UUFDL0MsTUFBTUUsVUFBVWQsWUFBWSxDQUFDWSxFQUFFO1FBRS9CLE1BQU1HLHFCQUFxQlYsTUFBTVcsSUFBSSxDQUFDLENBQUMsRUFBRVYsUUFBUSxFQUFFLEdBQUssQ0FBQ0E7UUFFekQsSUFBSVMsb0JBQW9CO1lBQ3RCLE1BQU0sRUFBRUosSUFBSSxFQUFFLEdBQUdJ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
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAKnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CtE"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAQnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CtE"}
@@ -8,6 +8,9 @@ Object.defineProperty(exports, "migrate", {
8
8
  return migrate;
9
9
  }
10
10
  });
11
+ const _commitTransaction = require("../../utilities/commitTransaction");
12
+ const _initTransaction = require("../../utilities/initTransaction");
13
+ const _killTransaction = require("../../utilities/killTransaction");
11
14
  const _getMigrations = require("./getMigrations");
12
15
  const _readMigrationFiles = require("./readMigrationFiles");
13
16
  async function migrate() {
@@ -27,14 +30,17 @@ async function migrate() {
27
30
  continue; // eslint-disable-line no-continue
28
31
  }
29
32
  const start = Date.now();
30
- let transactionID;
33
+ const req = {
34
+ payload
35
+ };
31
36
  payload.logger.info({
32
37
  msg: `Migrating: ${migration.name}`
33
38
  });
34
39
  try {
35
- transactionID = await this.beginTransaction();
40
+ await (0, _initTransaction.initTransaction)(req);
36
41
  await migration.up({
37
- payload
42
+ payload,
43
+ req
38
44
  });
39
45
  payload.logger.info({
40
46
  msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
@@ -45,15 +51,11 @@ async function migrate() {
45
51
  name: migration.name,
46
52
  batch: newBatch
47
53
  },
48
- ...transactionID && {
49
- req: {
50
- transactionID
51
- }
52
- }
54
+ req
53
55
  });
54
- await this.commitTransaction(transactionID);
56
+ await (0, _commitTransaction.commitTransaction)(req);
55
57
  } catch (err) {
56
- await this.rollbackTransaction(transactionID);
58
+ await (0, _killTransaction.killTransaction)(req);
57
59
  payload.logger.error({
58
60
  err,
59
61
  msg: `Error running migration ${migration.name}`
@@ -63,4 +65,4 @@ async function migrate() {
63
65
  }
64
66
  }
65
67
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMgfSBmcm9tICcuL2dldE1pZ3JhdGlvbnMnXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICcuL3JlYWRNaWdyYXRpb25GaWxlcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGUodGhpczogQmFzZURhdGFiYXNlQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG4gIGNvbnN0IHsgZXhpc3RpbmdNaWdyYXRpb25zLCBsYXRlc3RCYXRjaCB9ID0gYXdhaXQgZ2V0TWlncmF0aW9ucyh7IHBheWxvYWQgfSlcblxuICBjb25zdCBuZXdCYXRjaCA9IGxhdGVzdEJhdGNoICsgMVxuXG4gIC8vIEV4ZWN1dGUgJ3VwJyBmdW5jdGlvbiBmb3IgZWFjaCBtaWdyYXRpb24gc2VxdWVudGlhbGx5XG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgY29uc3QgZXhpc3RpbmdNaWdyYXRpb24gPSBleGlzdGluZ01pZ3JhdGlvbnMuZmluZChcbiAgICAgIChleGlzdGluZykgPT4gZXhpc3RpbmcubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUsXG4gICAgKVxuXG4gICAgLy8gUnVuIG1pZ3JhdGlvbiBpZiBub3QgZm91bmQgaW4gZGF0YWJhc2VcbiAgICBpZiAoZXhpc3RpbmdNaWdyYXRpb24pIHtcbiAgICAgIGNvbnRpbnVlIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICBsZXQgdHJhbnNhY3Rpb25JRDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcblxuICAgIHRyeSB7XG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgYmF0Y2g6IG5ld0JhdGNoLFxuICAgICAgICB9LFxuICAgICAgICAuLi4odHJhbnNhY3Rpb25JRCAmJiB7IHJlcTogeyB0cmFuc2FjdGlvbklEIH0gYXMgUGF5bG9hZFJlcXVlc3QgfSksXG4gICAgICB9KVxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVyciwgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJnZXRNaWdyYXRpb25zIiwibmV3QmF0Y2giLCJtaWdyYXRpb24iLCJleGlzdGluZ01pZ3JhdGlvbiIsImZpbmQiLCJleGlzdGluZyIsIm5hbWUiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJ0cmFuc2FjdGlvbklEIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsImJlZ2luVHJhbnNhY3Rpb24iLCJ1cCIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwiYmF0Y2giLCJyZXEiLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQU9uQ0E7OztlQUFBQTs7OytCQUhRO29DQUNLO0FBRTVCLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTUMsSUFBQUEsc0NBQWtCLEVBQUM7UUFBRUY7SUFBUTtJQUMxRCxNQUFNLEVBQUVHLGtCQUFrQixFQUFFQyxXQUFXLEVBQUUsR0FBRyxNQUFNQyxJQUFBQSw0QkFBYSxFQUFDO1FBQUVMO0lBQVE7SUFFMUUsTUFBTU0sV0FBV0YsY0FBYztJQUUvQix3REFBd0Q7SUFDeEQsS0FBSyxNQUFNRyxhQUFhTixlQUFnQjtRQUN0QyxNQUFNTyxvQkFBb0JMLG1CQUFtQk0sSUFBSSxDQUMvQyxDQUFDQyxXQUFhQSxTQUFTQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFHaEQseUNBQXlDO1FBQ3pDLElBQUlILG1CQUFtQjtZQUNyQixVQUFTLGtDQUFrQztRQUM3QztRQUVBLE1BQU1JLFFBQVFDLEtBQUtDLEdBQUc7UUFDdEIsSUFBSUM7UUFFSmYsUUFBUWdCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVYLFVBQVVJLElBQUksQ0FBQyxDQUFDO1FBQUM7UUFFMUQsSUFBSTtZQUNGSSxnQkFBZ0IsTUFBTSxJQUFJLENBQUNJLGdCQUFnQjtZQUMzQyxNQUFNWixVQUFVYSxFQUFFLENBQUM7Z0JBQUVwQjtZQUFRO1lBQzdCQSxRQUFRZ0IsTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVYLFVBQVVJLElBQUksQ0FBQyxFQUFFLEVBQUVFLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFBQztZQUNwRixNQUFNWixRQUFRcUIsTUFBTSxDQUFDO2dCQUNuQkMsWUFBWTtnQkFDWkMsTUFBTTtvQkFDSlosTUFBTUosVUFBVUksSUFBSTtvQkFDcEJhLE9BQU9sQjtnQkFDVDtnQkFDQSxHQUFJUyxpQkFBaUI7b0JBQUVVLEtBQUs7d0JBQUVWO29CQUFjO2dCQUFvQixDQUFDO1lBQ25FO1lBQ0EsTUFBTSxJQUFJLENBQUNXLGlCQUFpQixDQUFDWDtRQUMvQixFQUFFLE9BQU9ZLEtBQWM7WUFDckIsTUFBTSxJQUFJLENBQUNDLG1CQUFtQixDQUFDYjtZQUMvQmYsUUFBUWdCLE1BQU0sQ0FBQ2EsS0FBSyxDQUFDO2dCQUFFRjtnQkFBS1QsS0FBSyxDQUFDLHdCQUF3QixFQUFFWCxVQUFVSSxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQzdFLE1BQU1nQjtRQUNSO0lBQ0Y7QUFDRiJ9
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zIH0gZnJvbSAnLi9nZXRNaWdyYXRpb25zJ1xuaW1wb3J0IHsgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAnLi9yZWFkTWlncmF0aW9uRmlsZXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlKHRoaXM6IEJhc2VEYXRhYmFzZUFkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgbmV3QmF0Y2ggPSBsYXRlc3RCYXRjaCArIDFcblxuICAvLyBFeGVjdXRlICd1cCcgZnVuY3Rpb24gZm9yIGVhY2ggbWlncmF0aW9uIHNlcXVlbnRpYWxseVxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25GaWxlcykge1xuICAgIGNvbnN0IGV4aXN0aW5nTWlncmF0aW9uID0gZXhpc3RpbmdNaWdyYXRpb25zLmZpbmQoXG4gICAgICAoZXhpc3RpbmcpID0+IGV4aXN0aW5nLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lLFxuICAgIClcblxuICAgIC8vIFJ1biBtaWdyYXRpb24gaWYgbm90IGZvdW5kIGluIGRhdGFiYXNlXG4gICAgaWYgKGV4aXN0aW5nTWlncmF0aW9uKSB7XG4gICAgICBjb250aW51ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgY29uc3QgcmVxID0geyBwYXlsb2FkIH0gYXMgUGF5bG9hZFJlcXVlc3RcblxuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmc6ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG4gICAgICBhd2FpdCBtaWdyYXRpb24udXAoeyBwYXlsb2FkLCByZXEgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgYmF0Y2g6IG5ld0JhdGNoLFxuICAgICAgICB9LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHsgZXJyLCBtc2c6IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGUiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJsYXRlc3RCYXRjaCIsImdldE1pZ3JhdGlvbnMiLCJuZXdCYXRjaCIsIm1pZ3JhdGlvbiIsImV4aXN0aW5nTWlncmF0aW9uIiwiZmluZCIsImV4aXN0aW5nIiwibmFtZSIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInJlcSIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJpbml0VHJhbnNhY3Rpb24iLCJ1cCIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwiYmF0Y2giLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsImtpbGxUcmFuc2FjdGlvbiIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBVW5DQTs7O2VBQUFBOzs7bUNBTlk7aUNBQ0Y7aUNBQ0E7K0JBQ0Y7b0NBQ0s7QUFFNUIsZUFBZUE7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSxzQ0FBa0IsRUFBQztRQUFFRjtJQUFRO0lBQzFELE1BQU0sRUFBRUcsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRSxHQUFHLE1BQU1DLElBQUFBLDRCQUFhLEVBQUM7UUFBRUw7SUFBUTtJQUUxRSxNQUFNTSxXQUFXRixjQUFjO0lBRS9CLHdEQUF3RDtJQUN4RCxLQUFLLE1BQU1HLGFBQWFOLGVBQWdCO1FBQ3RDLE1BQU1PLG9CQUFvQkwsbUJBQW1CTSxJQUFJLENBQy9DLENBQUNDLFdBQWFBLFNBQVNDLElBQUksS0FBS0osVUFBVUksSUFBSTtRQUdoRCx5Q0FBeUM7UUFDekMsSUFBSUgsbUJBQW1CO1lBQ3JCLFVBQVMsa0NBQWtDO1FBQzdDO1FBRUEsTUFBTUksUUFBUUMsS0FBS0MsR0FBRztRQUN0QixNQUFNQyxNQUFNO1lBQUVmO1FBQVE7UUFFdEJBLFFBQVFnQixNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFWCxVQUFVSSxJQUFJLENBQUMsQ0FBQztRQUFDO1FBRTFELElBQUk7WUFDRixNQUFNUSxJQUFBQSxnQ0FBZSxFQUFDSjtZQUN0QixNQUFNUixVQUFVYSxFQUFFLENBQUM7Z0JBQUVwQjtnQkFBU2U7WUFBSTtZQUNsQ2YsUUFBUWdCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFWCxVQUFVSSxJQUFJLENBQUMsRUFBRSxFQUFFRSxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1lBQUM7WUFDcEYsTUFBTVosUUFBUXFCLE1BQU0sQ0FBQztnQkFDbkJDLFlBQVk7Z0JBQ1pDLE1BQU07b0JBQ0paLE1BQU1KLFVBQVVJLElBQUk7b0JBQ3BCYSxPQUFPbEI7Z0JBQ1Q7Z0JBQ0FTO1lBQ0Y7WUFDQSxNQUFNVSxJQUFBQSxvQ0FBaUIsRUFBQ1Y7UUFDMUIsRUFBRSxPQUFPVyxLQUFjO1lBQ3JCLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNaO1lBQ3RCZixRQUFRZ0IsTUFBTSxDQUFDWSxLQUFLLENBQUM7Z0JBQUVGO2dCQUFLUixLQUFLLENBQUMsd0JBQXdCLEVBQUVYLFVBQVVJLElBQUksQ0FBQyxDQUFDO1lBQUM7WUFDN0UsTUFBTWU7UUFDUjtJQUNGO0FBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"migrateDown.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateDown.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAKnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD1E"}
1
+ {"version":3,"file":"migrateDown.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateDown.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAQnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD1E"}
@@ -8,6 +8,9 @@ Object.defineProperty(exports, "migrateDown", {
8
8
  return migrateDown;
9
9
  }
10
10
  });
11
+ const _commitTransaction = require("../../utilities/commitTransaction");
12
+ const _initTransaction = require("../../utilities/initTransaction");
13
+ const _killTransaction = require("../../utilities/killTransaction");
11
14
  const _getMigrations = require("./getMigrations");
12
15
  const _readMigrationFiles = require("./readMigrationFiles");
13
16
  async function migrateDown() {
@@ -33,14 +36,17 @@ async function migrateDown() {
33
36
  throw new Error(`Migration ${migration.name} not found locally.`);
34
37
  }
35
38
  const start = Date.now();
36
- let transactionID;
39
+ const req = {
40
+ payload
41
+ };
37
42
  try {
38
43
  payload.logger.info({
39
44
  msg: `Migrating down: ${migrationFile.name}`
40
45
  });
41
- transactionID = await this.beginTransaction();
46
+ await (0, _initTransaction.initTransaction)(req);
42
47
  await migrationFile.down({
43
- payload
48
+ payload,
49
+ req
44
50
  });
45
51
  payload.logger.info({
46
52
  msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
@@ -49,13 +55,11 @@ async function migrateDown() {
49
55
  await payload.delete({
50
56
  id: migration.id,
51
57
  collection: 'payload-migrations',
52
- req: {
53
- transactionID
54
- }
58
+ req
55
59
  });
56
- await this.commitTransaction(transactionID);
60
+ await (0, _commitTransaction.commitTransaction)(req);
57
61
  } catch (err) {
58
- await this.rollbackTransaction(transactionID);
62
+ await (0, _killTransaction.killTransaction)(req);
59
63
  payload.logger.error({
60
64
  err,
61
65
  msg: `Error running migration ${migrationFile.name}`
@@ -65,4 +69,4 @@ async function migrateDown() {
65
69
  }
66
70
  }
67
71
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVEb3duLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zIH0gZnJvbSAnLi9nZXRNaWdyYXRpb25zJ1xuaW1wb3J0IHsgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAnLi9yZWFkTWlncmF0aW9uRmlsZXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlRG93bih0aGlzOiBCYXNlRGF0YWJhc2VBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoe1xuICAgIHBheWxvYWQsXG4gIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJvbGxiYWNrLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYFJvbGxpbmcgYmFjayBiYXRjaCAke2xhdGVzdEJhdGNofSBjb25zaXN0aW5nIG9mICR7ZXhpc3RpbmdNaWdyYXRpb25zLmxlbmd0aH0gbWlncmF0aW9uKHMpLmAsXG4gIH0pXG5cbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgZXhpc3RpbmdNaWdyYXRpb25zKSB7XG4gICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG4gICAgaWYgKCFtaWdyYXRpb25GaWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgIGxldCB0cmFuc2FjdGlvbklEXG5cbiAgICB0cnkge1xuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZyBkb3duOiAke21pZ3JhdGlvbkZpbGUubmFtZX1gIH0pXG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb25GaWxlLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgLFxuICAgICAgfSlcbiAgICAgIC8vIFdhaXRpbmcgZm9yIGltcGxlbWVudGF0aW9uIGhlcmVcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgIHJlcToge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb25GaWxlLm5hbWV9YCxcbiAgICAgIH0pXG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlRG93biIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsInJlYWRNaWdyYXRpb25GaWxlcyIsImV4aXN0aW5nTWlncmF0aW9ucyIsImxhdGVzdEJhdGNoIiwiZ2V0TWlncmF0aW9ucyIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJtaWdyYXRpb24iLCJtaWdyYXRpb25GaWxlIiwiZmluZCIsIm0iLCJuYW1lIiwiRXJyb3IiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJ0cmFuc2FjdGlvbklEIiwiYmVnaW5UcmFuc2FjdGlvbiIsImRvd24iLCJkZWxldGUiLCJpZCIsImNvbGxlY3Rpb24iLCJyZXEiLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJlcnJvciIsInByb2Nlc3MiLCJleGl0Il0sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBT25DQTs7O2VBQUFBOzs7K0JBSFE7b0NBQ0s7QUFFNUIsZUFBZUE7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSxzQ0FBa0IsRUFBQztRQUFFRjtJQUFRO0lBRTFELE1BQU0sRUFBRUcsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRSxHQUFHLE1BQU1DLElBQUFBLDRCQUFhLEVBQUM7UUFDOURMO0lBQ0Y7SUFFQSxJQUFJLENBQUNHLG9CQUFvQkcsUUFBUTtRQUMvQk4sUUFBUU8sTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSztRQUE2QjtRQUN4RDtJQUNGO0lBRUFULFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQ2xCQyxLQUFLLENBQUMsbUJBQW1CLEVBQUVMLFlBQVksZUFBZSxFQUFFRCxtQkFBbUJHLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbkc7SUFFQSxLQUFLLE1BQU1JLGFBQWFQLG1CQUFvQjtRQUMxQyxNQUFNUSxnQkFBZ0JWLGVBQWVXLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFDMUUsSUFBSSxDQUFDSCxlQUFlO1lBQ2xCLE1BQU0sSUFBSUksTUFBTSxDQUFDLFVBQVUsRUFBRUwsVUFBVUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xFO1FBRUEsTUFBTUUsUUFBUUMsS0FBS0MsR0FBRztRQUN0QixJQUFJQztRQUVKLElBQUk7WUFDRm5CLFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVFLGNBQWNHLElBQUksQ0FBQyxDQUFDO1lBQUM7WUFDbkVLLGdCQUFnQixNQUFNLElBQUksQ0FBQ0MsZ0JBQWdCO1lBQzNDLE1BQU1ULGNBQWNVLElBQUksQ0FBQztnQkFBRXJCO1lBQVE7WUFDbkNBLFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUNsQkMsS0FBSyxDQUFDLGdCQUFnQixFQUFFRSxjQUFjRyxJQUFJLENBQUMsRUFBRSxFQUFFRyxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1lBQ3hFO1lBQ0Esa0NBQWtDO1lBQ2xDLE1BQU1oQixRQUFRc0IsTUFBTSxDQUFDO2dCQUNuQkMsSUFBSWIsVUFBVWEsRUFBRTtnQkFDaEJDLFlBQVk7Z0JBQ1pDLEtBQUs7b0JBQ0hOO2dCQUNGO1lBQ0Y7WUFDQSxNQUFNLElBQUksQ0FBQ08saUJBQWlCLENBQUNQO1FBQy9CLEVBQUUsT0FBT1EsS0FBYztZQUNyQixNQUFNLElBQUksQ0FBQ0MsbUJBQW1CLENBQUNUO1lBQy9CbkIsUUFBUU8sTUFBTSxDQUFDc0IsS0FBSyxDQUFDO2dCQUNuQkY7Z0JBQ0FsQixLQUFLLENBQUMsd0JBQXdCLEVBQUVFLGNBQWNHLElBQUksQ0FBQyxDQUFDO1lBQ3REO1lBQ0FnQixRQUFRQyxJQUFJLENBQUM7UUFDZjtJQUNGO0FBQ0YifQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVEb3duLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucyB9IGZyb20gJy4vZ2V0TWlncmF0aW9ucydcbmltcG9ydCB7IHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJy4vcmVhZE1pZ3JhdGlvbkZpbGVzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZURvd24odGhpczogQmFzZURhdGFiYXNlQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHtcbiAgICBwYXlsb2FkLFxuICB9KVxuXG4gIGlmICghZXhpc3RpbmdNaWdyYXRpb25zPy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyB0byByb2xsYmFjay4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBSb2xsaW5nIGJhY2sgYmF0Y2ggJHtsYXRlc3RCYXRjaH0gY29uc2lzdGluZyBvZiAke2V4aXN0aW5nTWlncmF0aW9ucy5sZW5ndGh9IG1pZ3JhdGlvbihzKS5gLFxuICB9KVxuXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIGV4aXN0aW5nTWlncmF0aW9ucykge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkZpbGUgPSBtaWdyYXRpb25GaWxlcy5maW5kKChtKSA9PiBtLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gbm90IGZvdW5kIGxvY2FsbHkuYClcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICBjb25zdCByZXEgPSB7IHBheWxvYWQgfSBhcyBQYXlsb2FkUmVxdWVzdFxuXG4gICAgdHJ5IHtcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb25GaWxlLm5hbWV9YCB9KVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuICAgICAgLy8gV2FpdGluZyBmb3IgaW1wbGVtZW50YXRpb24gaGVyZVxuICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICBpZDogbWlncmF0aW9uLmlkLFxuICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcblxuICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2c6IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbkZpbGUubmFtZX1gLFxuICAgICAgfSlcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVEb3duIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJnZXRNaWdyYXRpb25zIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsIm1pZ3JhdGlvbiIsIm1pZ3JhdGlvbkZpbGUiLCJmaW5kIiwibSIsIm5hbWUiLCJFcnJvciIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInJlcSIsImluaXRUcmFuc2FjdGlvbiIsImRvd24iLCJkZWxldGUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsImtpbGxUcmFuc2FjdGlvbiIsImVycm9yIiwicHJvY2VzcyIsImV4aXQiXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDs7OzsrQkFVbkNBOzs7ZUFBQUE7OzttQ0FOWTtpQ0FDRjtpQ0FDQTsrQkFDRjtvQ0FDSztBQUU1QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLHNDQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFLEdBQUcsTUFBTUMsSUFBQUEsNEJBQWEsRUFBQztRQUM5REw7SUFDRjtJQUVBLElBQUksQ0FBQ0csb0JBQW9CRyxRQUFRO1FBQy9CTixRQUFRTyxNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLO1FBQTZCO1FBQ3hEO0lBQ0Y7SUFFQVQsUUFBUU8sTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFDbEJDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRUwsWUFBWSxlQUFlLEVBQUVELG1CQUFtQkcsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQUNuRztJQUVBLEtBQUssTUFBTUksYUFBYVAsbUJBQW9CO1FBQzFDLE1BQU1RLGdCQUFnQlYsZUFBZVcsSUFBSSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0osVUFBVUksSUFBSTtRQUMxRSxJQUFJLENBQUNILGVBQWU7WUFDbEIsTUFBTSxJQUFJSSxNQUFNLENBQUMsVUFBVSxFQUFFTCxVQUFVSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEU7UUFFQSxNQUFNRSxRQUFRQyxLQUFLQyxHQUFHO1FBQ3RCLE1BQU1DLE1BQU07WUFBRW5CO1FBQVE7UUFFdEIsSUFBSTtZQUNGQSxRQUFRTyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFRSxjQUFjRyxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQ25FLE1BQU1NLElBQUFBLGdDQUFlLEVBQUNEO1lBQ3RCLE1BQU1SLGNBQWNVLElBQUksQ0FBQztnQkFBRXJCO2dCQUFTbUI7WUFBSTtZQUN4Q25CLFFBQVFPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUNsQkMsS0FBSyxDQUFDLGdCQUFnQixFQUFFRSxjQUFjRyxJQUFJLENBQUMsRUFBRSxFQUFFRyxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1lBQ3hFO1lBQ0Esa0NBQWtDO1lBQ2xDLE1BQU1oQixRQUFRc0IsTUFBTSxDQUFDO2dCQUNuQkMsSUFBSWIsVUFBVWEsRUFBRTtnQkFDaEJDLFlBQVk7Z0JBQ1pMO1lBQ0Y7WUFFQSxNQUFNTSxJQUFBQSxvQ0FBaUIsRUFBQ047UUFDMUIsRUFBRSxPQUFPTyxLQUFjO1lBQ3JCLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNSO1lBQ3RCbkIsUUFBUU8sTUFBTSxDQUFDcUIsS0FBSyxDQUFDO2dCQUNuQkY7Z0JBQ0FqQixLQUFLLENBQUMsd0JBQXdCLEVBQUVFLGNBQWNHLElBQUksQ0FBQyxDQUFDO1lBQ3REO1lBQ0FlLFFBQVFDLElBQUksQ0FBQztRQUNmO0lBQ0Y7QUFDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"migrateRefresh.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateRefresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAKnD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,iBA8F7D"}
1
+ {"version":3,"file":"migrateRefresh.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateRefresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAQnD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,iBA0F7D"}