payload 3.0.0-alpha.20 → 3.0.0-alpha.21

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 (308) hide show
  1. package/auth.js +5 -44
  2. package/config.js +10 -59
  3. package/database.js +21 -108
  4. package/dist/admin/RichText.js +2 -5
  5. package/dist/admin/elements/Cell.js +2 -5
  6. package/dist/admin/elements/DatePicker.js +2 -5
  7. package/dist/admin/elements/PreviewButton.js +2 -5
  8. package/dist/admin/elements/PublishButton.js +2 -5
  9. package/dist/admin/elements/SaveButton.js +2 -5
  10. package/dist/admin/elements/SaveDraftButton.js +2 -5
  11. package/dist/admin/elements/Tab.js +2 -5
  12. package/dist/admin/forms/Error.js +2 -5
  13. package/dist/admin/forms/FieldDescription.js +2 -5
  14. package/dist/admin/forms/FieldTypes.js +2 -5
  15. package/dist/admin/forms/Form.js +2 -5
  16. package/dist/admin/forms/Label.js +2 -5
  17. package/dist/admin/forms/RowLabel.js +2 -5
  18. package/dist/admin/types.js +2 -5
  19. package/dist/admin/views/types.js +2 -5
  20. package/dist/assets/assets.d.js +0 -1
  21. package/dist/auth/baseFields/accountLock.js +2 -12
  22. package/dist/auth/baseFields/apiKey.js +6 -21
  23. package/dist/auth/baseFields/auth.js +6 -16
  24. package/dist/auth/baseFields/verification.js +4 -14
  25. package/dist/auth/cookies.js +6 -33
  26. package/dist/auth/crypto.js +7 -30
  27. package/dist/auth/defaultAccess.js +2 -12
  28. package/dist/auth/defaultUser.js +4 -14
  29. package/dist/auth/executeAccess.js +5 -15
  30. package/dist/auth/extractJWT.js +4 -14
  31. package/dist/auth/getAccessResults.js +5 -15
  32. package/dist/auth/getAuthenticatedUser.js +2 -12
  33. package/dist/auth/getFieldsToSign.js +5 -15
  34. package/dist/auth/index.js +4 -27
  35. package/dist/auth/isLocked.js +2 -12
  36. package/dist/auth/operations/access.js +12 -22
  37. package/dist/auth/operations/forgotPassword.js +17 -32
  38. package/dist/auth/operations/init.js +2 -12
  39. package/dist/auth/operations/local/forgotPassword.js +8 -18
  40. package/dist/auth/operations/local/index.js +12 -27
  41. package/dist/auth/operations/local/login.js +8 -18
  42. package/dist/auth/operations/local/resetPassword.js +8 -18
  43. package/dist/auth/operations/local/unlock.js +8 -18
  44. package/dist/auth/operations/local/verifyEmail.js +8 -18
  45. package/dist/auth/operations/login.js +32 -47
  46. package/dist/auth/operations/logout.js +6 -21
  47. package/dist/auth/operations/me.js +4 -19
  48. package/dist/auth/operations/refresh.js +19 -34
  49. package/dist/auth/operations/registerFirstUser.js +10 -20
  50. package/dist/auth/operations/resetPassword.js +20 -43
  51. package/dist/auth/operations/unlock.js +16 -39
  52. package/dist/auth/operations/verifyEmail.js +14 -37
  53. package/dist/auth/sendVerificationEmail.js +4 -14
  54. package/dist/auth/strategies/apiKey.js +4 -19
  55. package/dist/auth/strategies/jwt.js +6 -21
  56. package/dist/auth/strategies/local/authenticate.js +6 -21
  57. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  58. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  59. package/dist/auth/strategies/local/register.js +6 -16
  60. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  61. package/dist/auth/types.js +2 -12
  62. package/dist/bin/generateTypes.js +12 -27
  63. package/dist/bin/index.js +11 -20
  64. package/dist/bin/loadEnv.js +13 -26
  65. package/dist/bin/migrate.js +15 -30
  66. package/dist/bundlers/mocks/db-mongodb.js +0 -1
  67. package/dist/bundlers/mocks/db-postgres.js +2 -12
  68. package/dist/bundlers/mocks/dotENV.js +2 -12
  69. package/dist/bundlers/mocks/emptyModule.js +2 -12
  70. package/dist/bundlers/mocks/fileMock.js +2 -12
  71. package/dist/bundlers/types.js +2 -5
  72. package/dist/collections/config/build.js +2 -12
  73. package/dist/collections/config/defaults.js +9 -32
  74. package/dist/collections/config/sanitize.js +34 -49
  75. package/dist/collections/config/schema.js +157 -172
  76. package/dist/collections/config/types.js +2 -5
  77. package/dist/collections/dataloader.js +8 -23
  78. package/dist/collections/operations/create.js +38 -53
  79. package/dist/collections/operations/delete.js +27 -42
  80. package/dist/collections/operations/deleteByID.js +27 -42
  81. package/dist/collections/operations/docAccess.js +10 -20
  82. package/dist/collections/operations/find.js +25 -40
  83. package/dist/collections/operations/findByID.js +21 -36
  84. package/dist/collections/operations/findVersionByID.js +19 -34
  85. package/dist/collections/operations/findVersions.js +20 -35
  86. package/dist/collections/operations/local/create.js +10 -25
  87. package/dist/collections/operations/local/delete.js +10 -20
  88. package/dist/collections/operations/local/find.js +8 -18
  89. package/dist/collections/operations/local/findByID.js +8 -18
  90. package/dist/collections/operations/local/findVersionByID.js +8 -18
  91. package/dist/collections/operations/local/findVersions.js +8 -18
  92. package/dist/collections/operations/local/index.js +20 -35
  93. package/dist/collections/operations/local/restoreVersion.js +8 -18
  94. package/dist/collections/operations/local/update.js +12 -27
  95. package/dist/collections/operations/restoreVersion.js +26 -41
  96. package/dist/collections/operations/update.js +43 -58
  97. package/dist/collections/operations/updateByID.js +44 -59
  98. package/dist/collections/operations/utils.js +3 -12
  99. package/dist/config/build.js +9 -15
  100. package/dist/config/clientFiles.js +2 -12
  101. package/dist/config/createClientConfig.js +4 -25
  102. package/dist/config/defaults.js +4 -19
  103. package/dist/config/find.js +18 -33
  104. package/dist/config/load.js +6 -21
  105. package/dist/config/sanitize.js +25 -40
  106. package/dist/config/schema.js +115 -138
  107. package/dist/config/shared/adminViewSchema.js +9 -24
  108. package/dist/config/shared/componentSchema.js +21 -50
  109. package/dist/config/types.js +9 -21
  110. package/dist/config/validate.js +15 -71
  111. package/dist/database/combineQueries.js +4 -14
  112. package/dist/database/createDatabaseAdapter.js +14 -24
  113. package/dist/database/flattenWhereToOperators.js +2 -12
  114. package/dist/database/getLocalizedPaths.js +7 -22
  115. package/dist/database/migrations/createMigration.js +7 -22
  116. package/dist/database/migrations/getMigrations.js +4 -12
  117. package/dist/database/migrations/migrate.js +12 -22
  118. package/dist/database/migrations/migrateDown.js +12 -22
  119. package/dist/database/migrations/migrateRefresh.js +16 -24
  120. package/dist/database/migrations/migrateReset.js +12 -22
  121. package/dist/database/migrations/migrateStatus.js +8 -18
  122. package/dist/database/migrations/migrationTemplate.js +2 -12
  123. package/dist/database/migrations/migrationsCollection.js +2 -12
  124. package/dist/database/migrations/readMigrationFiles.js +10 -23
  125. package/dist/database/queryValidation/types.js +2 -5
  126. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  127. package/dist/database/queryValidation/validateSearchParams.js +13 -21
  128. package/dist/database/types.js +2 -5
  129. package/dist/email/build.js +11 -26
  130. package/dist/email/defaults.js +2 -12
  131. package/dist/email/mockHandler.js +8 -23
  132. package/dist/email/sendEmail.js +2 -12
  133. package/dist/email/types.js +2 -5
  134. package/dist/errors/APIError.js +4 -19
  135. package/dist/errors/AuthenticationError.js +7 -22
  136. package/dist/errors/DuplicateCollection.js +4 -19
  137. package/dist/errors/DuplicateFieldName.js +4 -19
  138. package/dist/errors/DuplicateGlobal.js +4 -19
  139. package/dist/errors/ErrorDeletingFile.js +7 -22
  140. package/dist/errors/FileUploadError.js +7 -22
  141. package/dist/errors/Forbidden.js +7 -22
  142. package/dist/errors/InvalidConfiguration.js +6 -21
  143. package/dist/errors/InvalidFieldName.js +4 -19
  144. package/dist/errors/InvalidFieldRelationship.js +4 -19
  145. package/dist/errors/InvalidSchema.js +6 -21
  146. package/dist/errors/LockedAuth.js +7 -22
  147. package/dist/errors/MissingCollectionLabel.js +4 -19
  148. package/dist/errors/MissingFieldInputOptions.js +4 -19
  149. package/dist/errors/MissingFieldType.js +6 -21
  150. package/dist/errors/MissingFile.js +7 -22
  151. package/dist/errors/NotFound.js +7 -22
  152. package/dist/errors/QueryError.js +6 -21
  153. package/dist/errors/TimestampsRequired.js +4 -19
  154. package/dist/errors/UnathorizedError.js +7 -22
  155. package/dist/errors/ValidationError.js +8 -23
  156. package/dist/errors/index.js +20 -94
  157. package/dist/errors/types.js +2 -19
  158. package/dist/exports/auth.js +5 -44
  159. package/dist/exports/components/utilities.js +0 -1
  160. package/dist/exports/config.js +10 -59
  161. package/dist/exports/database.js +21 -108
  162. package/dist/exports/errors.js +2 -68
  163. package/dist/exports/fields/index.js +3 -26
  164. package/dist/exports/fields/validations.js +2 -19
  165. package/dist/exports/operations.js +29 -125
  166. package/dist/exports/types.js +4 -74
  167. package/dist/exports/utilities.js +28 -141
  168. package/dist/exports/versions.js +9 -45
  169. package/dist/express/middleware/errorHandler.js +0 -1
  170. package/dist/express/middleware/index.js +0 -1
  171. package/dist/fields/baseFields/baseBlockFields.js +4 -14
  172. package/dist/fields/baseFields/baseIDField.js +4 -19
  173. package/dist/fields/config/sanitize.js +24 -39
  174. package/dist/fields/config/sanitize.spec.js +25 -29
  175. package/dist/fields/config/schema.js +329 -424
  176. package/dist/fields/config/types.js +15 -69
  177. package/dist/fields/getDefaultValue.js +2 -12
  178. package/dist/fields/hooks/afterChange/index.js +6 -16
  179. package/dist/fields/hooks/afterChange/promise.js +14 -22
  180. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  181. package/dist/fields/hooks/afterRead/index.js +6 -16
  182. package/dist/fields/hooks/afterRead/promise.js +28 -36
  183. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  184. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  185. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  186. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  187. package/dist/fields/hooks/beforeChange/index.js +8 -18
  188. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  189. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  190. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  191. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  192. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  193. package/dist/fields/mergeBaseFields.js +8 -23
  194. package/dist/fields/sortableFieldTypes.js +2 -12
  195. package/dist/fields/validations.js +31 -97
  196. package/dist/fields/validations.spec.js +73 -77
  197. package/dist/globals/config/build.js +0 -1
  198. package/dist/globals/config/sanitize.js +17 -32
  199. package/dist/globals/config/schema.js +55 -70
  200. package/dist/globals/config/types.js +2 -5
  201. package/dist/globals/graphql/resolvers/docAccess.js +0 -1
  202. package/dist/globals/operations/docAccess.js +10 -20
  203. package/dist/globals/operations/findOne.js +14 -29
  204. package/dist/globals/operations/findVersionByID.js +18 -33
  205. package/dist/globals/operations/findVersions.js +20 -35
  206. package/dist/globals/operations/local/findOne.js +8 -18
  207. package/dist/globals/operations/local/findVersionByID.js +8 -18
  208. package/dist/globals/operations/local/findVersions.js +8 -18
  209. package/dist/globals/operations/local/index.js +12 -27
  210. package/dist/globals/operations/local/restoreVersion.js +8 -18
  211. package/dist/globals/operations/local/update.js +8 -18
  212. package/dist/globals/operations/restoreVersion.js +16 -31
  213. package/dist/globals/operations/update.js +23 -38
  214. package/dist/index.js +47 -71
  215. package/dist/localization/middleware.js +2 -12
  216. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  217. package/dist/preferences/deleteUserPreferences.js +2 -12
  218. package/dist/preferences/operations/delete.js +10 -25
  219. package/dist/preferences/operations/findOne.js +2 -12
  220. package/dist/preferences/operations/update.js +8 -23
  221. package/dist/preferences/preferencesCollection.js +8 -18
  222. package/dist/preferences/requestHandlers/delete.js +6 -21
  223. package/dist/preferences/requestHandlers/findOne.js +6 -21
  224. package/dist/preferences/requestHandlers/update.js +6 -21
  225. package/dist/preferences/types.js +2 -5
  226. package/dist/translations/extractTranslations.js +4 -14
  227. package/dist/translations/getLocalI18n.js +5 -15
  228. package/dist/types/constants.js +2 -12
  229. package/dist/types/index.js +2 -12
  230. package/dist/uploads/canResizeImage.js +2 -12
  231. package/dist/uploads/cropImage.js +3 -21
  232. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  233. package/dist/uploads/docWithFilenameExists.js +2 -12
  234. package/dist/uploads/fileExists.js +4 -19
  235. package/dist/uploads/formatFilesize.js +2 -12
  236. package/dist/uploads/generateFileData.js +31 -46
  237. package/dist/uploads/getBaseFields.js +6 -16
  238. package/dist/uploads/getExternalFile.js +5 -15
  239. package/dist/uploads/getFileByPath.js +10 -25
  240. package/dist/uploads/getImageSize.js +7 -22
  241. package/dist/uploads/getSafeFilename.js +8 -23
  242. package/dist/uploads/imageResizer.js +27 -42
  243. package/dist/uploads/isImage.js +2 -12
  244. package/dist/uploads/mimeTypeValidator.js +2 -12
  245. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  246. package/dist/uploads/saveBufferToFile.js +6 -21
  247. package/dist/uploads/types.js +2 -5
  248. package/dist/uploads/unlinkTempFiles.js +9 -22
  249. package/dist/uploads/uploadFiles.js +6 -21
  250. package/dist/utilities/checkDuplicateCollections.js +4 -14
  251. package/dist/utilities/combineMerge.js +4 -19
  252. package/dist/utilities/commitTransaction.js +4 -12
  253. package/dist/utilities/configToJSONSchema.js +22 -41
  254. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  255. package/dist/utilities/convertData.js +3 -23
  256. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  257. package/dist/utilities/createLocalReq.js +6 -16
  258. package/dist/utilities/deepCopyObject.js +2 -12
  259. package/dist/utilities/deepMerge.js +2 -12
  260. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  261. package/dist/utilities/flattenTopLevelFields.js +6 -16
  262. package/dist/utilities/formatLabels.js +9 -70
  263. package/dist/utilities/formatLabels.spec.js +8 -12
  264. package/dist/utilities/getCSSVariable.js +2 -12
  265. package/dist/utilities/getEntityPolicies.js +4 -14
  266. package/dist/utilities/getIDType.js +2 -12
  267. package/dist/utilities/getObjectDotNotation.js +2 -12
  268. package/dist/utilities/getUniqueListBy.js +2 -12
  269. package/dist/utilities/initTransaction.js +5 -12
  270. package/dist/utilities/isEntityHidden.js +2 -12
  271. package/dist/utilities/isNumber.js +2 -12
  272. package/dist/utilities/isValidID.js +5 -20
  273. package/dist/utilities/isolateObjectProperty.js +2 -12
  274. package/dist/utilities/killTransaction.js +4 -12
  275. package/dist/utilities/logger.js +8 -34
  276. package/dist/utilities/mapAsync.js +2 -12
  277. package/dist/utilities/overwriteMerge.js +2 -12
  278. package/dist/utilities/parseCookies.js +4 -14
  279. package/dist/utilities/pinoPretty.js +0 -1
  280. package/dist/utilities/sanitizeInternalFields.js +2 -12
  281. package/dist/utilities/setsAreEqual.js +2 -12
  282. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  283. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  284. package/dist/utilities/telemetry/index.js +17 -40
  285. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  286. package/dist/utilities/timestamp.js +2 -12
  287. package/dist/utilities/toKebabCase.js +2 -12
  288. package/dist/utilities/wait.js +2 -12
  289. package/dist/utilities/wordBoundariesRegex.js +3 -13
  290. package/dist/versions/baseFields.js +5 -23
  291. package/dist/versions/buildCollectionFields.js +2 -12
  292. package/dist/versions/buildGlobalFields.js +2 -12
  293. package/dist/versions/deleteCollectionVersions.js +2 -12
  294. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  295. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  296. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  297. package/dist/versions/enforceMaxVersions.js +2 -12
  298. package/dist/versions/getLatestCollectionVersion.js +4 -14
  299. package/dist/versions/getLatestGlobalVersion.js +4 -14
  300. package/dist/versions/getVersionsModelName.js +2 -12
  301. package/dist/versions/saveVersion.js +8 -23
  302. package/dist/versions/types.js +2 -5
  303. package/errors.js +2 -68
  304. package/operations.js +29 -125
  305. package/package.json +2 -2
  306. package/types.js +4 -74
  307. package/utilities.js +28 -141
  308. package/versions.js +9 -45
@@ -1,36 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, /**
6
- * For the provided image sizes, handle the resizing and the transforms
7
- * (format, trim, etc.) of each requested image size and return the result object.
8
- * This only handles the image sizes. The transforms of the original image
9
- * are handled in {@link ./generateFileData.ts}.
10
- *
11
- * The image will be resized according to the provided
12
- * resize config. If no image sizes are requested, the resolved data will be empty.
13
- * For every image that dos not need to be resized, an result object with `null`
14
- * parameters will be returned.
15
- *
16
- * @param resizeConfig - the resize config
17
- * @returns the result of the resize operation(s)
18
- */ "default", {
19
- enumerable: true,
20
- get: function() {
21
- return resizeAndTransformImageSizes;
22
- }
23
- });
24
- const _filetype = require("file-type");
25
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
26
- const _sanitizefilename = /*#__PURE__*/ _interop_require_default(require("sanitize-filename"));
27
- const _isNumber = require("../utilities/isNumber");
28
- const _fileExists = /*#__PURE__*/ _interop_require_default(require("./fileExists"));
29
- function _interop_require_default(obj) {
30
- return obj && obj.__esModule ? obj : {
31
- default: obj
32
- };
33
- }
1
+ import { fromBuffer } from 'file-type';
2
+ import fs from 'fs';
3
+ import sanitize from 'sanitize-filename';
4
+ import { isNumber } from '../utilities/isNumber';
5
+ import fileExists from './fileExists';
34
6
  /**
35
7
  * Sanitize the image name and extract the extension from the source image
36
8
  *
@@ -38,7 +10,7 @@ function _interop_require_default(obj) {
38
10
  * @returns the sanitized name and extension
39
11
  */ const getSanitizedImageData = (sourceImage)=>{
40
12
  const extension = sourceImage.split('.').pop();
41
- const name = (0, _sanitizefilename.default)(sourceImage.substring(0, sourceImage.lastIndexOf('.')) || sourceImage);
13
+ const name = sanitize(sourceImage.substring(0, sourceImage.lastIndexOf('.')) || sourceImage);
42
14
  return {
43
15
  name,
44
16
  ext: extension
@@ -129,7 +101,7 @@ function _interop_require_default(obj) {
129
101
  * @returns true if the image should passed directly to sharp
130
102
  */ const applyPayloadAdjustments = ({ fit, height, width, withoutEnlargement, withoutReduction }, original)=>{
131
103
  if (fit === 'contain' || fit === 'inside') return false;
132
- if (!(0, _isNumber.isNumber)(height) && !(0, _isNumber.isNumber)(width)) return false;
104
+ if (!isNumber(height) && !isNumber(width)) return false;
133
105
  const targetAspectRatio = width / height;
134
106
  const originalAspectRatio = original.width / original.height;
135
107
  if (originalAspectRatio === targetAspectRatio) return false;
@@ -156,7 +128,20 @@ function _interop_require_default(obj) {
156
128
  }
157
129
  return resizeConfig;
158
130
  };
159
- async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath }) {
131
+ /**
132
+ * For the provided image sizes, handle the resizing and the transforms
133
+ * (format, trim, etc.) of each requested image size and return the result object.
134
+ * This only handles the image sizes. The transforms of the original image
135
+ * are handled in {@link ./generateFileData.ts}.
136
+ *
137
+ * The image will be resized according to the provided
138
+ * resize config. If no image sizes are requested, the resolved data will be empty.
139
+ * For every image that dos not need to be resized, an result object with `null`
140
+ * parameters will be returned.
141
+ *
142
+ * @param resizeConfig - the resize config
143
+ * @returns the result of the resize operation(s)
144
+ */ export default async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath }) {
160
145
  const { imageSizes } = config.upload;
161
146
  // Noting to resize here so return as early as possible
162
147
  if (!imageSizes) return {
@@ -190,8 +175,8 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
190
175
  });
191
176
  // Focal point adjustments
192
177
  const focalPoint = {
193
- x: (0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.x) ? req.query.uploadEdits.focalPoint.x : 50,
194
- y: (0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.y) ? req.query.uploadEdits.focalPoint.y : 50
178
+ x: isNumber(req.query.uploadEdits.focalPoint?.x) ? req.query.uploadEdits.focalPoint.x : 50,
179
+ y: isNumber(req.query.uploadEdits.focalPoint?.y) ? req.query.uploadEdits.focalPoint.y : 50
195
180
  };
196
181
  const safeResizeWidth = resizeWidth ?? scaledImageInfo.width;
197
182
  const maxOffsetX = scaledImageInfo.width - safeResizeWidth;
@@ -222,12 +207,12 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
222
207
  });
223
208
  const sanitizedImage = getSanitizedImageData(savedFilename);
224
209
  req.payloadUploadSizes[imageResizeConfig.name] = bufferData;
225
- const mimeInfo = await (0, _filetype.fromBuffer)(bufferData);
210
+ const mimeInfo = await fromBuffer(bufferData);
226
211
  const imageNameWithDimensions = createImageName(sanitizedImage.name, bufferInfo, mimeInfo?.ext || sanitizedImage.ext);
227
212
  const imagePath = `${staticPath}/${imageNameWithDimensions}`;
228
- if (await (0, _fileExists.default)(imagePath)) {
213
+ if (await fileExists(imagePath)) {
229
214
  try {
230
- _fs.default.unlinkSync(imagePath);
215
+ fs.unlinkSync(imagePath);
231
216
  } catch {
232
217
  // Ignore unlink errors
233
218
  }
@@ -250,4 +235,4 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
250
235
  });
251
236
  }
252
237
 
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIGRlZmF1bHQgYXMgU2hhcnAgfSBmcm9tICdzaGFycCdcbmltcG9ydCB0eXBlIHNoYXJwIGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWZpbGVuYW1lJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNoYXJwRGVwZW5kZW5jeSB9IGZyb20gJy4uL2V4cG9ydHMvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBVcGxvYWRFZGl0cyB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEN1c3RvbVBheWxvYWRSZXF1ZXN0LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWxlU2l6ZSwgRmlsZVNpemVzLCBGaWxlVG9TYXZlLCBJbWFnZVNpemUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzTnVtYmVyJ1xuaW1wb3J0IGZpbGVFeGlzdHMgZnJvbSAnLi9maWxlRXhpc3RzJ1xuXG50eXBlIFJlc2l6ZUFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkaW1lbnNpb25zOiBQcm9iZWRJbWFnZVNpemVcbiAgZmlsZTogQ3VzdG9tUGF5bG9hZFJlcXVlc3RbJ2ZpbGUnXVxuICBtaW1lVHlwZTogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QgJiB7XG4gICAgcXVlcnk/OiB7XG4gICAgICB1cGxvYWRFZGl0cz86IFVwbG9hZEVkaXRzXG4gICAgfVxuICB9XG4gIHNhdmVkRmlsZW5hbWU6IHN0cmluZ1xuICBzaGFycDogU2hhcnBEZXBlbmRlbmN5XG4gIHN0YXRpY1BhdGg6IHN0cmluZ1xufVxuXG4vKiogUmVzdWx0IGZyb20gcmVzaXppbmcgYW5kIHRyYW5zZm9ybWluZyB0aGUgcmVxdWVzdGVkIGltYWdlIHNpemVzICovXG50eXBlIEltYWdlU2l6ZXNSZXN1bHQgPSB7XG4gIHNpemVEYXRhOiBGaWxlU2l6ZXNcbiAgc2l6ZXNUb1NhdmU6IEZpbGVUb1NhdmVbXVxufVxuXG50eXBlIFNhbml0aXplZEltYWdlRGF0YSA9IHtcbiAgZXh0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIGltYWdlIG5hbWUgYW5kIGV4dHJhY3QgdGhlIGV4dGVuc2lvbiBmcm9tIHRoZSBzb3VyY2UgaW1hZ2VcbiAqXG4gKiBAcGFyYW0gc291cmNlSW1hZ2UgLSB0aGUgc291cmNlIGltYWdlXG4gKiBAcmV0dXJucyB0aGUgc2FuaXRpemVkIG5hbWUgYW5kIGV4dGVuc2lvblxuICovXG5jb25zdCBnZXRTYW5pdGl6ZWRJbWFnZURhdGEgPSAoc291cmNlSW1hZ2U6IHN0cmluZyk6IFNhbml0aXplZEltYWdlRGF0YSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHNvdXJjZUltYWdlLnNwbGl0KCcuJykucG9wKClcbiAgY29uc3QgbmFtZSA9IHNhbml0aXplKHNvdXJjZUltYWdlLnN1YnN0cmluZygwLCBzb3VyY2VJbWFnZS5sYXN0SW5kZXhPZignLicpKSB8fCBzb3VyY2VJbWFnZSlcbiAgcmV0dXJuIHsgbmFtZSwgZXh0OiBleHRlbnNpb24gfVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBpbWFnZSBuYW1lIGJhc2VkIG9uIHRoZSBvdXRwdXQgaW1hZ2UgbmFtZSwgdGhlIGRpbWVuc2lvbnMgYW5kXG4gKiB0aGUgZXh0ZW5zaW9uLlxuICpcbiAqIElnbm9yZSB0aGUgZmFjdCB0aGF0IGR1cGxpY2F0ZSBuYW1lcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRoZXJlIGlzIG9uZVxuICogc2l6ZSB3aXRoIGB3aWR0aCBBTkQgaGVpZ2h0YCBhbmQgb25lIHdpdGggb25seSBgaGVpZ2h0IE9SIHdpZHRoYC4gQmVjYXVzZVxuICogc3BhY2UgaXMgZXhwZW5zaXZlLCB3ZSB3aWxsIHJldXNlIHRoZSBzYW1lIGltYWdlIGZvciBib3RoIHNpemVzLlxuICpcbiAqIEBwYXJhbSBvdXRwdXRJbWFnZU5hbWUgLSB0aGUgc2FuaXRpemVkIGltYWdlIG5hbWVcbiAqIEBwYXJhbSBidWZmZXJJbmZvIC0gdGhlIGJ1ZmZlciBpbmZvXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gdGhlIGV4dGVuc2lvbiB0byB1c2VcbiAqIEByZXR1cm5zIHRoZSBuZXcgaW1hZ2UgbmFtZSB0aGF0IGlzIG5vdCB0YWtlblxuICovXG5jb25zdCBjcmVhdGVJbWFnZU5hbWUgPSAoXG4gIG91dHB1dEltYWdlTmFtZTogc3RyaW5nLFxuICB7IGhlaWdodCwgd2lkdGggfTogT3V0cHV0SW5mbyxcbiAgZXh0ZW5zaW9uOiBzdHJpbmcsXG4pID0+IGAke291dHB1dEltYWdlTmFtZX0tJHt3aWR0aH14JHtoZWlnaHR9LiR7ZXh0ZW5zaW9ufWBcblxuLyoqXG4gKiBDcmVhdGUgdGhlIHJlc3VsdCBvYmplY3QgZm9yIHRoZSBpbWFnZSByZXNpemUgb3BlcmF0aW9uIGJhc2VkIG9uIHRoZVxuICogcHJvdmlkZWQgcGFyYW1ldGVycy4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBhbiBlbXB0eSByZXN1bHQgb2JqZWN0XG4gKiBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHdpZHRoIC0gdGhlIHdpZHRoIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGhlaWdodCAtIHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gZmlsZXNpemUgLSB0aGUgZmlsZXNpemUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gbWltZVR5cGUgLSB0aGUgbWltZSB0eXBlIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHNpemVzVG9TYXZlIC0gdGhlIHNpemVzIHRvIHNhdmVcbiAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0XG4gKi9cbmNvbnN0IGNyZWF0ZVJlc3VsdCA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogRmlsZVNpemVbJ2ZpbGVuYW1lJ10gPSBudWxsLFxuICB3aWR0aDogRmlsZVNpemVbJ3dpZHRoJ10gPSBudWxsLFxuICBoZWlnaHQ6IEZpbGVTaXplWydoZWlnaHQnXSA9IG51bGwsXG4gIGZpbGVzaXplOiBGaWxlU2l6ZVsnZmlsZXNpemUnXSA9IG51bGwsXG4gIG1pbWVUeXBlOiBGaWxlU2l6ZVsnbWltZVR5cGUnXSA9IG51bGwsXG4gIHNpemVzVG9TYXZlOiBGaWxlVG9TYXZlW10gPSBbXSxcbik6IEltYWdlU2l6ZXNSZXN1bHQgPT4gKHtcbiAgc2l6ZURhdGE6IHtcbiAgICBbbmFtZV06IHtcbiAgICAgIGZpbGVuYW1lLFxuICAgICAgZmlsZXNpemUsXG4gICAgICBoZWlnaHQsXG4gICAgICBtaW1lVHlwZSxcbiAgICAgIHdpZHRoLFxuICAgIH0sXG4gIH0sXG4gIHNpemVzVG9TYXZlLFxufSlcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgaW1hZ2UgbmVlZHMgdG8gYmUgcmVzaXplZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zXG4gKiBhbmQgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuIElmIHRoZSByZXNpemUgb3B0aW9ucyB3aXRob3V0RW5sYXJnZW1lbnQgb3Igd2l0aG91dFJlZHVjdGlvbiBhcmUgcHJvdmlkZWQsXG4gKiB0aGUgaW1hZ2Ugd2lsbCBiZSByZXNpemVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zLCBnaXZlbiB0aGF0IHRoZVxuICogd2lkdGggb3IgaGVpZ2h0IHRvIGJlIHJlc2l6ZWQgaXMgcHJvdmlkZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucyBhbmQgcmVzaXplIG9wdGlvbnNcbiAqIEBwYXJhbSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplXG4gKiBAcmV0dXJucyB0cnVlIGlmIHJlc2l6aW5nIGlzIG5vdCBuZWVkZWQsIGZhbHNlIG90aGVyd2lzZVxuICovXG5jb25zdCBwcmV2ZW50UmVzaXplID0gKFxuICB7IGhlaWdodDogZGVzaXJlZEhlaWdodCwgd2lkdGg6IGRlc2lyZWRXaWR0aCwgd2l0aG91dEVubGFyZ2VtZW50LCB3aXRob3V0UmVkdWN0aW9uIH06IEltYWdlU2l6ZSxcbiAgb3JpZ2luYWw6IFByb2JlZEltYWdlU2l6ZSxcbik6IGJvb2xlYW4gPT4ge1xuICAvLyBkZWZhdWx0IGlzIHRvIGFsbG93IHJlZHVjdGlvblxuICBpZiAod2l0aG91dFJlZHVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgLy8gZGVmYXVsdCBpcyB0byBwcmV2ZW50IGVubGFyZ2VtZW50XG4gIGlmICh3aXRob3V0RW5sYXJnZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIGNvbnN0IGlzV2lkdGhPckhlaWdodE5vdERlZmluZWQgPSAhZGVzaXJlZEhlaWdodCB8fCAhZGVzaXJlZFdpZHRoXG4gIGlmIChpc1dpZHRoT3JIZWlnaHROb3REZWZpbmVkKSB7XG4gICAgLy8gSWYgd2lkdGggYW5kIGhlaWdodCBhcmUgbm90IGRlZmluZWQsIGl0IG1lYW5zIHRoZXJlIGlzIGEgZm9ybWF0IGNvbnZlcnNpb25cbiAgICAvLyBhbmQgdGhlIGltYWdlIG5lZWRzIHRvIGJlIFwicmVzaXplZFwiICh0cmFuc2Zvcm1lZCkuXG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgY29uc3QgaGFzSW5zdWZmaWNpZW50V2lkdGggPSBkZXNpcmVkV2lkdGggPiBvcmlnaW5hbC53aWR0aFxuICBjb25zdCBoYXNJbnN1ZmZpY2llbnRIZWlnaHQgPSBkZXNpcmVkSGVpZ2h0ID4gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChoYXNJbnN1ZmZpY2llbnRXaWR0aCAmJiBoYXNJbnN1ZmZpY2llbnRIZWlnaHQpIHtcbiAgICAvLyBkb2Vzbid0IG5lZWQgcmVzaXplIC0gcHJldmVudCBlbmxhcmdlbWVudC4gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgYm90aCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBpbnN1ZmZpY2llbnQuXG4gICAgLy8gaWYgb25seSBvbmUgZGltZW5zaW9uIGlzIGluc3VmZmljaWVudCBhbmQgdGhlIG90aGVyIGlzIHN1ZmZpY2llbnQsIHJlc2l6aW5nIG5lZWRzIHRvIGhhcHBlbiwgYXMgdGhlIGltYWdlXG4gICAgLy8gc2hvdWxkIGJlIHJlc2l6ZWQgdG8gdGhlIHN1ZmZpY2llbnQgZGltZW5zaW9uLlxuICAgIHJldHVybiB0cnVlIC8vIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2l6ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBpbWFnZSBzaG91bGQgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIHNoYXJwIHdpdGhvdXQgcGF5bG9hZCBhZGp1c3RpbmcgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gcmVzaXplQ29uZmlnIC0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zIGFuZCByZXNpemUgb3B0aW9uc1xuICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGltYWdlIHNpemVcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGltYWdlIHNob3VsZCBwYXNzZWQgZGlyZWN0bHkgdG8gc2hhcnBcbiAqL1xuY29uc3QgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMgPSAoXG4gIHsgZml0LCBoZWlnaHQsIHdpZHRoLCB3aXRob3V0RW5sYXJnZW1lbnQsIHdpdGhvdXRSZWR1Y3Rpb24gfTogSW1hZ2VTaXplLFxuICBvcmlnaW5hbDogUHJvYmVkSW1hZ2VTaXplLFxuKSA9PiB7XG4gIGlmIChmaXQgPT09ICdjb250YWluJyB8fCBmaXQgPT09ICdpbnNpZGUnKSByZXR1cm4gZmFsc2VcbiAgaWYgKCFpc051bWJlcihoZWlnaHQpICYmICFpc051bWJlcih3aWR0aCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHRhcmdldEFzcGVjdFJhdGlvID0gd2lkdGggLyBoZWlnaHRcbiAgY29uc3Qgb3JpZ2luYWxBc3BlY3RSYXRpbyA9IG9yaWdpbmFsLndpZHRoIC8gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChvcmlnaW5hbEFzcGVjdFJhdGlvID09PSB0YXJnZXRBc3BlY3RSYXRpbykgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qgc2tpcEVubGFyZ2VtZW50ID0gd2l0aG91dEVubGFyZ2VtZW50ICYmIChvcmlnaW5hbC5oZWlnaHQgPCBoZWlnaHQgfHwgb3JpZ2luYWwud2lkdGggPCB3aWR0aClcbiAgY29uc3Qgc2tpcFJlZHVjdGlvbiA9IHdpdGhvdXRSZWR1Y3Rpb24gJiYgKG9yaWdpbmFsLmhlaWdodCA+IGhlaWdodCB8fCBvcmlnaW5hbC53aWR0aCA+IHdpZHRoKVxuICBpZiAoc2tpcEVubGFyZ2VtZW50IHx8IHNraXBSZWR1Y3Rpb24pIHJldHVybiBmYWxzZVxuXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIHJlc2l6ZSBjb25maWcuIElmIHRoZSByZXNpemUgY29uZmlnIGhhcyB0aGUgYHdpdGhvdXRSZWR1Y3Rpb25gXG4gKiBwcm9wZXJ0eSBzZXQgdG8gdHJ1ZSwgdGhlIGBmaXRgIGFuZCBgcG9zaXRpb25gIHByb3BlcnRpZXMgd2lsbCBiZSBzZXQgdG8gYGNvbnRhaW5gXG4gKiBhbmQgYHRvcCBsZWZ0YCByZXNwZWN0aXZlbHkuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyBhIHNhbml0aXplZCByZXNpemUgY29uZmlnXG4gKi9cbmNvbnN0IHNhbml0aXplUmVzaXplQ29uZmlnID0gKHJlc2l6ZUNvbmZpZzogSW1hZ2VTaXplKTogSW1hZ2VTaXplID0+IHtcbiAgaWYgKHJlc2l6ZUNvbmZpZy53aXRob3V0UmVkdWN0aW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc2l6ZUNvbmZpZyxcbiAgICAgIC8vIFdoeSBmaXQgYGNvbnRhaW5gIHNob3VsZCBhbHNvIGJlIHNldCB0byBodHRwczovL2dpdGh1Yi5jb20vbG92ZWxsL3NoYXJwL2lzc3Vlcy8zNTk1XG4gICAgICBmaXQ6IHJlc2l6ZUNvbmZpZz8uZml0IHx8ICdjb250YWluJyxcbiAgICAgIHBvc2l0aW9uOiByZXNpemVDb25maWc/LnBvc2l0aW9uIHx8ICdsZWZ0IHRvcCcsXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNpemVDb25maWdcbn1cblxuLyoqXG4gKiBGb3IgdGhlIHByb3ZpZGVkIGltYWdlIHNpemVzLCBoYW5kbGUgdGhlIHJlc2l6aW5nIGFuZCB0aGUgdHJhbnNmb3Jtc1xuICogKGZvcm1hdCwgdHJpbSwgZXRjLikgb2YgZWFjaCByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2JqZWN0LlxuICogVGhpcyBvbmx5IGhhbmRsZXMgdGhlIGltYWdlIHNpemVzLiBUaGUgdHJhbnNmb3JtcyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqIGFyZSBoYW5kbGVkIGluIHtAbGluayAuL2dlbmVyYXRlRmlsZURhdGEudHN9LlxuICpcbiAqIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZFxuICogcmVzaXplIGNvbmZpZy4gSWYgbm8gaW1hZ2Ugc2l6ZXMgYXJlIHJlcXVlc3RlZCwgdGhlIHJlc29sdmVkIGRhdGEgd2lsbCBiZSBlbXB0eS5cbiAqIEZvciBldmVyeSBpbWFnZSB0aGF0IGRvcyBub3QgbmVlZCB0byBiZSByZXNpemVkLCBhbiByZXN1bHQgb2JqZWN0IHdpdGggYG51bGxgXG4gKiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSByZXNpemUgb3BlcmF0aW9uKHMpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICBjb25maWcsXG4gIGRpbWVuc2lvbnMsXG4gIGZpbGUsXG4gIG1pbWVUeXBlLFxuICByZXEsXG4gIHNhdmVkRmlsZW5hbWUsXG4gIHNoYXJwLFxuICBzdGF0aWNQYXRoLFxufTogUmVzaXplQXJncyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4ge1xuICBjb25zdCB7IGltYWdlU2l6ZXMgfSA9IGNvbmZpZy51cGxvYWRcbiAgLy8gTm90aW5nIHRvIHJlc2l6ZSBoZXJlIHNvIHJldHVybiBhcyBlYXJseSBhcyBwb3NzaWJsZVxuICBpZiAoIWltYWdlU2l6ZXMpIHJldHVybiB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH1cblxuICBjb25zdCBzaGFycEJhc2UgPSBzaGFycChmaWxlLnRlbXBGaWxlUGF0aCB8fCBmaWxlLmRhdGEpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuXG4gIGNvbnN0IHJlc3VsdHM6IEltYWdlU2l6ZXNSZXN1bHRbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGltYWdlU2l6ZXMubWFwKGFzeW5jIChpbWFnZVJlc2l6ZUNvbmZpZyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4gPT4ge1xuICAgICAgaW1hZ2VSZXNpemVDb25maWcgPSBzYW5pdGl6ZVJlc2l6ZUNvbmZpZyhpbWFnZVJlc2l6ZUNvbmZpZylcblxuICAgICAgLy8gVGhpcyBjaGVja3MgaWYgYSByZXNpemUgc2hvdWxkIGhhcHBlbi4gSWYgbm90LCB0aGUgcmVzaXplZCBpbWFnZSB3aWxsIGJlXG4gICAgICAvLyBza2lwcGVkIENPTVBMRVRFTFkgYW5kIHRodXMgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBpbWFnZXMuXG4gICAgICAvLyBBbGwgZnVydGhlciBmb3JtYXQvdHJpbSBvcHRpb25zIHdpbGwgdGh1cyBiZSBza2lwcGVkIGFzIHdlbGwuXG4gICAgICBpZiAocHJldmVudFJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZywgZGltZW5zaW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVRvUmVzaXplID0gc2hhcnBCYXNlLmNsb25lKClcbiAgICAgIGxldCByZXNpemVkID0gaW1hZ2VUb1Jlc2l6ZVxuXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5xdWVyeT8udXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQgJiZcbiAgICAgICAgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMoaW1hZ2VSZXNpemVDb25maWcsIGRpbWVuc2lvbnMpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHJlc2l6ZUhlaWdodCwgd2lkdGg6IHJlc2l6ZVdpZHRoIH0gPSBpbWFnZVJlc2l6ZUNvbmZpZ1xuICAgICAgICBjb25zdCByZXNpemVBc3BlY3RSYXRpbyA9IHJlc2l6ZVdpZHRoIC8gcmVzaXplSGVpZ2h0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQXNwZWN0UmF0aW8gPSBkaW1lbnNpb25zLndpZHRoIC8gZGltZW5zaW9ucy5oZWlnaHRcbiAgICAgICAgY29uc3QgcHJpb3JpdGl6ZUhlaWdodCA9IHJlc2l6ZUFzcGVjdFJhdGlvIDwgb3JpZ2luYWxBc3BlY3RSYXRpb1xuXG4gICAgICAgIC8vIFNjYWxlIHRoZSBpbWFnZSB1cCBvciBkb3duIHRvIGZpdCB0aGUgcmVzaXplIGRpbWVuc2lvbnNcbiAgICAgICAgY29uc3Qgc2NhbGVkSW1hZ2UgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBwcmlvcml0aXplSGVpZ2h0ID8gcmVzaXplSGVpZ2h0IDogbnVsbCxcbiAgICAgICAgICB3aWR0aDogcHJpb3JpdGl6ZUhlaWdodCA/IG51bGwgOiByZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgeyBpbmZvOiBzY2FsZWRJbWFnZUluZm8gfSA9IGF3YWl0IHNjYWxlZEltYWdlLnRvQnVmZmVyKHsgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUgfSlcblxuICAgICAgICAvLyBGb2NhbCBwb2ludCBhZGp1c3RtZW50c1xuICAgICAgICBjb25zdCBmb2NhbFBvaW50ID0ge1xuICAgICAgICAgIHg6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py54KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC54XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICAgIHk6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py55KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC55XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZVdpZHRoID0gcmVzaXplV2lkdGggPz8gc2NhbGVkSW1hZ2VJbmZvLndpZHRoXG4gICAgICAgIGNvbnN0IG1heE9mZnNldFggPSBzY2FsZWRJbWFnZUluZm8ud2lkdGggLSBzYWZlUmVzaXplV2lkdGhcbiAgICAgICAgY29uc3QgbGVmdEZvY2FsRWRnZSA9IE1hdGgucm91bmQoXG4gICAgICAgICAgc2NhbGVkSW1hZ2VJbmZvLndpZHRoICogKGZvY2FsUG9pbnQueCAvIDEwMCkgLSBzYWZlUmVzaXplV2lkdGggLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRYID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbGVmdEZvY2FsRWRnZSksIG1heE9mZnNldFgpXG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZUhlaWdodCA9IHJlc2l6ZUhlaWdodCA/PyBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0XG4gICAgICAgIGNvbnN0IG1heE9mZnNldFkgPSBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0IC0gc2FmZVJlc2l6ZUhlaWdodFxuICAgICAgICBjb25zdCB0b3BGb2NhbEVkZ2UgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgIHNjYWxlZEltYWdlSW5mby5oZWlnaHQgKiAoZm9jYWxQb2ludC55IC8gMTAwKSAtIHNhZmVSZXNpemVIZWlnaHQgLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRZID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgdG9wRm9jYWxFZGdlKSwgbWF4T2Zmc2V0WSlcblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBmb2NhbCBhcmVhIGZyb20gdGhlIHNjYWxlZCBpbWFnZVxuICAgICAgICByZXNpemVkID0gc2NhbGVkSW1hZ2UuZXh0cmFjdCh7XG4gICAgICAgICAgaGVpZ2h0OiBzYWZlUmVzaXplSGVpZ2h0LFxuICAgICAgICAgIGxlZnQ6IHNhZmVPZmZzZXRYLFxuICAgICAgICAgIHRvcDogc2FmZU9mZnNldFksXG4gICAgICAgICAgd2lkdGg6IHNhZmVSZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2l6ZWQgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudG9Gb3JtYXQoXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5vcHRpb25zLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucykge1xuICAgICAgICByZXNpemVkID0gcmVzaXplZC50cmltKGltYWdlUmVzaXplQ29uZmlnLnRyaW1PcHRpb25zKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGRhdGE6IGJ1ZmZlckRhdGEsIGluZm86IGJ1ZmZlckluZm8gfSA9IGF3YWl0IHJlc2l6ZWQudG9CdWZmZXIoe1xuICAgICAgICByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEltYWdlID0gZ2V0U2FuaXRpemVkSW1hZ2VEYXRhKHNhdmVkRmlsZW5hbWUpXG5cbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXNbaW1hZ2VSZXNpemVDb25maWcubmFtZV0gPSBidWZmZXJEYXRhXG5cbiAgICAgIGNvbnN0IG1pbWVJbmZvID0gYXdhaXQgZnJvbUJ1ZmZlcihidWZmZXJEYXRhKVxuXG4gICAgICBjb25zdCBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyA9IGNyZWF0ZUltYWdlTmFtZShcbiAgICAgICAgc2FuaXRpemVkSW1hZ2UubmFtZSxcbiAgICAgICAgYnVmZmVySW5mbyxcbiAgICAgICAgbWltZUluZm8/LmV4dCB8fCBzYW5pdGl6ZWRJbWFnZS5leHQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGltYWdlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7aW1hZ2VOYW1lV2l0aERpbWVuc2lvbnN9YFxuXG4gICAgICBpZiAoYXdhaXQgZmlsZUV4aXN0cyhpbWFnZVBhdGgpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZnMudW5saW5rU3luYyhpbWFnZVBhdGgpXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yZSB1bmxpbmsgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBoZWlnaHQsIHNpemUsIHdpZHRoIH0gPSBidWZmZXJJbmZvXG4gICAgICByZXR1cm4gY3JlYXRlUmVzdWx0KFxuICAgICAgICBpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lLFxuICAgICAgICBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbWltZUluZm8/Lm1pbWUgfHwgbWltZVR5cGUsXG4gICAgICAgIFt7IGJ1ZmZlcjogYnVmZmVyRGF0YSwgcGF0aDogaW1hZ2VQYXRoIH1dLFxuICAgICAgKVxuICAgIH0pLFxuICApXG5cbiAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKFxuICAgIChhY2MsIHJlc3VsdCkgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY2Muc2l6ZURhdGEsIHJlc3VsdC5zaXplRGF0YSlcbiAgICAgIGFjYy5zaXplc1RvU2F2ZS5wdXNoKC4uLnJlc3VsdC5zaXplc1RvU2F2ZSlcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJnZXRTYW5pdGl6ZWRJbWFnZURhdGEiLCJzb3VyY2VJbWFnZSIsImV4dGVuc2lvbiIsInNwbGl0IiwicG9wIiwibmFtZSIsInNhbml0aXplIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJleHQiLCJjcmVhdGVJbWFnZU5hbWUiLCJvdXRwdXRJbWFnZU5hbWUiLCJoZWlnaHQiLCJ3aWR0aCIsImNyZWF0ZVJlc3VsdCIsImZpbGVuYW1lIiwiZmlsZXNpemUiLCJtaW1lVHlwZSIsInNpemVzVG9TYXZlIiwic2l6ZURhdGEiLCJwcmV2ZW50UmVzaXplIiwiZGVzaXJlZEhlaWdodCIsImRlc2lyZWRXaWR0aCIsIndpdGhvdXRFbmxhcmdlbWVudCIsIndpdGhvdXRSZWR1Y3Rpb24iLCJvcmlnaW5hbCIsInVuZGVmaW5lZCIsImlzV2lkdGhPckhlaWdodE5vdERlZmluZWQiLCJoYXNJbnN1ZmZpY2llbnRXaWR0aCIsImhhc0luc3VmZmljaWVudEhlaWdodCIsImFwcGx5UGF5bG9hZEFkanVzdG1lbnRzIiwiZml0IiwiaXNOdW1iZXIiLCJ0YXJnZXRBc3BlY3RSYXRpbyIsIm9yaWdpbmFsQXNwZWN0UmF0aW8iLCJza2lwRW5sYXJnZW1lbnQiLCJza2lwUmVkdWN0aW9uIiwic2FuaXRpemVSZXNpemVDb25maWciLCJyZXNpemVDb25maWciLCJwb3NpdGlvbiIsImNvbmZpZyIsImRpbWVuc2lvbnMiLCJmaWxlIiwicmVxIiwic2F2ZWRGaWxlbmFtZSIsInNoYXJwIiwic3RhdGljUGF0aCIsImltYWdlU2l6ZXMiLCJ1cGxvYWQiLCJzaGFycEJhc2UiLCJ0ZW1wRmlsZVBhdGgiLCJkYXRhIiwicm90YXRlIiwicmVzdWx0cyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJpbWFnZVJlc2l6ZUNvbmZpZyIsImltYWdlVG9SZXNpemUiLCJjbG9uZSIsInJlc2l6ZWQiLCJxdWVyeSIsInVwbG9hZEVkaXRzIiwiZm9jYWxQb2ludCIsInJlc2l6ZUhlaWdodCIsInJlc2l6ZVdpZHRoIiwicmVzaXplQXNwZWN0UmF0aW8iLCJwcmlvcml0aXplSGVpZ2h0Iiwic2NhbGVkSW1hZ2UiLCJyZXNpemUiLCJpbmZvIiwic2NhbGVkSW1hZ2VJbmZvIiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsIngiLCJ5Iiwic2FmZVJlc2l6ZVdpZHRoIiwibWF4T2Zmc2V0WCIsImxlZnRGb2NhbEVkZ2UiLCJNYXRoIiwicm91bmQiLCJzYWZlT2Zmc2V0WCIsIm1pbiIsIm1heCIsInNhZmVSZXNpemVIZWlnaHQiLCJtYXhPZmZzZXRZIiwidG9wRm9jYWxFZGdlIiwic2FmZU9mZnNldFkiLCJleHRyYWN0IiwibGVmdCIsInRvcCIsImZvcm1hdE9wdGlvbnMiLCJ0b0Zvcm1hdCIsImZvcm1hdCIsIm9wdGlvbnMiLCJ0cmltT3B0aW9ucyIsInRyaW0iLCJidWZmZXJEYXRhIiwiYnVmZmVySW5mbyIsInNhbml0aXplZEltYWdlIiwicGF5bG9hZFVwbG9hZFNpemVzIiwibWltZUluZm8iLCJmcm9tQnVmZmVyIiwiaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMiLCJpbWFnZVBhdGgiLCJmaWxlRXhpc3RzIiwiZnMiLCJ1bmxpbmtTeW5jIiwic2l6ZSIsIm1pbWUiLCJidWZmZXIiLCJwYXRoIiwicmVkdWNlIiwiYWNjIiwicmVzdWx0IiwiT2JqZWN0IiwiYXNzaWduIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvTUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNEOzs7ZUFBOEJBOzs7MEJBL01IOzJEQUNaO3lFQUNNOzBCQVFJO21FQUNGOzs7Ozs7QUE0QnZCOzs7OztDQUtDLEdBQ0QsTUFBTUMsd0JBQXdCLENBQUNDO0lBQzdCLE1BQU1DLFlBQVlELFlBQVlFLEtBQUssQ0FBQyxLQUFLQyxHQUFHO0lBQzVDLE1BQU1DLE9BQU9DLElBQUFBLHlCQUFRLEVBQUNMLFlBQVlNLFNBQVMsQ0FBQyxHQUFHTixZQUFZTyxXQUFXLENBQUMsU0FBU1A7SUFDaEYsT0FBTztRQUFFSTtRQUFNSSxLQUFLUDtJQUFVO0FBQ2hDO0FBRUE7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsTUFBTVEsa0JBQWtCLENBQ3RCQyxpQkFDQSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBYyxFQUM3QlgsWUFDRyxDQUFDLEVBQUVTLGdCQUFnQixDQUFDLEVBQUVFLE1BQU0sQ0FBQyxFQUFFRCxPQUFPLENB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
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIGRlZmF1bHQgYXMgU2hhcnAgfSBmcm9tICdzaGFycCdcbmltcG9ydCB0eXBlIHNoYXJwIGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWZpbGVuYW1lJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNoYXJwRGVwZW5kZW5jeSB9IGZyb20gJy4uL2V4cG9ydHMvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBVcGxvYWRFZGl0cyB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEN1c3RvbVBheWxvYWRSZXF1ZXN0LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWxlU2l6ZSwgRmlsZVNpemVzLCBGaWxlVG9TYXZlLCBJbWFnZVNpemUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzTnVtYmVyJ1xuaW1wb3J0IGZpbGVFeGlzdHMgZnJvbSAnLi9maWxlRXhpc3RzJ1xuXG50eXBlIFJlc2l6ZUFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkaW1lbnNpb25zOiBQcm9iZWRJbWFnZVNpemVcbiAgZmlsZTogQ3VzdG9tUGF5bG9hZFJlcXVlc3RbJ2ZpbGUnXVxuICBtaW1lVHlwZTogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QgJiB7XG4gICAgcXVlcnk/OiB7XG4gICAgICB1cGxvYWRFZGl0cz86IFVwbG9hZEVkaXRzXG4gICAgfVxuICB9XG4gIHNhdmVkRmlsZW5hbWU6IHN0cmluZ1xuICBzaGFycDogU2hhcnBEZXBlbmRlbmN5XG4gIHN0YXRpY1BhdGg6IHN0cmluZ1xufVxuXG4vKiogUmVzdWx0IGZyb20gcmVzaXppbmcgYW5kIHRyYW5zZm9ybWluZyB0aGUgcmVxdWVzdGVkIGltYWdlIHNpemVzICovXG50eXBlIEltYWdlU2l6ZXNSZXN1bHQgPSB7XG4gIHNpemVEYXRhOiBGaWxlU2l6ZXNcbiAgc2l6ZXNUb1NhdmU6IEZpbGVUb1NhdmVbXVxufVxuXG50eXBlIFNhbml0aXplZEltYWdlRGF0YSA9IHtcbiAgZXh0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIGltYWdlIG5hbWUgYW5kIGV4dHJhY3QgdGhlIGV4dGVuc2lvbiBmcm9tIHRoZSBzb3VyY2UgaW1hZ2VcbiAqXG4gKiBAcGFyYW0gc291cmNlSW1hZ2UgLSB0aGUgc291cmNlIGltYWdlXG4gKiBAcmV0dXJucyB0aGUgc2FuaXRpemVkIG5hbWUgYW5kIGV4dGVuc2lvblxuICovXG5jb25zdCBnZXRTYW5pdGl6ZWRJbWFnZURhdGEgPSAoc291cmNlSW1hZ2U6IHN0cmluZyk6IFNhbml0aXplZEltYWdlRGF0YSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHNvdXJjZUltYWdlLnNwbGl0KCcuJykucG9wKClcbiAgY29uc3QgbmFtZSA9IHNhbml0aXplKHNvdXJjZUltYWdlLnN1YnN0cmluZygwLCBzb3VyY2VJbWFnZS5sYXN0SW5kZXhPZignLicpKSB8fCBzb3VyY2VJbWFnZSlcbiAgcmV0dXJuIHsgbmFtZSwgZXh0OiBleHRlbnNpb24gfVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBpbWFnZSBuYW1lIGJhc2VkIG9uIHRoZSBvdXRwdXQgaW1hZ2UgbmFtZSwgdGhlIGRpbWVuc2lvbnMgYW5kXG4gKiB0aGUgZXh0ZW5zaW9uLlxuICpcbiAqIElnbm9yZSB0aGUgZmFjdCB0aGF0IGR1cGxpY2F0ZSBuYW1lcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRoZXJlIGlzIG9uZVxuICogc2l6ZSB3aXRoIGB3aWR0aCBBTkQgaGVpZ2h0YCBhbmQgb25lIHdpdGggb25seSBgaGVpZ2h0IE9SIHdpZHRoYC4gQmVjYXVzZVxuICogc3BhY2UgaXMgZXhwZW5zaXZlLCB3ZSB3aWxsIHJldXNlIHRoZSBzYW1lIGltYWdlIGZvciBib3RoIHNpemVzLlxuICpcbiAqIEBwYXJhbSBvdXRwdXRJbWFnZU5hbWUgLSB0aGUgc2FuaXRpemVkIGltYWdlIG5hbWVcbiAqIEBwYXJhbSBidWZmZXJJbmZvIC0gdGhlIGJ1ZmZlciBpbmZvXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gdGhlIGV4dGVuc2lvbiB0byB1c2VcbiAqIEByZXR1cm5zIHRoZSBuZXcgaW1hZ2UgbmFtZSB0aGF0IGlzIG5vdCB0YWtlblxuICovXG5jb25zdCBjcmVhdGVJbWFnZU5hbWUgPSAoXG4gIG91dHB1dEltYWdlTmFtZTogc3RyaW5nLFxuICB7IGhlaWdodCwgd2lkdGggfTogT3V0cHV0SW5mbyxcbiAgZXh0ZW5zaW9uOiBzdHJpbmcsXG4pID0+IGAke291dHB1dEltYWdlTmFtZX0tJHt3aWR0aH14JHtoZWlnaHR9LiR7ZXh0ZW5zaW9ufWBcblxuLyoqXG4gKiBDcmVhdGUgdGhlIHJlc3VsdCBvYmplY3QgZm9yIHRoZSBpbWFnZSByZXNpemUgb3BlcmF0aW9uIGJhc2VkIG9uIHRoZVxuICogcHJvdmlkZWQgcGFyYW1ldGVycy4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBhbiBlbXB0eSByZXN1bHQgb2JqZWN0XG4gKiBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHdpZHRoIC0gdGhlIHdpZHRoIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGhlaWdodCAtIHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gZmlsZXNpemUgLSB0aGUgZmlsZXNpemUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gbWltZVR5cGUgLSB0aGUgbWltZSB0eXBlIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHNpemVzVG9TYXZlIC0gdGhlIHNpemVzIHRvIHNhdmVcbiAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0XG4gKi9cbmNvbnN0IGNyZWF0ZVJlc3VsdCA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogRmlsZVNpemVbJ2ZpbGVuYW1lJ10gPSBudWxsLFxuICB3aWR0aDogRmlsZVNpemVbJ3dpZHRoJ10gPSBudWxsLFxuICBoZWlnaHQ6IEZpbGVTaXplWydoZWlnaHQnXSA9IG51bGwsXG4gIGZpbGVzaXplOiBGaWxlU2l6ZVsnZmlsZXNpemUnXSA9IG51bGwsXG4gIG1pbWVUeXBlOiBGaWxlU2l6ZVsnbWltZVR5cGUnXSA9IG51bGwsXG4gIHNpemVzVG9TYXZlOiBGaWxlVG9TYXZlW10gPSBbXSxcbik6IEltYWdlU2l6ZXNSZXN1bHQgPT4gKHtcbiAgc2l6ZURhdGE6IHtcbiAgICBbbmFtZV06IHtcbiAgICAgIGZpbGVuYW1lLFxuICAgICAgZmlsZXNpemUsXG4gICAgICBoZWlnaHQsXG4gICAgICBtaW1lVHlwZSxcbiAgICAgIHdpZHRoLFxuICAgIH0sXG4gIH0sXG4gIHNpemVzVG9TYXZlLFxufSlcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgaW1hZ2UgbmVlZHMgdG8gYmUgcmVzaXplZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zXG4gKiBhbmQgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuIElmIHRoZSByZXNpemUgb3B0aW9ucyB3aXRob3V0RW5sYXJnZW1lbnQgb3Igd2l0aG91dFJlZHVjdGlvbiBhcmUgcHJvdmlkZWQsXG4gKiB0aGUgaW1hZ2Ugd2lsbCBiZSByZXNpemVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zLCBnaXZlbiB0aGF0IHRoZVxuICogd2lkdGggb3IgaGVpZ2h0IHRvIGJlIHJlc2l6ZWQgaXMgcHJvdmlkZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucyBhbmQgcmVzaXplIG9wdGlvbnNcbiAqIEBwYXJhbSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplXG4gKiBAcmV0dXJucyB0cnVlIGlmIHJlc2l6aW5nIGlzIG5vdCBuZWVkZWQsIGZhbHNlIG90aGVyd2lzZVxuICovXG5jb25zdCBwcmV2ZW50UmVzaXplID0gKFxuICB7IGhlaWdodDogZGVzaXJlZEhlaWdodCwgd2lkdGg6IGRlc2lyZWRXaWR0aCwgd2l0aG91dEVubGFyZ2VtZW50LCB3aXRob3V0UmVkdWN0aW9uIH06IEltYWdlU2l6ZSxcbiAgb3JpZ2luYWw6IFByb2JlZEltYWdlU2l6ZSxcbik6IGJvb2xlYW4gPT4ge1xuICAvLyBkZWZhdWx0IGlzIHRvIGFsbG93IHJlZHVjdGlvblxuICBpZiAod2l0aG91dFJlZHVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgLy8gZGVmYXVsdCBpcyB0byBwcmV2ZW50IGVubGFyZ2VtZW50XG4gIGlmICh3aXRob3V0RW5sYXJnZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIGNvbnN0IGlzV2lkdGhPckhlaWdodE5vdERlZmluZWQgPSAhZGVzaXJlZEhlaWdodCB8fCAhZGVzaXJlZFdpZHRoXG4gIGlmIChpc1dpZHRoT3JIZWlnaHROb3REZWZpbmVkKSB7XG4gICAgLy8gSWYgd2lkdGggYW5kIGhlaWdodCBhcmUgbm90IGRlZmluZWQsIGl0IG1lYW5zIHRoZXJlIGlzIGEgZm9ybWF0IGNvbnZlcnNpb25cbiAgICAvLyBhbmQgdGhlIGltYWdlIG5lZWRzIHRvIGJlIFwicmVzaXplZFwiICh0cmFuc2Zvcm1lZCkuXG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgY29uc3QgaGFzSW5zdWZmaWNpZW50V2lkdGggPSBkZXNpcmVkV2lkdGggPiBvcmlnaW5hbC53aWR0aFxuICBjb25zdCBoYXNJbnN1ZmZpY2llbnRIZWlnaHQgPSBkZXNpcmVkSGVpZ2h0ID4gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChoYXNJbnN1ZmZpY2llbnRXaWR0aCAmJiBoYXNJbnN1ZmZpY2llbnRIZWlnaHQpIHtcbiAgICAvLyBkb2Vzbid0IG5lZWQgcmVzaXplIC0gcHJldmVudCBlbmxhcmdlbWVudC4gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgYm90aCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBpbnN1ZmZpY2llbnQuXG4gICAgLy8gaWYgb25seSBvbmUgZGltZW5zaW9uIGlzIGluc3VmZmljaWVudCBhbmQgdGhlIG90aGVyIGlzIHN1ZmZpY2llbnQsIHJlc2l6aW5nIG5lZWRzIHRvIGhhcHBlbiwgYXMgdGhlIGltYWdlXG4gICAgLy8gc2hvdWxkIGJlIHJlc2l6ZWQgdG8gdGhlIHN1ZmZpY2llbnQgZGltZW5zaW9uLlxuICAgIHJldHVybiB0cnVlIC8vIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2l6ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBpbWFnZSBzaG91bGQgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIHNoYXJwIHdpdGhvdXQgcGF5bG9hZCBhZGp1c3RpbmcgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gcmVzaXplQ29uZmlnIC0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zIGFuZCByZXNpemUgb3B0aW9uc1xuICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGltYWdlIHNpemVcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGltYWdlIHNob3VsZCBwYXNzZWQgZGlyZWN0bHkgdG8gc2hhcnBcbiAqL1xuY29uc3QgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMgPSAoXG4gIHsgZml0LCBoZWlnaHQsIHdpZHRoLCB3aXRob3V0RW5sYXJnZW1lbnQsIHdpdGhvdXRSZWR1Y3Rpb24gfTogSW1hZ2VTaXplLFxuICBvcmlnaW5hbDogUHJvYmVkSW1hZ2VTaXplLFxuKSA9PiB7XG4gIGlmIChmaXQgPT09ICdjb250YWluJyB8fCBmaXQgPT09ICdpbnNpZGUnKSByZXR1cm4gZmFsc2VcbiAgaWYgKCFpc051bWJlcihoZWlnaHQpICYmICFpc051bWJlcih3aWR0aCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHRhcmdldEFzcGVjdFJhdGlvID0gd2lkdGggLyBoZWlnaHRcbiAgY29uc3Qgb3JpZ2luYWxBc3BlY3RSYXRpbyA9IG9yaWdpbmFsLndpZHRoIC8gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChvcmlnaW5hbEFzcGVjdFJhdGlvID09PSB0YXJnZXRBc3BlY3RSYXRpbykgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qgc2tpcEVubGFyZ2VtZW50ID0gd2l0aG91dEVubGFyZ2VtZW50ICYmIChvcmlnaW5hbC5oZWlnaHQgPCBoZWlnaHQgfHwgb3JpZ2luYWwud2lkdGggPCB3aWR0aClcbiAgY29uc3Qgc2tpcFJlZHVjdGlvbiA9IHdpdGhvdXRSZWR1Y3Rpb24gJiYgKG9yaWdpbmFsLmhlaWdodCA+IGhlaWdodCB8fCBvcmlnaW5hbC53aWR0aCA+IHdpZHRoKVxuICBpZiAoc2tpcEVubGFyZ2VtZW50IHx8IHNraXBSZWR1Y3Rpb24pIHJldHVybiBmYWxzZVxuXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIHJlc2l6ZSBjb25maWcuIElmIHRoZSByZXNpemUgY29uZmlnIGhhcyB0aGUgYHdpdGhvdXRSZWR1Y3Rpb25gXG4gKiBwcm9wZXJ0eSBzZXQgdG8gdHJ1ZSwgdGhlIGBmaXRgIGFuZCBgcG9zaXRpb25gIHByb3BlcnRpZXMgd2lsbCBiZSBzZXQgdG8gYGNvbnRhaW5gXG4gKiBhbmQgYHRvcCBsZWZ0YCByZXNwZWN0aXZlbHkuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyBhIHNhbml0aXplZCByZXNpemUgY29uZmlnXG4gKi9cbmNvbnN0IHNhbml0aXplUmVzaXplQ29uZmlnID0gKHJlc2l6ZUNvbmZpZzogSW1hZ2VTaXplKTogSW1hZ2VTaXplID0+IHtcbiAgaWYgKHJlc2l6ZUNvbmZpZy53aXRob3V0UmVkdWN0aW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc2l6ZUNvbmZpZyxcbiAgICAgIC8vIFdoeSBmaXQgYGNvbnRhaW5gIHNob3VsZCBhbHNvIGJlIHNldCB0byBodHRwczovL2dpdGh1Yi5jb20vbG92ZWxsL3NoYXJwL2lzc3Vlcy8zNTk1XG4gICAgICBmaXQ6IHJlc2l6ZUNvbmZpZz8uZml0IHx8ICdjb250YWluJyxcbiAgICAgIHBvc2l0aW9uOiByZXNpemVDb25maWc/LnBvc2l0aW9uIHx8ICdsZWZ0IHRvcCcsXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNpemVDb25maWdcbn1cblxuLyoqXG4gKiBGb3IgdGhlIHByb3ZpZGVkIGltYWdlIHNpemVzLCBoYW5kbGUgdGhlIHJlc2l6aW5nIGFuZCB0aGUgdHJhbnNmb3Jtc1xuICogKGZvcm1hdCwgdHJpbSwgZXRjLikgb2YgZWFjaCByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2JqZWN0LlxuICogVGhpcyBvbmx5IGhhbmRsZXMgdGhlIGltYWdlIHNpemVzLiBUaGUgdHJhbnNmb3JtcyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqIGFyZSBoYW5kbGVkIGluIHtAbGluayAuL2dlbmVyYXRlRmlsZURhdGEudHN9LlxuICpcbiAqIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZFxuICogcmVzaXplIGNvbmZpZy4gSWYgbm8gaW1hZ2Ugc2l6ZXMgYXJlIHJlcXVlc3RlZCwgdGhlIHJlc29sdmVkIGRhdGEgd2lsbCBiZSBlbXB0eS5cbiAqIEZvciBldmVyeSBpbWFnZSB0aGF0IGRvcyBub3QgbmVlZCB0byBiZSByZXNpemVkLCBhbiByZXN1bHQgb2JqZWN0IHdpdGggYG51bGxgXG4gKiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSByZXNpemUgb3BlcmF0aW9uKHMpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICBjb25maWcsXG4gIGRpbWVuc2lvbnMsXG4gIGZpbGUsXG4gIG1pbWVUeXBlLFxuICByZXEsXG4gIHNhdmVkRmlsZW5hbWUsXG4gIHNoYXJwLFxuICBzdGF0aWNQYXRoLFxufTogUmVzaXplQXJncyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4ge1xuICBjb25zdCB7IGltYWdlU2l6ZXMgfSA9IGNvbmZpZy51cGxvYWRcbiAgLy8gTm90aW5nIHRvIHJlc2l6ZSBoZXJlIHNvIHJldHVybiBhcyBlYXJseSBhcyBwb3NzaWJsZVxuICBpZiAoIWltYWdlU2l6ZXMpIHJldHVybiB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH1cblxuICBjb25zdCBzaGFycEJhc2UgPSBzaGFycChmaWxlLnRlbXBGaWxlUGF0aCB8fCBmaWxlLmRhdGEpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuXG4gIGNvbnN0IHJlc3VsdHM6IEltYWdlU2l6ZXNSZXN1bHRbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGltYWdlU2l6ZXMubWFwKGFzeW5jIChpbWFnZVJlc2l6ZUNvbmZpZyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4gPT4ge1xuICAgICAgaW1hZ2VSZXNpemVDb25maWcgPSBzYW5pdGl6ZVJlc2l6ZUNvbmZpZyhpbWFnZVJlc2l6ZUNvbmZpZylcblxuICAgICAgLy8gVGhpcyBjaGVja3MgaWYgYSByZXNpemUgc2hvdWxkIGhhcHBlbi4gSWYgbm90LCB0aGUgcmVzaXplZCBpbWFnZSB3aWxsIGJlXG4gICAgICAvLyBza2lwcGVkIENPTVBMRVRFTFkgYW5kIHRodXMgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBpbWFnZXMuXG4gICAgICAvLyBBbGwgZnVydGhlciBmb3JtYXQvdHJpbSBvcHRpb25zIHdpbGwgdGh1cyBiZSBza2lwcGVkIGFzIHdlbGwuXG4gICAgICBpZiAocHJldmVudFJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZywgZGltZW5zaW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVRvUmVzaXplID0gc2hhcnBCYXNlLmNsb25lKClcbiAgICAgIGxldCByZXNpemVkID0gaW1hZ2VUb1Jlc2l6ZVxuXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5xdWVyeT8udXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQgJiZcbiAgICAgICAgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMoaW1hZ2VSZXNpemVDb25maWcsIGRpbWVuc2lvbnMpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHJlc2l6ZUhlaWdodCwgd2lkdGg6IHJlc2l6ZVdpZHRoIH0gPSBpbWFnZVJlc2l6ZUNvbmZpZ1xuICAgICAgICBjb25zdCByZXNpemVBc3BlY3RSYXRpbyA9IHJlc2l6ZVdpZHRoIC8gcmVzaXplSGVpZ2h0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQXNwZWN0UmF0aW8gPSBkaW1lbnNpb25zLndpZHRoIC8gZGltZW5zaW9ucy5oZWlnaHRcbiAgICAgICAgY29uc3QgcHJpb3JpdGl6ZUhlaWdodCA9IHJlc2l6ZUFzcGVjdFJhdGlvIDwgb3JpZ2luYWxBc3BlY3RSYXRpb1xuXG4gICAgICAgIC8vIFNjYWxlIHRoZSBpbWFnZSB1cCBvciBkb3duIHRvIGZpdCB0aGUgcmVzaXplIGRpbWVuc2lvbnNcbiAgICAgICAgY29uc3Qgc2NhbGVkSW1hZ2UgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBwcmlvcml0aXplSGVpZ2h0ID8gcmVzaXplSGVpZ2h0IDogbnVsbCxcbiAgICAgICAgICB3aWR0aDogcHJpb3JpdGl6ZUhlaWdodCA/IG51bGwgOiByZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgeyBpbmZvOiBzY2FsZWRJbWFnZUluZm8gfSA9IGF3YWl0IHNjYWxlZEltYWdlLnRvQnVmZmVyKHsgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUgfSlcblxuICAgICAgICAvLyBGb2NhbCBwb2ludCBhZGp1c3RtZW50c1xuICAgICAgICBjb25zdCBmb2NhbFBvaW50ID0ge1xuICAgICAgICAgIHg6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py54KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC54XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICAgIHk6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py55KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC55XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZVdpZHRoID0gcmVzaXplV2lkdGggPz8gc2NhbGVkSW1hZ2VJbmZvLndpZHRoXG4gICAgICAgIGNvbnN0IG1heE9mZnNldFggPSBzY2FsZWRJbWFnZUluZm8ud2lkdGggLSBzYWZlUmVzaXplV2lkdGhcbiAgICAgICAgY29uc3QgbGVmdEZvY2FsRWRnZSA9IE1hdGgucm91bmQoXG4gICAgICAgICAgc2NhbGVkSW1hZ2VJbmZvLndpZHRoICogKGZvY2FsUG9pbnQueCAvIDEwMCkgLSBzYWZlUmVzaXplV2lkdGggLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRYID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbGVmdEZvY2FsRWRnZSksIG1heE9mZnNldFgpXG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZUhlaWdodCA9IHJlc2l6ZUhlaWdodCA/PyBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0XG4gICAgICAgIGNvbnN0IG1heE9mZnNldFkgPSBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0IC0gc2FmZVJlc2l6ZUhlaWdodFxuICAgICAgICBjb25zdCB0b3BGb2NhbEVkZ2UgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgIHNjYWxlZEltYWdlSW5mby5oZWlnaHQgKiAoZm9jYWxQb2ludC55IC8gMTAwKSAtIHNhZmVSZXNpemVIZWlnaHQgLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRZID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgdG9wRm9jYWxFZGdlKSwgbWF4T2Zmc2V0WSlcblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBmb2NhbCBhcmVhIGZyb20gdGhlIHNjYWxlZCBpbWFnZVxuICAgICAgICByZXNpemVkID0gc2NhbGVkSW1hZ2UuZXh0cmFjdCh7XG4gICAgICAgICAgaGVpZ2h0OiBzYWZlUmVzaXplSGVpZ2h0LFxuICAgICAgICAgIGxlZnQ6IHNhZmVPZmZzZXRYLFxuICAgICAgICAgIHRvcDogc2FmZU9mZnNldFksXG4gICAgICAgICAgd2lkdGg6IHNhZmVSZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2l6ZWQgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudG9Gb3JtYXQoXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5vcHRpb25zLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucykge1xuICAgICAgICByZXNpemVkID0gcmVzaXplZC50cmltKGltYWdlUmVzaXplQ29uZmlnLnRyaW1PcHRpb25zKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGRhdGE6IGJ1ZmZlckRhdGEsIGluZm86IGJ1ZmZlckluZm8gfSA9IGF3YWl0IHJlc2l6ZWQudG9CdWZmZXIoe1xuICAgICAgICByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEltYWdlID0gZ2V0U2FuaXRpemVkSW1hZ2VEYXRhKHNhdmVkRmlsZW5hbWUpXG5cbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXNbaW1hZ2VSZXNpemVDb25maWcubmFtZV0gPSBidWZmZXJEYXRhXG5cbiAgICAgIGNvbnN0IG1pbWVJbmZvID0gYXdhaXQgZnJvbUJ1ZmZlcihidWZmZXJEYXRhKVxuXG4gICAgICBjb25zdCBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyA9IGNyZWF0ZUltYWdlTmFtZShcbiAgICAgICAgc2FuaXRpemVkSW1hZ2UubmFtZSxcbiAgICAgICAgYnVmZmVySW5mbyxcbiAgICAgICAgbWltZUluZm8/LmV4dCB8fCBzYW5pdGl6ZWRJbWFnZS5leHQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGltYWdlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7aW1hZ2VOYW1lV2l0aERpbWVuc2lvbnN9YFxuXG4gICAgICBpZiAoYXdhaXQgZmlsZUV4aXN0cyhpbWFnZVBhdGgpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZnMudW5saW5rU3luYyhpbWFnZVBhdGgpXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yZSB1bmxpbmsgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBoZWlnaHQsIHNpemUsIHdpZHRoIH0gPSBidWZmZXJJbmZvXG4gICAgICByZXR1cm4gY3JlYXRlUmVzdWx0KFxuICAgICAgICBpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lLFxuICAgICAgICBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbWltZUluZm8/Lm1pbWUgfHwgbWltZVR5cGUsXG4gICAgICAgIFt7IGJ1ZmZlcjogYnVmZmVyRGF0YSwgcGF0aDogaW1hZ2VQYXRoIH1dLFxuICAgICAgKVxuICAgIH0pLFxuICApXG5cbiAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKFxuICAgIChhY2MsIHJlc3VsdCkgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY2Muc2l6ZURhdGEsIHJlc3VsdC5zaXplRGF0YSlcbiAgICAgIGFjYy5zaXplc1RvU2F2ZS5wdXNoKC4uLnJlc3VsdC5zaXplc1RvU2F2ZSlcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbImZyb21CdWZmZXIiLCJmcyIsInNhbml0aXplIiwiaXNOdW1iZXIiLCJmaWxlRXhpc3RzIiwiZ2V0U2FuaXRpemVkSW1hZ2VEYXRhIiwic291cmNlSW1hZ2UiLCJleHRlbnNpb24iLCJzcGxpdCIsInBvcCIsIm5hbWUiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsImV4dCIsImNyZWF0ZUltYWdlTmFtZSIsIm91dHB1dEltYWdlTmFtZSIsImhlaWdodCIsIndpZHRoIiwiY3JlYXRlUmVzdWx0IiwiZmlsZW5hbWUiLCJmaWxlc2l6ZSIsIm1pbWVUeXBlIiwic2l6ZXNUb1NhdmUiLCJzaXplRGF0YSIsInByZXZlbnRSZXNpemUiLCJkZXNpcmVkSGVpZ2h0IiwiZGVzaXJlZFdpZHRoIiwid2l0aG91dEVubGFyZ2VtZW50Iiwid2l0aG91dFJlZHVjdGlvbiIsIm9yaWdpbmFsIiwidW5kZWZpbmVkIiwiaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCIsImhhc0luc3VmZmljaWVudFdpZHRoIiwiaGFzSW5zdWZmaWNpZW50SGVpZ2h0IiwiYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMiLCJmaXQiLCJ0YXJnZXRBc3BlY3RSYXRpbyIsIm9yaWdpbmFsQXNwZWN0UmF0aW8iLCJza2lwRW5sYXJnZW1lbnQiLCJza2lwUmVkdWN0aW9uIiwic2FuaXRpemVSZXNpemVDb25maWciLCJyZXNpemVDb25maWciLCJwb3NpdGlvbiIsInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJjb25maWciLCJkaW1lbnNpb25zIiwiZmlsZSIsInJlcSIsInNhdmVkRmlsZW5hbWUiLCJzaGFycCIsInN0YXRpY1BhdGgiLCJpbWFnZVNpemVzIiwidXBsb2FkIiwic2hhcnBCYXNlIiwidGVtcEZpbGVQYXRoIiwiZGF0YSIsInJvdGF0ZSIsInJlc3VsdHMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiaW1hZ2VSZXNpemVDb25maWciLCJpbWFnZVRvUmVzaXplIiwiY2xvbmUiLCJyZXNpemVkIiwicXVlcnkiLCJ1cGxvYWRFZGl0cyIsImZvY2FsUG9pbnQiLCJyZXNpemVIZWlnaHQiLCJyZXNpemVXaWR0aCIsInJlc2l6ZUFzcGVjdFJhdGlvIiwicHJpb3JpdGl6ZUhlaWdodCIsInNjYWxlZEltYWdlIiwicmVzaXplIiwiaW5mbyIsInNjYWxlZEltYWdlSW5mbyIsInRvQnVmZmVyIiwicmVzb2x2ZVdpdGhPYmplY3QiLCJ4IiwieSIsInNhZmVSZXNpemVXaWR0aCIsIm1heE9mZnNldFgiLCJsZWZ0Rm9jYWxFZGdlIiwiTWF0aCIsInJvdW5kIiwic2FmZU9mZnNldFgiLCJtaW4iLCJtYXgiLCJzYWZlUmVzaXplSGVpZ2h0IiwibWF4T2Zmc2V0WSIsInRvcEZvY2FsRWRnZSIsInNhZmVPZmZzZXRZIiwiZXh0cmFjdCIsImxlZnQiLCJ0b3AiLCJmb3JtYXRPcHRpb25zIiwidG9Gb3JtYXQiLCJmb3JtYXQiLCJvcHRpb25zIiwidHJpbU9wdGlvbnMiLCJ0cmltIiwiYnVmZmVyRGF0YSIsImJ1ZmZlckluZm8iLCJzYW5pdGl6ZWRJbWFnZSIsInBheWxvYWRVcGxvYWRTaXplcyIsIm1pbWVJbmZvIiwiaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMiLCJpbWFnZVBhdGgiLCJ1bmxpbmtTeW5jIiwic2l6ZSIsIm1pbWUiLCJidWZmZXIiLCJwYXRoIiwicmVkdWNlIiwiYWNjIiwicmVzdWx0IiwiT2JqZWN0IiwiYXNzaWduIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsVUFBVSxRQUFRLFlBQVc7QUFDdEMsT0FBT0MsUUFBUSxLQUFJO0FBQ25CLE9BQU9DLGNBQWMsb0JBQW1CO0FBUXhDLFNBQVNDLFFBQVEsUUFBUSx3QkFBdUI7QUFDaEQsT0FBT0MsZ0JBQWdCLGVBQWM7QUE0QnJDOzs7OztDQUtDLEdBQ0QsTUFBTUMsd0JBQXdCLENBQUNDO0lBQzdCLE1BQU1DLFlBQVlELFlBQVlFLEtBQUssQ0FBQyxLQUFLQyxHQUFHO0lBQzVDLE1BQU1DLE9BQU9SLFNBQVNJLFlBQVlLLFNBQVMsQ0FBQyxHQUFHTCxZQUFZTSxXQUFXLENBQUMsU0FBU047SUFDaEYsT0FBTztRQUFFSTtRQUFNRyxLQUFLTjtJQUFVO0FBQ2hDO0FBRUE7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsTUFBTU8sa0JBQWtCLENBQ3RCQyxpQkFDQSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBYyxFQUM3QlYsWUFDRyxDQUFDLEVBQUVRLGdCQUFnQixDQUFDLEVBQUVFLE1BQU0sQ0FBQyxFQUFFRCxPQUFPLENBQUMsRUFBRVQsVUFBVSxDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRCxNQUFNVyxlQUFlLENBQ25CUixNQUNBUyxXQUFpQyxJQUFJLEVBQ3JDRixRQUEyQixJQUFJLEVBQy9CRCxTQUE2QixJQUFJLEVBQ2pDSSxXQUFpQyxJQUFJLEVBQ3JDQyxXQUFpQyxJQUFJLEVBQ3JDQyxjQUE0QixFQUFFLEdBQ1IsQ0FBQTtRQUN0QkMsVUFBVTtZQUNSLENBQUNiLEtBQUssRUFBRTtnQkFDTlM7Z0JBQ0FDO2dCQUNBSjtnQkFDQUs7Z0JBQ0FKO1lBQ0Y7UUFDRjtRQUNBSztJQUNGLENBQUE7QUFFQTs7Ozs7Ozs7O0NBU0MsR0FDRCxNQUFNRSxnQkFBZ0IsQ0FDcEIsRUFBRVIsUUFBUVMsYUFBYSxFQUFFUixPQUFPUyxZQUFZLEVBQUVDLGtCQUFrQixFQUFFQyxnQkFBZ0IsRUFBYSxFQUMvRkM7SUFFQSxnQ0FBZ0M7SUFDaEMsSUFBSUQscUJBQXFCRSxXQUFXO1FBQ2xDLE9BQU8sTUFBTSxlQUFlOztJQUM5QjtJQUVBLG9DQUFvQztJQUNwQyxJQUFJSCx1QkFBdUJHLFdBQVc7UUFDcEMsT0FBTyxNQUFNLGVBQWU7O0lBQzlCO0lBRUEsTUFBTUMsNEJBQTRCLENBQUNOLGlCQUFpQixDQUFDQztJQUNyRCxJQUFJSywyQkFBMkI7UUFDN0IsNkVBQTZFO1FBQzdFLHFEQUFxRDtRQUNyRCxPQUFPLE1BQU0sZUFBZTs7SUFDOUI7SUFFQSxNQUFNQyx1QkFBdUJOLGVBQWVHLFNBQVNaLEtBQUs7SUFDMUQsTUFBTWdCLHdCQUF3QlIsZ0JBQWdCSSxTQUFTYixNQUFNO0lBQzdELElBQUlnQix3QkFBd0JDLHVCQUF1QjtRQUNqRCxnSEFBZ0g7UUFDaEgsNEdBQTRHO1FBQzVHLGlEQUFpRDtRQUNqRCxPQUFPLEtBQUssMkJBQTJCOztJQUN6QztJQUVBLE9BQU8sTUFBTSxlQUFlOztBQUM5QjtBQUVBOzs7Ozs7Q0FNQyxHQUNELE1BQU1DLDBCQUEwQixDQUM5QixFQUFFQyxHQUFHLEVBQUVuQixNQUFNLEVBQUVDLEtBQUssRUFBRVUsa0JBQWtCLEVBQUVDLGdCQUFnQixFQUFhLEVBQ3ZFQztJQUVBLElBQUlNLFFBQVEsYUFBYUEsUUFBUSxVQUFVLE9BQU87SUFDbEQsSUFBSSxDQUFDaEMsU0FBU2EsV0FBVyxDQUFDYixTQUFTYyxRQUFRLE9BQU87SUFFbEQsTUFBTW1CLG9CQUFvQm5CLFFBQVFEO0lBQ2xDLE1BQU1xQixzQkFBc0JSLFNBQVNaLEtBQUssR0FBR1ksU0FBU2IsTUFBTTtJQUM1RCxJQUFJcUIsd0JBQXdCRCxtQkFBbUIsT0FBTztJQUV0RCxNQUFNRSxrQkFBa0JYLHNCQUF1QkUsQ0FBQUEsU0FBU2IsTUFBTSxHQUFHQSxVQUFVYSxTQUFTWixLQUFLLEdBQUdBLEtBQUk7SUFDaEcsTUFBTXNCLGdCQUFnQlgsb0JBQXFCQyxDQUFBQSxTQUFTYixNQUFNLEdBQUdBLFVBQVVhLFNBQVNaLEtBQUssR0FBR0EsS0FBSTtJQUM1RixJQUFJcUIsbUJBQW1CQyxlQUFlLE9BQU87SUFFN0MsT0FBTztBQUNUO0FBRUE7Ozs7Ozs7Q0FPQyxHQUNELE1BQU1DLHVCQUF1QixDQUFDQztJQUM1QixJQUFJQSxhQUFhYixnQkFBZ0IsRUFBRTtRQUNqQyxPQUFPO1lBQ0wsR0FBR2EsWUFBWTtZQUNmLHNGQUFzRjtZQUN0Rk4sS0FBS00sY0FBY04sT0FBTztZQUMxQk8sVUFBVUQsY0FBY0MsWUFBWTtRQUN0QztJQUNGO0lBQ0EsT0FBT0Q7QUFDVDtBQUVBOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRCxlQUFlLGVBQWVFLDZCQUE2QixFQUN6REMsTUFBTSxFQUNOQyxVQUFVLEVBQ1ZDLElBQUksRUFDSnpCLFFBQVEsRUFDUjBCLEdBQUcsRUFDSEMsYUFBYSxFQUNiQyxLQUFLLEVBQ0xDLFVBQVUsRUFDQztJQUNYLE1BQU0sRUFBRUMsVUFBVSxFQUFFLEdBQUdQLE9BQU9RLE1BQU07SUFDcEMsdURBQXVEO0lBQ3ZELElBQUksQ0FBQ0QsWUFBWSxPQUFPO1FBQUU1QixVQUFVLENBQUM7UUFBR0QsYUFBYSxFQUFFO0lBQUM7SUFFeEQsTUFBTStCLFlBQVlKLE1BQU1ILEtBQUtRLFlBQVksSUFBSVIsS0FBS1MsSUFBSSxFQUFFQyxNQUFNLEdBQUcsbUdBQW1HOztJQUVwSyxNQUFNQyxVQUE4QixNQUFNQyxRQUFRQyxHQUFHLENBQ25EUixXQUFXUyxHQUFHLENBQUMsT0FBT0M7UUFDcEJBLG9CQUFvQnJCLHFCQUFxQnFCO1FBRXpDLDJFQUEyRTtRQUMzRSw0RUFBNEU7UUFDNUUsZ0VBQWdFO1FBQ2hFLElBQUlyQyxjQUFjcUMsbUJBQW1CaEIsYUFBYTtZQUNoRCxPQUFPM0IsYUFBYTJDLGtCQUFrQm5ELElBQUk7UUFDNUM7UUFFQSxNQUFNb0QsZ0JBQWdCVCxVQUFVVSxLQUFLO1FBQ3JDLElBQUlDLFVBQVVGO1FBRWQsSUFDRWYsSUFBSWtCLEtBQUssRUFBRUMsYUFBYUMsY0FDeEJqQyx3QkFBd0IyQixtQkFBbUJoQixhQUMzQztZQUNBLE1BQU0sRUFBRTdCLFFBQVFvRCxZQUFZLEVBQUVuRCxPQUFPb0QsV0FBVyxFQUFFLEdBQUdSO1lBQ3JELE1BQU1TLG9CQUFvQkQsY0FBY0Q7WUFDeEMsTUFBTS9CLHNCQUFzQlEsV0FBVzVCLEtBQUssR0FBRzRCLFdBQVc3QixNQUFNO1lBQ2hFLE1BQU11RCxtQkFBbUJELG9CQUFvQmpDO1lBRTdDLDBEQUEwRDtZQUMxRCxNQUFNbUMsY0FBY1YsY0FBY1csTUFBTSxDQUFDO2dCQUN2Q3pELFFBQVF1RCxtQkFBbUJILGVBQWU7Z0JBQzFDbkQsT0FBT3NELG1CQUFtQixPQUFPRjtZQUNuQztZQUNBLE1BQU0sRUFBRUssTUFBTUMsZUFBZSxFQUFFLEdBQUcsTUFBTUgsWUFBWUksUUFBUSxDQUFDO2dCQUFFQyxtQkFBbUI7WUFBSztZQUV2RiwwQkFBMEI7WUFDMUIsTUFBTVYsYUFBYTtnQkFDakJXLEdBQUczRSxTQUFTNEMsSUFBSWtCLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxVQUFVLEVBQUVXLEtBQzFDL0IsSUFBSWtCLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxVQUFVLENBQUNXLENBQUMsR0FDbEM7Z0JBQ0pDLEdBQUc1RSxTQUFTNEMsSUFBSWtCLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxVQUFVLEVBQUVZLEtBQzFDaEMsSUFBSWtCLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxVQUFVLENBQUNZLENBQUMsR0FDbEM7WUFDTjtZQUVBLE1BQU1DLGtCQUFrQlgsZUFBZU0sZ0JBQWdCMUQsS0FBSztZQUM1RCxNQUFNZ0UsYUFBYU4sZ0JBQWdCMUQsS0FBSyxHQUFHK0Q7WUFDM0MsTUFBTUUsZ0JBQWdCQyxLQUFLQyxLQUFLLENBQzlCVCxnQkFBZ0IxRCxLQUFLLEdBQUlrRCxDQUFBQSxXQUFXVyxDQUFDLEdBQUcsR0FBRSxJQUFLRSxrQkFBa0I7WUFFbkUsTUFBTUssY0FBY0YsS0FBS0csR0FBRyxDQUFDSCxLQUFLSSxHQUFHLENBQUMsR0FBR0wsZ0JBQWdCRDtZQUV6RCxNQUFNTyxtQkFBbUJwQixnQkFBZ0JPLGdCQUFnQjNELE1BQU07WUFDL0QsTUFBTXlFLGFBQWFkLGdCQUFnQjNELE1BQU0sR0FBR3dFO1lBQzVDLE1BQU1FLGVBQWVQLEtBQUtDLEtBQUssQ0FDN0JULGdCQUFnQjNELE1BQU0sR0FBSW1ELENBQUFBLFdBQVdZLENBQUMsR0FBRyxHQUFFLElBQUtTLG1CQUFtQjtZQUVyRSxNQUFNRyxjQUFjUixLQUFLRyxHQUFHLENBQUNILEtBQUtJLEdBQUcsQ0FBQyxHQUFHRyxlQUFlRDtZQUV4RCwrQ0FBK0M7WUFDL0N6QixVQUFVUSxZQUFZb0IsT0FBTyxDQUFDO2dCQUM1QjVFLFFBQVF3RTtnQkFDUkssTUFBTVI7Z0JBQ05TLEtBQUtIO2dCQUNMMUUsT0FBTytEO1lBQ1Q7UUFDRixPQUFPO1lBQ0xoQixVQUFVRixjQUFjVyxNQUFNLENBQUNaO1FBQ2pDO1FBRUEsSUFBSUEsa0JBQWtCa0MsYUFBYSxFQUFFO1lBQ25DL0IsVUFBVUEsUUFBUWdDLFFBQVEsQ0FDeEJuQyxrQkFBa0JrQyxhQUFhLENBQUNFLE1BQU0sRUFDdENwQyxrQkFBa0JrQyxhQUFhLENBQUNHLE9BQU87UUFFM0M7UUFFQSxJQUFJckMsa0JBQWtCc0MsV0FBVyxFQUFFO1lBQ2pDbkMsVUFBVUEsUUFBUW9DLElBQUksQ0FBQ3ZDLGtCQUFrQnNDLFdBQVc7UUFDdEQ7UUFFQSxNQUFNLEVBQUU1QyxNQUFNOEMsVUFBVSxFQUFFM0IsTUFBTTRCLFVBQVUsRUFBRSxHQUFHLE1BQU10QyxRQUFRWSxRQUFRLENBQUM7WUFDcEVDLG1CQUFtQjtRQUNyQjtRQUVBLE1BQU0wQixpQkFBaUJsRyxzQkFBc0IyQztRQUU3Q0QsSUFBSXlELGtCQUFrQixDQUFDM0Msa0JBQWtCbkQsSUFBSSxDQUFDLEdBQUcyRjtRQUVqRCxNQUFNSSxXQUFXLE1BQU16RyxXQUFXcUc7UUFFbEMsTUFBTUssMEJBQTBCNUYsZ0JBQzlCeUYsZUFBZTdGLElBQUksRUFDbkI0RixZQUNBRyxVQUFVNUYsT0FBTzBGLGVBQWUxRixHQUFHO1FBR3JDLE1BQU04RixZQUFZLENBQUMsRUFBRXpELFdBQVcsQ0FBQyxFQUFFd0Qsd0JBQXdCLENBQUM7UUFFNUQsSUFBSSxNQUFNdEcsV0FBV3VHLFlBQVk7WUFDL0IsSUFBSTtnQkFDRjFHLEdBQUcyRyxVQUFVLENBQUNEO1lBQ2hCLEVBQUUsT0FBTTtZQUNOLHVCQUF1QjtZQUN6QjtRQUNGO1FBRUEsTUFBTSxFQUFFM0YsTUFBTSxFQUFFNkYsSUFBSSxFQUFFNUYsS0FBSyxFQUFFLEdBQUdxRjtRQUNoQyxPQUFPcEYsYUFDTDJDLGtCQUFrQm5ELElBQUksRUFDdEJnRyx5QkFDQXpGLE9BQ0FELFFBQ0E2RixNQUNBSixVQUFVSyxRQUFRekYsVUFDbEI7WUFBQztnQkFBRTBGLFFBQVFWO2dCQUFZVyxNQUFNTDtZQUFVO1NBQUU7SUFFN0M7SUFHRixPQUFPbEQsUUFBUXdELE1BQU0sQ0FDbkIsQ0FBQ0MsS0FBS0M7UUFDSkMsT0FBT0MsTUFBTSxDQUFDSCxJQUFJM0YsUUFBUSxFQUFFNEYsT0FBTzVGLFFBQVE7UUFDM0MyRixJQUFJNUYsV0FBVyxDQUFDZ0csSUFBSSxJQUFJSCxPQUFPN0YsV0FBVztRQUMxQyxPQUFPNEY7SUFDVCxHQUNBO1FBQUUzRixVQUFVLENBQUM7UUFBR0QsYUFBYSxFQUFFO0lBQUM7QUFFcEMifQ==
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return isImage;
9
- }
10
- });
11
- function isImage(mimeType) {
1
+ export default function isImage(mimeType) {
12
2
  return [
13
3
  'image/jpeg',
14
4
  'image/png',
@@ -18,4 +8,4 @@ function isImage(mimeType) {
18
8
  ].indexOf(mimeType) > -1;
19
9
  }
20
10
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2lzSW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNJbWFnZShtaW1lVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgWydpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICdpbWFnZS9naWYnLCAnaW1hZ2Uvc3ZnK3htbCcsICdpbWFnZS93ZWJwJ10uaW5kZXhPZihtaW1lVHlwZSkgPiAtMVxuICApXG59XG4iXSwibmFtZXMiOlsiaXNJbWFnZSIsIm1pbWVUeXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBQTs7O2VBQXdCQTs7O0FBQVQsU0FBU0EsUUFBUUMsUUFBZ0I7SUFDOUMsT0FDRTtRQUFDO1FBQWM7UUFBYTtRQUFhO1FBQWlCO0tBQWEsQ0FBQ0MsT0FBTyxDQUFDRCxZQUFZLENBQUM7QUFFakcifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2lzSW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNJbWFnZShtaW1lVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgWydpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICdpbWFnZS9naWYnLCAnaW1hZ2Uvc3ZnK3htbCcsICdpbWFnZS93ZWJwJ10uaW5kZXhPZihtaW1lVHlwZSkgPiAtMVxuICApXG59XG4iXSwibmFtZXMiOlsiaXNJbWFnZSIsIm1pbWVUeXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxTQUFTQSxRQUFRQyxRQUFnQjtJQUM5QyxPQUNFO1FBQUM7UUFBYztRQUFhO1FBQWE7UUFBaUI7S0FBYSxDQUFDQyxPQUFPLENBQUNELFlBQVksQ0FBQztBQUVqRyJ9
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "mimeTypeValidator", {
6
- enumerable: true,
7
- get: function() {
8
- return mimeTypeValidator;
9
- }
10
- });
11
- const mimeTypeValidator = (mimeTypes)=>(val, { siblingData })=>{
1
+ export const mimeTypeValidator = (mimeTypes)=>(val, { siblingData })=>{
12
2
  if (!siblingData.filename) {
13
3
  return true;
14
4
  }
@@ -19,4 +9,4 @@ const mimeTypeValidator = (mimeTypes)=>(val, { siblingData })=>{
19
9
  return !cleanedMimeTypes.some((v)=>val.startsWith(v)) ? `Invalid file type: '${val}'` : true;
20
10
  };
21
11
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL21pbWVUeXBlVmFsaWRhdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVmFsaWRhdGUgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgbWltZVR5cGVWYWxpZGF0b3IgPVxuICAobWltZVR5cGVzOiBzdHJpbmdbXSk6IFZhbGlkYXRlID0+XG4gICh2YWw6IHN0cmluZywgeyBzaWJsaW5nRGF0YSB9KSA9PiB7XG4gICAgaWYgKCFzaWJsaW5nRGF0YS5maWxlbmFtZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoIXZhbCkge1xuICAgICAgcmV0dXJuICdJbnZhbGlkIGZpbGUgdHlwZSdcbiAgICB9XG5cbiAgICBjb25zdCBjbGVhbmVkTWltZVR5cGVzID0gbWltZVR5cGVzLm1hcCgodikgPT4gdi5yZXBsYWNlKCcqJywgJycpKVxuICAgIHJldHVybiAhY2xlYW5lZE1pbWVUeXBlcy5zb21lKCh2KSA9PiB2YWwuc3RhcnRzV2l0aCh2KSkgPyBgSW52YWxpZCBmaWxlIHR5cGU6ICcke3ZhbH0nYCA6IHRydWVcbiAgfVxuIl0sIm5hbWVzIjpbIm1pbWVUeXBlVmFsaWRhdG9yIiwibWltZVR5cGVzIiwidmFsIiwic2libGluZ0RhdGEiLCJmaWxlbmFtZSIsImNsZWFuZWRNaW1lVHlwZXMiLCJtYXAiLCJ2IiwicmVwbGFjZSIsInNvbWUiLCJzdGFydHNXaXRoIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxvQkFDWCxDQUFDQyxZQUNELENBQUNDLEtBQWEsRUFBRUMsV0FBVyxFQUFFO1FBQzNCLElBQUksQ0FBQ0EsWUFBWUMsUUFBUSxFQUFFO1lBQ3pCLE9BQU87UUFDVDtRQUVBLElBQUksQ0FBQ0YsS0FBSztZQUNSLE9BQU87UUFDVDtRQUVBLE1BQU1HLG1CQUFtQkosVUFBVUssR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLE9BQU8sQ0FBQyxLQUFLO1FBQzdELE9BQU8sQ0FBQ0gsaUJBQWlCSSxJQUFJLENBQUMsQ0FBQ0YsSUFBTUwsSUFBSVEsVUFBVSxDQUFDSCxNQUFNLENBQUMsb0JBQW9CLEVBQUVMLElBQUksQ0FBQyxDQUFDLEdBQUc7SUFDNUYifQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL21pbWVUeXBlVmFsaWRhdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVmFsaWRhdGUgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgbWltZVR5cGVWYWxpZGF0b3IgPVxuICAobWltZVR5cGVzOiBzdHJpbmdbXSk6IFZhbGlkYXRlID0+XG4gICh2YWw6IHN0cmluZywgeyBzaWJsaW5nRGF0YSB9KSA9PiB7XG4gICAgaWYgKCFzaWJsaW5nRGF0YS5maWxlbmFtZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoIXZhbCkge1xuICAgICAgcmV0dXJuICdJbnZhbGlkIGZpbGUgdHlwZSdcbiAgICB9XG5cbiAgICBjb25zdCBjbGVhbmVkTWltZVR5cGVzID0gbWltZVR5cGVzLm1hcCgodikgPT4gdi5yZXBsYWNlKCcqJywgJycpKVxuICAgIHJldHVybiAhY2xlYW5lZE1pbWVUeXBlcy5zb21lKCh2KSA9PiB2YWwuc3RhcnRzV2l0aCh2KSkgPyBgSW52YWxpZCBmaWxlIHR5cGU6ICcke3ZhbH0nYCA6IHRydWVcbiAgfVxuIl0sIm5hbWVzIjpbIm1pbWVUeXBlVmFsaWRhdG9yIiwibWltZVR5cGVzIiwidmFsIiwic2libGluZ0RhdGEiLCJmaWxlbmFtZSIsImNsZWFuZWRNaW1lVHlwZXMiLCJtYXAiLCJ2IiwicmVwbGFjZSIsInNvbWUiLCJzdGFydHNXaXRoIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLE1BQU1BLG9CQUNYLENBQUNDLFlBQ0QsQ0FBQ0MsS0FBYSxFQUFFQyxXQUFXLEVBQUU7UUFDM0IsSUFBSSxDQUFDQSxZQUFZQyxRQUFRLEVBQUU7WUFDekIsT0FBTztRQUNUO1FBRUEsSUFBSSxDQUFDRixLQUFLO1lBQ1IsT0FBTztRQUNUO1FBRUEsTUFBTUcsbUJBQW1CSixVQUFVSyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsT0FBTyxDQUFDLEtBQUs7UUFDN0QsT0FBTyxDQUFDSCxpQkFBaUJJLElBQUksQ0FBQyxDQUFDRixJQUFNTCxJQUFJUSxVQUFVLENBQUNILE1BQU0sQ0FBQyxvQkFBb0IsRUFBRUwsSUFBSSxDQUFDLENBQUMsR0FBRztJQUM1RixFQUFDIn0=
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _mimeTypeValidator = require("./mimeTypeValidator");
1
+ import { mimeTypeValidator } from './mimeTypeValidator';
6
2
  const options = {
7
3
  siblingData: {
8
4
  filename: 'file.xyz'
@@ -13,7 +9,7 @@ describe('mimeTypeValidator', ()=>{
13
9
  const mimeTypes = [
14
10
  'image/png'
15
11
  ];
16
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
12
+ const validate = mimeTypeValidator(mimeTypes);
17
13
  expect(validate('image/png', options)).toBe(true);
18
14
  });
19
15
  it('should validate multiple mimeTypes', ()=>{
@@ -21,7 +17,7 @@ describe('mimeTypeValidator', ()=>{
21
17
  'image/png',
22
18
  'application/pdf'
23
19
  ];
24
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
20
+ const validate = mimeTypeValidator(mimeTypes);
25
21
  expect(validate('image/png', options)).toBe(true);
26
22
  expect(validate('application/pdf', options)).toBe(true);
27
23
  });
@@ -29,7 +25,7 @@ describe('mimeTypeValidator', ()=>{
29
25
  const mimeTypes = [
30
26
  'image/*'
31
27
  ];
32
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
28
+ const validate = mimeTypeValidator(mimeTypes);
33
29
  expect(validate('image/png', options)).toBe(true);
34
30
  expect(validate('image/gif', options)).toBe(true);
35
31
  });
@@ -38,7 +34,7 @@ describe('mimeTypeValidator', ()=>{
38
34
  'image/*',
39
35
  'audio/*'
40
36
  ];
41
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
37
+ const validate = mimeTypeValidator(mimeTypes);
42
38
  expect(validate('image/png', options)).toBe(true);
43
39
  expect(validate('audio/mpeg', options)).toBe(true);
44
40
  });
@@ -46,7 +42,7 @@ describe('mimeTypeValidator', ()=>{
46
42
  const mimeTypes = [
47
43
  'image/png'
48
44
  ];
49
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
45
+ const validate = mimeTypeValidator(mimeTypes);
50
46
  expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
51
47
  });
52
48
  it('should not validate when unmatched - multiple mimeTypes', ()=>{
@@ -54,14 +50,14 @@ describe('mimeTypeValidator', ()=>{
54
50
  'image/png',
55
51
  'application/pdf'
56
52
  ];
57
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
53
+ const validate = mimeTypeValidator(mimeTypes);
58
54
  expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
59
55
  });
60
56
  it('should not validate using wildcard - unmatched', ()=>{
61
57
  const mimeTypes = [
62
58
  'image/*'
63
59
  ];
64
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
60
+ const validate = mimeTypeValidator(mimeTypes);
65
61
  expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
66
62
  });
67
63
  it('should not validate multiple wildcards - unmatched', ()=>{
@@ -69,7 +65,7 @@ describe('mimeTypeValidator', ()=>{
69
65
  'image/*',
70
66
  'audio/*'
71
67
  ];
72
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
68
+ const validate = mimeTypeValidator(mimeTypes);
73
69
  expect(validate('video/mp4', options)).toBe("Invalid file type: 'video/mp4'");
74
70
  expect(validate('application/pdf', options)).toBe("Invalid file type: 'application/pdf'");
75
71
  });
@@ -78,10 +74,10 @@ describe('mimeTypeValidator', ()=>{
78
74
  'image/*',
79
75
  'application/pdf'
80
76
  ];
81
- const validate = (0, _mimeTypeValidator.mimeTypeValidator)(mimeTypes);
77
+ const validate = mimeTypeValidator(mimeTypes);
82
78
  let value;
83
79
  expect(validate(value, options)).toBe('Invalid file type');
84
80
  });
85
81
  });
86
82
 
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL21pbWVUeXBlVmFsaWRhdG9yLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBWYWxpZGF0ZU9wdGlvbnMgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaW1lVHlwZVZhbGlkYXRvciB9IGZyb20gJy4vbWltZVR5cGVWYWxpZGF0b3InXG5cbmNvbnN0IG9wdGlvbnMgPSB7IHNpYmxpbmdEYXRhOiB7IGZpbGVuYW1lOiAnZmlsZS54eXonIH0gfSBhcyBWYWxpZGF0ZU9wdGlvbnM8XG4gIHVuZGVmaW5lZCxcbiAgdW5kZWZpbmVkLFxuICB1bmRlZmluZWRcbj5cblxuZGVzY3JpYmUoJ21pbWVUeXBlVmFsaWRhdG9yJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHNpbmdsZSBtaW1lVHlwZScsICgpID0+IHtcbiAgICBjb25zdCBtaW1lVHlwZXMgPSBbJ2ltYWdlL3BuZyddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgbXVsdGlwbGUgbWltZVR5cGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvcG5nJywgJ2FwcGxpY2F0aW9uL3BkZiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXBwbGljYXRpb24vcGRmJywgb3B0aW9ucykpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHVzaW5nIHdpbGRjYXJkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvKiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnaW1hZ2UvZ2lmJywgb3B0aW9ucykpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIG11bHRpcGxlIHdpbGRjYXJkcycsICgpID0+IHtcbiAgICBjb25zdCBtaW1lVHlwZXMgPSBbJ2ltYWdlLyonLCAnYXVkaW8vKiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXVkaW8vbXBlZycsIG9wdGlvbnMpKS50b0JlKHRydWUpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgdmFsaWRhdGUgd2hlbiB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS9wbmcnXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXVkaW8vbXBlZycsIG9wdGlvbnMpKS50b0JlKFwiSW52YWxpZCBmaWxlIHR5cGU6ICdhdWRpby9tcGVnJ1wiKVxuICB9KVxuXG4gIGl0KCdzaG91bGQgbm90IHZhbGlkYXRlIHdoZW4gdW5tYXRjaGVkIC0gbXVsdGlwbGUgbWltZVR5cGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvcG5nJywgJ2FwcGxpY2F0aW9uL3BkZiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdhdWRpby9tcGVnJywgb3B0aW9ucykpLnRvQmUoXCJJbnZhbGlkIGZpbGUgdHlwZTogJ2F1ZGlvL21wZWcnXCIpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgdmFsaWRhdGUgdXNpbmcgd2lsZGNhcmQgLSB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS8qJ11cbiAgICBjb25zdCB2YWxpZGF0ZSA9IG1pbWVUeXBlVmFsaWRhdG9yKG1pbWVUeXBlcylcbiAgICBleHBlY3QodmFsaWRhdGUoJ2F1ZGlvL21wZWcnLCBvcHRpb25zKSkudG9CZShcIkludmFsaWQgZmlsZSB0eXBlOiAnYXVkaW8vbXBlZydcIilcbiAgfSlcblxuICBpdCgnc2hvdWxkIG5vdCB2YWxpZGF0ZSBtdWx0aXBsZSB3aWxkY2FyZHMgLSB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS8qJywgJ2F1ZGlvLyonXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgndmlkZW8vbXA0Jywgb3B0aW9ucykpLnRvQmUoXCJJbnZhbGlkIGZpbGUgdHlwZTogJ3ZpZGVvL21wNCdcIilcbiAgICBleHBlY3QodmFsaWRhdGUoJ2FwcGxpY2F0aW9uL3BkZicsIG9wdGlvbnMpKS50b0JlKFwiSW52YWxpZCBmaWxlIHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnXCIpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgZXJyb3Igd2hlbiBtaW1lVHlwZSBpcyBtaXNzaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvKicsICdhcHBsaWNhdGlvbi9wZGYnXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGxldCB2YWx1ZVxuICAgIGV4cGVjdCh2YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucykpLnRvQmUoJ0ludmFsaWQgZmlsZSB0eXBlJylcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsib3B0aW9ucyIsInNpYmxpbmdEYXRhIiwiZmlsZW5hbWUiLCJkZXNjcmliZSIsIml0IiwibWltZVR5cGVzIiwidmFsaWRhdGUiLCJtaW1lVHlwZVZhbGlkYXRvciIsImV4cGVjdCIsInRvQmUiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7OzttQ0FFa0M7QUFFbEMsTUFBTUEsVUFBVTtJQUFFQyxhQUFhO1FBQUVDLFVBQVU7SUFBVztBQUFFO0FBTXhEQyxTQUFTLHFCQUFxQjtJQUM1QkMsR0FBRyxtQ0FBbUM7UUFDcEMsTUFBTUMsWUFBWTtZQUFDO1NBQVk7UUFDL0IsTUFBTUMsV0FBV0MsSUFBQUEsb0NBQWlCLEVBQUNGO1FBQ25DRyxPQUFPRixTQUFTLGFBQWFOLFVBQVVTLElBQUksQ0FBQztJQUM5QztJQUVBTCxHQUFHLHNDQUFzQztRQUN2QyxNQUFNQyxZQUFZO1lBQUM7WUFBYTtTQUFrQjtRQUNsRCxNQUFNQyxXQUFXQyxJQUFBQSxvQ0FBaUIsRUFBQ0Y7UUFDbkNHLE9BQU9GLFNBQVMsYUFBYU4sVUFBVVMsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRixTQUFTLG1CQUFtQk4sVUFBVVMsSUFBSSxDQUFDO0lBQ3BEO0lBRUFMLEdBQUcsa0NBQWtDO1FBQ25DLE1BQU1DLFlBQVk7WUFBQztTQUFVO1FBQzdCLE1BQU1DLFdBQVdDLElBQUFBLG9DQUFpQixFQUFDRjtRQUNuQ0csT0FBT0YsU0FBUyxhQUFhTixVQUFVUyxJQUFJLENBQUM7UUFDNUNELE9BQU9GLFNBQVMsYUFBYU4sVUFBVVMsSUFBSSxDQUFDO0lBQzlDO0lBRUFMLEdBQUcsc0NBQXNDO1FBQ3ZDLE1BQU1DLFlBQVk7WUFBQztZQUFXO1NBQVU7UUFDeEMsTUFBTUMsV0FBV0MsSUFBQUEsb0NBQWlCLEVBQUNGO1FBQ25DRyxPQUFPRixTQUFTLGFBQWFOLFVBQVVTLElBQUksQ0FBQztRQUM1Q0QsT0FBT0YsU0FBUyxjQUFjTixVQUFVUyxJQUFJLENBQUM7SUFDL0M7SUFFQUwsR0FBRyxzQ0FBc0M7UUFDdkMsTUFBTUMsWUFBWTtZQUFDO1NBQVk7UUFDL0IsTUFBTUMsV0FBV0MsSUFBQUEsb0NBQWlCLEVBQUNGO1FBQ25DRyxPQUFPRixTQUFTLGNBQWNOLFVBQVVTLElBQUksQ0FBQztJQUMvQztJQUVBTCxHQUFHLDJEQUEyRDtRQUM1RCxNQUFNQyxZQUFZO1lBQUM7WUFBYTtTQUFrQjtRQUNsRCxNQUFNQyxXQUFXQyxJQUFBQSxvQ0FBaUIsRUFBQ0Y7UUFDbkNHLE9BQU9GLFNBQVMsY0FBY04sVUFBVVMsSUFBSSxDQUFDO0lBQy9DO0lBRUFMLEdBQUcsa0RBQWtEO1FBQ25ELE1BQU1DLFlBQVk7WUFBQztTQUFVO1FBQzdCLE1BQU1DLFdBQVdDLElBQUFBLG9DQUFpQixFQUFDRjtRQUNuQ0csT0FBT0YsU0FBUyxjQUFjTixVQUFVUyxJQUFJLENBQUM7SUFDL0M7SUFFQUwsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTUMsWUFBWTtZQUFDO1lBQVc7U0FBVTtRQUN4QyxNQUFNQyxXQUFXQyxJQUFBQSxvQ0FBaUIsRUFBQ0Y7UUFDbkNHLE9BQU9GLFNBQVMsYUFBYU4sVUFBVVMsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRixTQUFTLG1CQUFtQk4sVUFBVVMsSUFBSSxDQUFDO0lBQ3BEO0lBRUFMLEdBQUcsNkNBQTZDO1FBQzlDLE1BQU1DLFlBQVk7WUFBQztZQUFXO1NBQWtCO1FBQ2hELE1BQU1DLFdBQVdDLElBQUFBLG9DQUFpQixFQUFDRjtRQUNuQyxJQUFJSztRQUNKRixPQUFPRixTQUFTSSxPQUFPVixVQUFVUyxJQUFJLENBQUM7SUFDeEM7QUFDRiJ9
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL21pbWVUeXBlVmFsaWRhdG9yLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBWYWxpZGF0ZU9wdGlvbnMgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaW1lVHlwZVZhbGlkYXRvciB9IGZyb20gJy4vbWltZVR5cGVWYWxpZGF0b3InXG5cbmNvbnN0IG9wdGlvbnMgPSB7IHNpYmxpbmdEYXRhOiB7IGZpbGVuYW1lOiAnZmlsZS54eXonIH0gfSBhcyBWYWxpZGF0ZU9wdGlvbnM8XG4gIHVuZGVmaW5lZCxcbiAgdW5kZWZpbmVkLFxuICB1bmRlZmluZWRcbj5cblxuZGVzY3JpYmUoJ21pbWVUeXBlVmFsaWRhdG9yJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHNpbmdsZSBtaW1lVHlwZScsICgpID0+IHtcbiAgICBjb25zdCBtaW1lVHlwZXMgPSBbJ2ltYWdlL3BuZyddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgbXVsdGlwbGUgbWltZVR5cGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvcG5nJywgJ2FwcGxpY2F0aW9uL3BkZiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXBwbGljYXRpb24vcGRmJywgb3B0aW9ucykpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHVzaW5nIHdpbGRjYXJkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvKiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnaW1hZ2UvZ2lmJywgb3B0aW9ucykpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIG11bHRpcGxlIHdpbGRjYXJkcycsICgpID0+IHtcbiAgICBjb25zdCBtaW1lVHlwZXMgPSBbJ2ltYWdlLyonLCAnYXVkaW8vKiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdpbWFnZS9wbmcnLCBvcHRpb25zKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXVkaW8vbXBlZycsIG9wdGlvbnMpKS50b0JlKHRydWUpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgdmFsaWRhdGUgd2hlbiB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS9wbmcnXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgnYXVkaW8vbXBlZycsIG9wdGlvbnMpKS50b0JlKFwiSW52YWxpZCBmaWxlIHR5cGU6ICdhdWRpby9tcGVnJ1wiKVxuICB9KVxuXG4gIGl0KCdzaG91bGQgbm90IHZhbGlkYXRlIHdoZW4gdW5tYXRjaGVkIC0gbXVsdGlwbGUgbWltZVR5cGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvcG5nJywgJ2FwcGxpY2F0aW9uL3BkZiddXG4gICAgY29uc3QgdmFsaWRhdGUgPSBtaW1lVHlwZVZhbGlkYXRvcihtaW1lVHlwZXMpXG4gICAgZXhwZWN0KHZhbGlkYXRlKCdhdWRpby9tcGVnJywgb3B0aW9ucykpLnRvQmUoXCJJbnZhbGlkIGZpbGUgdHlwZTogJ2F1ZGlvL21wZWcnXCIpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgdmFsaWRhdGUgdXNpbmcgd2lsZGNhcmQgLSB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS8qJ11cbiAgICBjb25zdCB2YWxpZGF0ZSA9IG1pbWVUeXBlVmFsaWRhdG9yKG1pbWVUeXBlcylcbiAgICBleHBlY3QodmFsaWRhdGUoJ2F1ZGlvL21wZWcnLCBvcHRpb25zKSkudG9CZShcIkludmFsaWQgZmlsZSB0eXBlOiAnYXVkaW8vbXBlZydcIilcbiAgfSlcblxuICBpdCgnc2hvdWxkIG5vdCB2YWxpZGF0ZSBtdWx0aXBsZSB3aWxkY2FyZHMgLSB1bm1hdGNoZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbWltZVR5cGVzID0gWydpbWFnZS8qJywgJ2F1ZGlvLyonXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGV4cGVjdCh2YWxpZGF0ZSgndmlkZW8vbXA0Jywgb3B0aW9ucykpLnRvQmUoXCJJbnZhbGlkIGZpbGUgdHlwZTogJ3ZpZGVvL21wNCdcIilcbiAgICBleHBlY3QodmFsaWRhdGUoJ2FwcGxpY2F0aW9uL3BkZicsIG9wdGlvbnMpKS50b0JlKFwiSW52YWxpZCBmaWxlIHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnXCIpXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBub3QgZXJyb3Igd2hlbiBtaW1lVHlwZSBpcyBtaXNzaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IG1pbWVUeXBlcyA9IFsnaW1hZ2UvKicsICdhcHBsaWNhdGlvbi9wZGYnXVxuICAgIGNvbnN0IHZhbGlkYXRlID0gbWltZVR5cGVWYWxpZGF0b3IobWltZVR5cGVzKVxuICAgIGxldCB2YWx1ZVxuICAgIGV4cGVjdCh2YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucykpLnRvQmUoJ0ludmFsaWQgZmlsZSB0eXBlJylcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsibWltZVR5cGVWYWxpZGF0b3IiLCJvcHRpb25zIiwic2libGluZ0RhdGEiLCJmaWxlbmFtZSIsImRlc2NyaWJlIiwiaXQiLCJtaW1lVHlwZXMiLCJ2YWxpZGF0ZSIsImV4cGVjdCIsInRvQmUiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsaUJBQWlCLFFBQVEsc0JBQXFCO0FBRXZELE1BQU1DLFVBQVU7SUFBRUMsYUFBYTtRQUFFQyxVQUFVO0lBQVc7QUFBRTtBQU14REMsU0FBUyxxQkFBcUI7SUFDNUJDLEdBQUcsbUNBQW1DO1FBQ3BDLE1BQU1DLFlBQVk7WUFBQztTQUFZO1FBQy9CLE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkNFLE9BQU9ELFNBQVMsYUFBYU4sVUFBVVEsSUFBSSxDQUFDO0lBQzlDO0lBRUFKLEdBQUcsc0NBQXNDO1FBQ3ZDLE1BQU1DLFlBQVk7WUFBQztZQUFhO1NBQWtCO1FBQ2xELE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkNFLE9BQU9ELFNBQVMsYUFBYU4sVUFBVVEsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRCxTQUFTLG1CQUFtQk4sVUFBVVEsSUFBSSxDQUFDO0lBQ3BEO0lBRUFKLEdBQUcsa0NBQWtDO1FBQ25DLE1BQU1DLFlBQVk7WUFBQztTQUFVO1FBQzdCLE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkNFLE9BQU9ELFNBQVMsYUFBYU4sVUFBVVEsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRCxTQUFTLGFBQWFOLFVBQVVRLElBQUksQ0FBQztJQUM5QztJQUVBSixHQUFHLHNDQUFzQztRQUN2QyxNQUFNQyxZQUFZO1lBQUM7WUFBVztTQUFVO1FBQ3hDLE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkNFLE9BQU9ELFNBQVMsYUFBYU4sVUFBVVEsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRCxTQUFTLGNBQWNOLFVBQVVRLElBQUksQ0FBQztJQUMvQztJQUVBSixHQUFHLHNDQUFzQztRQUN2QyxNQUFNQyxZQUFZO1lBQUM7U0FBWTtRQUMvQixNQUFNQyxXQUFXUCxrQkFBa0JNO1FBQ25DRSxPQUFPRCxTQUFTLGNBQWNOLFVBQVVRLElBQUksQ0FBQztJQUMvQztJQUVBSixHQUFHLDJEQUEyRDtRQUM1RCxNQUFNQyxZQUFZO1lBQUM7WUFBYTtTQUFrQjtRQUNsRCxNQUFNQyxXQUFXUCxrQkFBa0JNO1FBQ25DRSxPQUFPRCxTQUFTLGNBQWNOLFVBQVVRLElBQUksQ0FBQztJQUMvQztJQUVBSixHQUFHLGtEQUFrRDtRQUNuRCxNQUFNQyxZQUFZO1lBQUM7U0FBVTtRQUM3QixNQUFNQyxXQUFXUCxrQkFBa0JNO1FBQ25DRSxPQUFPRCxTQUFTLGNBQWNOLFVBQVVRLElBQUksQ0FBQztJQUMvQztJQUVBSixHQUFHLHNEQUFzRDtRQUN2RCxNQUFNQyxZQUFZO1lBQUM7WUFBVztTQUFVO1FBQ3hDLE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkNFLE9BQU9ELFNBQVMsYUFBYU4sVUFBVVEsSUFBSSxDQUFDO1FBQzVDRCxPQUFPRCxTQUFTLG1CQUFtQk4sVUFBVVEsSUFBSSxDQUFDO0lBQ3BEO0lBRUFKLEdBQUcsNkNBQTZDO1FBQzlDLE1BQU1DLFlBQVk7WUFBQztZQUFXO1NBQWtCO1FBQ2hELE1BQU1DLFdBQVdQLGtCQUFrQk07UUFDbkMsSUFBSUk7UUFDSkYsT0FBT0QsU0FBU0csT0FBT1QsVUFBVVEsSUFBSSxDQUFDO0lBQ3hDO0FBQ0YifQ==
@@ -1,20 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- const _stream = require("stream");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
1
+ import fs from 'fs';
2
+ import { Readable } from 'stream';
18
3
  /**
19
4
  * Save buffer data to a file.
20
5
  * @param {Buffer} buffer - buffer to save to a file.
@@ -22,14 +7,14 @@ function _interop_require_default(obj) {
22
7
  */ const saveBufferToFile = async (buffer, filePath)=>{
23
8
  // Setup readable stream from buffer.
24
9
  let streamData = buffer;
25
- const readStream = new _stream.Readable();
10
+ const readStream = new Readable();
26
11
  readStream._read = ()=>{
27
12
  readStream.push(streamData);
28
13
  streamData = null;
29
14
  };
30
15
  // Setup file system writable stream.
31
- return _fs.default.writeFileSync(filePath, buffer);
16
+ return fs.writeFileSync(filePath, buffer);
32
17
  };
33
- const _default = saveBufferToFile;
18
+ export default saveBufferToFile;
34
19
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3NhdmVCdWZmZXJUb0ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdzdHJlYW0nXG5cbi8qKlxuICogU2F2ZSBidWZmZXIgZGF0YSB0byBhIGZpbGUuXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIC0gYnVmZmVyIHRvIHNhdmUgdG8gYSBmaWxlLlxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoIC0gcGF0aCB0byBhIGZpbGUuXG4gKi9cbmNvbnN0IHNhdmVCdWZmZXJUb0ZpbGUgPSBhc3luYyAoYnVmZmVyOiBCdWZmZXIsIGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgLy8gU2V0dXAgcmVhZGFibGUgc3RyZWFtIGZyb20gYnVmZmVyLlxuICBsZXQgc3RyZWFtRGF0YSA9IGJ1ZmZlclxuICBjb25zdCByZWFkU3RyZWFtID0gbmV3IFJlYWRhYmxlKClcbiAgcmVhZFN0cmVhbS5fcmVhZCA9ICgpID0+IHtcbiAgICByZWFkU3RyZWFtLnB1c2goc3RyZWFtRGF0YSlcbiAgICBzdHJlYW1EYXRhID0gbnVsbFxuICB9XG4gIC8vIFNldHVwIGZpbGUgc3lzdGVtIHdyaXRhYmxlIHN0cmVhbS5cbiAgcmV0dXJuIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGJ1ZmZlcilcbn1cblxuZXhwb3J0IGRlZmF1bHQgc2F2ZUJ1ZmZlclRvRmlsZVxuIl0sIm5hbWVzIjpbInNhdmVCdWZmZXJUb0ZpbGUiLCJidWZmZXIiLCJmaWxlUGF0aCIsInN0cmVhbURhdGEiLCJyZWFkU3RyZWFtIiwiUmVhZGFibGUiLCJfcmVhZCIsInB1c2giLCJmcyIsIndyaXRlRmlsZVN5bmMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBb0JBOzs7ZUFBQTs7OzJEQXBCZTt3QkFDVTs7Ozs7O0FBRXpCOzs7O0NBSUMsR0FDRCxNQUFNQSxtQkFBbUIsT0FBT0MsUUFBZ0JDO0lBQzlDLHFDQUFxQztJQUNyQyxJQUFJQyxhQUFhRjtJQUNqQixNQUFNRyxhQUFhLElBQUlDLGdCQUFRO0lBQy9CRCxXQUFXRSxLQUFLLEdBQUc7UUFDakJGLFdBQVdHLElBQUksQ0FBQ0o7UUFDaEJBLGFBQWE7SUFDZjtJQUNBLHFDQUFxQztJQUNyQyxPQUFPSyxXQUFFLENBQUNDLGFBQWEsQ0FBQ1AsVUFBVUQ7QUFDcEM7TUFFQSxXQUFlRCJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3NhdmVCdWZmZXJUb0ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdzdHJlYW0nXG5cbi8qKlxuICogU2F2ZSBidWZmZXIgZGF0YSB0byBhIGZpbGUuXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIC0gYnVmZmVyIHRvIHNhdmUgdG8gYSBmaWxlLlxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoIC0gcGF0aCB0byBhIGZpbGUuXG4gKi9cbmNvbnN0IHNhdmVCdWZmZXJUb0ZpbGUgPSBhc3luYyAoYnVmZmVyOiBCdWZmZXIsIGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgLy8gU2V0dXAgcmVhZGFibGUgc3RyZWFtIGZyb20gYnVmZmVyLlxuICBsZXQgc3RyZWFtRGF0YSA9IGJ1ZmZlclxuICBjb25zdCByZWFkU3RyZWFtID0gbmV3IFJlYWRhYmxlKClcbiAgcmVhZFN0cmVhbS5fcmVhZCA9ICgpID0+IHtcbiAgICByZWFkU3RyZWFtLnB1c2goc3RyZWFtRGF0YSlcbiAgICBzdHJlYW1EYXRhID0gbnVsbFxuICB9XG4gIC8vIFNldHVwIGZpbGUgc3lzdGVtIHdyaXRhYmxlIHN0cmVhbS5cbiAgcmV0dXJuIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGJ1ZmZlcilcbn1cblxuZXhwb3J0IGRlZmF1bHQgc2F2ZUJ1ZmZlclRvRmlsZVxuIl0sIm5hbWVzIjpbImZzIiwiUmVhZGFibGUiLCJzYXZlQnVmZmVyVG9GaWxlIiwiYnVmZmVyIiwiZmlsZVBhdGgiLCJzdHJlYW1EYXRhIiwicmVhZFN0cmVhbSIsIl9yZWFkIiwicHVzaCIsIndyaXRlRmlsZVN5bmMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFFBQVEsS0FBSTtBQUNuQixTQUFTQyxRQUFRLFFBQVEsU0FBUTtBQUVqQzs7OztDQUlDLEdBQ0QsTUFBTUMsbUJBQW1CLE9BQU9DLFFBQWdCQztJQUM5QyxxQ0FBcUM7SUFDckMsSUFBSUMsYUFBYUY7SUFDakIsTUFBTUcsYUFBYSxJQUFJTDtJQUN2QkssV0FBV0MsS0FBSyxHQUFHO1FBQ2pCRCxXQUFXRSxJQUFJLENBQUNIO1FBQ2hCQSxhQUFhO0lBQ2Y7SUFDQSxxQ0FBcUM7SUFDckMsT0FBT0wsR0FBR1MsYUFBYSxDQUFDTCxVQUFVRDtBQUNwQztBQUVBLGVBQWVELGlCQUFnQiJ9
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIGV4cHJlc3MgZnJvbSAnZXhwcmVzcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgc2VydmVTdGF0aWMgZnJvbSAnc2VydmUtc3RhdGljJ1xuaW1wb3J0IHR5cGUgeyBSZXNpemVPcHRpb25zLCBTaGFycCB9IGZyb20gJ3NoYXJwJ1xuXG5leHBvcnQgdHlwZSBGaWxlU2l6ZSA9IHtcbiAgZmlsZW5hbWU6IG51bGwgfCBzdHJpbmdcbiAgZmlsZXNpemU6IG51bGwgfCBudW1iZXJcbiAgaGVpZ2h0OiBudWxsIHwgbnVtYmVyXG4gIG1pbWVUeXBlOiBudWxsIHwgc3RyaW5nXG4gIHdpZHRoOiBudWxsIHwgbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEZpbGVTaXplcyA9IHtcbiAgW3NpemU6IHN0cmluZ106IEZpbGVTaXplXG59XG5cbmV4cG9ydCB0eXBlIEZpbGVEYXRhID0ge1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIGZpbGVzaXplOiBudW1iZXJcbiAgaGVpZ2h0OiBudW1iZXJcbiAgbWltZVR5cGU6IHN0cmluZ1xuICBzaXplczogRmlsZVNpemVzXG4gIHRlbXBGaWxlUGF0aD86IHN0cmluZ1xuICB1cmw/OiBzdHJpbmdcbiAgd2lkdGg6IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBQcm9iZWRJbWFnZVNpemUgPSB7XG4gIGhlaWdodDogbnVtYmVyXG4gIG1pbWU6IHN0cmluZ1xuICB0eXBlOiBzdHJpbmdcbiAgd2lkdGg6IG51bWJlclxufVxuXG4vKipcbiAqIFBhcmFtcyBzZW50IHRvIHRoZSBzaGFycCB0b0Zvcm1hdCgpIGZ1bmN0aW9uXG4gKiBAbGluayBodHRwczovL3NoYXJwLnBpeGVscGx1bWJpbmcuY29tL2FwaS1vdXRwdXQjdG9mb3JtYXRcbiAqL1xuZXhwb3J0IHR5cGUgSW1hZ2VVcGxvYWRGb3JtYXRPcHRpb25zID0ge1xuICBmb3JtYXQ6IFBhcmFtZXRlcnM8U2hhcnBbJ3RvRm9ybWF0J10+WzBdXG4gIG9wdGlvbnM/OiBQYXJhbWV0ZXJzPFNoYXJwWyd0b0Zvcm1hdCddPlsxXVxufVxuXG4vKipcbiAqIFBhcmFtcyBzZW50IHRvIHRoZSBzaGFycCB0cmltKCkgZnVuY3Rpb25cbiAqIEBsaW5rIGh0dHBzOi8vc2hhcnAucGl4ZWxwbHVtYmluZy5jb20vYXBpLXJlc2l6ZSN0cmltXG4gKi9cbmV4cG9ydCB0eXBlIEltYWdlVXBsb2FkVHJpbU9wdGlvbnMgPSBQYXJhbWV0ZXJzPFNoYXJwWyd0cmltJ10+WzBdXG5cbmV4cG9ydCB0eXBlIEltYWdlU2l6ZSA9IE9taXQ8UmVzaXplT3B0aW9ucywgJ3dpdGhvdXRFbmxhcmdlbWVudCc+ICYge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgcHJlZmVyIHBvc2l0aW9uXG4gICAqL1xuICBjcm9wPzogc3RyaW5nIC8vIGNvbWVzIGZyb20gc2hhcnAgcGFja2FnZVxuICBmb3JtYXRPcHRpb25zPzogSW1hZ2VVcGxvYWRGb3JtYXRPcHRpb25zXG4gIG5hbWU6IHN0cmluZ1xuICB0cmltT3B0aW9ucz86IEltYWdlVXBsb2FkVHJpbU9wdGlvbnNcbiAgLyoqXG4gICAqIFdoZW4gYW4gdXBsb2FkZWQgaW1hZ2UgaXMgc21hbGxlciB0aGFuIHRoZSBkZWZpbmVkIGltYWdlIHNpemUsIHdlIGhhdmUgMyBvcHRpb25zOlxuICAgKlxuICAgKiBgdW5kZWZpbmVkIHwgZmFsc2UgfCB0cnVlYFxuICAgKlxuICAgKiAxLiBgdW5kZWZpbmVkYCBbZGVmYXVsdF06IHVwbG9hZGluZyBpbWFnZXMgd2l0aCBzbWFsbGVyIHdpZHRoIEFORCBoZWlnaHQgdGhhbiB0aGUgaW1hZ2Ugc2l6ZSB3aWxsIHJldHVybiBudWxsXG4gICAqIDIuIGBmYWxzZWA6IGFsd2F5cyBlbmxhcmdlIGltYWdlcyB0byB0aGUgaW1hZ2Ugc2l6ZVxuICAgKiAzLiBgdHJ1ZWA6IGlmIHRoZSBpbWFnZSBpcyBzbWFsbGVyIHRoYW4gdGhlIGltYWdlIHNpemUsIHJldHVybiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAgICovXG4gIHdpdGhvdXRFbmxhcmdlbWVudD86IFJlc2l6ZU9wdGlvbnNbJ3dpdGhvdXRFbmxhcmdlbWVudCddXG59XG5cbmV4cG9ydCB0eXBlIEdldEFkbWluVGh1bWJuYWlsID0gKGFyZ3M6IHsgZG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9KSA9PiBmYWxzZSB8IG51bGwgfCBzdHJpbmdcblxuZXhwb3J0IHR5cGUgVXBsb2FkQ29uZmlnID0ge1xuICAvKipcbiAgICogUmVwcmVzZW50cyBhbiBhZG1pbiB0aHVtYm5haWwsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBSZWFjdCBjb21wb25lbnQgb3IgYSBzdHJpbmcuXG4gICAqIC0gSWYgYSBzdHJpbmcsIGl0IHNob3VsZCBiZSBvbmUgb2YgdGhlIGltYWdlIHNpemUgbmFtZXMuXG4gICAqIC0gSWYgYSBSZWFjdCBjb21wb25lbnQsIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIHRodW1ibmFpbCBVUkwgdXNpbmcgdGhlIGB1c2VBZG1pblRodW1ibmFpbGAgaG9vay5cbiAgICoqL1xuICBhZG1pblRodW1ibmFpbD86IFJlYWN0LkNvbXBvbmVudFR5cGUgfCBzdHJpbmdcbiAgY3JvcD86IGJvb2xlYW5cbiAgZGlzYWJsZUxvY2FsU3RvcmFnZT86IGJvb2xlYW5cbiAgZmlsZXNSZXF1aXJlZE9uQ3JlYXRlPzogYm9vbGVhblxuICBmb2NhbFBvaW50PzogYm9vbGVhblxuICAvKiogT3B0aW9ucyBmb3Igb3JpZ2luYWwgdXBsb2FkIGZpbGUgb25seS4gRm9yIHNpemVzLCBzZXQgZWFjaCBmb3JtYXRPcHRpb25zIGluZGl2aWR1YWxseS4gKi9cbiAgZm9ybWF0T3B0aW9ucz86IEltYWdlVXBsb2FkRm9ybWF0T3B0aW9uc1xuICBoYW5kbGVycz86ICgoXG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdCxcbiAgICBhcmdzOiB7IHBhcmFtczogeyBjb2xsZWN0aW9uOiBzdHJpbmc7IGZpbGVuYW1lOiBzdHJpbmcgfSB9LFxuICApID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2UpW11cbiAgaW1hZ2VTaXplcz86IEltYWdlU2l6ZVtdXG4gIG1pbWVUeXBlcz86IHN0cmluZ1tdXG4gIHJlc2l6ZU9wdGlvbnM/OiBSZXNpemVPcHRpb25zXG4gIHN0YXRpY0Rpcj86IHN0cmluZ1xuICBzdGF0aWNPcHRpb25zPzogc2VydmVTdGF0aWMuU2VydmVTdGF0aWNPcHRpb25zPGV4cHJlc3MuUmVzcG9uc2U8YW55LCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pj5cbiAgdHJpbU9wdGlvbnM/OiBJbWFnZVVwbG9hZFRyaW1PcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNhbml0aXplZFVwbG9hZENvbmZpZyA9IFVwbG9hZENvbmZpZyAmIHtcbiAgc3RhdGljRGlyOiBVcGxvYWRDb25maWdbJ3N0YXRpY0RpciddXG59XG5cbmV4cG9ydCB0eXBlIEZpbGUgPSB7XG4gIGRhdGE6IEJ1ZmZlclxuICBtaW1ldHlwZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRmlsZVRvU2F2ZSA9IHtcbiAgYnVmZmVyOiBCdWZmZXJcbiAgcGF0aDogc3RyaW5nXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEdBLFdBR0MifQ==
@@ -1,23 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "unlinkTempFiles", {
6
- enumerable: true,
7
- get: function() {
8
- return unlinkTempFiles;
9
- }
10
- });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- const _util = require("util");
13
- const _mapAsync = require("../utilities/mapAsync");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const unlinkFile = (0, _util.promisify)(_fs.default.unlink);
20
- const unlinkTempFiles = async ({ collectionConfig, config, req })=>{
1
+ import fs from 'fs';
2
+ import { promisify } from 'util';
3
+ import { mapAsync } from '../utilities/mapAsync';
4
+ const unlinkFile = promisify(fs.unlink);
5
+ /**
6
+ * Cleanup temp files after operation lifecycle
7
+ */ export const unlinkTempFiles = async ({ collectionConfig, config, req })=>{
21
8
  if (config.upload?.useTempFiles && collectionConfig.upload) {
22
9
  const { file } = req;
23
10
  const fileArray = [
@@ -25,7 +12,7 @@ const unlinkTempFiles = async ({ collectionConfig, config, req })=>{
25
12
  file
26
13
  }
27
14
  ];
28
- await (0, _mapAsync.mapAsync)(fileArray, async ({ file })=>{
15
+ await mapAsync(fileArray, async ({ file })=>{
29
16
  // Still need this check because this will not be populated if using local API
30
17
  if (file?.tempFilePath) {
31
18
  await unlinkFile(file.tempFilePath);
@@ -34,4 +21,4 @@ const unlinkTempFiles = async ({ collectionConfig, config, req })=>{
34
21
  }
35
22
  };
36
23
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VubGlua1RlbXBGaWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgbWFwQXN5bmMgfSBmcm9tICcuLi91dGlsaXRpZXMvbWFwQXN5bmMnXG5cbmNvbnN0IHVubGlua0ZpbGUgPSBwcm9taXNpZnkoZnMudW5saW5rKVxuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb25Db25maWc6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuLyoqXG4gKiBDbGVhbnVwIHRlbXAgZmlsZXMgYWZ0ZXIgb3BlcmF0aW9uIGxpZmVjeWNsZVxuICovXG5leHBvcnQgY29uc3QgdW5saW5rVGVtcEZpbGVzOiAoYXJnczogQXJncykgPT4gUHJvbWlzZTx2b2lkPiA9IGFzeW5jICh7XG4gIGNvbGxlY3Rpb25Db25maWcsXG4gIGNvbmZpZyxcbiAgcmVxLFxufSkgPT4ge1xuICBpZiAoY29uZmlnLnVwbG9hZD8udXNlVGVtcEZpbGVzICYmIGNvbGxlY3Rpb25Db25maWcudXBsb2FkKSB7XG4gICAgY29uc3QgeyBmaWxlIH0gPSByZXFcbiAgICBjb25zdCBmaWxlQXJyYXkgPSBbeyBmaWxlIH1dXG4gICAgYXdhaXQgbWFwQXN5bmMoZmlsZUFycmF5LCBhc3luYyAoeyBmaWxlIH0pID0+IHtcbiAgICAgIC8vIFN0aWxsIG5lZWQgdGhpcyBjaGVjayBiZWNhdXNlIHRoaXMgd2lsbCBub3QgYmUgcG9wdWxhdGVkIGlmIHVzaW5nIGxvY2FsIEFQSVxuICAgICAgaWYgKGZpbGU/LnRlbXBGaWxlUGF0aCkge1xuICAgICAgICBhd2FpdCB1bmxpbmtGaWxlKGZpbGUudGVtcEZpbGVQYXRoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ1bmxpbmtUZW1wRmlsZXMiLCJ1bmxpbmtGaWxlIiwicHJvbWlzaWZ5IiwiZnMiLCJ1bmxpbmsiLCJjb2xsZWN0aW9uQ29uZmlnIiwiY29uZmlnIiwicmVxIiwidXBsb2FkIiwidXNlVGVtcEZpbGVzIiwiZmlsZSIsImZpbGVBcnJheSIsIm1hcEFzeW5jIiwidGVtcEZpbGVQYXRoIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7OzJEQW5CRTtzQkFDVzswQkFNRDs7Ozs7O0FBRXpCLE1BQU1DLGFBQWFDLElBQUFBLGVBQVMsRUFBQ0MsV0FBRSxDQUFDQyxNQUFNO0FBVS9CLE1BQU1KLGtCQUFpRCxPQUFPLEVBQ25FSyxnQkFBZ0IsRUFDaEJDLE1BQU0sRUFDTkMsR0FBRyxFQUNKO0lBQ0MsSUFBSUQsT0FBT0UsTUFBTSxFQUFFQyxnQkFBZ0JKLGlCQUFpQkcsTUFBTSxFQUFFO1FBQzFELE1BQU0sRUFBRUUsSUFBSSxFQUFFLEdBQUdIO1FBQ2pCLE1BQU1JLFlBQVk7WUFBQztnQkFBRUQ7WUFBSztTQUFFO1FBQzVCLE1BQU1FLElBQUFBLGtCQUFRLEVBQUNELFdBQVcsT0FBTyxFQUFFRCxJQUFJLEVBQUU7WUFDdkMsOEVBQThFO1lBQzlFLElBQUlBLE1BQU1HLGNBQWM7Z0JBQ3RCLE1BQU1aLFdBQVdTLEtBQUtHLFlBQVk7WUFDcEM7UUFDRjtJQUNGO0FBQ0YifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VubGlua1RlbXBGaWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgbWFwQXN5bmMgfSBmcm9tICcuLi91dGlsaXRpZXMvbWFwQXN5bmMnXG5cbmNvbnN0IHVubGlua0ZpbGUgPSBwcm9taXNpZnkoZnMudW5saW5rKVxuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb25Db25maWc6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuLyoqXG4gKiBDbGVhbnVwIHRlbXAgZmlsZXMgYWZ0ZXIgb3BlcmF0aW9uIGxpZmVjeWNsZVxuICovXG5leHBvcnQgY29uc3QgdW5saW5rVGVtcEZpbGVzOiAoYXJnczogQXJncykgPT4gUHJvbWlzZTx2b2lkPiA9IGFzeW5jICh7XG4gIGNvbGxlY3Rpb25Db25maWcsXG4gIGNvbmZpZyxcbiAgcmVxLFxufSkgPT4ge1xuICBpZiAoY29uZmlnLnVwbG9hZD8udXNlVGVtcEZpbGVzICYmIGNvbGxlY3Rpb25Db25maWcudXBsb2FkKSB7XG4gICAgY29uc3QgeyBmaWxlIH0gPSByZXFcbiAgICBjb25zdCBmaWxlQXJyYXkgPSBbeyBmaWxlIH1dXG4gICAgYXdhaXQgbWFwQXN5bmMoZmlsZUFycmF5LCBhc3luYyAoeyBmaWxlIH0pID0+IHtcbiAgICAgIC8vIFN0aWxsIG5lZWQgdGhpcyBjaGVjayBiZWNhdXNlIHRoaXMgd2lsbCBub3QgYmUgcG9wdWxhdGVkIGlmIHVzaW5nIGxvY2FsIEFQSVxuICAgICAgaWYgKGZpbGU/LnRlbXBGaWxlUGF0aCkge1xuICAgICAgICBhd2FpdCB1bmxpbmtGaWxlKGZpbGUudGVtcEZpbGVQYXRoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmcyIsInByb21pc2lmeSIsIm1hcEFzeW5jIiwidW5saW5rRmlsZSIsInVubGluayIsInVubGlua1RlbXBGaWxlcyIsImNvbGxlY3Rpb25Db25maWciLCJjb25maWciLCJyZXEiLCJ1cGxvYWQiLCJ1c2VUZW1wRmlsZXMiLCJmaWxlIiwiZmlsZUFycmF5IiwidGVtcEZpbGVQYXRoIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxRQUFRLEtBQUk7QUFDbkIsU0FBU0MsU0FBUyxRQUFRLE9BQU07QUFNaEMsU0FBU0MsUUFBUSxRQUFRLHdCQUF1QjtBQUVoRCxNQUFNQyxhQUFhRixVQUFVRCxHQUFHSSxNQUFNO0FBT3RDOztDQUVDLEdBQ0QsT0FBTyxNQUFNQyxrQkFBaUQsT0FBTyxFQUNuRUMsZ0JBQWdCLEVBQ2hCQyxNQUFNLEVBQ05DLEdBQUcsRUFDSjtJQUNDLElBQUlELE9BQU9FLE1BQU0sRUFBRUMsZ0JBQWdCSixpQkFBaUJHLE1BQU0sRUFBRTtRQUMxRCxNQUFNLEVBQUVFLElBQUksRUFBRSxHQUFHSDtRQUNqQixNQUFNSSxZQUFZO1lBQUM7Z0JBQUVEO1lBQUs7U0FBRTtRQUM1QixNQUFNVCxTQUFTVSxXQUFXLE9BQU8sRUFBRUQsSUFBSSxFQUFFO1lBQ3ZDLDhFQUE4RTtZQUM5RSxJQUFJQSxNQUFNRSxjQUFjO2dCQUN0QixNQUFNVixXQUFXUSxLQUFLRSxZQUFZO1lBQ3BDO1FBQ0Y7SUFDRjtBQUNGLEVBQUMifQ==
@@ -1,29 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "uploadFiles", {
6
- enumerable: true,
7
- get: function() {
8
- return uploadFiles;
9
- }
10
- });
11
- const _errors = require("../errors");
12
- const _saveBufferToFile = /*#__PURE__*/ _interop_require_default(require("./saveBufferToFile"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const uploadFiles = async (payload, files, req)=>{
1
+ import { FileUploadError } from '../errors';
2
+ import saveBufferToFile from './saveBufferToFile';
3
+ export const uploadFiles = async (payload, files, req)=>{
19
4
  try {
20
5
  await Promise.all(files.map(async ({ buffer, path })=>{
21
- await (0, _saveBufferToFile.default)(buffer, path);
6
+ await saveBufferToFile(buffer, path);
22
7
  }));
23
8
  } catch (err) {
24
9
  payload.logger.error(err);
25
- throw new _errors.FileUploadError(req.t);
10
+ throw new FileUploadError(req.t);
26
11
  }
27
12
  };
28
13
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VwbG9hZEZpbGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVUb1NhdmUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgc2F2ZUJ1ZmZlclRvRmlsZSBmcm9tICcuL3NhdmVCdWZmZXJUb0ZpbGUnXG5cbmV4cG9ydCBjb25zdCB1cGxvYWRGaWxlcyA9IGFzeW5jIChcbiAgcGF5bG9hZDogUGF5bG9hZCxcbiAgZmlsZXM6IEZpbGVUb1NhdmVbXSxcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmlsZXMubWFwKGFzeW5jICh7IGJ1ZmZlciwgcGF0aCB9KSA9PiB7XG4gICAgICAgIGF3YWl0IHNhdmVCdWZmZXJUb0ZpbGUoYnVmZmVyLCBwYXRoKVxuICAgICAgfSksXG4gICAgKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gICAgdGhyb3cgbmV3IEZpbGVVcGxvYWRFcnJvcihyZXEudClcbiAgfVxufVxuIl0sIm5hbWVzIjpbInVwbG9hZEZpbGVzIiwicGF5bG9hZCIsImZpbGVzIiwicmVxIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImJ1ZmZlciIsInBhdGgiLCJzYXZlQnVmZmVyVG9GaWxlIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJGaWxlVXBsb2FkRXJyb3IiLCJ0Il0sIm1hcHBpbmdzIjoiOzs7OytCQU9hQTs7O2VBQUFBOzs7d0JBSG1CO3lFQUNIOzs7Ozs7QUFFdEIsTUFBTUEsY0FBYyxPQUN6QkMsU0FDQUMsT0FDQUM7SUFFQSxJQUFJO1FBQ0YsTUFBTUMsUUFBUUMsR0FBRyxDQUNmSCxNQUFNSSxHQUFHLENBQUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRTtZQUMvQixNQUFNQyxJQUFBQSx5QkFBZ0IsRUFBQ0YsUUFBUUM7UUFDakM7SUFFSixFQUFFLE9BQU9FLEtBQUs7UUFDWlQsUUFBUVUsTUFBTSxDQUFDQyxLQUFLLENBQUNGO1FBQ3JCLE1BQU0sSUFBSUcsdUJBQWUsQ0FBQ1YsSUFBSVcsQ0FBQztJQUNqQztBQUNGIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VwbG9hZEZpbGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVUb1NhdmUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgc2F2ZUJ1ZmZlclRvRmlsZSBmcm9tICcuL3NhdmVCdWZmZXJUb0ZpbGUnXG5cbmV4cG9ydCBjb25zdCB1cGxvYWRGaWxlcyA9IGFzeW5jIChcbiAgcGF5bG9hZDogUGF5bG9hZCxcbiAgZmlsZXM6IEZpbGVUb1NhdmVbXSxcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmlsZXMubWFwKGFzeW5jICh7IGJ1ZmZlciwgcGF0aCB9KSA9PiB7XG4gICAgICAgIGF3YWl0IHNhdmVCdWZmZXJUb0ZpbGUoYnVmZmVyLCBwYXRoKVxuICAgICAgfSksXG4gICAgKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gICAgdGhyb3cgbmV3IEZpbGVVcGxvYWRFcnJvcihyZXEudClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVVcGxvYWRFcnJvciIsInNhdmVCdWZmZXJUb0ZpbGUiLCJ1cGxvYWRGaWxlcyIsInBheWxvYWQiLCJmaWxlcyIsInJlcSIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJidWZmZXIiLCJwYXRoIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJ0Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxlQUFlLFFBQVEsWUFBVztBQUMzQyxPQUFPQyxzQkFBc0IscUJBQW9CO0FBRWpELE9BQU8sTUFBTUMsY0FBYyxPQUN6QkMsU0FDQUMsT0FDQUM7SUFFQSxJQUFJO1FBQ0YsTUFBTUMsUUFBUUMsR0FBRyxDQUNmSCxNQUFNSSxHQUFHLENBQUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRTtZQUMvQixNQUFNVCxpQkFBaUJRLFFBQVFDO1FBQ2pDO0lBRUosRUFBRSxPQUFPQyxLQUFLO1FBQ1pSLFFBQVFTLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRjtRQUNyQixNQUFNLElBQUlYLGdCQUFnQkssSUFBSVMsQ0FBQztJQUNqQztBQUNGLEVBQUMifQ==
@@ -1,21 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _errors = require("../errors");
1
+ import { DuplicateCollection } from '../errors';
12
2
  const getDuplicates = (arr)=>arr.filter((item, index)=>arr.indexOf(item) !== index);
13
3
  const checkDuplicateCollections = (collections)=>{
14
4
  const duplicateSlugs = getDuplicates(collections.map((c)=>c.slug));
15
5
  if (duplicateSlugs.length > 0) {
16
- throw new _errors.DuplicateCollection('slug', duplicateSlugs);
6
+ throw new DuplicateCollection('slug', duplicateSlugs);
17
7
  }
18
8
  };
19
- const _default = checkDuplicateCollections;
9
+ export default checkDuplicateCollections;
20
10
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hlY2tEdXBsaWNhdGVDb2xsZWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IER1cGxpY2F0ZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9lcnJvcnMnXG5cbmNvbnN0IGdldER1cGxpY2F0ZXMgPSAoYXJyOiBzdHJpbmdbXSkgPT4gYXJyLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IGFyci5pbmRleE9mKGl0ZW0pICE9PSBpbmRleClcblxuY29uc3QgY2hlY2tEdXBsaWNhdGVDb2xsZWN0aW9ucyA9IChjb2xsZWN0aW9uczogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1tdKTogdm9pZCA9PiB7XG4gIGNvbnN0IGR1cGxpY2F0ZVNsdWdzID0gZ2V0RHVwbGljYXRlcyhjb2xsZWN0aW9ucy5tYXAoKGMpID0+IGMuc2x1ZykpXG4gIGlmIChkdXBsaWNhdGVTbHVncy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvbGxlY3Rpb24oJ3NsdWcnLCBkdXBsaWNhdGVTbHVncylcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjaGVja0R1cGxpY2F0ZUNvbGxlY3Rpb25zXG4iXSwibmFtZXMiOlsiZ2V0RHVwbGljYXRlcyIsImFyciIsImZpbHRlciIsIml0ZW0iLCJpbmRleCIsImluZGV4T2YiLCJjaGVja0R1cGxpY2F0ZUNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJkdXBsaWNhdGVTbHVncyIsIm1hcCIsImMiLCJzbHVnIiwibGVuZ3RoIiwiRHVwbGljYXRlQ29sbGVjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFhQTs7O2VBQUE7Ozt3QkFYb0M7QUFFcEMsTUFBTUEsZ0JBQWdCLENBQUNDLE1BQWtCQSxJQUFJQyxNQUFNLENBQUMsQ0FBQ0MsTUFBTUMsUUFBVUgsSUFBSUksT0FBTyxDQUFDRixVQUFVQztBQUUzRixNQUFNRSw0QkFBNEIsQ0FBQ0M7SUFDakMsTUFBTUMsaUJBQWlCUixjQUFjTyxZQUFZRSxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSTtJQUNsRSxJQUFJSCxlQUFlSSxNQUFNLEdBQUcsR0FBRztRQUM3QixNQUFNLElBQUlDLDJCQUFtQixDQUFDLFFBQVFMO0lBQ3hDO0FBQ0Y7TUFFQSxXQUFlRiJ9
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hlY2tEdXBsaWNhdGVDb2xsZWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IER1cGxpY2F0ZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9lcnJvcnMnXG5cbmNvbnN0IGdldER1cGxpY2F0ZXMgPSAoYXJyOiBzdHJpbmdbXSkgPT4gYXJyLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IGFyci5pbmRleE9mKGl0ZW0pICE9PSBpbmRleClcblxuY29uc3QgY2hlY2tEdXBsaWNhdGVDb2xsZWN0aW9ucyA9IChjb2xsZWN0aW9uczogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1tdKTogdm9pZCA9PiB7XG4gIGNvbnN0IGR1cGxpY2F0ZVNsdWdzID0gZ2V0RHVwbGljYXRlcyhjb2xsZWN0aW9ucy5tYXAoKGMpID0+IGMuc2x1ZykpXG4gIGlmIChkdXBsaWNhdGVTbHVncy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvbGxlY3Rpb24oJ3NsdWcnLCBkdXBsaWNhdGVTbHVncylcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjaGVja0R1cGxpY2F0ZUNvbGxlY3Rpb25zXG4iXSwibmFtZXMiOlsiRHVwbGljYXRlQ29sbGVjdGlvbiIsImdldER1cGxpY2F0ZXMiLCJhcnIiLCJmaWx0ZXIiLCJpdGVtIiwiaW5kZXgiLCJpbmRleE9mIiwiY2hlY2tEdXBsaWNhdGVDb2xsZWN0aW9ucyIsImNvbGxlY3Rpb25zIiwiZHVwbGljYXRlU2x1Z3MiLCJtYXAiLCJjIiwic2x1ZyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsbUJBQW1CLFFBQVEsWUFBVztBQUUvQyxNQUFNQyxnQkFBZ0IsQ0FBQ0MsTUFBa0JBLElBQUlDLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxRQUFVSCxJQUFJSSxPQUFPLENBQUNGLFVBQVVDO0FBRTNGLE1BQU1FLDRCQUE0QixDQUFDQztJQUNqQyxNQUFNQyxpQkFBaUJSLGNBQWNPLFlBQVlFLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJO0lBQ2xFLElBQUlILGVBQWVJLE1BQU0sR0FBRyxHQUFHO1FBQzdCLE1BQU0sSUFBSWIsb0JBQW9CLFFBQVFTO0lBQ3hDO0FBQ0Y7QUFFQSxlQUFlRiwwQkFBeUIifQ==