payload 2.11.1 → 2.12.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/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  2. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +4 -7
  3. package/dist/admin/components/elements/EditMany/index.d.ts.map +1 -1
  4. package/dist/admin/components/elements/EditMany/index.js +5 -2
  5. package/dist/admin/components/forms/field-types/RichText/types.d.ts +6 -1
  6. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  7. package/dist/admin/hooks/useThumbnail.js +2 -2
  8. package/dist/auth/baseFields/apiKey.js +8 -8
  9. package/dist/auth/operations/login.d.ts.map +1 -1
  10. package/dist/auth/operations/login.js +4 -2
  11. package/dist/bin/generateTypes.js +2 -2
  12. package/dist/bin/index.js +26 -22
  13. package/dist/collections/config/types.d.ts +1 -1
  14. package/dist/collections/config/types.d.ts.map +1 -1
  15. package/dist/collections/config/types.js +1 -1
  16. package/dist/collections/operations/create.d.ts.map +1 -1
  17. package/dist/collections/operations/create.js +5 -3
  18. package/dist/collections/operations/delete.d.ts.map +1 -1
  19. package/dist/collections/operations/delete.js +6 -4
  20. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  21. package/dist/collections/operations/deleteByID.js +6 -4
  22. package/dist/collections/operations/find.d.ts.map +1 -1
  23. package/dist/collections/operations/find.js +4 -2
  24. package/dist/collections/operations/findByID.d.ts.map +1 -1
  25. package/dist/collections/operations/findByID.js +4 -2
  26. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  27. package/dist/collections/operations/findVersionByID.js +4 -2
  28. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  29. package/dist/collections/operations/findVersions.js +4 -2
  30. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  31. package/dist/collections/operations/restoreVersion.js +4 -2
  32. package/dist/collections/operations/update.d.ts.map +1 -1
  33. package/dist/collections/operations/update.js +6 -2
  34. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  35. package/dist/collections/operations/updateByID.js +6 -2
  36. package/dist/exports/utilities.d.ts +1 -0
  37. package/dist/exports/utilities.d.ts.map +1 -1
  38. package/dist/exports/utilities.js +5 -1
  39. package/dist/express/middleware/errorHandler.js +2 -2
  40. package/dist/fields/config/schema.d.ts.map +1 -1
  41. package/dist/fields/config/schema.js +58 -50
  42. package/dist/fields/config/types.d.ts +8 -3
  43. package/dist/fields/config/types.d.ts.map +1 -1
  44. package/dist/fields/config/types.js +1 -1
  45. package/dist/fields/hooks/afterRead/index.d.ts +2 -0
  46. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  47. package/dist/fields/hooks/afterRead/index.js +4 -2
  48. package/dist/fields/hooks/afterRead/promise.d.ts +3 -1
  49. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  50. package/dist/fields/hooks/afterRead/promise.js +23 -7
  51. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +3 -1
  52. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  53. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +15 -7
  54. package/dist/fields/hooks/afterRead/traverseFields.d.ts +3 -1
  55. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  56. package/dist/fields/hooks/afterRead/traverseFields.js +4 -2
  57. package/dist/fields/validations.js +2 -2
  58. package/dist/globals/config/types.d.ts +1 -1
  59. package/dist/globals/config/types.d.ts.map +1 -1
  60. package/dist/globals/operations/findOne.d.ts.map +1 -1
  61. package/dist/globals/operations/findOne.js +5 -3
  62. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  63. package/dist/globals/operations/findVersionByID.js +4 -2
  64. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  65. package/dist/globals/operations/findVersions.js +4 -2
  66. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  67. package/dist/globals/operations/restoreVersion.js +12 -10
  68. package/dist/globals/operations/update.d.ts.map +1 -1
  69. package/dist/globals/operations/update.js +11 -7
  70. package/dist/payload.d.ts.map +1 -1
  71. package/dist/payload.js +2 -3
  72. package/dist/preferences/operations/delete.d.ts.map +1 -1
  73. package/dist/preferences/operations/delete.js +1 -2
  74. package/dist/translations/nb.json +1 -1
  75. package/dist/translations/nl.json +2 -2
  76. package/dist/uploads/canResizeImage.js +3 -2
  77. package/dist/uploads/generateFileData.js +2 -2
  78. package/dist/utilities/configToJSONSchema.d.ts +11 -4
  79. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  80. package/dist/utilities/configToJSONSchema.js +65 -62
  81. package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
  82. package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
  83. package/dist/utilities/getCollectionIDFieldTypes.js +22 -0
  84. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  85. package/dist/utilities/getEntityPolicies.js +10 -2
  86. package/package.json +3 -2
  87. package/utilities.d.ts +1 -0
  88. package/utilities.js +5 -1
@@ -33,8 +33,10 @@ async function getEntityPolicies(args) {
33
33
  if (typeof where === 'object') {
34
34
  const paginatedRes = await req.payload.find({
35
35
  collection: entity.slug,
36
+ depth: 0,
36
37
  limit: 1,
37
38
  overrideAccess: true,
39
+ pagination: false,
38
40
  req,
39
41
  where: {
40
42
  ...where,
@@ -53,6 +55,7 @@ async function getEntityPolicies(args) {
53
55
  return req.payload.findByID({
54
56
  id,
55
57
  collection: entity.slug,
58
+ depth: 0,
56
59
  overrideAccess: true,
57
60
  req
58
61
  });
@@ -63,8 +66,13 @@ async function getEntityPolicies(args) {
63
66
  const createAccessPromise = async ({ access, accessLevel, disableWhere = false, operation, policiesObj })=>{
64
67
  const mutablePolicies = policiesObj;
65
68
  if (accessLevel === 'field' && docBeingAccessed === undefined) {
66
- docBeingAccessed = await getEntityDoc();
69
+ // assign docBeingAccessed first as the promise to avoid multiple calls to getEntityDoc
70
+ docBeingAccessed = getEntityDoc().then((doc)=>{
71
+ docBeingAccessed = doc;
72
+ });
67
73
  }
74
+ // awaiting the promise to ensure docBeingAccessed is assigned before it is used
75
+ await docBeingAccessed;
68
76
  const data = req?.body;
69
77
  const accessResult = await access({
70
78
  id,
@@ -201,4 +209,4 @@ async function getEntityPolicies(args) {
201
209
  return policies;
202
210
  }
203
211
 
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFjY2VzcyB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBbGxPcGVyYXRpb25zLCBEb2N1bWVudCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIGlkPzogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHR5cGU6ICdjb2xsZWN0aW9uJyB8ICdnbG9iYWwnXG59XG5cbnR5cGUgUmV0dXJuVHlwZTxUIGV4dGVuZHMgQXJncz4gPSBUWyd0eXBlJ10gZXh0ZW5kcyAnZ2xvYmFsJ1xuICA/IEdsb2JhbFBlcm1pc3Npb25cbiAgOiBDb2xsZWN0aW9uUGVybWlzc2lvblxuXG50eXBlIENyZWF0ZUFjY2Vzc1Byb21pc2UgPSAoYXJnczoge1xuICBhY2Nlc3M6IEFjY2VzcyB8IEZpZWxkQWNjZXNzXG4gIGFjY2Vzc0xldmVsOiAnZW50aXR5JyB8ICdmaWVsZCdcbiAgZGlzYWJsZVdoZXJlPzogYm9vbGVhblxuICBvcGVyYXRpb246IEFsbE9wZXJhdGlvbnNcbiAgcG9saWNpZXNPYmo6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfVxufSkgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5UG9saWNpZXM8VCBleHRlbmRzIEFyZ3M+KGFyZ3M6IFQpOiBQcm9taXNlPFJldHVyblR5cGU8VD4+IHtcbiAgY29uc3QgeyBpZCwgZW50aXR5LCBvcGVyYXRpb25zLCByZXEsIHR5cGUgfSA9IGFyZ3NcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhcmVxLnVzZXJcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgLy8gYHBvbGljaWVzYCBhbmQgYHByb21pc2VzYCBnZXQgbXV0YXRlZCBpblxuICAvLyB0aGUgZnVuY3Rpb25zIGJlbG93LCBhbmQgcmV0dXJuIGluIHRoZSBlbmRcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcmVxLnBheWxvYWQuZmluZEdsb2JhbCh7XG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNsdWc6IGVudGl0eS5zbHVnLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gJ2NvbGxlY3Rpb24nICYmIGlkKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2hlcmUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFnaW5hdGVkUmVzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBlbnRpdHkuc2x1ZyxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAuLi53aGVyZSxcbiAgICAgICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICAgICAgLi4uKHdoZXJlLmFuZCB8fCBbXSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgZXF1YWxzOiBpZCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiBwYWdpbmF0ZWRSZXM/LmRvY3M/LlswXSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXEucGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUFjY2Vzc1Byb21pc2U6IENyZWF0ZUFjY2Vzc1Byb21pc2UgPSBhc3luYyAoe1xuICAgIGFjY2VzcyxcbiAgICBhY2Nlc3NMZXZlbCxcbiAgICBkaXNhYmxlV2hlcmUgPSBmYWxzZSxcbiAgICBvcGVyYXRpb24sXG4gICAgcG9saWNpZXNPYmosXG4gIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09ialxuXG4gICAgaWYgKGFjY2Vzc0xldmVsID09PSAnZmllbGQnICYmIGRvY0JlaW5nQWNjZXNzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGF3YWl0IGdldEVudGl0eURvYygpXG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHJlcT8uYm9keVxuXG4gICAgY29uc3QgYWNjZXNzUmVzdWx0ID0gYXdhaXQgYWNjZXNzKHsgaWQsIGRhdGEsIGRvYzogZG9jQmVpbmdBY2Nlc3NlZCwgcmVxIH0pXG5cbiAgICBpZiAodHlwZW9mIGFjY2Vzc1Jlc3VsdCA9PT0gJ29iamVjdCcgJiYgIWRpc2FibGVXaGVyZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246XG4gICAgICAgICAgaWQgfHwgdHlwZSA9PT0gJ2dsb2JhbCcgPyAhIShhd2FpdCBnZXRFbnRpdHlEb2MoeyB3aGVyZTogYWNjZXNzUmVzdWx0IH0pKSA6IHRydWUsXG4gICAgICAgIHdoZXJlOiBhY2Nlc3NSZXN1bHQsXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXT8ucGVybWlzc2lvbiAhPT0gZmFsc2UpIHtcbiAgICAgIG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICBwZXJtaXNzaW9uOiAhIWFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBleGVjdXRlRmllbGRQb2xpY2llcyA9IGFzeW5jICh7IGVudGl0eVBlcm1pc3Npb24sIGZpZWxkcywgb3BlcmF0aW9uLCBwb2xpY2llc09iaiB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmouZmllbGRzXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGZpZWxkcy5tYXAoYXN5bmMgKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0pIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgICBpZiAoZmllbGQuYWNjZXNzICYmIHR5cGVvZiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgYXdhaXQgY3JlYXRlQWNjZXNzUHJvbWlzZSh7XG4gICAgICAgICAgICAgIGFjY2VzczogZmllbGQuYWNjZXNzW29wZXJhdGlvbl0sXG4gICAgICAgICAgICAgIGFjY2Vzc0xldmVsOiAnZmllbGQnLFxuICAgICAgICAgICAgICBkaXNhYmxlV2hlcmU6IHRydWUsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXVtvcGVyYXRpb25dID0ge1xuICAgICAgICAgICAgICBwZXJtaXNzaW9uOiBwb2xpY2llc09ialtvcGVyYXRpb25dPy5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmZpZWxkcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmZpZWxkcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkPy5ibG9ja3MpIHtcbiAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdPy5ibG9ja3MpIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3MgPSB7fVxuXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgZmllbGQuYmxvY2tzLm1hcChhc3luYyAoYmxvY2spID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3M/LltibG9jay5zbHVnXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl06IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z11bb3BlcmF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dID0ge1xuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgZmllbGQudGFicy5tYXAoYXN5bmMgKHRhYikgPT4ge1xuICAgICAgICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0gPSB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmosXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBhd2FpdCBvcGVyYXRpb25zLnJlZHVjZShhc3luYyAocHJpb3JPcGVyYXRpb24sIG9wZXJhdGlvbikgPT4ge1xuICAgIGF3YWl0IHByaW9yT3BlcmF0aW9uXG5cbiAgICBsZXQgZW50aXR5QWNjZXNzUHJvbWlzZTogUHJvbWlzZTx2b2lkPlxuXG4gICAgaWYgKHR5cGVvZiBlbnRpdHkuYWNjZXNzW29wZXJhdGlvbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVudGl0eUFjY2Vzc1Byb21pc2UgPSBjcmVhdGVBY2Nlc3NQcm9taXNlKHtcbiAgICAgICAgYWNjZXNzOiBlbnRpdHkuYWNjZXNzW29wZXJhdGlvbl0sXG4gICAgICAgIGFjY2Vzc0xldmVsOiAnZW50aXR5JyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwb2xpY2llc09iajogcG9saWNpZXMsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBwb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICBwZXJtaXNzaW9uOiBpc0xvZ2dlZEluLFxuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IGVudGl0eUFjY2Vzc1Byb21pc2VcblxuICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgIGVudGl0eVBlcm1pc3Npb246IHBvbGljaWVzW29wZXJhdGlvbl0ucGVybWlzc2lvbixcbiAgICAgIGZpZWxkczogZW50aXR5LmZpZWxkcyxcbiAgICAgIG9wZXJhdGlvbixcbiAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICB9KVxuICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICByZXR1cm4gcG9saWNpZXNcbn1cbiJdLCJuYW1lcyI6WyJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiaXNMb2dnZWRJbiIsInVzZXIiLCJwb2xpY2llcyIsImZpZWxkcyIsImRvY0JlaW5nQWNjZXNzZWQiLCJnZXRFbnRpdHlEb2MiLCJ3aGVyZSIsInNsdWciLCJwYXlsb2FkIiwiZmluZEdsb2JhbCIsIm92ZXJyaWRlQWNjZXNzIiwicGFnaW5hdGVkUmVzIiwiZmluZCIsImNvbGxlY3Rpb24iLCJsaW1pdCIsImFuZCIsImVxdWFscyIsImRvY3MiLCJ1bmRlZmluZWQiLCJmaW5kQnlJRCIsImNyZWF0ZUFjY2Vzc1Byb21pc2UiLCJhY2Nlc3MiLCJhY2Nlc3NMZXZlbCIsImRpc2FibGVXaGVyZSIsIm9wZXJhdGlvbiIsInBvbGljaWVzT2JqIiwibXV0YWJsZVBvbGljaWVzIiwiZGF0YSIsImJvZHkiLCJhY2Nlc3NSZXN1bHQiLCJkb2MiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInRhYkhhc05hbWUiLCJyZWR1Y2UiLCJwcmlvck9wZXJhdGlvbiIsImVudGl0eUFjY2Vzc1Byb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdDc0JBOzs7ZUFBQUE7Ozt1QkF4Qks7QUF3QnBCLGVBQWVBLGtCQUFrQ0MsSUFBTztJQUM3RCxNQUFNLEVBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFLEdBQUdMO0lBQzlDLE1BQU1NLGFBQWEsQ0FBQyxDQUFDRixJQUFJRyxJQUFJO0lBQzdCLCtDQUErQztJQUMvQywyQ0FBMkM7SUFDM0MsNkNBQTZDO0lBQzdDLCtDQUErQztJQUMvQyxNQUFNQyxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtBQUssRUFBcUIsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSVYsT0FBT1csSUFBSSxFQUFFO1lBQ2YsSUFBSVIsU0FBUyxVQUFVO2dCQUNyQixPQUFPRCxJQUFJVSxPQUFPLENBQUNDLFVBQVUsQ0FBQztvQkFDNUJDLGdCQUFnQjtvQkFDaEJaO29CQUNBUyxNQUFNWCxPQUFPVyxJQUFJO2dCQUNuQjtZQUNGO1lBRUEsSUFBSVIsU0FBUyxnQkFBZ0JKLElBQUk7Z0JBQy9CLElBQUksT0FBT1csVUFBVSxVQUFVO29CQUM3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
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFjY2VzcyB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBbGxPcGVyYXRpb25zLCBEb2N1bWVudCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIGlkPzogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHR5cGU6ICdjb2xsZWN0aW9uJyB8ICdnbG9iYWwnXG59XG5cbnR5cGUgUmV0dXJuVHlwZTxUIGV4dGVuZHMgQXJncz4gPSBUWyd0eXBlJ10gZXh0ZW5kcyAnZ2xvYmFsJ1xuICA/IEdsb2JhbFBlcm1pc3Npb25cbiAgOiBDb2xsZWN0aW9uUGVybWlzc2lvblxuXG50eXBlIENyZWF0ZUFjY2Vzc1Byb21pc2UgPSAoYXJnczoge1xuICBhY2Nlc3M6IEFjY2VzcyB8IEZpZWxkQWNjZXNzXG4gIGFjY2Vzc0xldmVsOiAnZW50aXR5JyB8ICdmaWVsZCdcbiAgZGlzYWJsZVdoZXJlPzogYm9vbGVhblxuICBvcGVyYXRpb246IEFsbE9wZXJhdGlvbnNcbiAgcG9saWNpZXNPYmo6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfVxufSkgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5UG9saWNpZXM8VCBleHRlbmRzIEFyZ3M+KGFyZ3M6IFQpOiBQcm9taXNlPFJldHVyblR5cGU8VD4+IHtcbiAgY29uc3QgeyBpZCwgZW50aXR5LCBvcGVyYXRpb25zLCByZXEsIHR5cGUgfSA9IGFyZ3NcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhcmVxLnVzZXJcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgLy8gYHBvbGljaWVzYCBhbmQgYHByb21pc2VzYCBnZXQgbXV0YXRlZCBpblxuICAvLyB0aGUgZnVuY3Rpb25zIGJlbG93LCBhbmQgcmV0dXJuIGluIHRoZSBlbmRcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcmVxLnBheWxvYWQuZmluZEdsb2JhbCh7XG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNsdWc6IGVudGl0eS5zbHVnLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gJ2NvbGxlY3Rpb24nICYmIGlkKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2hlcmUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFnaW5hdGVkUmVzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBlbnRpdHkuc2x1ZyxcbiAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgbGltaXQ6IDEsXG4gICAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgLi4ud2hlcmUsXG4gICAgICAgICAgICAgIGFuZDogW1xuICAgICAgICAgICAgICAgIC4uLih3aGVyZS5hbmQgfHwgW10pLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gcGFnaW5hdGVkUmVzPy5kb2NzPy5bMF0gfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVxLnBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBjcmVhdGVBY2Nlc3NQcm9taXNlOiBDcmVhdGVBY2Nlc3NQcm9taXNlID0gYXN5bmMgKHtcbiAgICBhY2Nlc3MsXG4gICAgYWNjZXNzTGV2ZWwsXG4gICAgZGlzYWJsZVdoZXJlID0gZmFsc2UsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBvbGljaWVzT2JqLFxuICB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmpcblxuICAgIGlmIChhY2Nlc3NMZXZlbCA9PT0gJ2ZpZWxkJyAmJiBkb2NCZWluZ0FjY2Vzc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIGFzc2lnbiBkb2NCZWluZ0FjY2Vzc2VkIGZpcnN0IGFzIHRoZSBwcm9taXNlIHRvIGF2b2lkIG11bHRpcGxlIGNhbGxzIHRvIGdldEVudGl0eURvY1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGdldEVudGl0eURvYygpLnRoZW4oKGRvYykgPT4ge1xuICAgICAgICBkb2NCZWluZ0FjY2Vzc2VkID0gZG9jXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBhd2FpdGluZyB0aGUgcHJvbWlzZSB0byBlbnN1cmUgZG9jQmVpbmdBY2Nlc3NlZCBpcyBhc3NpZ25lZCBiZWZvcmUgaXQgaXMgdXNlZFxuICAgIGF3YWl0IGRvY0JlaW5nQWNjZXNzZWRcblxuICAgIGNvbnN0IGRhdGEgPSByZXE/LmJvZHlcblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGFjY2Vzcyh7IGlkLCBkYXRhLCBkb2M6IGRvY0JlaW5nQWNjZXNzZWQsIHJlcSB9KVxuXG4gICAgaWYgKHR5cGVvZiBhY2Nlc3NSZXN1bHQgPT09ICdvYmplY3QnICYmICFkaXNhYmxlV2hlcmUpIHtcbiAgICAgIG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICBwZXJtaXNzaW9uOlxuICAgICAgICAgIGlkIHx8IHR5cGUgPT09ICdnbG9iYWwnID8gISEoYXdhaXQgZ2V0RW50aXR5RG9jKHsgd2hlcmU6IGFjY2Vzc1Jlc3VsdCB9KSkgOiB0cnVlLFxuICAgICAgICB3aGVyZTogYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0/LnBlcm1pc3Npb24gIT09IGZhbHNlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjogISFhY2Nlc3NSZXN1bHQsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZXhlY3V0ZUZpZWxkUG9saWNpZXMgPSBhc3luYyAoeyBlbnRpdHlQZXJtaXNzaW9uLCBmaWVsZHMsIG9wZXJhdGlvbiwgcG9saWNpZXNPYmogfSkgPT4ge1xuICAgIGNvbnN0IG11dGFibGVQb2xpY2llcyA9IHBvbGljaWVzT2JqLmZpZWxkc1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBmaWVsZHMubWFwKGFzeW5jIChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQubmFtZSkge1xuICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0gPSB7fVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmFjY2VzcyAmJiB0eXBlb2YgZmllbGQuYWNjZXNzW29wZXJhdGlvbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGF3YWl0IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICAgICAgICBhY2Nlc3M6IGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dLFxuICAgICAgICAgICAgICBhY2Nlc3NMZXZlbDogJ2ZpZWxkJyxcbiAgICAgICAgICAgICAgZGlzYWJsZVdoZXJlOiB0cnVlLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV1bb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbjogcG9saWNpZXNPYmpbb3BlcmF0aW9uXT8ucGVybWlzc2lvbixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5maWVsZHMpIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5maWVsZHMgPSB7fVxuXG4gICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZD8uYmxvY2tzKSB7XG4gICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXT8uYmxvY2tzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgIGZpZWxkLmJsb2Nrcy5tYXAoYXN5bmMgKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzPy5bYmxvY2suc2x1Z10pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z11bb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcG9saWNpZXNPYmosXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIGZpZWxkLnRhYnMubWFwKGFzeW5jICh0YWIpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl06IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXVtvcGVyYXRpb25dID0geyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgYXdhaXQgb3BlcmF0aW9ucy5yZWR1Y2UoYXN5bmMgKHByaW9yT3BlcmF0aW9uLCBvcGVyYXRpb24pID0+IHtcbiAgICBhd2FpdCBwcmlvck9wZXJhdGlvblxuXG4gICAgbGV0IGVudGl0eUFjY2Vzc1Byb21pc2U6IFByb21pc2U8dm9pZD5cblxuICAgIGlmICh0eXBlb2YgZW50aXR5LmFjY2Vzc1tvcGVyYXRpb25dID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlbnRpdHlBY2Nlc3NQcm9taXNlID0gY3JlYXRlQWNjZXNzUHJvbWlzZSh7XG4gICAgICAgIGFjY2VzczogZW50aXR5LmFjY2Vzc1tvcGVyYXRpb25dLFxuICAgICAgICBhY2Nlc3NMZXZlbDogJ2VudGl0eScsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjogaXNMb2dnZWRJbixcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhd2FpdCBlbnRpdHlBY2Nlc3NQcm9taXNlXG5cbiAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICBlbnRpdHlQZXJtaXNzaW9uOiBwb2xpY2llc1tvcGVyYXRpb25dLnBlcm1pc3Npb24sXG4gICAgICBmaWVsZHM6IGVudGl0eS5maWVsZHMsXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBwb2xpY2llc09iajogcG9saWNpZXMsXG4gICAgfSlcbiAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgcmV0dXJuIHBvbGljaWVzXG59XG4iXSwibmFtZXMiOlsiZ2V0RW50aXR5UG9saWNpZXMiLCJhcmdzIiwiaWQiLCJlbnRpdHkiLCJvcGVyYXRpb25zIiwicmVxIiwidHlwZSIsImlzTG9nZ2VkSW4iLCJ1c2VyIiwicG9saWNpZXMiLCJmaWVsZHMiLCJkb2NCZWluZ0FjY2Vzc2VkIiwiZ2V0RW50aXR5RG9jIiwid2hlcmUiLCJzbHVnIiwicGF5bG9hZCIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsInRoZW4iLCJkb2MiLCJkYXRhIiwiYm9keSIsImFjY2Vzc1Jlc3VsdCIsInBlcm1pc3Npb24iLCJleGVjdXRlRmllbGRQb2xpY2llcyIsImVudGl0eVBlcm1pc3Npb24iLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiZmllbGQiLCJuYW1lIiwiYmxvY2tzIiwiYmxvY2siLCJ0YWJzIiwidGFiIiwidGFiSGFzTmFtZSIsInJlZHVjZSIsInByaW9yT3BlcmF0aW9uIiwiZW50aXR5QWNjZXNzUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0NzQkE7OztlQUFBQTs7O3VCQXhCSztBQXdCcEIsZUFBZUEsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTU0sYUFBYSxDQUFDLENBQUNGLElBQUlH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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.11.1",
3
+ "version": "2.12.0",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -221,7 +221,8 @@
221
221
  ],
222
222
  "repository": {
223
223
  "type": "git",
224
- "url": "https://github.com/payloadcms/payload.git"
224
+ "url": "https://github.com/payloadcms/payload.git",
225
+ "directory": "packages/payload"
225
226
  },
226
227
  "bugs": {
227
228
  "url": "https://github.com/payloadcms/payload"
package/utilities.d.ts CHANGED
@@ -11,6 +11,7 @@ export { deepMerge } from './dist/utilities/deepMerge';
11
11
  export { fieldSchemaToJSON } from './dist/utilities/fieldSchemaToJSON';
12
12
  export { default as flattenTopLevelFields } from './dist/utilities/flattenTopLevelFields';
13
13
  export { formatLabels, formatNames, toWords } from './dist/utilities/formatLabels';
14
+ export { getCollectionIDFieldTypes } from './dist/utilities/getCollectionIDFieldTypes';
14
15
  export { getIDType } from './dist/utilities/getIDType';
15
16
  export { getTranslation } from './dist/utilities/getTranslation';
16
17
  export { isValidID } from './dist/utilities/isValidID';
package/utilities.js CHANGED
@@ -51,6 +51,9 @@ _export(exports, {
51
51
  formatNames: function() {
52
52
  return _formatLabels.formatNames;
53
53
  },
54
+ getCollectionIDFieldTypes: function() {
55
+ return _getCollectionIDFieldTypes.getCollectionIDFieldTypes;
56
+ },
54
57
  getIDType: function() {
55
58
  return _getIDType.getIDType;
56
59
  },
@@ -86,6 +89,7 @@ const _deepMerge = require("./dist/utilities/deepMerge");
86
89
  const _fieldSchemaToJSON = require("./dist/utilities/fieldSchemaToJSON");
87
90
  const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("./dist/utilities/flattenTopLevelFields"));
88
91
  const _formatLabels = require("./dist/utilities/formatLabels");
92
+ const _getCollectionIDFieldTypes = require("./dist/utilities/getCollectionIDFieldTypes");
89
93
  const _getIDType = require("./dist/utilities/getIDType");
90
94
  const _getTranslation = require("./dist/utilities/getTranslation");
91
95
  const _isValidID = require("./dist/utilities/isValidID");
@@ -95,4 +99,4 @@ function _interop_require_default(obj) {
95
99
  };
96
100
  }
97
101
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICcuLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9XaXRoTWVyZ2VkUHJvcHMnXG5leHBvcnQgeyBwcm9taXNlIGFzIGFmdGVyUmVhZFByb21pc2UgfSBmcm9tICcuLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UnXG5leHBvcnQgeyB0cmF2ZXJzZUZpZWxkcyBhcyBhZnRlclJlYWRUcmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQvdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCB7IGV4dHJhY3RUcmFuc2xhdGlvbnMgfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvZXh0cmFjdFRyYW5zbGF0aW9ucydcbmV4cG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2luaXQnXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuXG5leHBvcnQge1xuICBjb25maWdUb0pTT05TY2hlbWEsXG4gIGVudGl0eVRvSlNPTlNjaGVtYSxcbiAgZmllbGRzVG9KU09OU2NoZW1hLFxuICB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSxcbn0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbmZpZ1RvSlNPTlNjaGVtYSdcbmV4cG9ydCB7IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCB9IGZyb20gJy4uL3V0aWxpdGllcy9jcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQnXG5cbmV4cG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RlZXBDb3B5T2JqZWN0J1xuZXhwb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RlZXBNZXJnZSdcbmV4cG9ydCB7IGZpZWxkU2NoZW1hVG9KU09OIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ZpZWxkU2NoZW1hVG9KU09OJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5leHBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuZXhwb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5cbmV4cG9ydCB7IGlzVmFsaWRJRCB9IGZyb20gJy4uL3V0aWxpdGllcy9pc1ZhbGlkSUQnXG4iXSwibmFtZXMiOlsiYWZ0ZXJSZWFkUHJvbWlzZSIsInByb21pc2UiLCJhZnRlclJlYWRUcmF2ZXJzZUZpZWxkcyIsInRyYXZlcnNlRmllbGRzIiwiY29tYmluZU1lcmdlIiwiY29uZmlnVG9KU09OU2NoZW1hIiwiY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIiwiZGVlcENvcHlPYmplY3QiLCJkZWVwTWVyZ2UiLCJlbnRpdHlUb0pTT05TY2hlbWEiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiZmllbGRTY2hlbWFUb0pTT04iLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXROYW1lcyIsImdldElEVHlwZSIsImdldFRyYW5zbGF0aW9uIiwiaTE4bkluaXQiLCJpc1ZhbGlkSUQiLCJ0b1dvcmRzIiwid2l0aE1lcmdlZFByb3BzIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQ29CQSxnQkFBZ0I7ZUFBM0JDLGdCQUFPOztJQUNXQyx1QkFBdUI7ZUFBekNDLDhCQUFjOztJQUlkQyxZQUFZO2VBQVpBLDBCQUFZOztJQUduQkMsa0JBQWtCO2VBQWxCQSxzQ0FBa0I7O0lBS1hDLDhCQUE4QjtlQUE5QkEsOERBQThCOztJQUU5QkMsY0FBYztlQUFkQSw4QkFBYzs7SUFDZEMsU0FBUztlQUFUQSxvQkFBUzs7SUFQaEJDLGtCQUFrQjtlQUFsQkEsc0NBQWtCOztJQU5YQyxtQkFBbUI7ZUFBbkJBLHdDQUFtQjs7SUFjbkJDLGlCQUFpQjtlQUFqQkEsb0NBQWlCOztJQVB4QkMsa0JBQWtCO2VBQWxCQSxzQ0FBa0I7O0lBUUFDLHFCQUFxQjtlQUFyQkEsOEJBQXFCOztJQUNoQ0MsWUFBWTtlQUFaQSwwQkFBWTs7SUFBRUMsV0FBVztlQUFYQSx5QkFBVzs7SUFDekJDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBakJkQyxRQUFRO2VBQVJBLGNBQVE7O0lBbUJSQyxTQUFTO2VBQVRBLG9CQUFTOztJQUprQkMsT0FBTztlQUFQQSxxQkFBTzs7SUFwQmxDQyxlQUFlO2VBQWZBLGdDQUFlOztJQVl0QkMsMEJBQTBCO2VBQTFCQSw4Q0FBMEI7OztpQ0FaSTt5QkFDWTtnQ0FDYztxQ0FFdEI7c0JBQ1g7OEJBQ0k7b0NBT3RCO2dEQUN3QztnQ0FFaEI7MkJBQ0w7bUNBQ1E7OEVBQ2U7OEJBQ0U7MkJBQ3pCO2dDQUNLOzJCQUVMIn0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICcuLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9XaXRoTWVyZ2VkUHJvcHMnXG5leHBvcnQgeyBwcm9taXNlIGFzIGFmdGVyUmVhZFByb21pc2UgfSBmcm9tICcuLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UnXG5leHBvcnQgeyB0cmF2ZXJzZUZpZWxkcyBhcyBhZnRlclJlYWRUcmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQvdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCB7IGV4dHJhY3RUcmFuc2xhdGlvbnMgfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvZXh0cmFjdFRyYW5zbGF0aW9ucydcbmV4cG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2luaXQnXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuXG5leHBvcnQge1xuICBjb25maWdUb0pTT05TY2hlbWEsXG4gIGVudGl0eVRvSlNPTlNjaGVtYSxcbiAgZmllbGRzVG9KU09OU2NoZW1hLFxuICB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSxcbn0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbmZpZ1RvSlNPTlNjaGVtYSdcbmV4cG9ydCB7IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCB9IGZyb20gJy4uL3V0aWxpdGllcy9jcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQnXG5cbmV4cG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RlZXBDb3B5T2JqZWN0J1xuZXhwb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RlZXBNZXJnZSdcbmV4cG9ydCB7IGZpZWxkU2NoZW1hVG9KU09OIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ZpZWxkU2NoZW1hVG9KU09OJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5leHBvcnQgeyBnZXRDb2xsZWN0aW9uSURGaWVsZFR5cGVzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldENvbGxlY3Rpb25JREZpZWxkVHlwZXMnXG5leHBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuXG5leHBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmV4cG9ydCB7IGlzVmFsaWRJRCB9IGZyb20gJy4uL3V0aWxpdGllcy9pc1ZhbGlkSUQnXG4iXSwibmFtZXMiOlsiYWZ0ZXJSZWFkUHJvbWlzZSIsInByb21pc2UiLCJhZnRlclJlYWRUcmF2ZXJzZUZpZWxkcyIsInRyYXZlcnNlRmllbGRzIiwiY29tYmluZU1lcmdlIiwiY29uZmlnVG9KU09OU2NoZW1hIiwiY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIiwiZGVlcENvcHlPYmplY3QiLCJkZWVwTWVyZ2UiLCJlbnRpdHlUb0pTT05TY2hlbWEiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiZmllbGRTY2hlbWFUb0pTT04iLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXROYW1lcyIsImdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMiLCJnZXRJRFR5cGUiLCJnZXRUcmFuc2xhdGlvbiIsImkxOG5Jbml0IiwiaXNWYWxpZElEIiwidG9Xb3JkcyIsIndpdGhNZXJnZWRQcm9wcyIsIndpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUNvQkEsZ0JBQWdCO2VBQTNCQyxnQkFBTzs7SUFDV0MsdUJBQXVCO2VBQXpDQyw4QkFBYzs7SUFJZEMsWUFBWTtlQUFaQSwwQkFBWTs7SUFHbkJDLGtCQUFrQjtlQUFsQkEsc0NBQWtCOztJQUtYQyw4QkFBOEI7ZUFBOUJBLDhEQUE4Qjs7SUFFOUJDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBQ2RDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBUGhCQyxrQkFBa0I7ZUFBbEJBLHNDQUFrQjs7SUFOWEMsbUJBQW1CO2VBQW5CQSx3Q0FBbUI7O0lBY25CQyxpQkFBaUI7ZUFBakJBLG9DQUFpQjs7SUFQeEJDLGtCQUFrQjtlQUFsQkEsc0NBQWtCOztJQVFBQyxxQkFBcUI7ZUFBckJBLDhCQUFxQjs7SUFDaENDLFlBQVk7ZUFBWkEsMEJBQVk7O0lBQUVDLFdBQVc7ZUFBWEEseUJBQVc7O0lBQ3pCQyx5QkFBeUI7ZUFBekJBLG9EQUF5Qjs7SUFDekJDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBRVRDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBbkJkQyxRQUFRO2VBQVJBLGNBQVE7O0lBb0JSQyxTQUFTO2VBQVRBLG9CQUFTOztJQUxrQkMsT0FBTztlQUFQQSxxQkFBTzs7SUFwQmxDQyxlQUFlO2VBQWZBLGdDQUFlOztJQVl0QkMsMEJBQTBCO2VBQTFCQSw4Q0FBMEI7OztpQ0FaSTt5QkFDWTtnQ0FDYztxQ0FFdEI7c0JBQ1g7OEJBQ0k7b0NBT3RCO2dEQUN3QztnQ0FFaEI7MkJBQ0w7bUNBQ1E7OEVBQ2U7OEJBQ0U7MkNBQ1Q7MkJBQ2hCO2dDQUVLOzJCQUNMIn0=