@decaf-ts/core 0.9.0 → 0.9.1-9.tasks

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 (554) hide show
  1. package/README.md +1 -1
  2. package/dist/core.cjs +6705 -2
  3. package/dist/core.js +6932 -2
  4. package/lib/auth/constants.cjs +1 -1
  5. package/lib/auth/decorators.cjs +1 -1
  6. package/lib/auth/index.cjs +1 -1
  7. package/lib/esm/auth/constants.js +1 -1
  8. package/lib/esm/auth/decorators.js +1 -1
  9. package/lib/esm/auth/index.js +1 -1
  10. package/lib/esm/fs/FilesystemAdapter.d.ts +1 -0
  11. package/lib/esm/fs/FilesystemAdapter.js +3 -2
  12. package/lib/esm/fs/FsDispatch.js +1 -1
  13. package/lib/esm/fs/helpers.js +1 -1
  14. package/lib/esm/fs/index.js +1 -1
  15. package/lib/esm/fs/indexStore.js +1 -1
  16. package/lib/esm/fs/locks/FilesystemLock.js +1 -1
  17. package/lib/esm/fs/locks/FilesystemMultiLock.js +1 -1
  18. package/lib/esm/fs/types.d.ts +6 -0
  19. package/lib/esm/fs/types.js +1 -1
  20. package/lib/esm/identity/decorators.js +1 -1
  21. package/lib/esm/identity/index.js +1 -1
  22. package/lib/esm/index.d.ts +1 -1
  23. package/lib/esm/index.js +2 -2
  24. package/lib/esm/interfaces/ContextuallyLogged.js +1 -1
  25. package/lib/esm/interfaces/ErrorParser.js +1 -1
  26. package/lib/esm/interfaces/Executor.js +1 -1
  27. package/lib/esm/interfaces/Observable.js +1 -1
  28. package/lib/esm/interfaces/Observer.js +1 -1
  29. package/lib/esm/interfaces/Paginatable.js +1 -1
  30. package/lib/esm/interfaces/Queriable.js +1 -1
  31. package/lib/esm/interfaces/RawExecutor.js +1 -1
  32. package/lib/esm/interfaces/SequenceOptions.js +1 -1
  33. package/lib/esm/interfaces/index.js +1 -1
  34. package/lib/esm/migrations/Migration.js +1 -1
  35. package/lib/esm/migrations/MigrationService.js +1 -1
  36. package/lib/esm/migrations/MigrationTasks.js +1 -1
  37. package/lib/esm/migrations/constants.js +1 -1
  38. package/lib/esm/migrations/decorators.js +1 -1
  39. package/lib/esm/migrations/index.js +1 -1
  40. package/lib/esm/migrations/types.js +1 -1
  41. package/lib/esm/model/BaseModel.js +1 -1
  42. package/lib/esm/model/SequenceModel.js +1 -1
  43. package/lib/esm/model/construction.d.ts +1 -1
  44. package/lib/esm/model/construction.js +25 -3
  45. package/lib/esm/model/decorators.js +1 -1
  46. package/lib/esm/model/index.js +1 -1
  47. package/lib/esm/model/indexing.js +1 -1
  48. package/lib/esm/model/types.js +1 -1
  49. package/lib/esm/overrides/Metadata.js +1 -1
  50. package/lib/esm/overrides/Model.js +1 -1
  51. package/lib/esm/overrides/ModelBuilder.js +1 -1
  52. package/lib/esm/overrides/index.js +1 -1
  53. package/lib/esm/overrides/injectables.js +1 -1
  54. package/lib/esm/overrides/overrides.js +29 -1
  55. package/lib/esm/persistence/Adapter.js +14 -2
  56. package/lib/esm/persistence/Context.js +1 -1
  57. package/lib/esm/persistence/ContextLock.js +1 -1
  58. package/lib/esm/persistence/Dispatch.d.ts +7 -0
  59. package/lib/esm/persistence/Dispatch.js +20 -3
  60. package/lib/esm/persistence/ObserverHandler.js +1 -1
  61. package/lib/esm/persistence/Sequence.js +1 -1
  62. package/lib/esm/persistence/constants.js +2 -1
  63. package/lib/esm/persistence/decorators.js +1 -1
  64. package/lib/esm/persistence/errors.js +1 -1
  65. package/lib/esm/persistence/event-filters.js +1 -1
  66. package/lib/esm/persistence/generators.js +1 -1
  67. package/lib/esm/persistence/index.js +1 -1
  68. package/lib/esm/persistence/transactions.js +1 -1
  69. package/lib/esm/persistence/types.d.ts +1 -0
  70. package/lib/esm/persistence/types.js +1 -1
  71. package/lib/esm/query/Condition.js +1 -1
  72. package/lib/esm/query/MethodQueryBuilder.js +1 -1
  73. package/lib/esm/query/Paginator.js +1 -1
  74. package/lib/esm/query/Statement.js +1 -1
  75. package/lib/esm/query/constants.js +1 -1
  76. package/lib/esm/query/decorators.js +1 -1
  77. package/lib/esm/query/errors.js +1 -1
  78. package/lib/esm/query/index.js +1 -1
  79. package/lib/esm/query/options.js +1 -1
  80. package/lib/esm/query/selectors.js +1 -1
  81. package/lib/esm/query/types.js +1 -1
  82. package/lib/esm/query/utils.js +1 -1
  83. package/lib/esm/ram/RamAdapter.js +1 -1
  84. package/lib/esm/ram/RamPaginator.js +1 -1
  85. package/lib/esm/ram/RamStatement.js +1 -1
  86. package/lib/esm/ram/constants.js +1 -1
  87. package/lib/esm/ram/handlers.js +1 -1
  88. package/lib/esm/ram/index.js +1 -1
  89. package/lib/esm/ram/types.js +1 -1
  90. package/lib/esm/repository/Repository.d.ts +2 -2
  91. package/lib/esm/repository/Repository.js +19 -16
  92. package/lib/esm/repository/constants.js +1 -1
  93. package/lib/esm/repository/decorators.js +2 -2
  94. package/lib/esm/repository/errors.js +1 -1
  95. package/lib/esm/repository/index.js +1 -1
  96. package/lib/esm/repository/injectables.js +4 -2
  97. package/lib/esm/repository/types.js +1 -1
  98. package/lib/esm/repository/utils.js +1 -1
  99. package/lib/esm/services/ModelService.d.ts +4 -5
  100. package/lib/esm/services/ModelService.js +4 -2
  101. package/lib/esm/services/PersistenceService.js +1 -1
  102. package/lib/esm/services/index.js +1 -1
  103. package/lib/esm/services/services.js +1 -1
  104. package/lib/esm/tasks/CleanUpTask.js +1 -1
  105. package/lib/esm/tasks/TaskContext.d.ts +3 -1
  106. package/lib/esm/tasks/TaskContext.js +9 -2
  107. package/lib/esm/tasks/TaskEngine.d.ts +2 -0
  108. package/lib/esm/tasks/TaskEngine.js +84 -20
  109. package/lib/esm/tasks/TaskErrors.js +1 -1
  110. package/lib/esm/tasks/TaskEventBus.js +1 -1
  111. package/lib/esm/tasks/TaskEventService.d.ts +7 -0
  112. package/lib/esm/tasks/TaskEventService.js +16 -0
  113. package/lib/esm/tasks/TaskHandler.js +1 -1
  114. package/lib/esm/tasks/TaskHandlerRegistry.js +1 -1
  115. package/lib/esm/tasks/TaskService.d.ts +5 -1
  116. package/lib/esm/tasks/TaskService.js +11 -37
  117. package/lib/esm/tasks/TaskStateChangeError.js +1 -1
  118. package/lib/esm/tasks/TaskTracker.js +1 -1
  119. package/lib/esm/tasks/builder.js +1 -1
  120. package/lib/esm/tasks/constants.js +1 -1
  121. package/lib/esm/tasks/decorators.js +1 -1
  122. package/lib/esm/tasks/index.d.ts +1 -0
  123. package/lib/esm/tasks/index.js +2 -1
  124. package/lib/esm/tasks/logging.js +4 -7
  125. package/lib/esm/tasks/models/TaskBackoffModel.js +1 -1
  126. package/lib/esm/tasks/models/TaskErrorModel.js +1 -1
  127. package/lib/esm/tasks/models/TaskEventModel.js +1 -1
  128. package/lib/esm/tasks/models/TaskIOSerializer.js +1 -1
  129. package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +1 -0
  130. package/lib/esm/tasks/models/TaskLogEntryModel.js +6 -2
  131. package/lib/esm/tasks/models/TaskModel.js +1 -1
  132. package/lib/esm/tasks/models/TaskStepResultModel.js +1 -1
  133. package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +1 -0
  134. package/lib/esm/tasks/models/TaskStepSpecModel.js +7 -3
  135. package/lib/esm/tasks/models/index.js +1 -1
  136. package/lib/esm/tasks/types.d.ts +7 -3
  137. package/lib/esm/tasks/types.js +1 -1
  138. package/lib/esm/tasks/utils.js +1 -1
  139. package/lib/esm/utils/ContextualLoggedClass.js +1 -1
  140. package/lib/esm/utils/decorators.js +1 -1
  141. package/lib/esm/utils/errors.js +1 -1
  142. package/lib/esm/utils/index.js +1 -1
  143. package/lib/esm/utils/throttling.js +1 -1
  144. package/lib/esm/utils/types.js +1 -1
  145. package/lib/esm/utils/utils.d.ts +2 -1
  146. package/lib/esm/utils/utils.js +23 -6
  147. package/lib/esm/workers/TaskEngine.js +15 -4
  148. package/lib/esm/workers/WorkThreadEnvironment.js +1 -1
  149. package/lib/esm/workers/index.js +1 -1
  150. package/lib/esm/workers/messages.js +1 -1
  151. package/lib/esm/workers/types.js +1 -1
  152. package/lib/esm/workers/workerThread.js +36 -8
  153. package/lib/fs/FilesystemAdapter.cjs +3 -2
  154. package/lib/fs/FilesystemAdapter.d.ts +1 -0
  155. package/lib/fs/FsDispatch.cjs +1 -1
  156. package/lib/fs/helpers.cjs +1 -1
  157. package/lib/fs/index.cjs +1 -1
  158. package/lib/fs/indexStore.cjs +1 -1
  159. package/lib/fs/locks/FilesystemLock.cjs +1 -1
  160. package/lib/fs/locks/FilesystemMultiLock.cjs +1 -1
  161. package/lib/fs/types.cjs +1 -1
  162. package/lib/fs/types.d.ts +6 -0
  163. package/lib/identity/decorators.cjs +1 -1
  164. package/lib/identity/index.cjs +1 -1
  165. package/lib/index.cjs +2 -2
  166. package/lib/index.d.ts +1 -1
  167. package/lib/interfaces/ContextuallyLogged.cjs +1 -1
  168. package/lib/interfaces/ErrorParser.cjs +1 -1
  169. package/lib/interfaces/Executor.cjs +1 -1
  170. package/lib/interfaces/Observable.cjs +1 -1
  171. package/lib/interfaces/Observer.cjs +1 -1
  172. package/lib/interfaces/Paginatable.cjs +1 -1
  173. package/lib/interfaces/Queriable.cjs +1 -1
  174. package/lib/interfaces/RawExecutor.cjs +1 -1
  175. package/lib/interfaces/SequenceOptions.cjs +1 -1
  176. package/lib/interfaces/index.cjs +1 -1
  177. package/lib/migrations/Migration.cjs +1 -1
  178. package/lib/migrations/MigrationService.cjs +1 -1
  179. package/lib/migrations/MigrationTasks.cjs +1 -1
  180. package/lib/migrations/constants.cjs +1 -1
  181. package/lib/migrations/decorators.cjs +1 -1
  182. package/lib/migrations/index.cjs +1 -1
  183. package/lib/migrations/types.cjs +1 -1
  184. package/lib/model/BaseModel.cjs +1 -1
  185. package/lib/model/SequenceModel.cjs +1 -1
  186. package/lib/model/construction.cjs +25 -3
  187. package/lib/model/construction.d.ts +1 -1
  188. package/lib/model/decorators.cjs +1 -1
  189. package/lib/model/index.cjs +1 -1
  190. package/lib/model/indexing.cjs +1 -1
  191. package/lib/model/types.cjs +1 -1
  192. package/lib/overrides/Metadata.cjs +1 -1
  193. package/lib/overrides/Model.cjs +1 -1
  194. package/lib/overrides/ModelBuilder.cjs +1 -1
  195. package/lib/overrides/index.cjs +1 -1
  196. package/lib/overrides/injectables.cjs +1 -1
  197. package/lib/overrides/overrides.cjs +29 -1
  198. package/lib/persistence/Adapter.cjs +14 -2
  199. package/lib/persistence/Context.cjs +1 -1
  200. package/lib/persistence/ContextLock.cjs +1 -1
  201. package/lib/persistence/Dispatch.cjs +20 -3
  202. package/lib/persistence/Dispatch.d.ts +7 -0
  203. package/lib/persistence/ObserverHandler.cjs +1 -1
  204. package/lib/persistence/Sequence.cjs +1 -1
  205. package/lib/persistence/constants.cjs +2 -1
  206. package/lib/persistence/decorators.cjs +1 -1
  207. package/lib/persistence/errors.cjs +1 -1
  208. package/lib/persistence/event-filters.cjs +1 -1
  209. package/lib/persistence/generators.cjs +1 -1
  210. package/lib/persistence/index.cjs +1 -1
  211. package/lib/persistence/transactions.cjs +1 -1
  212. package/lib/persistence/types.cjs +1 -1
  213. package/lib/persistence/types.d.ts +1 -0
  214. package/lib/query/Condition.cjs +1 -1
  215. package/lib/query/MethodQueryBuilder.cjs +1 -1
  216. package/lib/query/Paginator.cjs +1 -1
  217. package/lib/query/Statement.cjs +1 -1
  218. package/lib/query/constants.cjs +1 -1
  219. package/lib/query/decorators.cjs +1 -1
  220. package/lib/query/errors.cjs +1 -1
  221. package/lib/query/index.cjs +1 -1
  222. package/lib/query/options.cjs +1 -1
  223. package/lib/query/selectors.cjs +1 -1
  224. package/lib/query/types.cjs +1 -1
  225. package/lib/query/utils.cjs +1 -1
  226. package/lib/ram/RamAdapter.cjs +1 -1
  227. package/lib/ram/RamPaginator.cjs +1 -1
  228. package/lib/ram/RamStatement.cjs +1 -1
  229. package/lib/ram/constants.cjs +1 -1
  230. package/lib/ram/handlers.cjs +1 -1
  231. package/lib/ram/index.cjs +1 -1
  232. package/lib/ram/types.cjs +1 -1
  233. package/lib/repository/Repository.cjs +19 -16
  234. package/lib/repository/Repository.d.ts +2 -2
  235. package/lib/repository/constants.cjs +1 -1
  236. package/lib/repository/decorators.cjs +2 -2
  237. package/lib/repository/errors.cjs +1 -1
  238. package/lib/repository/index.cjs +1 -1
  239. package/lib/repository/injectables.cjs +4 -2
  240. package/lib/repository/types.cjs +1 -1
  241. package/lib/repository/utils.cjs +1 -1
  242. package/lib/services/ModelService.cjs +4 -2
  243. package/lib/services/ModelService.d.ts +4 -5
  244. package/lib/services/PersistenceService.cjs +1 -1
  245. package/lib/services/index.cjs +1 -1
  246. package/lib/services/services.cjs +1 -1
  247. package/lib/tasks/CleanUpTask.cjs +1 -1
  248. package/lib/tasks/TaskContext.cjs +9 -2
  249. package/lib/tasks/TaskContext.d.ts +3 -1
  250. package/lib/tasks/TaskEngine.cjs +84 -20
  251. package/lib/tasks/TaskEngine.d.ts +2 -0
  252. package/lib/tasks/TaskErrors.cjs +1 -1
  253. package/lib/tasks/TaskEventBus.cjs +1 -1
  254. package/lib/tasks/TaskEventService.cjs +20 -0
  255. package/lib/tasks/TaskEventService.d.ts +7 -0
  256. package/lib/tasks/TaskHandler.cjs +1 -1
  257. package/lib/tasks/TaskHandlerRegistry.cjs +1 -1
  258. package/lib/tasks/TaskService.cjs +10 -36
  259. package/lib/tasks/TaskService.d.ts +5 -1
  260. package/lib/tasks/TaskStateChangeError.cjs +1 -1
  261. package/lib/tasks/TaskTracker.cjs +1 -1
  262. package/lib/tasks/builder.cjs +1 -1
  263. package/lib/tasks/constants.cjs +1 -1
  264. package/lib/tasks/decorators.cjs +1 -1
  265. package/lib/tasks/index.cjs +2 -1
  266. package/lib/tasks/index.d.ts +1 -0
  267. package/lib/tasks/logging.cjs +4 -7
  268. package/lib/tasks/models/TaskBackoffModel.cjs +1 -1
  269. package/lib/tasks/models/TaskErrorModel.cjs +1 -1
  270. package/lib/tasks/models/TaskEventModel.cjs +1 -1
  271. package/lib/tasks/models/TaskIOSerializer.cjs +1 -1
  272. package/lib/tasks/models/TaskLogEntryModel.cjs +5 -1
  273. package/lib/tasks/models/TaskLogEntryModel.d.ts +1 -0
  274. package/lib/tasks/models/TaskModel.cjs +1 -1
  275. package/lib/tasks/models/TaskStepResultModel.cjs +1 -1
  276. package/lib/tasks/models/TaskStepSpecModel.cjs +6 -2
  277. package/lib/tasks/models/TaskStepSpecModel.d.ts +1 -0
  278. package/lib/tasks/models/index.cjs +1 -1
  279. package/lib/tasks/types.cjs +1 -1
  280. package/lib/tasks/types.d.ts +7 -3
  281. package/lib/tasks/utils.cjs +1 -1
  282. package/lib/utils/ContextualLoggedClass.cjs +1 -1
  283. package/lib/utils/decorators.cjs +1 -1
  284. package/lib/utils/errors.cjs +1 -1
  285. package/lib/utils/index.cjs +1 -1
  286. package/lib/utils/throttling.cjs +1 -1
  287. package/lib/utils/types.cjs +1 -1
  288. package/lib/utils/utils.cjs +22 -5
  289. package/lib/utils/utils.d.ts +2 -1
  290. package/lib/workers/TaskEngine.cjs +15 -4
  291. package/lib/workers/WorkThreadEnvironment.cjs +1 -1
  292. package/lib/workers/index.cjs +1 -1
  293. package/lib/workers/messages.cjs +1 -1
  294. package/lib/workers/types.cjs +1 -1
  295. package/lib/workers/workerThread.cjs +35 -7
  296. package/package.json +1 -1
  297. package/dist/core.cjs.map +0 -1
  298. package/dist/core.js.map +0 -1
  299. package/lib/auth/constants.js.map +0 -1
  300. package/lib/auth/decorators.js.map +0 -1
  301. package/lib/auth/index.js.map +0 -1
  302. package/lib/esm/auth/constants.js.map +0 -1
  303. package/lib/esm/auth/decorators.js.map +0 -1
  304. package/lib/esm/auth/index.js.map +0 -1
  305. package/lib/esm/fs/FilesystemAdapter.js.map +0 -1
  306. package/lib/esm/fs/FsDispatch.js.map +0 -1
  307. package/lib/esm/fs/helpers.js.map +0 -1
  308. package/lib/esm/fs/index.js.map +0 -1
  309. package/lib/esm/fs/indexStore.js.map +0 -1
  310. package/lib/esm/fs/locks/FilesystemLock.js.map +0 -1
  311. package/lib/esm/fs/locks/FilesystemMultiLock.js.map +0 -1
  312. package/lib/esm/fs/types.js.map +0 -1
  313. package/lib/esm/identity/decorators.js.map +0 -1
  314. package/lib/esm/identity/index.js.map +0 -1
  315. package/lib/esm/index.js.map +0 -1
  316. package/lib/esm/interfaces/ContextuallyLogged.js.map +0 -1
  317. package/lib/esm/interfaces/ErrorParser.js.map +0 -1
  318. package/lib/esm/interfaces/Executor.js.map +0 -1
  319. package/lib/esm/interfaces/Observable.js.map +0 -1
  320. package/lib/esm/interfaces/Observer.js.map +0 -1
  321. package/lib/esm/interfaces/Paginatable.js.map +0 -1
  322. package/lib/esm/interfaces/Queriable.js.map +0 -1
  323. package/lib/esm/interfaces/RawExecutor.js.map +0 -1
  324. package/lib/esm/interfaces/SequenceOptions.js.map +0 -1
  325. package/lib/esm/interfaces/index.js.map +0 -1
  326. package/lib/esm/migrations/Migration.js.map +0 -1
  327. package/lib/esm/migrations/MigrationService.js.map +0 -1
  328. package/lib/esm/migrations/MigrationTasks.js.map +0 -1
  329. package/lib/esm/migrations/constants.js.map +0 -1
  330. package/lib/esm/migrations/decorators.js.map +0 -1
  331. package/lib/esm/migrations/index.js.map +0 -1
  332. package/lib/esm/migrations/types.js.map +0 -1
  333. package/lib/esm/model/BaseModel.js.map +0 -1
  334. package/lib/esm/model/SequenceModel.js.map +0 -1
  335. package/lib/esm/model/construction.js.map +0 -1
  336. package/lib/esm/model/decorators.js.map +0 -1
  337. package/lib/esm/model/index.js.map +0 -1
  338. package/lib/esm/model/indexing.js.map +0 -1
  339. package/lib/esm/model/types.js.map +0 -1
  340. package/lib/esm/overrides/Metadata.js.map +0 -1
  341. package/lib/esm/overrides/Model.js.map +0 -1
  342. package/lib/esm/overrides/ModelBuilder.js.map +0 -1
  343. package/lib/esm/overrides/index.js.map +0 -1
  344. package/lib/esm/overrides/injectables.js.map +0 -1
  345. package/lib/esm/overrides/overrides.js.map +0 -1
  346. package/lib/esm/persistence/Adapter.js.map +0 -1
  347. package/lib/esm/persistence/Context.js.map +0 -1
  348. package/lib/esm/persistence/ContextLock.js.map +0 -1
  349. package/lib/esm/persistence/Dispatch.js.map +0 -1
  350. package/lib/esm/persistence/ObserverHandler.js.map +0 -1
  351. package/lib/esm/persistence/Sequence.js.map +0 -1
  352. package/lib/esm/persistence/constants.js.map +0 -1
  353. package/lib/esm/persistence/decorators.js.map +0 -1
  354. package/lib/esm/persistence/errors.js.map +0 -1
  355. package/lib/esm/persistence/event-filters.js.map +0 -1
  356. package/lib/esm/persistence/generators.js.map +0 -1
  357. package/lib/esm/persistence/index.js.map +0 -1
  358. package/lib/esm/persistence/transactions.js.map +0 -1
  359. package/lib/esm/persistence/types.js.map +0 -1
  360. package/lib/esm/query/Condition.js.map +0 -1
  361. package/lib/esm/query/MethodQueryBuilder.js.map +0 -1
  362. package/lib/esm/query/Paginator.js.map +0 -1
  363. package/lib/esm/query/Statement.js.map +0 -1
  364. package/lib/esm/query/constants.js.map +0 -1
  365. package/lib/esm/query/decorators.js.map +0 -1
  366. package/lib/esm/query/errors.js.map +0 -1
  367. package/lib/esm/query/index.js.map +0 -1
  368. package/lib/esm/query/options.js.map +0 -1
  369. package/lib/esm/query/selectors.js.map +0 -1
  370. package/lib/esm/query/types.js.map +0 -1
  371. package/lib/esm/query/utils.js.map +0 -1
  372. package/lib/esm/ram/RamAdapter.js.map +0 -1
  373. package/lib/esm/ram/RamPaginator.js.map +0 -1
  374. package/lib/esm/ram/RamStatement.js.map +0 -1
  375. package/lib/esm/ram/constants.js.map +0 -1
  376. package/lib/esm/ram/handlers.js.map +0 -1
  377. package/lib/esm/ram/index.js.map +0 -1
  378. package/lib/esm/ram/types.js.map +0 -1
  379. package/lib/esm/repository/Repository.js.map +0 -1
  380. package/lib/esm/repository/constants.js.map +0 -1
  381. package/lib/esm/repository/decorators.js.map +0 -1
  382. package/lib/esm/repository/errors.js.map +0 -1
  383. package/lib/esm/repository/index.js.map +0 -1
  384. package/lib/esm/repository/injectables.js.map +0 -1
  385. package/lib/esm/repository/types.js.map +0 -1
  386. package/lib/esm/repository/utils.js.map +0 -1
  387. package/lib/esm/services/ModelService.js.map +0 -1
  388. package/lib/esm/services/PersistenceService.js.map +0 -1
  389. package/lib/esm/services/index.js.map +0 -1
  390. package/lib/esm/services/services.js.map +0 -1
  391. package/lib/esm/tasks/CleanUpTask.js.map +0 -1
  392. package/lib/esm/tasks/TaskContext.js.map +0 -1
  393. package/lib/esm/tasks/TaskEngine.js.map +0 -1
  394. package/lib/esm/tasks/TaskErrors.js.map +0 -1
  395. package/lib/esm/tasks/TaskEventBus.js.map +0 -1
  396. package/lib/esm/tasks/TaskHandler.js.map +0 -1
  397. package/lib/esm/tasks/TaskHandlerRegistry.js.map +0 -1
  398. package/lib/esm/tasks/TaskService.js.map +0 -1
  399. package/lib/esm/tasks/TaskStateChangeError.js.map +0 -1
  400. package/lib/esm/tasks/TaskTracker.js.map +0 -1
  401. package/lib/esm/tasks/builder.js.map +0 -1
  402. package/lib/esm/tasks/constants.js.map +0 -1
  403. package/lib/esm/tasks/decorators.js.map +0 -1
  404. package/lib/esm/tasks/index.js.map +0 -1
  405. package/lib/esm/tasks/logging.js.map +0 -1
  406. package/lib/esm/tasks/models/TaskBackoffModel.js.map +0 -1
  407. package/lib/esm/tasks/models/TaskErrorModel.js.map +0 -1
  408. package/lib/esm/tasks/models/TaskEventModel.js.map +0 -1
  409. package/lib/esm/tasks/models/TaskIOSerializer.js.map +0 -1
  410. package/lib/esm/tasks/models/TaskLogEntryModel.js.map +0 -1
  411. package/lib/esm/tasks/models/TaskModel.js.map +0 -1
  412. package/lib/esm/tasks/models/TaskStepResultModel.js.map +0 -1
  413. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +0 -1
  414. package/lib/esm/tasks/models/index.js.map +0 -1
  415. package/lib/esm/tasks/types.js.map +0 -1
  416. package/lib/esm/tasks/utils.js.map +0 -1
  417. package/lib/esm/utils/ContextualLoggedClass.js.map +0 -1
  418. package/lib/esm/utils/decorators.js.map +0 -1
  419. package/lib/esm/utils/errors.js.map +0 -1
  420. package/lib/esm/utils/index.js.map +0 -1
  421. package/lib/esm/utils/throttling.js.map +0 -1
  422. package/lib/esm/utils/types.js.map +0 -1
  423. package/lib/esm/utils/utils.js.map +0 -1
  424. package/lib/esm/workers/TaskEngine.js.map +0 -1
  425. package/lib/esm/workers/WorkThreadEnvironment.js.map +0 -1
  426. package/lib/esm/workers/index.js.map +0 -1
  427. package/lib/esm/workers/messages.js.map +0 -1
  428. package/lib/esm/workers/types.js.map +0 -1
  429. package/lib/esm/workers/workerThread.js.map +0 -1
  430. package/lib/fs/FilesystemAdapter.js.map +0 -1
  431. package/lib/fs/FsDispatch.js.map +0 -1
  432. package/lib/fs/helpers.js.map +0 -1
  433. package/lib/fs/index.js.map +0 -1
  434. package/lib/fs/indexStore.js.map +0 -1
  435. package/lib/fs/locks/FilesystemLock.js.map +0 -1
  436. package/lib/fs/locks/FilesystemMultiLock.js.map +0 -1
  437. package/lib/fs/types.js.map +0 -1
  438. package/lib/identity/decorators.js.map +0 -1
  439. package/lib/identity/index.js.map +0 -1
  440. package/lib/index.js.map +0 -1
  441. package/lib/interfaces/ContextuallyLogged.js.map +0 -1
  442. package/lib/interfaces/ErrorParser.js.map +0 -1
  443. package/lib/interfaces/Executor.js.map +0 -1
  444. package/lib/interfaces/Observable.js.map +0 -1
  445. package/lib/interfaces/Observer.js.map +0 -1
  446. package/lib/interfaces/Paginatable.js.map +0 -1
  447. package/lib/interfaces/Queriable.js.map +0 -1
  448. package/lib/interfaces/RawExecutor.js.map +0 -1
  449. package/lib/interfaces/SequenceOptions.js.map +0 -1
  450. package/lib/interfaces/index.js.map +0 -1
  451. package/lib/migrations/Migration.js.map +0 -1
  452. package/lib/migrations/MigrationService.js.map +0 -1
  453. package/lib/migrations/MigrationTasks.js.map +0 -1
  454. package/lib/migrations/constants.js.map +0 -1
  455. package/lib/migrations/decorators.js.map +0 -1
  456. package/lib/migrations/index.js.map +0 -1
  457. package/lib/migrations/types.js.map +0 -1
  458. package/lib/model/BaseModel.js.map +0 -1
  459. package/lib/model/SequenceModel.js.map +0 -1
  460. package/lib/model/construction.js.map +0 -1
  461. package/lib/model/decorators.js.map +0 -1
  462. package/lib/model/index.js.map +0 -1
  463. package/lib/model/indexing.js.map +0 -1
  464. package/lib/model/types.js.map +0 -1
  465. package/lib/overrides/Metadata.js.map +0 -1
  466. package/lib/overrides/Model.js.map +0 -1
  467. package/lib/overrides/ModelBuilder.js.map +0 -1
  468. package/lib/overrides/index.js.map +0 -1
  469. package/lib/overrides/injectables.js.map +0 -1
  470. package/lib/overrides/overrides.js.map +0 -1
  471. package/lib/persistence/Adapter.js.map +0 -1
  472. package/lib/persistence/Context.js.map +0 -1
  473. package/lib/persistence/ContextLock.js.map +0 -1
  474. package/lib/persistence/Dispatch.js.map +0 -1
  475. package/lib/persistence/ObserverHandler.js.map +0 -1
  476. package/lib/persistence/Sequence.js.map +0 -1
  477. package/lib/persistence/constants.js.map +0 -1
  478. package/lib/persistence/decorators.js.map +0 -1
  479. package/lib/persistence/errors.js.map +0 -1
  480. package/lib/persistence/event-filters.js.map +0 -1
  481. package/lib/persistence/generators.js.map +0 -1
  482. package/lib/persistence/index.js.map +0 -1
  483. package/lib/persistence/transactions.js.map +0 -1
  484. package/lib/persistence/types.js.map +0 -1
  485. package/lib/query/Condition.js.map +0 -1
  486. package/lib/query/MethodQueryBuilder.js.map +0 -1
  487. package/lib/query/Paginator.js.map +0 -1
  488. package/lib/query/Statement.js.map +0 -1
  489. package/lib/query/constants.js.map +0 -1
  490. package/lib/query/decorators.js.map +0 -1
  491. package/lib/query/errors.js.map +0 -1
  492. package/lib/query/index.js.map +0 -1
  493. package/lib/query/options.js.map +0 -1
  494. package/lib/query/selectors.js.map +0 -1
  495. package/lib/query/types.js.map +0 -1
  496. package/lib/query/utils.js.map +0 -1
  497. package/lib/ram/RamAdapter.js.map +0 -1
  498. package/lib/ram/RamPaginator.js.map +0 -1
  499. package/lib/ram/RamStatement.js.map +0 -1
  500. package/lib/ram/constants.js.map +0 -1
  501. package/lib/ram/handlers.js.map +0 -1
  502. package/lib/ram/index.js.map +0 -1
  503. package/lib/ram/types.js.map +0 -1
  504. package/lib/repository/Repository.js.map +0 -1
  505. package/lib/repository/constants.js.map +0 -1
  506. package/lib/repository/decorators.js.map +0 -1
  507. package/lib/repository/errors.js.map +0 -1
  508. package/lib/repository/index.js.map +0 -1
  509. package/lib/repository/injectables.js.map +0 -1
  510. package/lib/repository/types.js.map +0 -1
  511. package/lib/repository/utils.js.map +0 -1
  512. package/lib/services/ModelService.js.map +0 -1
  513. package/lib/services/PersistenceService.js.map +0 -1
  514. package/lib/services/index.js.map +0 -1
  515. package/lib/services/services.js.map +0 -1
  516. package/lib/tasks/CleanUpTask.js.map +0 -1
  517. package/lib/tasks/TaskContext.js.map +0 -1
  518. package/lib/tasks/TaskEngine.js.map +0 -1
  519. package/lib/tasks/TaskErrors.js.map +0 -1
  520. package/lib/tasks/TaskEventBus.js.map +0 -1
  521. package/lib/tasks/TaskHandler.js.map +0 -1
  522. package/lib/tasks/TaskHandlerRegistry.js.map +0 -1
  523. package/lib/tasks/TaskService.js.map +0 -1
  524. package/lib/tasks/TaskStateChangeError.js.map +0 -1
  525. package/lib/tasks/TaskTracker.js.map +0 -1
  526. package/lib/tasks/builder.js.map +0 -1
  527. package/lib/tasks/constants.js.map +0 -1
  528. package/lib/tasks/decorators.js.map +0 -1
  529. package/lib/tasks/index.js.map +0 -1
  530. package/lib/tasks/logging.js.map +0 -1
  531. package/lib/tasks/models/TaskBackoffModel.js.map +0 -1
  532. package/lib/tasks/models/TaskErrorModel.js.map +0 -1
  533. package/lib/tasks/models/TaskEventModel.js.map +0 -1
  534. package/lib/tasks/models/TaskIOSerializer.js.map +0 -1
  535. package/lib/tasks/models/TaskLogEntryModel.js.map +0 -1
  536. package/lib/tasks/models/TaskModel.js.map +0 -1
  537. package/lib/tasks/models/TaskStepResultModel.js.map +0 -1
  538. package/lib/tasks/models/TaskStepSpecModel.js.map +0 -1
  539. package/lib/tasks/models/index.js.map +0 -1
  540. package/lib/tasks/types.js.map +0 -1
  541. package/lib/tasks/utils.js.map +0 -1
  542. package/lib/utils/ContextualLoggedClass.js.map +0 -1
  543. package/lib/utils/decorators.js.map +0 -1
  544. package/lib/utils/errors.js.map +0 -1
  545. package/lib/utils/index.js.map +0 -1
  546. package/lib/utils/throttling.js.map +0 -1
  547. package/lib/utils/types.js.map +0 -1
  548. package/lib/utils/utils.js.map +0 -1
  549. package/lib/workers/TaskEngine.js.map +0 -1
  550. package/lib/workers/WorkThreadEnvironment.js.map +0 -1
  551. package/lib/workers/index.js.map +0 -1
  552. package/lib/workers/messages.js.map +0 -1
  553. package/lib/workers/types.js.map +0 -1
  554. package/lib/workers/workerThread.js.map +0 -1
@@ -124,7 +124,9 @@ export class InjectablesRegistry extends InjectableRegistryImp {
124
124
  return undefined;
125
125
  // Resolve flavour from metadata if not provided
126
126
  const metaKey = PersistenceKeys.ADAPTER;
127
- const resolvedFlavour = flavour || Metadata.get(modelCtor, metaKey);
127
+ const resolvedFlavour = flavour ||
128
+ Metadata.get(modelCtor, metaKey) ||
129
+ Metadata.flavourOf(modelCtor);
128
130
  try {
129
131
  // Determine an alias to use: prefer a directly registered adapter; otherwise, if the current adapter
130
132
  // has the same flavour, use its alias to satisfy Repository.forModel/Adapter.get lookups.
@@ -164,4 +166,4 @@ export class InjectablesRegistry extends InjectableRegistryImp {
164
166
  return injectable;
165
167
  }
166
168
  }
167
- //# sourceMappingURL=injectables.js.map
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS9pbmplY3RhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFdBQVcsR0FDWixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXFCO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQW9CLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLG1CQUFnQjtBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHNDQUFpQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9DQUErQjtBQUNqRCxPQUFPLEVBQVUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRTdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtERztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBcUI7SUFHNUQsSUFBYyxHQUFHO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQVcsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtDRztJQUNNLEdBQUcsQ0FDVixJQUFzQyxFQUN0QyxPQUFnQjtRQUVoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsNERBQTREO1FBQzVELElB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QUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFVBQTJCLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZVJlZ2lzdHJ5SW1wLFxuICBJbmplY3RhYmxlcyxcbn0gZnJvbSBcIkBkZWNhZi10cy9pbmplY3RhYmxlLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9SZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBNb2RlbCwgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGdlbmVyYXRlSW5qZWN0YWJsZU5hbWVGb3JSZXBvc2l0b3J5IH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IFBlcnNpc3RlbmNlS2V5cyB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9jb25zdGFudHNcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvQWRhcHRlclwiO1xuaW1wb3J0IHsgTG9nZ2VyLCBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBNZXRhZGF0YSwgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVnaXN0cnkgZm9yIGluamVjdGFibGUgcmVwb3NpdG9yaWVzIHdpdGggYXV0by1yZXNvbHV0aW9uLlxuICogQHN1bW1hcnkgUHJvdmlkZXMgYW4gSW5qZWN0YWJsZVJlZ2lzdHJ5IGltcGxlbWVudGF0aW9uIHRoYXQgcmVzb2x2ZXMgcmVwb3NpdG9yaWVzIGJ5IG1vZGVsIG5hbWUgb3IgY29uc3RydWN0b3IuIElmIGEgcmVwb3NpdG9yeVxuICogaXMgbm90IGV4cGxpY2l0bHkgcmVnaXN0ZXJlZCwgaXQgYXR0ZW1wdHMgdG8gaW5mZXIgdGhlIGNvcnJlY3QgcmVwb3NpdG9yeSB1c2luZyBtb2RlbCBtZXRhZGF0YSBhbmQgdGhlIGFjdGl2ZSBvciBzcGVjaWZpZWQgYWRhcHRlciBmbGF2b3VyLlxuICogQHBhcmFtIHt2b2lkfSBbY29uc3RydWN0b3JdIE5vIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMgcmVxdWlyZWQ7IHRoZSBzdXBlcmNsYXNzIGhhbmRsZXMgaW50ZXJuYWwgc3RhdGUuXG4gKiBAY2xhc3MgSW5qZWN0YWJsZXNSZWdpc3RyeVxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlOiByZXRyaWV2ZSBhIHJlcG9zaXRvcnkgYnkgbW9kZWwgbmFtZVxuICogY29uc3QgcmVnaXN0cnkgPSBuZXcgSW5qZWN0YWJsZXNSZWdpc3RyeSgpO1xuICogY29uc3QgdXNlclJlcG8gPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KCdVc2VyJyk7XG4gKiAvLyBJZiBVc2VyUmVwb3NpdG9yeSBpcyByZWdpc3RlcmVkLCBpdCB3aWxsIGJlIHJldHVybmVkLiBPdGhlcndpc2UsIGEgcmVwb3NpdG9yeSB3aWxsIGJlIGNyZWF0ZWQgaWYgYSBVc2VyIG1vZGVsIGV4aXN0cy5cbiAqXG4gKiAvLyBSZXRyaWV2ZSBieSBjb25zdHJ1Y3RvciBhbmQgc3BlY2lmeSBhZGFwdGVyIGZsYXZvdXJcbiAqIGNvbnN0IHJlcG9CeUN0b3IgPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KFVzZXJNb2RlbCwgJ3JhbScpO1xuICpcbiAqIC8vIFJldHJpZXZlIGJ5IHN5bWJvbCAoZS5nLiwgaW5qZWN0YWJsZSB0b2tlbilcbiAqIGNvbnN0IHRva2VuID0gU3ltYm9sLmZvcignVXNlclJlcG9zaXRvcnknKTtcbiAqIGNvbnN0IGJ5VG9rZW4gPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KHRva2VuKTtcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDb25zdW1lclxuICogICBwYXJ0aWNpcGFudCBSIGFzIEluamVjdGFibGVzUmVnaXN0cnlcbiAqICAgcGFydGljaXBhbnQgQiBhcyBCYXNlUmVnaXN0cnlcbiAqICAgcGFydGljaXBhbnQgTSBhcyBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBBIGFzIEFkYXB0ZXJcbiAqICAgcGFydGljaXBhbnQgUlAgYXMgUmVwb3NpdG9yeVxuICogICBDLT4+UjogZ2V0KG5hbWUsIGZsYXZvdXI/KVxuICogICBhY3RpdmF0ZSBSXG4gKiAgIFItPj5COiBzdXBlci5nZXQobmFtZSlcbiAqICAgYWx0IEZvdW5kIGluIGJhc2UgcmVnaXN0cnlcbiAqICAgICBCLS0+PlI6IGluamVjdGFibGVcbiAqICAgICBSLS0+PkM6IGluamVjdGFibGVcbiAqICAgZWxzZSBOb3QgZm91bmRcbiAqICAgICBSLT4+TTogTW9kZWwuZ2V0KG5hbWUpXG4gKiAgICAgYWx0IE1vZGVsIGZvdW5kXG4gKiAgICAgICBSLT4+QTogcmVzb2x2ZSBmbGF2b3VyIChmcm9tIGFyZy9tZXRhZGF0YS9jdXJyZW50KVxuICogICAgICAgUi0+PlJQOiBSZXBvc2l0b3J5LmZvck1vZGVsKG1vZGVsQ3RvciwgYWxpYXMpXG4gKiAgICAgICBhbHQgUmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgICBSUC0tPj5SOiByZXBvc2l0b3J5IGluc3RhbmNlXG4gKiAgICAgICAgIFItLT4+QzogcmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgZWxzZSBSZXBvc2l0b3J5IGN0b3JcbiAqICAgICAgICAgUi0+PkE6IEFkYXB0ZXIuZ2V0KHJlc29sdmVkRmxhdm91cikgb3IgQWRhcHRlci5jdXJyZW50XG4gKiAgICAgICAgIEEtLT4+UjogYWRhcHRlciBpbnN0YW5jZVxuICogICAgICAgICBSLT4+UlA6IG5ldyByZXBvQ3RvcihhZGFwdGVyLCBtb2RlbEN0b3IpXG4gKiAgICAgICAgIFItLT4+QzogcmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgZW5kXG4gKiAgICAgZWxzZSBNb2RlbCBub3QgZm91bmRcbiAqICAgICAgIFItLT4+QzogdW5kZWZpbmVkXG4gKiAgICAgZW5kXG4gKiAgIGVuZFxuICovXG5leHBvcnQgY2xhc3MgSW5qZWN0YWJsZXNSZWdpc3RyeSBleHRlbmRzIEluamVjdGFibGVSZWdpc3RyeUltcCB7XG4gIHByaXZhdGUgbG9nZ2VyPzogTG9nZ2VyO1xuXG4gIHByb3RlY3RlZCBnZXQgbG9nKCk6IExvZ2dlciB7XG4gICAgaWYgKCF0aGlzLmxvZ2dlcikgdGhpcy5sb2dnZXIgPSBMb2dnaW5nLmZvcih0aGlzIGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMubG9nZ2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmUgYW4gaW5qZWN0YWJsZSB3aXRoIHJlcG9zaXRvcnkgYXV0by1yZXNvbHV0aW9uLlxuICAgKiBAc3VtbWFyeSBBdHRlbXB0cyB0byBnZXQgYW4gaW5qZWN0YWJsZSBmcm9tIHRoZSBiYXNlIHJlZ2lzdHJ5OyBpZiBub3QgZm91bmQgYW5kIHRoZSBuYW1lIHJlZmVycyB0byBhIGtub3duIG1vZGVsLCBpdFxuICAgKiByZXNvbHZlcyB0aGUgYXBwcm9wcmlhdGUgcmVwb3NpdG9yeSB1c2luZyB0aGUgc3BlY2lmaWVkIGZsYXZvdXIgb3IgbW9kZWwgbWV0YWRhdGEsIGZhbGxpbmcgYmFjayB0byB0aGUgY3VycmVudCBhZGFwdGVyIHdoZW4gbmVlZGVkLlxuICAgKiBAdGVtcGxhdGUgVCBUaGUgaW5qZWN0YWJsZSB0eXBlIHRvIGJlIHJldHVybmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHN5bWJvbCB8IENvbnN0cnVjdG9yPFQ+fSBuYW1lIFRva2VuLCBtb2RlbCBuYW1lLCBvciBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIHdpdGggdGhlIGluamVjdGFibGUgb3IgbW9kZWwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZmxhdm91cl0gT3B0aW9uYWwgYWRhcHRlciBmbGF2b3VyIChlLmcuLCBcInJhbVwiKS4gSWYgb21pdHRlZCwgZGVyaXZlcyBmcm9tIG1ldGFkYXRhIG9yIGN1cnJlbnQgYWRhcHRlci5cbiAgICogQHJldHVybiB7VCB8IHVuZGVmaW5lZH0gVGhlIGxvY2F0ZWQgb3IgYXV0by1jcmVhdGVkIGluamVjdGFibGUgaW5zdGFuY2U7IG90aGVyd2lzZSB1bmRlZmluZWQgaWYgaXQgY2Fubm90IGJlIHJlc29sdmVkLlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBHIGFzIGdldChuYW1lLCBmbGF2b3VyPylcbiAgICogICBwYXJ0aWNpcGFudCBCUiBhcyBCYXNlUmVnaXN0cnlcbiAgICogICBwYXJ0aWNpcGFudCBNIGFzIE1vZGVsXG4gICAqICAgcGFydGljaXBhbnQgQSBhcyBBZGFwdGVyXG4gICAqICAgcGFydGljaXBhbnQgUlAgYXMgUmVwb3NpdG9yeVxuICAgKiAgIEctPj5CUjogc3VwZXIuZ2V0KG5hbWUpXG4gICAqICAgYWx0IEZvdW5kXG4gICAqICAgICBCUi0tPj5HOiBpbmplY3RhYmxlXG4gICAqICAgZWxzZSBOb3QgZm91bmRcbiAgICogICAgIEctPj5NOiBkZXJpdmUgbW9kZWxDdG9yIGZyb20gbmFtZVxuICAgKiAgICAgYWx0IG1vZGVsQ3RvciByZXNvbHZlZFxuICAgKiAgICAgICBHLT4+QTogcmVzb2x2ZSBmbGF2b3VyIChhcmcgfCBtZXRhZGF0YSB8IGN1cnJlbnQpXG4gICAqICAgICAgIEctPj5SUDogUmVwb3NpdG9yeS5mb3JNb2RlbChtb2RlbEN0b3IsIGFsaWFzKVxuICAgKiAgICAgICBhbHQgcmV0dXJucyBpbnN0YW5jZVxuICAgKiAgICAgICAgIFJQLS0+Pkc6IFJlcG9zaXRvcnkgaW5zdGFuY2VcbiAgICogICAgICAgZWxzZSByZXR1cm5zIGN0b3JcbiAgICogICAgICAgICBHLT4+QTogQWRhcHRlci5nZXQoZmxhdm91cikgfCBBZGFwdGVyLmN1cnJlbnRcbiAgICogICAgICAgICBBLS0+Pkc6IGFkYXB0ZXIgaW5zdGFuY2VcbiAgICogICAgICAgICBHLT4+UlA6IG5ldyByZXBvQ3RvcihhZGFwdGVyLCBtb2RlbEN0b3IpXG4gICAqICAgICAgIGVuZFxuICAgKiAgICAgZWxzZSBubyBtb2RlbEN0b3JcbiAgICogICAgICAgRy0tPj5HOiByZXR1cm4gdW5kZWZpbmVkXG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICovXG4gIG92ZXJyaWRlIGdldDxUPihcbiAgICBuYW1lOiBzeW1ib2wgfCBDb25zdHJ1Y3RvcjxUPiB8IHN0cmluZyxcbiAgICBmbGF2b3VyPzogc3RyaW5nXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmdldCk7XG4gICAgLy8gRmlyc3QsIHRyeSBiYXNlIHJlZ2lzdHJ5LCBidXQgZ3VhcmQgYWdhaW5zdCB0aHJvd24gZXJyb3JzXG4gICAgbGV0IGluamVjdGFibGU6IFQgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGFibGUgPSBzdXBlci5nZXQobmFtZSBhcyBhbnkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gZG8gbm90aGluZy4gd2UgaGFuZGxlIGl0IGxhdGVyXG4gICAgfVxuXG4gICAgaWYgKCFpbmplY3RhYmxlKSB7XG4gICAgICBsZXQgbW9kZWxDdG9yOiBDb25zdHJ1Y3Rvcjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKHR5cGVvZiBuYW1lID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIG1vZGVsQ3RvciA9XG4gICAgICAgICAgKE1vZGVsLmdldChuYW1lLm5hbWUpIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PikgfHxcbiAgICAgICAgICAobmFtZSBhcyBDb25zdHJ1Y3Rvcjxhbnk+KTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiBuYW1lID09PSBcInN5bWJvbFwiIHx8IHR5cGVvZiBuYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG1vZGVsQ3RvciA9IE1vZGVsLmdldChuYW1lLnRvU3RyaW5nKCkpIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFtb2RlbEN0b3IpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIFJlc29sdmUgZmxhdm91ciBmcm9tIG1ldGFkYXRhIGlmIG5vdCBwcm92aWRlZFxuICAgICAgY29uc3QgbWV0YUtleSA9IFBlcnNpc3RlbmNlS2V5cy5BREFQVEVSO1xuICAgICAgY29uc3QgcmVzb2x2ZWRGbGF2b3VyID1cbiAgICAgICAgZmxhdm91ciB8fFxuICAgICAgICAoTWV0YWRhdGEuZ2V0KG1vZGVsQ3RvciwgbWV0YUtleSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSB8fFxuICAgICAgICBNZXRhZGF0YS5mbGF2b3VyT2YobW9kZWxDdG9yKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGFuIGFsaWFzIHRvIHVzZTogcHJlZmVyIGEgZGlyZWN0bHkgcmVnaXN0ZXJlZCBhZGFwdGVyOyBvdGhlcndpc2UsIGlmIHRoZSBjdXJyZW50IGFkYXB0ZXJcbiAgICAgICAgLy8gaGFzIHRoZSBzYW1lIGZsYXZvdXIsIHVzZSBpdHMgYWxpYXMgdG8gc2F0aXNmeSBSZXBvc2l0b3J5LmZvck1vZGVsL0FkYXB0ZXIuZ2V0IGxvb2t1cHMuXG4gICAgICAgIGxldCBhbGlhc1RvVXNlID0gcmVzb2x2ZWRGbGF2b3VyO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChyZXNvbHZlZEZsYXZvdXIpIEFkYXB0ZXIuZ2V0KHJlc29sdmVkRmxhdm91cik7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBBZGFwdGVyLmN1cnJlbnQgYXMgYW55O1xuICAgICAgICAgIGlmIChjdXJyZW50ICYmIGN1cnJlbnQuZmxhdm91ciA9PT0gcmVzb2x2ZWRGbGF2b3VyKVxuICAgICAgICAgICAgYWxpYXNUb1VzZSA9IGN1cnJlbnQuYWxpYXM7XG4gICAgICAgIH1cblxuICAgICAgICBpbmplY3RhYmxlID0gUmVwb3NpdG9yeS5mb3JNb2RlbChcbiAgICAgICAgICBtb2RlbEN0b3IgYXMgQ29uc3RydWN0b3I8YW55PixcbiAgICAgICAgICBhbGlhc1RvVXNlXG4gICAgICAgICkgYXMgVDtcbiAgICAgICAgaWYgKGluamVjdGFibGUgaW5zdGFuY2VvZiBSZXBvc2l0b3J5KSByZXR1cm4gaW5qZWN0YWJsZSBhcyBUO1xuXG4gICAgICAgIC8vIE90aGVyd2lzZSwgcmVnaXN0ZXIgdGhlIHJlc29sdmVkIGluamVjdGFibGUgbmFtZSBmb3IgbGF0ZXIgcmV0cmlldmFsXG4gICAgICAgIGNvbnN0IGYgPVxuICAgICAgICAgIHJlc29sdmVkRmxhdm91ciB8fFxuICAgICAgICAgIChNZXRhZGF0YS5nZXQoKGluamVjdGFibGUgYXMgYW55KS5jb25zdHJ1Y3RvciwgbWV0YUtleSkgYXNcbiAgICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgICB8IHVuZGVmaW5lZCkgfHxcbiAgICAgICAgICAoTWV0YWRhdGEuZ2V0KG1vZGVsQ3RvciwgbWV0YUtleSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKTtcbiAgICAgICAgSW5qZWN0YWJsZXMucmVnaXN0ZXIoXG4gICAgICAgICAgaW5qZWN0YWJsZSxcbiAgICAgICAgICBnZW5lcmF0ZUluamVjdGFibGVOYW1lRm9yUmVwb3NpdG9yeShcbiAgICAgICAgICAgIG1vZGVsQ3RvciBhcyBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgICAgICAgICBmIGFzIHN0cmluZ1xuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgbG9nLmRlYnVnKFxuICAgICAgICAgIGBObyByZWdpc3RlcmVkIHJlcG9zaXRvcnkgb3IgYWRhcHRlciBmb3VuZC4gZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQgYWRhcHRlci4gRXJyb3I6ICR7KGUgYXMgRXJyb3IpPy5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGUpfWBcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVwb0N0b3IgPSAoUmVwb3NpdG9yeSBhcyBhbnkpW1wiZ2V0XCJdKG1vZGVsQ3RvciwgcmVzb2x2ZWRGbGF2b3VyKTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXBvQ3RvciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgY29uc3QgYWRhcHRlciA9IHJlc29sdmVkRmxhdm91clxuICAgICAgICAgICAgPyAoQWRhcHRlci5nZXQocmVzb2x2ZWRGbGF2b3VyKSBhcyBhbnkpXG4gICAgICAgICAgICA6IChBZGFwdGVyLmN1cnJlbnQgYXMgYW55KTtcbiAgICAgICAgICBpZiAoIWFkYXB0ZXIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgcmVwb0N0b3IoYWRhcHRlciwgbW9kZWxDdG9yKTtcbiAgICAgICAgICByZXR1cm4gaW5zdGFuY2UgYXMgVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpbmplY3RhYmxlIGFzIFQgfCB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzY2FkZSwgT3JkZXJEaXJlY3Rpb24gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWV0YWRhdGEgZm9yIGNhc2NhZGUgb3BlcmF0aW9ucyBvbiByZWxhdGVkIGVudGl0aWVzLlxuICogQHN1bW1hcnkgRGVmaW5lcyBob3cgdXBkYXRlIGFuZCBkZWxldGUgb3BlcmF0aW9ucyBzaG91bGQgY2FzY2FkZSB0byByZWxhdGVkIGVudGl0aWVzLlxuICogQHR5cGVkZWYgQ2FzY2FkZU1ldGFkYXRhXG4gKiBAcHJvcGVydHkge0Nhc2NhZGV9IHVwZGF0ZSAtIERldGVybWluZXMgY2FzY2FkZSBiZWhhdmlvciBmb3IgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBAcHJvcGVydHkge0Nhc2NhZGV9IGRlbGV0ZSAtIERldGVybWluZXMgY2FzY2FkZSBiZWhhdmlvciBmb3IgZGVsZXRlIG9wZXJhdGlvbnMuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IHR5cGUgQ2FzY2FkZU1ldGFkYXRhID0ge1xuICB1cGRhdGU6IENhc2NhZGU7XG4gIGRlbGV0ZTogQ2FzY2FkZTtcbn07XG5cbmV4cG9ydCB0eXBlIEluZGV4TWV0YWRhdGEgPSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRpcmVjdGlvbnM/OiBPcmRlckRpcmVjdGlvblsyXTtcbiAgY29tcG9zaXRpb25zPzogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNZXRhZGF0YSBmb3IgYSBuYW1lZCBpbmRleCB0aGF0IGV4dGVuZHMgSW5kZXhNZXRhZGF0YS5cbiAqIEBzdW1tYXJ5IEV4dGVuZHMgSW5kZXhNZXRhZGF0YSB3aXRoIGEgc3VmZml4IHRvIGlkZW50aWZ5IHRoZSBpbmRleC5cbiAqIEB0eXBlZGVmIE5hbWVkSW5kZXhNZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN1ZmZpeCAtIFRoZSBzdWZmaXggdG8gYXBwZW5kIHRvIHRoZSBpbmRleCBuYW1lLlxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCB0eXBlIE5hbWVkSW5kZXhNZXRhZGF0YSA9IEluZGV4TWV0YWRhdGEgJiB7XG4gIHN1ZmZpeDogc3RyaW5nO1xufTtcbiJdfQ==
@@ -44,4 +44,4 @@ export function generateInjectableNameForRepository(model, flavour) {
44
44
  }
45
45
  return sf(PersistenceKeys.INJECTABLE, flavour, Model.tableName(model));
46
46
  }
47
- //# sourceMappingURL=utils.js.map
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsc0NBQWlDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQWUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FDakQsS0FBeUIsRUFDekIsT0FBZ0I7SUFFaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUNyQyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxLQUFhLENBQzVELENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxjQUFjO1lBQ3hDLE1BQU0sSUFBSSxhQUFhLENBQ3JCLHlDQUF5QyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUN4RyxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgc2YgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBEZWZhdWx0Rmxhdm91ciwgRGVjb3JhdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgYSB1bmlxdWUgaW5qZWN0YWJsZSBuYW1lIGZvciBhIHJlcG9zaXRvcnkuXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgc3RhbmRhcmRpemVkIGluamVjdGFibGUgdG9rZW4gZm9yIHJlcG9zaXRvcmllcyB1c2luZyB0aGUgYWRhcHRlciBmbGF2b3VyIGFuZCBtb2RlbCB0YWJsZSBuYW1lLlxuICogVGhpcyBoZWxwcyB0aGUgREkgc3lzdGVtIHJlZ2lzdGVyIGFuZCByZXNvbHZlIHJlcG9zaXRvcnkgaW5zdGFuY2VzIGNvbnNpc3RlbnRseSBhY3Jvc3MgYWRhcHRlcnMuXG4gKiBAdGVtcGxhdGUgVCBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWwuXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPFQ+IHwgVH0gbW9kZWwgVGhlIG1vZGVsIGNvbnN0cnVjdG9yIG9yIGluc3RhbmNlIGZyb20gd2hpY2ggdG8gZGVyaXZlIHRoZSB0YWJsZSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IFtmbGF2b3VyXSBPcHRpb25hbCBhZGFwdGVyIGZsYXZvdXIvYWxpYXMuIElmIG9taXR0ZWQsIGl0IGlzIHJlYWQgZnJvbSBtb2RlbCBtZXRhZGF0YS5cbiAqIEByZXR1cm4ge3N0cmluZ30gQSBuYW1lc3BhY2VkIGluamVjdGFibGUgdG9rZW4gZm9yIHRoZSByZXBvc2l0b3J5IChlLmcuLCBcImRiOnJlcG86cmFtOnVzZXJzXCIpLlxuICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlIGZsYXZvdXIgY2Fubm90IGJlIGRldGVybWluZWQgZnJvbSBhcmd1bWVudHMgb3IgbWV0YWRhdGEuXG4gKiBAZnVuY3Rpb24gZ2VuZXJhdGVJbmplY3RhYmxlTmFtZUZvclJlcG9zaXRvcnlcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgVSBhcyBnZW5lcmF0ZUluamVjdGFibGVOYW1lRm9yUmVwb3NpdG9yeVxuICogICBwYXJ0aWNpcGFudCBSIGFzIFJlZmxlY3QgTWV0YWRhdGFcbiAqICAgcGFydGljaXBhbnQgQSBhcyBBZGFwdGVyXG4gKiAgIHBhcnRpY2lwYW50IFMgYXMgU3RyaW5nIEZvcm1hdHRlclxuICogICBDLT4+VTogY2FsbChtb2RlbCwgZmxhdm91cj8pXG4gKiAgIGFsdCBmbGF2b3VyIHByb3ZpZGVkXG4gKiAgICAgVS0tPj5VOiB1c2UgcHJvdmlkZWQgZmxhdm91clxuICogICBlbHNlIGZsYXZvdXIgbm90IHByb3ZpZGVkXG4gKiAgICAgVS0+PkE6IEFEQVBURVJcbiAqICAgICBVLT4+UjogZ2V0TWV0YWRhdGEoa2V5LCBtb2RlbHxtb2RlbC5jdG9yKVxuICogICAgIGFsdCBtZXRhZGF0YSBwcmVzZW50XG4gKiAgICAgICBSLS0+PlU6IGZsYXZvdXJcbiAqICAgICBlbHNlIG1pc3NpbmdcbiAqICAgICAgIFUtLT4+QzogdGhyb3cgSW50ZXJuYWxFcnJvclxuICogICAgIGVuZFxuICogICBlbmRcbiAqICAgVS0+PlM6IHNmKElOSkVDVEFCTEUsIGZsYXZvdXIsIE1vZGVsLnRhYmxlTmFtZShtb2RlbCkpXG4gKiAgIFMtLT4+QzogdG9rZW4gc3RyaW5nXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW5qZWN0YWJsZU5hbWVGb3JSZXBvc2l0b3J5PFQgZXh0ZW5kcyBNb2RlbD4oXG4gIG1vZGVsOiBDb25zdHJ1Y3RvcjxUPiB8IFQsXG4gIGZsYXZvdXI/OiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIGlmICghZmxhdm91cikge1xuICAgIGZsYXZvdXIgPSBEZWNvcmF0aW9uW1wiZmxhdm91clJlc29sdmVyXCJdKFxuICAgICAgbW9kZWwgaW5zdGFuY2VvZiBNb2RlbCA/IG1vZGVsLmNvbnN0cnVjdG9yIDogKG1vZGVsIGFzIGFueSlcbiAgICApO1xuICAgIGlmICghZmxhdm91ciB8fCBmbGF2b3VyID09PSBEZWZhdWx0Rmxhdm91cilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJldHJpZXZlIGZsYXZvdXIgZnJvbSBtb2RlbCAke21vZGVsIGluc3RhbmNlb2YgTW9kZWwgPyBtb2RlbC5jb25zdHJ1Y3Rvci5uYW1lIDogbW9kZWwubmFtZX1gXG4gICAgICApO1xuICB9XG4gIHJldHVybiBzZihQZXJzaXN0ZW5jZUtleXMuSU5KRUNUQUJMRSwgZmxhdm91ciwgTW9kZWwudGFibGVOYW1lKG1vZGVsKSk7XG59XG4iXX0=
@@ -8,6 +8,7 @@ import type { ContextualArgs, ContextualizedArgs, MaybeContextualArg, MethodOrOp
8
8
  import { OrderDirection } from "../repository/constants";
9
9
  import { type DirectionLimitOffset } from "../query/types";
10
10
  import { type Observer } from "../interfaces";
11
+ import { SelectSelector, WhereOption } from "../query/index";
11
12
  export type ArrayMode = "one" | "many";
12
13
  export declare class ModelService<M extends Model<boolean>, R extends Repo<M> = Repo<M>> extends Service implements IRepository<M, ContextOf<R>>, PersistenceObservable<ContextOf<R>>, PersistenceObserver<ContextOf<R>> {
13
14
  private readonly clazz;
@@ -25,12 +26,10 @@ export declare class ModelService<M extends Model<boolean>, R extends Repo<M> =
25
26
  query<M, R extends ArrayMode = "one">(methodName: string, ...args: unknown[]): Promise<R extends "one" ? M : M[]>;
26
27
  update(model: M, ...args: MaybeContextualArg<ContextOf<R>>): Promise<M>;
27
28
  updateAll(models: M[], ...args: any[]): Promise<M[]>;
28
- select: {
29
- <S extends readonly (keyof M)[]>(): import("..").WhereOption<M, M[]>;
30
- <S extends readonly (keyof M)[]>(selector: readonly [...S]): import("..").WhereOption<M, Pick<M, S[number]>[]>;
31
- };
29
+ select<S extends readonly SelectSelector<M>[]>(): WhereOption<M, M[]>;
30
+ select<S extends readonly SelectSelector<M>[]>(selector: readonly [...S]): WhereOption<M, Pick<M, S[number]>[]>;
32
31
  listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<R>>): Promise<M[]>;
33
- paginateBy(key: keyof M, order: OrderDirection, ref: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<ContextOf<R>>): Promise<import("..").SerializedPage<M>>;
32
+ paginateBy(key: keyof M, order: OrderDirection, ref: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<ContextOf<R>>): Promise<import("../query/Paginator").SerializedPage<M>>;
34
33
  findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<R>>): Promise<M>;
35
34
  findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<R>>): Promise<M[]>;
36
35
  statement(name: string, ...args: MaybeContextualArg<ContextOf<R>>): Promise<any>;
@@ -34,7 +34,6 @@ export class ModelService extends Service {
34
34
  constructor(clazz, name) {
35
35
  super(name ?? `${clazz.name}Service`);
36
36
  this.clazz = clazz;
37
- this.select = this.repo.select;
38
37
  }
39
38
  static getService(name) {
40
39
  if (!name)
@@ -90,6 +89,9 @@ export class ModelService extends Service {
90
89
  const { ctxArgs } = (await this.logCtx(args, BulkCrudOperationKeys.UPDATE_ALL, true)).for(this.updateAll);
91
90
  return this.repo.updateAll(models, ...ctxArgs);
92
91
  }
92
+ select(selector) {
93
+ return this.repo.select(selector);
94
+ }
93
95
  //
94
96
  // async query(
95
97
  // condition: Condition<M>,
@@ -223,4 +225,4 @@ __decorate([
223
225
  __metadata("design:paramtypes", [Array, Object]),
224
226
  __metadata("design:returntype", Promise)
225
227
  ], ModelService.prototype, "updateAll", null);
226
- //# sourceMappingURL=ModelService.js.map
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL01vZGVsU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxPQUFPLEVBQWEsVUFBVSxFQUFFLHNDQUFpQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFtQjtBQVNyQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsRUFFYixhQUFhLEdBRWQsTUFBTSx5QkFBeUIsQ0FBQztBQU9qQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQ0FBNEI7QUFJekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQ0FBaUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdDQUEyQjtBQUszRCxNQUFNLFlBQVksR0FBRyxDQUNuQixLQUFnRCxFQUN4QyxFQUFFO0lBQ1YsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQzNCLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0lBQy9ELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLFlBQ1gsU0FBUSxPQUFPO0lBUWYsSUFBSSxLQUFLO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FB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RUFDVCxXQUFrQixFQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztRQUNGLFNBQVMsVUFBVSxDQUFDLEdBQXVDO1lBQ3pELEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyw4QkFBOEI7WUFDbkQsT0FBTyxHQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxPQUFPLENBQUM7WUFBRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBNVNPO0lBREwsTUFBTSxFQUFFOzs7OzBDQVNSO0FBR0s7SUFETCxNQUFNLEVBQUU7Ozs7NkNBU1I7QUFHSztJQURMLEdBQUcsRUFBRTs7OzswQ0FTTDtBQUdLO0lBREwsR0FBRyxFQUFFOzs7OzZDQVNMO0FBR0s7SUFETCxJQUFJLEVBQUU7Ozs7d0NBU047QUFHSztJQURMLElBQUksRUFBRTs7OzsyQ0FTTjtBQUdLO0lBREwsSUFBSSxFQUFFOzs7O3lDQWFOO0FBR0s7SUFETCxNQUFNLEVBQUU7Ozs7MENBU1I7QUFHSztJQURMLE1BQU0sRUFBRTs7Ozs2Q0FNUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IE1vZGVsLCB0eXBlIE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB0eXBlIFJlcG8sIFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9SZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQWxsT3BlcmF0aW9uS2V5cyxcbiAgQ29udGV4dE9mLFxuICBFdmVudElkcyxcbiAgT2JzZXJ2ZXJGaWx0ZXIsXG4gIFBlcnNpc3RlbmNlT2JzZXJ2YWJsZSxcbiAgUGVyc2lzdGVuY2VPYnNlcnZlcixcbn0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsXG4gIEludGVybmFsRXJyb3IsXG4gIHR5cGUgSVJlcG9zaXRvcnksXG4gIE9wZXJhdGlvbktleXMsXG4gIHR5cGUgUHJpbWFyeUtleVR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUge1xuICBDb250ZXh0dWFsQXJncyxcbiAgQ29udGV4dHVhbGl6ZWRBcmdzLFxuICBNYXliZUNvbnRleHR1YWxBcmcsXG4gIE1ldGhvZE9yT3BlcmF0aW9uLFxufSBmcm9tIFwiLi4vdXRpbHMvQ29udGV4dHVhbExvZ2dlZENsYXNzXCI7XG5pbXBvcnQgeyBjcmVhdGUsIGRlbCwgcmVhZCwgc2VydmljZSwgdXBkYXRlIH0gZnJvbSBcIi4uL3V0aWxzL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB0eXBlIERpcmVjdGlvbkxpbWl0T2Zmc2V0IH0gZnJvbSBcIi4uL3F1ZXJ5L3R5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIE9ic2VydmVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IFBlcnNpc3RlbmNlS2V5cyB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9jb25zdGFudHNcIjtcbmltcG9ydCB7IFByZXBhcmVkU3RhdGVtZW50S2V5cyB9IGZyb20gXCIuLi9xdWVyeS9jb25zdGFudHNcIjtcbmltcG9ydCB7IFNlbGVjdFNlbGVjdG9yLCBXaGVyZU9wdGlvbiB9IGZyb20gXCIuLi9xdWVyeS9pbmRleFwiO1xuXG5leHBvcnQgdHlwZSBBcnJheU1vZGUgPSBcIm9uZVwiIHwgXCJtYW55XCI7XG5cbmNvbnN0IHJlc29sdmVBbGlhcyA9IChcbiAgYWxpYXM6IHN0cmluZyB8IHN5bWJvbCB8IENvbnN0cnVjdG9yPE1vZGVsPGFueT4+XG4pOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGFsaWFzID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBhbGlhcy5lbmRzV2l0aChcIlNlcnZpY2VcIikgPyBhbGlhcyA6IGAke2FsaWFzfVNlcnZpY2VgO1xuICBpZiAodHlwZW9mIGFsaWFzID09PSBcInN5bWJvbFwiKSByZXR1cm4gYWxpYXMudG9TdHJpbmcoKTtcbiAgcmV0dXJuIGAke2FsaWFzLm5hbWV9U2VydmljZWA7XG59O1xuXG5leHBvcnQgY2xhc3MgTW9kZWxTZXJ2aWNlPE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPiwgUiBleHRlbmRzIFJlcG88TT4gPSBSZXBvPE0+PlxuICBleHRlbmRzIFNlcnZpY2VcbiAgaW1wbGVtZW50c1xuICAgIElSZXBvc2l0b3J5PE0sIENvbnRleHRPZjxSPj4sXG4gICAgUGVyc2lzdGVuY2VPYnNlcnZhYmxlPENvbnRleHRPZjxSPj4sXG4gICAgUGVyc2lzdGVuY2VPYnNlcnZlcjxDb250ZXh0T2Y8Uj4+XG57XG4gIHByb3RlY3RlZCBfcmVwb3NpdG9yeSE6IFI7XG5cbiAgZ2V0IGNsYXNzKCkge1xuICAgIGlmICghdGhpcy5jbGF6eikgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYENsYXNzIG5vdCBpbml0aWFsaXplZGApO1xuICAgIHJldHVybiB0aGlzLmNsYXp6O1xuICB9XG5cbiAgZ2V0IHJlcG8oKSB7XG4gICAgaWYgKCF0aGlzLl9yZXBvc2l0b3J5KSB0aGlzLl9yZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5mb3JNb2RlbCh0aGlzLmNsYXp6KTtcbiAgICByZXR1cm4gdGhpcy5fcmVwb3NpdG9yeTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIG5hbWU/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIobmFtZSA/PyBgJHtjbGF6ei5uYW1lfVNlcnZpY2VgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXJ2aWNlPE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPiwgUyBleHRlbmRzIE1vZGVsU2VydmljZTxNPj4oXG4gICAgbmFtZTogc3RyaW5nIHwgc3ltYm9sIHwgQ29uc3RydWN0b3I8TT5cbiAgKTogUyB7XG4gICAgaWYgKCFuYW1lKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gbmFtZSBwcm92aWRlZGApO1xuXG4gICAgY29uc3QgYWxpYXMgPSByZXNvbHZlQWxpYXMobmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluamVjdGFibGUgPSBTZXJ2aWNlLmdldChhbGlhcyk7XG4gICAgICBpZiAoaW5qZWN0YWJsZSkgcmV0dXJuIGluamVjdGFibGUgYXMgUztcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gTW9kZWxTZXJ2aWNlIGZvdW5kIGZvciBhbGlhcyAke2FsaWFzfWApO1xuICB9XG5cbiAgQGNyZWF0ZSgpXG4gIGFzeW5jIGNyZWF0ZShcbiAgICBtb2RlbDogTSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q29udGV4dE9mPFI+PlxuICApOiBQcm9taXNlPE0+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuQ1JFQVRFLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuY3JlYXRlKTtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmNyZWF0ZShtb2RlbCwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBAY3JlYXRlKClcbiAgYXN5bmMgY3JlYXRlQWxsKFxuICAgIG1vZGVsczogTVtdLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0T2Y8Uj4+XG4gICk6IFByb21pc2U8TVtdPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuQ1JFQVRFX0FMTCwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNyZWF0ZUFsbCk7XG4gICAgcmV0dXJuIHRoaXMucmVwby5jcmVhdGVBbGwobW9kZWxzLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIEBkZWwoKVxuICBhc3luYyBkZWxldGUoXG4gICAga2V5OiBQcmltYXJ5S2V5VHlwZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q29udGV4dE9mPFI+PlxuICApOiBQcm9taXNlPE0+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuREVMRVRFLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICByZXR1cm4gdGhpcy5yZXBvLmRlbGV0ZShrZXksIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgQGRlbCgpXG4gIGFzeW5jIGRlbGV0ZUFsbChcbiAgICBrZXlzOiBQcmltYXJ5S2V5VHlwZVtdLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0T2Y8Uj4+XG4gICk6IFByb21pc2U8TVtdPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTCwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmRlbGV0ZUFsbCk7XG4gICAgcmV0dXJuIHRoaXMucmVwby5kZWxldGVBbGwoa2V5cywgLi4uY3R4QXJncyk7XG4gIH1cblxuICBAcmVhZCgpXG4gIGFzeW5jIHJlYWQoXG4gICAga2V5OiBQcmltYXJ5S2V5VHlwZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q29udGV4dE9mPFI+PlxuICApOiBQcm9taXNlPE0+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBPcGVyYXRpb25LZXlzLlJFQUQsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJlYWRcbiAgICApO1xuICAgIHJldHVybiB0aGlzLnJlcG8ucmVhZChrZXksIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgQHJlYWQoKVxuICBhc3luYyByZWFkQWxsKFxuICAgIGtleXM6IFByaW1hcnlLZXlUeXBlW10sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj5cbiAgKTogUHJvbWlzZTxNW10+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5SRUFEX0FMTCwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnJlYWRBbGwpO1xuICAgIHJldHVybiB0aGlzLnJlcG8ucmVhZEFsbChrZXlzLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIEByZWFkKClcbiAgYXN5bmMgcXVlcnk8TSwgUiBleHRlbmRzIEFycmF5TW9kZSA9IFwib25lXCI+KFxuICAgIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgICAuLi5hcmdzOiB1bmtub3duW11cbiAgKTogUHJvbWlzZTxSIGV4dGVuZHMgXCJvbmVcIiA/IE0gOiBNW10+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFBlcnNpc3RlbmNlS2V5cy5RVUVSWSwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnF1ZXJ5KTtcbiAgICBjb25zdCBtZXRob2QgPSAodGhpcy5yZXBvIGFzIGFueSk/LlttZXRob2ROYW1lXTtcbiAgICBpZiAodHlwZW9mIG1ldGhvZCAhPT0gXCJmdW5jdGlvblwiKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBpcyBub3QgaW1wbGVtZW50ZWRgKTtcblxuICAgIHJldHVybiBtZXRob2QuYXBwbHkodGhpcy5yZXBvLCBjdHhBcmdzKTtcbiAgfVxuXG4gIEB1cGRhdGUoKVxuICBhc3luYyB1cGRhdGUoXG4gICAgbW9kZWw6IE0sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj5cbiAgKTogUHJvbWlzZTxNPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBPcGVyYXRpb25LZXlzLlVQREFURSwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnVwZGF0ZSk7XG4gICAgcmV0dXJuIHRoaXMucmVwby51cGRhdGUobW9kZWwsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgQHVwZGF0ZSgpXG4gIGFzeW5jIHVwZGF0ZUFsbChtb2RlbHM6IE1bXSwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPE1bXT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEwsIHRydWUpXG4gICAgKS5mb3IodGhpcy51cGRhdGVBbGwpO1xuICAgIHJldHVybiB0aGlzLnJlcG8udXBkYXRlQWxsKG1vZGVscywgLi4uY3R4QXJncyk7XG4gIH1cblxuICBzZWxlY3Q8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIFMgZXh0ZW5kcyByZWFkb25seSBTZWxlY3RTZWxlY3RvcjxNPltdLFxuICA+KCk6IFdoZXJlT3B0aW9uPE0sIE1bXT47XG4gIHNlbGVjdDxTIGV4dGVuZHMgcmVhZG9ubHkgU2VsZWN0U2VsZWN0b3I8TT5bXT4oXG4gICAgc2VsZWN0b3I6IHJlYWRvbmx5IFsuLi5TXVxuICApOiBXaGVyZU9wdGlvbjxNLCBQaWNrPE0sIFNbbnVtYmVyXT5bXT47XG4gIHNlbGVjdDxTIGV4dGVuZHMgcmVhZG9ubHkgU2VsZWN0U2VsZWN0b3I8TT5bXT4oXG4gICAgc2VsZWN0b3I/OiByZWFkb25seSBbLi4uU11cbiAgKTogV2hlcmVPcHRpb248TSwgTVtdPiB8IFdoZXJlT3B0aW9uPE0sIFBpY2s8TSwgU1tudW1iZXJdPltdPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5zZWxlY3Qoc2VsZWN0b3IgYXMgcmVhZG9ubHkgWy4uLlNdKTtcbiAgfVxuXG4gIC8vXG4gIC8vIGFzeW5jIHF1ZXJ5KFxuICAvLyAgIGNvbmRpdGlvbjogQ29uZGl0aW9uPE0+LFxuICAvLyAgIG9yZGVyQnk6IGtleW9mIE0sXG4gIC8vICAgb3JkZXI6IE9yZGVyRGlyZWN0aW9uID0gT3JkZXJEaXJlY3Rpb24uQVNDLFxuICAvLyAgIGxpbWl0PzogbnVtYmVyLFxuICAvLyAgIHNraXA/OiBudW1iZXIsXG4gIC8vICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj5cbiAgLy8gKTogUHJvbWlzZTxNW10+IHtcbiAgLy8gICBjb25zdCB7IGN0eEFyZ3MgfSA9IGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucXVlcnksIHRydWUpO1xuICAvLyAgIHJldHVybiB0aGlzLnJlcG8ucXVlcnkoY29uZGl0aW9uLCBvcmRlckJ5LCBvcmRlciwgbGltaXQsIHNraXAsIC4uLmN0eEFyZ3MpO1xuICAvLyB9XG5cbiAgYXN5bmMgbGlzdEJ5KFxuICAgIGtleToga2V5b2YgTSxcbiAgICBvcmRlcjogT3JkZXJEaXJlY3Rpb24sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj5cbiAgKSB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWSwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmxpc3RCeSk7XG4gICAgcmV0dXJuIHRoaXMucmVwby5saXN0Qnkoa2V5LCBvcmRlciwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyBwYWdpbmF0ZUJ5KFxuICAgIGtleToga2V5b2YgTSxcbiAgICBvcmRlcjogT3JkZXJEaXJlY3Rpb24sXG4gICAgcmVmOiBPbWl0PERpcmVjdGlvbkxpbWl0T2Zmc2V0LCBcImRpcmVjdGlvblwiPixcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q29udGV4dE9mPFI+PlxuICApIHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFX0JZLCB0cnVlKVxuICAgICkuZm9yKHRoaXMucGFnaW5hdGVCeSk7XG4gICAgcmV0dXJuIHRoaXMucmVwby5wYWdpbmF0ZUJ5KGtleSwgb3JkZXIsIHJlZiwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyBmaW5kT25lQnkoXG4gICAga2V5OiBrZXlvZiBNLFxuICAgIHZhbHVlOiBhbnksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj5cbiAgKSB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQlksIHRydWUpXG4gICAgKS5mb3IodGhpcy5maW5kT25lQnkpO1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZE9uZUJ5KGtleSwgdmFsdWUsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgZmluZEJ5KFxuICAgIGtleToga2V5b2YgTSxcbiAgICB2YWx1ZTogYW55LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0T2Y8Uj4+XG4gICkge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlksIHRydWUpXG4gICAgKS5mb3IodGhpcy5maW5kQnkpO1xuICAgIHJldHVybiB0aGlzLnJlcG8uZmluZEJ5KGtleSwgdmFsdWUsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgc3RhdGVtZW50KG5hbWU6IHN0cmluZywgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxSPj4pIHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFBlcnNpc3RlbmNlS2V5cy5TVEFURU1FTlQsIHRydWUpXG4gICAgKS5mb3IodGhpcy5zdGF0ZW1lbnQpO1xuICAgIHJldHVybiB0aGlzLnJlcG8uc3RhdGVtZW50KG5hbWUsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgc3RhdGljIGZvck1vZGVsPE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPiwgUyBleHRlbmRzIE1vZGVsU2VydmljZTxNPj4oXG4gICAgdGhpczogbmV3IChtb2RlbDogTW9kZWxDb25zdHJ1Y3RvcjxNPikgPT4gUyxcbiAgICBtb2RlbDogTW9kZWxDb25zdHJ1Y3RvcjxNPixcbiAgICBhbGlhcz86IHN0cmluZyB8IHN5bWJvbFxuICApOiBTIHtcbiAgICBsZXQgaW5zdGFuY2U6IFMgfCB1bmRlZmluZWQ7XG4gICAgYWxpYXMgPSByZXNvbHZlQWxpYXMoYWxpYXMgfHwgbW9kZWwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGluc3RhbmNlID0gTW9kZWxTZXJ2aWNlLmdldChhbGlhcykgYXMgUztcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZSBpbnN0YW5jZW9mIE1vZGVsU2VydmljZSkgcmV0dXJuIGluc3RhbmNlIGFzIFM7XG5cbiAgICBjb25zdCBCYXNlID0gdGhpcyBhcyBDb25zdHJ1Y3RvcjtcbiAgICBAc2VydmljZShhbGlhcylcbiAgICBjbGFzcyBEZWNvcmF0ZWRTZXJ2aWNlIGV4dGVuZHMgQmFzZSB7XG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIobW9kZWwpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IERlY29yYXRlZFNlcnZpY2UoKSBhcyBTO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVmcmVzaChcbiAgICB0YWJsZTogQ29uc3RydWN0b3I8TT4sXG4gICAgZXZlbnQ6IEFsbE9wZXJhdGlvbktleXMsXG4gICAgaWQ6IEV2ZW50SWRzLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHRPZjxSPj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwby5yZWZyZXNoKHRhYmxlLCBldmVudCwgaWQsIC4uLmFyZ3MpO1xuICB9XG4gIG92ZXJyaWRlIG9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyLCBmaWx0ZXI/OiBPYnNlcnZlckZpbHRlcik6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnJlcG8ub2JzZXJ2ZShvYnNlcnZlciwgZmlsdGVyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVuT2JzZXJ2ZShvYnNlcnZlcjogT2JzZXJ2ZXIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5yZXBvLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVPYnNlcnZlcnMoXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yLFxuICAgIG9wZXJhdGlvbjogQWxsT3BlcmF0aW9uS2V5cyxcbiAgICBpZHM6IEV2ZW50SWRzLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHRPZjxSPj5cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucmVwby51cGRhdGVPYnNlcnZlcnMobW9kZWwsIG9wZXJhdGlvbiwgaWRzLCAuLi5hcmdzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2dDdHg8XG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q29udGV4dE9mPHRoaXNbXCJyZXBvXCJdPiwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0RcbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPFxuICAgIENvbnRleHRPZjx0aGlzW1wicmVwb1wiXT4sXG4gICAgQVJHUyxcbiAgICBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2VcbiAgPjtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0T2Y8dGhpc1tcInJlcG9cIl0+LCBBUkdTPixcbiAgICBvcGVyYXRpb246IE1FVEhPRCxcbiAgICBhbGxvd0NyZWF0ZTogZmFsc2VcbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPFxuICAgIENvbnRleHRPZjx0aGlzW1wicmVwb1wiXT4sXG4gICAgQVJHUyxcbiAgICBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2VcbiAgPjtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0T2Y8dGhpc1tcInJlcG9cIl0+LCBBUkdTPixcbiAgICBvcGVyYXRpb246IE1FVEhPRCxcbiAgICBhbGxvd0NyZWF0ZTogdHJ1ZVxuICApOiBQcm9taXNlPFxuICAgIENvbnRleHR1YWxpemVkQXJnczxcbiAgICAgIENvbnRleHRPZjx0aGlzW1wicmVwb1wiXT4sXG4gICAgICBBUkdTLFxuICAgICAgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlXG4gICAgPlxuICA+O1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbG9nQ3R4PFxuICAgIEFSR1MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLFxuICAgIE1FVEhPRCBleHRlbmRzIE1ldGhvZE9yT3BlcmF0aW9uID0gTWV0aG9kT3JPcGVyYXRpb24sXG4gID4oXG4gICAgYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjx0aGlzW1wicmVwb1wiXT4sIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBib29sZWFuID0gZmFsc2VcbiAgKTpcbiAgICB8IFByb21pc2U8XG4gICAgICAgIENvbnRleHR1YWxpemVkQXJnczxcbiAgICAgICAgICBDb250ZXh0T2Y8dGhpc1tcInJlcG9cIl0+LFxuICAgICAgICAgIEFSR1MsXG4gICAgICAgICAgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgID5cbiAgICAgID5cbiAgICB8IENvbnRleHR1YWxpemVkQXJnczxcbiAgICAgICAgQ29udGV4dE9mPHRoaXNbXCJyZXBvXCJdPixcbiAgICAgICAgQVJHUyxcbiAgICAgICAgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlXG4gICAgICA+IHtcbiAgICBjb25zdCBjdHggPSB0aGlzLnJlcG9bXCJfYWRhcHRlclwiXVtcImxvZ0N0eFwiXShcbiAgICAgIFt0aGlzLnJlcG8uY2xhc3MgYXMgYW55LCAuLi5hcmdzXSBhcyBhbnksXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBhbGxvd0NyZWF0ZSBhcyBhbnksXG4gICAgICB0aGlzLnJlcG9bXCJfb3ZlcnJpZGVzXCJdIHx8IHt9XG4gICAgKTtcbiAgICBmdW5jdGlvbiBzcXVhc2hBcmdzKGN0eDogQ29udGV4dHVhbGl6ZWRBcmdzPENvbnRleHRPZjxhbnk+Pikge1xuICAgICAgY3R4LmN0eEFyZ3Muc2hpZnQoKTsgLy8gcmVtb3ZlcyBhZGRlZCBtb2RlbCB0byBhcmdzXG4gICAgICByZXR1cm4gY3R4IGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAoIShjdHggaW5zdGFuY2VvZiBQcm9taXNlKSkgcmV0dXJuIHNxdWFzaEFyZ3MoY3R4KTtcbiAgICByZXR1cm4gY3R4LnRoZW4oc3F1YXNoQXJncyk7XG4gIH1cbn1cbiJdfQ==
@@ -44,4 +44,4 @@ export class PersistenceService extends ClientBasedService {
44
44
  };
45
45
  }
46
46
  }
47
- //# sourceMappingURL=PersistenceService.js.map
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc2lzdGVuY2VTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1BlcnNpc3RlbmNlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQW1CO0FBSWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsb0NBQStCO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHNDQUFpQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0NBQTZCO0FBRXhELE1BQU0sT0FBTyxrQkFFWCxTQUFRLGtCQUlUO0lBQ0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCw2REFBNkQ7SUFDcEQsR0FBRyxDQUFDLElBQVMsRUFBRSxHQUFHLElBQVc7UUFDcEMsTUFBTSxJQUFJLGdCQUFnQixDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVRLEtBQUssQ0FBQyxVQUFVLENBQ3ZCLEdBQUcsSUFBc0M7UUFLekMsTUFBTSxJQUFJLEdBQW9ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzRSxJQUNFLENBQUMsSUFBSTtZQUNMLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDcEIsSUFBSSxZQUFZLE9BQU87WUFDdkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBDLE1BQU0sSUFBSSxhQUFhLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUMzRCxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQ3ZCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQztnQkFDSCxHQUFHLENBQUMsS0FBSyxDQUNQLGdCQUFnQixNQUFNLENBQUMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNsRSxDQUFDO2dCQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBTSxDQUFDO2dCQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbEQsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQztZQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sSUFBSSxhQUFhLENBQUMsd0JBQXdCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQztnQkFDSCxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEUsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLE9BQU87WUFDZixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9BZGFwdGVyXCI7XG5pbXBvcnQgeyBDb25maWdPZiwgQ29udGV4dE9mIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL3R5cGVzXCI7XG5pbXBvcnQgeyBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiLi4vdXRpbHMvQ29udGV4dHVhbExvZ2dlZENsYXNzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL0NvbnRleHRcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEVycm9yIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2luZGV4XCI7XG5cbmV4cG9ydCBjbGFzcyBQZXJzaXN0ZW5jZVNlcnZpY2U8XG4gIEEgZXh0ZW5kcyBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT4sXG4+IGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlPFxuICBBW10sXG4gIFtDb25zdHJ1Y3RvcjxBPiwgQ29uZmlnT2Y8QT4sIC4uLmFyZ3M6IGFueVtdXVtdLFxuICBDb250ZXh0T2Y8QT5cbj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBvdmVycmlkZSBmb3IoY29uZjogYW55LCAuLi5hcmdzOiBhbnlbXSk6IHRoaXMge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiUGVyc2lzdGVuY2Ugc2VydmljZSBjYW5ub3QgYmUgb3ZlcnJpZGRlblwiKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHRPZjxBPj5cbiAgKTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBbQ29uc3RydWN0b3I8QT4sIENvbmZpZ09mPEE+LCAuLi5hcmdzOiBhbnlbXV1bXTtcbiAgICBjbGllbnQ6IEFbXTtcbiAgfT4ge1xuICAgIGNvbnN0IGNmZ3M6IFtDb25zdHJ1Y3RvcjxBPiwgQ29uZmlnT2Y8QT4sIC4uLmFyZ3M6IGFueVtdXVtdID0gYXJncy5zaGlmdCgpO1xuICAgIGlmIChcbiAgICAgICFjZmdzIHx8XG4gICAgICAhQXJyYXkuaXNBcnJheShjZmdzKSB8fFxuICAgICAgY2ZncyBpbnN0YW5jZW9mIENvbnRleHQgfHxcbiAgICAgICFjZmdzLmV2ZXJ5KChjKSA9PiBBcnJheS5pc0FycmF5KGMpKVxuICAgIClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNaXNzaW5nL2ludmFsaWQgY29uZmlndXJhdGlvbmApO1xuICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuSU5JVElBTElaQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjbGllbnRzOiBBW10gPSBjZmdzLm1hcCgoW2NvbnN0ciwgY2ZnLCAuLi5hcmdzXSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9nLnNpbGx5KFxuICAgICAgICAgIGBJbml0aWFsaXppbmcgJHtjb25zdHIubmFtZX0gd2l0aCBjb25maWc6ICR7SlNPTi5zdHJpbmdpZnkoY2ZnKX1gXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSBuZXcgY29uc3RyKGNmZywgLi4uYXJncykgYXMgQTtcbiAgICAgICAgbG9nLmRlYnVnKGBJbml0aWFsaXplZCAke2FkYXB0ZXIudG9TdHJpbmcoKX0uLi5gKTtcbiAgICAgICAgcmV0dXJuIGFkYXB0ZXI7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSAke2NvbnN0ci5uYW1lfTogJHtlfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBjIG9mIGNsaWVudHMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGMuaW5pdGlhbGl6ZSguLi5jdHhBcmdzKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGluaXRpYWxpemUgJHtjLnRvU3RyaW5nKCl9OiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsaWVudDogY2xpZW50cyxcbiAgICAgIGNvbmZpZzogY2ZncyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@
6
6
  export * from "./ModelService.js";
7
7
  export * from "./PersistenceService.js";
8
8
  export * from "./services.js";
9
- //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILGtDQUErQjtBQUMvQix3Q0FBcUM7QUFDckMsOEJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gRXhwb3J0cyBmb3IgdGhlIHNlcnZpY2VzIG1vZHVsZS5cbiAqIEBzdW1tYXJ5IFRoaXMgZmlsZSBleHBvcnRzIGFsbCB0aGUgbmVjZXNzYXJ5IGNvbXBvbmVudHMgZm9yIHRoZSBzZXJ2aWNlcyBmdW5jdGlvbmFsaXR5LCBpbmNsdWRpbmcgTW9kZWxTZXJ2aWNlLCBQZXJzaXN0ZW5jZVNlcnZpY2UsIGFuZCBzZXJ2aWNlcy5cbiAqIEBtb2R1bGUgY29yZS9zZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9Nb2RlbFNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1BlcnNpc3RlbmNlU2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXNcIjtcbiJdfQ==
@@ -322,4 +322,4 @@ __decorate([
322
322
  __metadata("design:type", Object),
323
323
  __metadata("design:paramtypes", [])
324
324
  ], ClientBasedService.prototype, "client", null);
325
- //# sourceMappingURL=services.js.map
325
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBU0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQ0FBK0I7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBZSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBR0wscUJBQXFCLEdBR3RCLDRDQUF1QztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxzQ0FBaUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDRCQUF1QjtBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSx1Q0FBa0M7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSw0Q0FBdUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQ0FBNEI7QUFFakQsTUFBTSxPQUFnQixPQUdwQixTQUFRLHFCQUF3QjtJQU9oQyxZQUErQixJQUFhO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRHFCLFNBQUksR0FBSixJQUFJLENBQVM7UUFKbEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQTBJckM7OztXQUdHO1FBQ2dCLFlBQU8sR0FBbUIsQ0FBQSxPQUVmLENBQUEsQ0FBQztJQTFJL0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBRyxJQUFXO1FBQzNCLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3JCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7Z0JBQzFCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbkQs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QUM7UUFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBT0QsSUFDYyxNQUFNO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksTUFBTTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUEyQjtRQUMzQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFqQ087SUFETCxLQUFLLEVBQUU7Ozs7OENBV1A7QUFPRDtJQUFDLEtBQUssRUFBRTs7O2dEQUlQO0FBRUQ7SUFBQyxLQUFLLEVBQUU7OztnREFJUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWxsT3BlcmF0aW9uS2V5cyxcbiAgQ29udGV4dEZsYWdzLFxuICBFdmVudElkcyxcbiAgRmxhZ3NPZixcbiAgT2JzZXJ2ZXJGaWx0ZXIsXG4gIFBlcnNpc3RlbmNlT2JzZXJ2YWJsZSxcbiAgUGVyc2lzdGVuY2VPYnNlcnZlcixcbn0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL0NvbnRleHRcIjtcbmltcG9ydCB7IGZpbmFsLCB0eXBlIExvZ2dlciwgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHtcbiAgQ29udGV4dHVhbEFyZ3MsXG4gIENvbnRleHR1YWxpemVkQXJncyxcbiAgQ29udGV4dHVhbExvZ2dlZENsYXNzLFxuICBNYXliZUNvbnRleHR1YWxBcmcsXG4gIE1ldGhvZE9yT3BlcmF0aW9uLFxufSBmcm9tIFwiLi4vdXRpbHMvQ29udGV4dHVhbExvZ2dlZENsYXNzXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgRGVmYXVsdENvbnRleHRGbGFncywgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZVNlcnZpY2VLZXkgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IEluamVjdGFibGVzIH0gZnJvbSBcIkBkZWNhZi10cy9pbmplY3RhYmxlLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFVVSUQgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvZ2VuZXJhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZlciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL09ic2VydmVyXCI7XG5pbXBvcnQgeyBPYnNlcnZlckhhbmRsZXIgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvT2JzZXJ2ZXJIYW5kbGVyXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvaW5kZXhcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlcnZpY2U8XG4gICAgQyBleHRlbmRzIENvbnRleHQ8Q29udGV4dEZsYWdzPGFueT4+ID0gQ29udGV4dDxDb250ZXh0RmxhZ3M8YW55Pj4sXG4gID5cbiAgZXh0ZW5kcyBDb250ZXh0dWFsTG9nZ2VkQ2xhc3M8Qz5cbiAgaW1wbGVtZW50cyBQZXJzaXN0ZW5jZU9ic2VydmFibGU8Qz4sIFBlcnNpc3RlbmNlT2JzZXJ2ZXI8Qz5cbntcbiAgcHJvdGVjdGVkIG9ic2VydmVyczogT2JzZXJ2ZXJbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBvYnNlcnZlckhhbmRsZXI/OiBPYnNlcnZlckhhbmRsZXI7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG5hbWU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZm9yKGNvbmY6IGFueSwgLi4uYXJnczogYW55W10pOiB0aGlzIHtcbiAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcbiAgICAgIGdldChvcmlnaW5hbCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgY29uc3Qgb3JpZyA9IFJlZmxlY3QuZ2V0KG9yaWdpbmFsLCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmICh0eXBlb2Ygb3JpZyAhPT0gXCJvYmplY3RcIikgcmV0dXJuIG9yaWc7XG4gICAgICAgIGlmIChvcmlnIGluc3RhbmNlb2YgU2VydmljZSkgcmV0dXJuIG9yaWcuZm9yKGNvbmYsIC4uLmFyZ3MpO1xuICAgICAgICBpZiAob3JpZyBpbnN0YW5jZW9mIFJlcG9zaXRvcnkpIHJldHVybiBvcmlnLm92ZXJyaWRlKGNvbmYpO1xuICAgICAgICByZXR1cm4gb3JpZztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhbiBvYnNlcnZlciBmb3IgdGhpcyByZXBvc2l0b3J5LlxuICAgKiBAc3VtbWFyeSBBZGRzIGFuIG9ic2VydmVyIHRoYXQgd2lsbCBiZSBub3RpZmllZCBvZiBjaGFuZ2VzIHRvIG1vZGVscyBpbiB0aGlzIHJlcG9zaXRvcnkuXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIG9ic2VydmVyIHRvIHJlZ2lzdGVyLlxuICAgKiBAcGFyYW0ge09ic2VydmVyRmlsdGVyfSBbZmlsdGVyXSAtIE9wdGlvbmFsIGZpbHRlciB0byBsaW1pdCB3aGljaCBldmVudHMgdGhlIG9ic2VydmVyIHJlY2VpdmVzLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKiBAc2VlIHtPYnNlcnZhYmxlI29ic2VydmV9XG4gICAqL1xuICBAZmluYWwoKVxuICBvYnNlcnZlKG9ic2VydmVyOiBPYnNlcnZlciwgZmlsdGVyPzogT2JzZXJ2ZXJGaWx0ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXJIYW5kbGVyKVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwib2JzZXJ2ZXJIYW5kbGVyXCIsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBPYnNlcnZlckhhbmRsZXIoKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMub2JzZXJ2ZSk7XG4gICAgdGhpcy5vYnNlcnZlckhhbmRsZXIhLm9ic2VydmUob2JzZXJ2ZXIsIGZpbHRlcik7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgUmVnaXN0ZXJlZCBuZXcgb2JzZXJ2ZXIgJHtvYnNlcnZlci5jb25zdHJ1Y3Rvci5uYW1lIHx8IG9ic2VydmVyLnRvU3RyaW5nKCl9YFxuICAgICk7XG4gICAgcmV0dXJuICgpID0+IHRoaXMudW5PYnNlcnZlKG9ic2VydmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5yZWdpc3RlcnMgYW4gb2JzZXJ2ZXIgZnJvbSB0aGlzIHJlcG9zaXRvcnkuXG4gICAqIEBzdW1tYXJ5IFJlbW92ZXMgYW4gb2JzZXJ2ZXIgc28gaXQgd2lsbCBubyBsb25nZXIgcmVjZWl2ZSBub3RpZmljYXRpb25zIG9mIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIG9ic2VydmVyIHRvIHVucmVnaXN0ZXIuXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIHRoZSBvYnNlcnZlciBoYW5kbGVyIGlzIG5vdCBpbml0aWFsaXplZC5cbiAgICogQHNlZSB7T2JzZXJ2YWJsZSN1bk9ic2VydmV9XG4gICAqL1xuICBAZmluYWwoKVxuICB1bk9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVySGFuZGxlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIk9ic2VydmVySGFuZGxlciBub3QgaW5pdGlhbGl6ZWQuIERpZCB5b3UgcmVnaXN0ZXIgYW55IG9ic2VydmFibGVzPyBvciBhcmUgeW91IHVucmVnaXN0ZXJpbmcgd2hlIHlvdSBzaG91bGRuJ3RcIlxuICAgICAgKTtcbiAgICB0aGlzLm9ic2VydmVySGFuZGxlci51bk9ic2VydmUob2JzZXJ2ZXIpO1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLnVuT2JzZXJ2ZSk7XG4gICAgbG9nLnZlcmJvc2UoYE9ic2VydmVyICR7b2JzZXJ2ZXIudG9TdHJpbmcoKX0gcmVtb3ZlZGApO1xuICAgIGlmICghdGhpcy5vYnNlcnZlckhhbmRsZXIuY291bnQoKSkge1xuICAgICAgZGVsZXRlIHRoaXMub2JzZXJ2ZXJIYW5kbGVyO1xuICAgICAgbG9nLnZlcmJvc2UoYE5vIGxvbmdlciBiZWluZyBvYnNlcnZlZGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTm90aWZpZXMgYWxsIG9ic2VydmVycyBvZiBhbiBldmVudC5cbiAgICogQHN1bW1hcnkgVXBkYXRlcyBhbGwgcmVnaXN0ZXJlZCBvYnNlcnZlcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBhIGRhdGFiYXNlIGV2ZW50LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgbmFtZSB3aGVyZSB0aGUgZXZlbnQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIGV2ZW50IHRoYXQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIElEIG9yIElEcyBvZiB0aGUgYWZmZWN0ZWQgcmVjb3Jkcy5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBvYnNlcnZlcnMgaGF2ZSBiZWVuIG5vdGlmaWVkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBJZiB0aGUgb2JzZXJ2ZXIgaGFuZGxlciBpcyBub3QgaW5pdGlhbGl6ZWQuXG4gICAqL1xuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoXG4gICAgdGFibGU6IENvbnN0cnVjdG9yPGFueT4gfCBzdHJpbmcsXG4gICAgZXZlbnQ6IEFsbE9wZXJhdGlvbktleXMsXG4gICAgaWQ6IEV2ZW50SWRzLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPEM+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5vYnNlcnZlckhhbmRsZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJPYnNlcnZlckhhbmRsZXIgbm90IGluaXRpYWxpemVkLiBEaWQgeW91IHJlZ2lzdGVyIGFueSBvYnNlcnZhYmxlcz9cIlxuICAgICAgKTtcbiAgICBjb25zdCB7IGxvZywgY3R4QXJncyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy51cGRhdGVPYnNlcnZlcnMpO1xuICAgIGxvZy52ZXJib3NlKFxuICAgICAgYFVwZGF0aW5nICR7dGhpcy5vYnNlcnZlckhhbmRsZXIuY291bnQoKX0gb2JzZXJ2ZXJzIGZvciAke3RoaXN9YFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5vYnNlcnZlckhhbmRsZXIudXBkYXRlT2JzZXJ2ZXJzKHRhYmxlLCBldmVudCwgaWQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHJlcG9zaXRvcnkgZmxhZ3MgZm9yIGFuIG9wZXJhdGlvblxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgYSBzZXQgb2YgZmxhZ3MgdGhhdCBkZXNjcmliZSBhIGRhdGFiYXNlIG9wZXJhdGlvbiwgY29tYmluaW5nIGRlZmF1bHQgZmxhZ3Mgd2l0aCBvdmVycmlkZXNcbiAgICogQHRlbXBsYXRlIEYgLSBUaGUgUmVwb3NpdG9yeSBGbGFncyB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGVcbiAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzfSBvcGVyYXRpb24gLSBUaGUgdHlwZSBvZiBvcGVyYXRpb24gYmVpbmcgcGVyZm9ybWVkXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGPn0gZmxhZ3MgLSBDdXN0b20gZmxhZyBvdmVycmlkZXNcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Rj59IFRoZSBjb21wbGV0ZSBzZXQgb2YgZmxhZ3NcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBmbGFncyhcbiAgICBvcGVyYXRpb246IHN0cmluZyxcbiAgICBmbGFnczogUGFydGlhbDxGbGFnc09mPEM+PixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPEZsYWdzT2Y8Qz4+IHtcbiAgICBmbGFncy5jb3JyZWxhdGlvbklkID1cbiAgICAgIGZsYWdzLmNvcnJlbGF0aW9uSWQgfHwgYCR7b3BlcmF0aW9ufS0ke1VVSUQuaW5zdGFuY2UuZ2VuZXJhdGUoKX1gO1xuICAgIGNvbnN0IGxvZyA9IChmbGFncy5sb2dnZXIgfHwgTG9nZ2luZy5mb3IodGhpcyBhcyBhbnkpKSBhcyBMb2dnZXI7XG4gICAgbG9nLnNldENvbmZpZyh7IGNvcnJlbGF0aW9uSWQ6IGZsYWdzLmNvcnJlbGF0aW9uSWQgfSk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRDb250ZXh0RmxhZ3MsIGZsYWdzLCB7XG4gICAgICBhcmdzOiBhcmdzLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgb3BlcmF0aW9uOiBvcGVyYXRpb24sXG4gICAgICBsb2dnZXI6IGxvZyxcbiAgICB9KSBhcyB1bmtub3duIGFzIEZsYWdzT2Y8Qz47XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFsaWFzIGZvciB1cGRhdGVPYnNlcnZlcnMuXG4gICAqIEBzdW1tYXJ5IE5vdGlmaWVzIGFsbCBvYnNlcnZlcnMgb2YgYW4gZXZlbnQgKGFsaWFzIGZvciB1cGRhdGVPYnNlcnZlcnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgbmFtZSB3aGVyZSB0aGUgZXZlbnQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIGV2ZW50IHRoYXQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIElEIG9yIElEcyBvZiB0aGUgYWZmZWN0ZWQgcmVjb3Jkcy5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBvYnNlcnZlcnMgaGF2ZSBiZWVuIG5vdGlmaWVkLlxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaChcbiAgICB0YWJsZTogQ29uc3RydWN0b3I8YW55PiB8IHN0cmluZyxcbiAgICBldmVudDogQWxsT3BlcmF0aW9uS2V5cyxcbiAgICBpZDogRXZlbnRJZHMsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Qz5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlT2JzZXJ2ZXJzKHRhYmxlLCBldmVudCwgaWQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgY29udGV4dCBjb25zdHJ1Y3RvciBmb3IgdGhpcyBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBjbGFzcyBjb25zdHJ1Y3RvciB1c2VkIGJ5IHRoaXMgYWRhcHRlclxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IENvbnRleHQ6IENvbnN0cnVjdG9yPEM+ID0gQ29udGV4dDxcbiAgICBGbGFnc09mPEM+XG4gID4gYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxDPjtcblxuICBhc3luYyBjb250ZXh0KFxuICAgIG9wZXJhdGlvbjogKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB8IHN0cmluZyxcbiAgICBvdmVycmlkZXM6IFBhcnRpYWw8RmxhZ3NPZjxDPj4sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHQ8YW55Pj5cbiAgKTogUHJvbWlzZTxDPiB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuY29udGV4dCk7XG4gICAgbG9nLnNpbGx5KFxuICAgICAgYGNyZWF0aW5nIG5ldyBjb250ZXh0IGZvciAke29wZXJhdGlvbn0gb3BlcmF0aW9uIHdpdGggZmxhZyBvdmVycmlkZXM6ICR7SlNPTi5zdHJpbmdpZnkob3ZlcnJpZGVzKX1gXG4gICAgKTtcbiAgICBsZXQgY3R4ID0gYXJncy5wb3AoKTtcbiAgICBpZiAodHlwZW9mIGN0eCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhKGN0eCBpbnN0YW5jZW9mIENvbnRleHQpKSB7XG4gICAgICBhcmdzLnB1c2goY3R4KTtcbiAgICAgIGN0eCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgb3ZlcnJpZGVzID0gY3R4XG4gICAgICA/IE9iamVjdC5hc3NpZ24oe30sIGN0eC50b092ZXJyaWRlcygpLCBvdmVycmlkZXMpXG4gICAgICA6IG92ZXJyaWRlcztcbiAgICBjb25zdCBmbGFncyA9IGF3YWl0IHRoaXMuZmxhZ3MoXG4gICAgICB0eXBlb2Ygb3BlcmF0aW9uID09PSBcInN0cmluZ1wiID8gb3BlcmF0aW9uIDogb3BlcmF0aW9uLm5hbWUsXG4gICAgICBvdmVycmlkZXMgYXMgUGFydGlhbDxGbGFnc09mPEM+PixcbiAgICAgIC4uLlsuLi5hcmdzLCBjdHhdLmZpbHRlcihCb29sZWFuKVxuICAgICk7XG4gICAgaWYgKGN0eCkge1xuICAgICAgaWYgKCEoY3R4IGluc3RhbmNlb2YgdGhpcy5Db250ZXh0KSkge1xuICAgICAgICBjb25zdCBuZXdDdHggPSBuZXcgdGhpcy5Db250ZXh0KCkuYWNjdW11bGF0ZSh7XG4gICAgICAgICAgLi4uY3R4W1wiY2FjaGVcIl0sXG4gICAgICAgICAgLi4uZmxhZ3MsXG4gICAgICAgICAgcGFyZW50Q29udGV4dDogY3R4LFxuICAgICAgICB9KSBhcyBhbnk7XG4gICAgICAgIGN0eC5hY2N1bXVsYXRlKHtcbiAgICAgICAgICBjaGlsZENvbnRleHRzOiBbXG4gICAgICAgICAgICAuLi4oY3R4LmdldE9yVW5kZWZpbmVkKFwiY2hpbGRDb250ZXh0c1wiKSB8fCBbXSksXG4gICAgICAgICAgICBuZXdDdHgsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuZXdDdHg7XG4gICAgICB9XG4gICAgICBjb25zdCBjdXJyZW50T3AgPSBjdHguZ2V0KFwib3BlcmF0aW9uXCIpO1xuICAgICAgaWYgKGN1cnJlbnRPcCAhPT0gb3BlcmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IG5ld0N0eCA9IG5ldyB0aGlzLkNvbnRleHQoKS5hY2N1bXVsYXRlKHtcbiAgICAgICAgICAuLi5jdHhbXCJjYWNoZVwiXSxcbiAgICAgICAgICAuLi5mbGFncyxcbiAgICAgICAgICBwYXJlbnRDb250ZXh0OiBjdHgsXG4gICAgICAgIH0pIGFzIGFueTtcblxuICAgICAgICBjdHguYWNjdW11bGF0ZSh7XG4gICAgICAgICAgY2hpbGRDb250ZXh0czogW1xuICAgICAgICAgICAgLi4uKGN0eC5nZXRPclVuZGVmaW5lZChcImNoaWxkQ29udGV4dHNcIikgfHwgW10pLFxuICAgICAgICAgICAgbmV3Q3R4LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3Q3R4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN0eC5hY2N1bXVsYXRlKGZsYWdzKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyB0aGlzLkNvbnRleHQoKS5hY2N1bXVsYXRlKHtcbiAgICAgIC4uLmZsYWdzLFxuICAgIH0pIGFzIGFueTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0RcbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT47XG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IGZhbHNlLFxuICAgIG92ZXJyaWRlcz86IFBhcnRpYWw8RmxhZ3NPZjxDT05URVhUPj5cbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT47XG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IHRydWUsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPENPTlRFWFQ+PlxuICApOiBQcm9taXNlPFxuICAgIENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+XG4gID47XG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQ1JFQVRFIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlLFxuICAgIEFSR1MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLFxuICAgIE1FVEhPRCBleHRlbmRzIE1ldGhvZE9yT3BlcmF0aW9uID0gTWV0aG9kT3JPcGVyYXRpb24sXG4gID4oXG4gICAgYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENPTlRFWFQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBDUkVBVEUgPSBmYWxzZSBhcyBDUkVBVEUsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPENPTlRFWFQ+PlxuICApOlxuICAgIHwgUHJvbWlzZTxcbiAgICAgICAgQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT5cbiAgICAgID5cbiAgICB8IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+IHtcbiAgICByZXR1cm4gQ29udGV4dHVhbExvZ2dlZENsYXNzLmxvZ0N0eC5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgIG9wZXJhdGlvbixcbiAgICAgIG92ZXJyaWRlcyB8fCB7fSxcbiAgICAgIGFsbG93Q3JlYXRlLFxuICAgICAgLi4uYXJncy5maWx0ZXIoKGUpID0+IHR5cGVvZiBlICE9PSBcInVuZGVmaW5lZFwiKVxuICAgICkgYXNcbiAgICAgIHwgUHJvbWlzZTxcbiAgICAgICAgICBDb250ZXh0dWFsaXplZEFyZ3M8XG4gICAgICAgICAgICBDT05URVhULFxuICAgICAgICAgICAgQVJHUyxcbiAgICAgICAgICAgIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgID5cbiAgICAgICAgPlxuICAgICAgfCBDb250ZXh0dWFsaXplZEFyZ3M8Q09OVEVYVCwgQVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgU2VydmljZSBpbnN0YW5jZSBieSBuYW1lL2NsYXNzXG4gICAqIEBzdW1tYXJ5IExvb2tzIHVwIGFuZCByZXR1cm5zIGEgY2FjaGVkIEFQSSBpbnN0YW5jZSBieSBpdHMgbmFtZSBvciBjb25zdHJ1Y3RvclxuICAgKiBAdGVtcGxhdGUgQSBUeXBlIGV4dGVuZGluZyBBcGlcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBDb25zdHJ1Y3RvcjxBPn0gbmFtZSAtIE5hbWUgb2YgdGhlIEFQSSBvciBpdHMgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7QX0gVGhlIHJlcXVlc3RlZCBBUEkgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBnZXQ8QSBleHRlbmRzIFNlcnZpY2U+KG5hbWU6IHN0cmluZyB8IHN5bWJvbCB8IENvbnN0cnVjdG9yPEE+KTogQSB7XG4gICAgaWYgKCFuYW1lKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gbmFtZSBwcm92aWRlZGApO1xuICAgIGNvbnN0IGtleSA9IGluamVjdGFibGVTZXJ2aWNlS2V5KG5hbWUpO1xuICAgIGNvbnN0IGluamVjdGFibGUgPSBJbmplY3RhYmxlcy5nZXQoa2V5KTtcbiAgICBpZiAoaW5qZWN0YWJsZSkgcmV0dXJuIGluamVjdGFibGUgYXMgQTtcblxuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgYE5vIFNlcnZpY2UgZm91bmQgZm9yICR7dHlwZW9mIG5hbWUgPT09IFwic3RyaW5nXCIgPyBuYW1lIDogdHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIgPyBuYW1lLnRvU3RyaW5nKCkgOiBuYW1lLm5hbWV9YFxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgYm9vdDxDIGV4dGVuZHMgQ29udGV4dDxhbnk+ID0gYW55PihcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Qz5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGN0eCA9IGFyZ3MucG9wKCk7XG4gICAgaWYgKHR5cGVvZiBjdHggIT09IFwidW5kZWZpbmVkXCIgJiYgIShjdHggaW5zdGFuY2VvZiBDb250ZXh0KSkge1xuICAgICAgYXJncy5wdXNoKGN0eCk7XG4gICAgICBjdHggPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgZmxhZ3MgPSBhd2FpdCBTZXJ2aWNlLnByb3RvdHlwZS5mbGFncyhcbiAgICAgIFBlcnNpc3RlbmNlS2V5cy5JTklUSUFMSVpBVElPTixcbiAgICAgIHt9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gICAgY3R4ID0gY3R4XG4gICAgICA/IChuZXcgQ29udGV4dChjdHgpLmFjY3VtdWxhdGUoe1xuICAgICAgICAgIC4uLmZsYWdzLFxuICAgICAgICAgIHBhcmVudENvbnRleHQ6IGN0eCxcbiAgICAgICAgfSkgYXMgYW55KVxuICAgICAgOiAobmV3IENvbnRleHQoKS5hY2N1bXVsYXRlKGZsYWdzKSBhcyBhbnkpO1xuXG4gICAgYXJncyA9IFsuLi5hcmdzLCBjdHhdO1xuXG4gICAgY29uc3QgeyBsb2csIGN0eEFyZ3MgfSA9IFNlcnZpY2UucHJvdG90eXBlLmxvZ0N0eChhcmdzLCB0aGlzLmJvb3QpO1xuICAgIGNvbnN0IHNlcnZpY2VzID0gSW5qZWN0YWJsZXMuc2VydmljZXMoKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHNlcnZpY2VdIG9mIE9iamVjdC5lbnRyaWVzKHNlcnZpY2VzKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9nLnZlcmJvc2UoYEJvb3RpbmcgJHtzZXJ2aWNlLm5hbWV9IHNlcnZpY2UuLi5gKTtcbiAgICAgICAgY29uc3QgcyA9IEluamVjdGFibGVzLmdldDxTZXJ2aWNlPihzZXJ2aWNlIGFzIENvbnN0cnVjdG9yPFNlcnZpY2U+KTtcbiAgICAgICAgaWYgKCFzKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gcmVzb2x2ZSBpbmplY3RhYmxlIGZvciAke2tleX1gKTtcbiAgICAgICAgaWYgKHMgaW5zdGFuY2VvZiBDbGllbnRCYXNlZFNlcnZpY2UpIHtcbiAgICAgICAgICBsb2cudmVyYm9zZShgSW5pdGlhbGl6aW5nICR7c2VydmljZS5uYW1lfSBzZXJ2aWNlLi4uYCk7XG4gICAgICAgICAgYXdhaXQgcy5ib290KC4uLmN0eEFyZ3MpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gYm9vdCAke3NlcnZpY2UubmFtZX0gc2VydmljZToke2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHNodXRkb3duPEMgZXh0ZW5kcyBDb250ZXh0PGFueT4gPSBhbnk+KFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgY3R4ID0gYXJncy5wb3AoKTtcbiAgICBpZiAodHlwZW9mIGN0eCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhKGN0eCBpbnN0YW5jZW9mIENvbnRleHQpKSB7XG4gICAgICBhcmdzLnB1c2goY3R4KTtcbiAgICAgIGN0eCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBmbGFncyA9IGF3YWl0IFNlcnZpY2UucHJvdG90eXBlLmZsYWdzKFxuICAgICAgUGVyc2lzdGVuY2VLZXlzLlNIVVRET1dOLFxuICAgICAge30sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgICBjdHggPSBjdHhcbiAgICAgID8gKG5ldyBDb250ZXh0KGN0eCkuYWNjdW11bGF0ZSh7XG4gICAgICAgICAgLi4uZmxhZ3MsXG4gICAgICAgICAgcGFyZW50Q29udGV4dDogY3R4LFxuICAgICAgICB9KSBhcyBhbnkpXG4gICAgICA6IChuZXcgQ29udGV4dCgpLmFjY3VtdWxhdGUoZmxhZ3MpIGFzIGFueSk7XG5cbiAgICBhcmdzID0gWy4uLmFyZ3MsIGN0eF07XG5cbiAgICBjb25zdCB7IGxvZywgY3R4QXJncyB9ID0gU2VydmljZS5wcm90b3R5cGUubG9nQ3R4KGFyZ3MsIHRoaXMuc2h1dGRvd24pO1xuICAgIGNvbnN0IHNlcnZpY2VzID0gSW5qZWN0YWJsZXMuc2VydmljZXMoKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHNlcnZpY2VdIG9mIE9iamVjdC5lbnRyaWVzKHNlcnZpY2VzKS5yZXZlcnNlKCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBTaHV0dGluZyBkb3duICR7c2VydmljZS5uYW1lfSBzZXJ2aWNlLi4uYCk7XG4gICAgICAgIGNvbnN0IHMgPSBJbmplY3RhYmxlcy5nZXQ8U2VydmljZT4oc2VydmljZSBhcyBDb25zdHJ1Y3RvcjxTZXJ2aWNlPik7XG4gICAgICAgIGlmICghcylcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIHJlc29sdmUgaW5qZWN0YWJsZSBmb3IgJHtrZXl9YCk7XG4gICAgICAgIGlmIChzIGluc3RhbmNlb2YgQ2xpZW50QmFzZWRTZXJ2aWNlKSB7XG4gICAgICAgICAgbG9nLnZlcmJvc2UoYEdyYWNlZnVsbHkgc2h1dHRpbmcgZG93biAke3NlcnZpY2UubmFtZX0gc2VydmljZS4uLmApO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBzLnNodXRkb3duKC4uLmN0eEFyZ3MpO1xuICAgICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgYEZhaWxlZCB0byBncmFjZWZ1bGx5IHNodXRkb3duICR7c2VydmljZS5uYW1lfSBzZXJ2aWNlYCxcbiAgICAgICAgICAgICAgZSBhcyBFcnJvclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBTaHV0ZG93biBzZXJ2aWNlcyAke2tleX06ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENsaWVudEJhc2VkU2VydmljZTxcbiAgQ0xJRU5ULFxuICBDT05GLFxuICBDIGV4dGVuZHMgQ29udGV4dDxhbnk+ID0gYW55LFxuPiBleHRlbmRzIFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgX2NsaWVudD86IENMSUVOVDtcblxuICBwcm90ZWN0ZWQgX2NvbmZpZz86IENPTkY7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBAZmluYWwoKVxuICBhc3luYyBib290KC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDPikge1xuICAgIGNvbnN0IHsgY29uZmlnLCBjbGllbnQgfSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZShcbiAgICAgIC4uLihhcmdzIGFzIFsuLi5hbnlbXSwgQ10pXG4gICAgKTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuSU5JVElBTElaQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5ib290KTtcbiAgICBsb2cudmVyYm9zZShgJHt0aGlzLnRvU3RyaW5nKCl9IGluaXRpYWxpemVkLi4uYCk7XG4gIH1cblxuICBhYnN0cmFjdCBpbml0aWFsaXplKC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPEM+KTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBDT05GO1xuICAgIGNsaWVudDogQ0xJRU5UO1xuICB9PjtcblxuICBAZmluYWwoKVxuICBwcm90ZWN0ZWQgZ2V0IGNvbmZpZygpOiBDT05GIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYENvbmZpZyBub3QgaW5pdGlhbGl6ZWRgKTtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgQGZpbmFsKClcbiAgZ2V0IGNsaWVudCgpOiBDTElFTlQge1xuICAgIGlmICghdGhpcy5fY2xpZW50KSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgQ2xpZW50IG5vdCBpbml0aWFsaXplZGApO1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQ7XG4gIH1cblxuICBhc3luYyBzaHV0ZG93biguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Qz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgdGhpcy5zaHV0ZG93biwgdHJ1ZSk7XG4gICAgbG9nLmluZm8oYFNodXR0aW5nIGRvd24uLi5gKTtcbiAgfVxufVxuIl19
@@ -68,4 +68,4 @@ CleanUpTask = __decorate([
68
68
  __metadata("design:paramtypes", [])
69
69
  ], CleanUpTask);
70
70
  export { CleanUpTask };
71
- //# sourceMappingURL=CleanUpTask.js.map
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xlYW5VcFRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFza3MvQ2xlYW5VcFRhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSx5QkFBc0I7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxzQ0FBaUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSw4QkFBMkI7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBcUI7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQ0FBMkI7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSx1QkFBb0I7QUFXbEMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLFdBQTBDO0lBSXpFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEdBQWdCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFdkIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxTQUErQixDQUFDO1lBRXBDLElBQUksS0FBSyxZQUFZLFNBQVMsRUFBRSxDQUFDO2dCQUMvQixTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztnQkFFcEQsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFZLFFBQVEsQ0FBQztxQkFDekQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7cUJBQ3hCLEdBQUcsQ0FDRixTQUFTLENBQUMsSUFBSSxDQUFZLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FDbkUsQ0FBQztnQkFFSixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFZLFFBQVEsQ0FBQztxQkFDeEQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7cUJBQ3JCLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFZLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFFdkUsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFZLFFBQVEsQ0FBQztxQkFDM0QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7cUJBQ3ZCLEdBQUcsQ0FDRixTQUFTLENBQUMsSUFBSSxDQUFZLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQ2xFLENBQUM7Z0JBRUosU0FBUyxHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUs7aUJBQ25DLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNkLEtBQUssQ0FBQyxTQUFTLENBQUM7aUJBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVoQixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLGFBQWEsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLENBQUM7WUFFMUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDeEMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUM5QixHQUFHLENBQ0osQ0FBQztZQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsT0FBYyxDQUFDLENBQUM7WUFDNUMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQS9EVztJQURULFVBQVUsQ0FBQyxTQUFTLENBQUM7OzBDQUNZO0FBRnZCLFdBQVc7SUFEdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQzs7R0FDUixXQUFXLENBaUV2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhc2tIYW5kbGVyIH0gZnJvbSBcIi4vVGFza0hhbmRsZXJcIjtcbmltcG9ydCB7IFRhc2tDb250ZXh0IH0gZnJvbSBcIi4vVGFza0NvbnRleHRcIjtcbmltcG9ydCB7IHR5cGUgUmVwbyB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L1JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IHJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBUYXNrTW9kZWwgfSBmcm9tIFwiLi9tb2RlbHMvVGFza01vZGVsXCI7XG5pbXBvcnQgeyB0YXNrIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uZGl0aW9uIH0gZnJvbSBcIi4uL3F1ZXJ5L0NvbmRpdGlvblwiO1xuaW1wb3J0IHsgVGFza1N0YXR1cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgdHlwZSBDbGVhblVwVGFza0lucHV0ID1cbiAgfCB7XG4gICAgICBzdWNjZXNzZnVsRXhwaXJ5OiBEYXRlO1xuICAgICAgZmFpbGVkRXhwaXJ5OiBEYXRlO1xuICAgICAgY2FuY2VsbGVkRXhwaXJ5OiBEYXRlO1xuICAgIH1cbiAgfCBDb25kaXRpb248VGFza01vZGVsPjtcblxuQHRhc2soXCJjbGVhbnVwLXRhc2tcIilcbmV4cG9ydCBjbGFzcyBDbGVhblVwVGFzayBleHRlbmRzIFRhc2tIYW5kbGVyPENsZWFuVXBUYXNrSW5wdXQsIFRhc2tNb2RlbFtdPiB7XG4gIEByZXBvc2l0b3J5KFRhc2tNb2RlbClcbiAgcHJvdGVjdGVkIHRhc2tzITogUmVwbzxUYXNrTW9kZWw+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBydW4oaW5wdXQ6IENsZWFuVXBUYXNrSW5wdXQsIGN0eDogVGFza0NvbnRleHQpOiBQcm9taXNlPFRhc2tNb2RlbFtdPiB7XG4gICAgY29uc3QgbG9nID0gY3R4LmxvZ2dlcjtcblxuICAgIHRyeSB7XG4gICAgICBsZXQgY29uZGl0aW9uOiBDb25kaXRpb248VGFza01vZGVsPjtcblxuICAgICAgaWYgKGlucHV0IGluc3RhbmNlb2YgQ29uZGl0aW9uKSB7XG4gICAgICAgIGNvbmRpdGlvbiA9IGlucHV0O1xuICAgICAgICBsb2cuaW5mbyhgU3RhcnRpbmcgdGFzayBjbGVhbnVwIHdpdGggY3VzdG9tIGNvbmRpdGlvbmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmluZm8oYFN0YXJ0aW5nIHRhc2sgY2xlYW51cCB3aXRoIGV4cGlyeSBkYXRlc2ApO1xuXG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NDb25kaXRpb24gPSBDb25kaXRpb24uYXR0cjxUYXNrTW9kZWw+KFwic3RhdHVzXCIpXG4gICAgICAgICAgLmVxKFRhc2tTdGF0dXMuU1VDQ0VFREVEKVxuICAgICAgICAgIC5hbmQoXG4gICAgICAgICAgICBDb25kaXRpb24uYXR0cjxUYXNrTW9kZWw+KFwidXBkYXRlZEF0XCIpLmx0ZShpbnB1dC5zdWNjZXNzZnVsRXhwaXJ5KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZmFpbGVkQ29uZGl0aW9uID0gQ29uZGl0aW9uLmF0dHI8VGFza01vZGVsPihcInN0YXR1c1wiKVxuICAgICAgICAgIC5lcShUYXNrU3RhdHVzLkZBSUxFRClcbiAgICAgICAgICAuYW5kKENvbmRpdGlvbi5hdHRyPFRhc2tNb2RlbD4oXCJ1cGRhdGVkQXRcIikubHRlKGlucHV0LmZhaWxlZEV4cGlyeSkpO1xuXG4gICAgICAgIGNvbnN0IGNhbmNlbGxlZENvbmRpdGlvbiA9IENvbmRpdGlvbi5hdHRyPFRhc2tNb2RlbD4oXCJzdGF0dXNcIilcbiAgICAgICAgICAuZXEoVGFza1N0YXR1cy5DQU5DRUxFRClcbiAgICAgICAgICAuYW5kKFxuICAgICAgICAgICAgQ29uZGl0aW9uLmF0dHI8VGFza01vZGVsPihcInVwZGF0ZWRBdFwiKS5sdGUoaW5wdXQuY2FuY2VsbGVkRXhwaXJ5KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgY29uZGl0aW9uID0gc3VjY2Vzc0NvbmRpdGlvbi5vcihmYWlsZWRDb25kaXRpb24pLm9yKGNhbmNlbGxlZENvbmRpdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGxvZy5pbmZvKGBRdWVyeWluZyB0YXNrcyBmb3IgY2xlYW51cGApO1xuICAgICAgY29uc3QgdGFza3NUb0RlbGV0ZSA9IGF3YWl0IHRoaXMudGFza3NcbiAgICAgICAgLnNlbGVjdChbXCJpZFwiXSlcbiAgICAgICAgLndoZXJlKGNvbmRpdGlvbilcbiAgICAgICAgLmV4ZWN1dGUoY3R4KTtcblxuICAgICAgaWYgKHRhc2tzVG9EZWxldGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGxvZy5pbmZvKGBObyB0YXNrcyBmb3VuZCBmb3IgY2xlYW51cGApO1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG5cbiAgICAgIGxvZy5pbmZvKGBGb3VuZCAke3Rhc2tzVG9EZWxldGUubGVuZ3RofSB0YXNrcyB0byBkZWxldGVgKTtcblxuICAgICAgY29uc3QgZGVsZXRlZCA9IGF3YWl0IHRoaXMudGFza3MuZGVsZXRlQWxsKFxuICAgICAgICB0YXNrc1RvRGVsZXRlLm1hcCgodCkgPT4gdC5pZCksXG4gICAgICAgIGN0eFxuICAgICAgKTtcblxuICAgICAgbG9nLmluZm8oYFN1Y2Nlc3NmdWxseSBkZWxldGVkICR7ZGVsZXRlZC5sZW5ndGh9IHRhc2tzYCk7XG4gICAgICBsb2cuZGVidWcoYGRlbGV0ZWQgdGFza3M6YCwgZGVsZXRlZCBhcyBhbnkpO1xuICAgICAgcmV0dXJuIGRlbGV0ZWQ7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgbG9nLmVycm9yKGBFcnJvciBkdXJpbmcgdGFzayBjbGVhbnVwYCwgZSBhcyBFcnJvcik7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -8,7 +8,9 @@ import { TaskStateChangeRequest } from "./TaskStateChangeError";
8
8
  export declare class TaskContext extends Context<TaskFlags> {
9
9
  get taskId(): string;
10
10
  get logger(): TaskLogger<any>;
11
- get pipe(): any;
11
+ get step(): number | undefined;
12
+ setStep(step?: number): void;
13
+ get pipe(): TaskFlags["pipe"];
12
14
  flush(): Promise<void>;
13
15
  get attempt(): number;
14
16
  get progress(): (data: any) => Promise<void>;
@@ -10,8 +10,15 @@ export class TaskContext extends Context {
10
10
  get logger() {
11
11
  return super.logger;
12
12
  }
13
+ get step() {
14
+ return this.getOrUndefined("step");
15
+ }
16
+ setStep(step) {
17
+ this.cache.put("step", step);
18
+ }
13
19
  get pipe() {
14
- return this.get("pipe");
20
+ const fn = this.get("pipe");
21
+ return fn.bind(this);
15
22
  }
16
23
  flush() {
17
24
  return this.get("flush")();
@@ -73,4 +80,4 @@ export class TaskContext extends Context {
73
80
  super(ctx);
74
81
  }
75
82
  }
76
- //# sourceMappingURL=TaskContext.js.map
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza0NvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFza3MvVGFza0NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQ0FBK0I7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQ0FBZ0M7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSx1QkFBb0I7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBZ0I7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUEwQixrQ0FBK0I7QUFFdEYsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFrQjtJQUNqRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQWEsTUFBTTtRQUNqQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFhLENBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBYSxFQUFFLElBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBUSxDQUFDO1FBQ25DLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLE9BQVk7UUFDdEMsTUFBTSxLQUFLLEdBQ1QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRCxFQUEwQixDQUFDO1FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxXQUFXLENBQUMsTUFBa0IsRUFBRSxPQUF5QztRQUNqRixNQUFNLElBQUksb0JBQW9CLENBQUM7WUFDN0IsTUFBTTtZQUNOLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQ0osTUFBd0MsRUFDeEMsT0FBYTtRQUViLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBd0M7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO1lBQ3pDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUNSLElBQWdCLEVBQ2hCLE1BQXdDO1FBRXhDLE1BQU0sV0FBVyxHQUFTLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDL0IsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQ2pCLEtBQXVDLEVBQ3ZDLE9BQWE7UUFFYixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3pDLElBQUksS0FBSyxZQUFZLGNBQWM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNsRCxJQUFJLEtBQUssWUFBWSxLQUFLO1lBQUUsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSw2QkFBNkIsQ0FBQztZQUN2RCxPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxHQUFrQjtRQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL0NvbnRleHRcIjtcbmltcG9ydCB7IFRhc2tGbGFncyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUYXNrTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgRGF0ZVRhcmdldCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFRhc2tFcnJvck1vZGVsIH0gZnJvbSBcIi4vbW9kZWxzL1Rhc2tFcnJvck1vZGVsXCI7XG5pbXBvcnQgeyBUYXNrU3RhdHVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzZXJpYWxpemVFcnJvciB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBUYXNrU3RhdGVDaGFuZ2VFcnJvciwgVGFza1N0YXRlQ2hhbmdlUmVxdWVzdCB9IGZyb20gXCIuL1Rhc2tTdGF0ZUNoYW5nZUVycm9yXCI7XG5cbmV4cG9ydCBjbGFzcyBUYXNrQ29udGV4dCBleHRlbmRzIENvbnRleHQ8VGFza0ZsYWdzPiB7XG4gIGdldCB0YXNrSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJ0YXNrSWRcIik7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgbG9nZ2VyKCk6IFRhc2tMb2dnZXI8YW55PiB7XG4gICAgcmV0dXJuIHN1cGVyLmxvZ2dlcjtcbiAgfVxuXG4gIGdldCBzdGVwKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3JVbmRlZmluZWQoXCJzdGVwXCIgYXMgYW55KSBhcyBhbnk7XG4gIH1cblxuICBzZXRTdGVwKHN0ZXA/OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLnB1dChcInN0ZXBcIiBhcyBhbnksIHN0ZXAgYXMgYW55KTtcbiAgfVxuXG4gIGdldCBwaXBlKCk6IFRhc2tGbGFnc1tcInBpcGVcIl0ge1xuICAgIGNvbnN0IGZuID0gdGhpcy5nZXQoXCJwaXBlXCIpIGFzIGFueTtcbiAgICByZXR1cm4gZm4uYmluZCh0aGlzKTtcbiAgfVxuXG4gIGZsdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmdldChcImZsdXNoXCIpKCk7XG4gIH1cblxuICBnZXQgYXR0ZW1wdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldChcImF0dGVtcHRcIik7XG4gIH1cbiAgZ2V0IHByb2dyZXNzKCk6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdldChcInByb2dyZXNzXCIpO1xuICB9XG5cbiAgZ2V0IGhlYXJ0YmVhdCgpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJoZWFydGJlYXRcIik7XG4gIH1cblxuICBjYWNoZVJlc3VsdCh0YXNrSWQ6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgY29uc3QgY2FjaGUgPVxuICAgICAgKHRoaXMuY2FjaGUuaGFzKFwicmVzdWx0Q2FjaGVcIikgJiYgdGhpcy5jYWNoZS5nZXQoXCJyZXN1bHRDYWNoZVwiKSkgfHxcbiAgICAgICh7fSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KTtcbiAgICBjYWNoZVt0YXNrSWRdID0gcGF5bG9hZDtcbiAgICB0aGlzLmNhY2hlLnB1dChcInJlc3VsdENhY2hlXCIsIGNhY2hlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VTdGF0ZShzdGF0dXM6IFRhc2tTdGF0dXMsIHBheWxvYWQ/OiBQYXJ0aWFsPFRhc2tTdGF0ZUNoYW5nZVJlcXVlc3Q+KTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBUYXNrU3RhdGVDaGFuZ2VFcnJvcih7XG4gICAgICBzdGF0dXMsXG4gICAgICAuLi5wYXlsb2FkLFxuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsKFxuICAgIHJlYXNvbj86IHN0cmluZyB8IEVycm9yIHwgVGFza0Vycm9yTW9kZWwsXG4gICAgZGV0YWlscz86IGFueVxuICApOiBuZXZlciB7XG4gICAgdGhpcy5jaGFuZ2VTdGF0ZShUYXNrU3RhdHVzLkNBTkNFTEVELCB7XG4gICAgICBlcnJvcjogdGhpcy50b1Rhc2tFcnJvcihyZWFzb24sIGRldGFpbHMpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0cnkocmVhc29uPzogc3RyaW5nIHwgRXJyb3IgfCBUYXNrRXJyb3JNb2RlbCk6IG5ldmVyIHtcbiAgICB0aGlzLmNoYW5nZVN0YXRlKFRhc2tTdGF0dXMuV0FJVElOR19SRVRSWSwge1xuICAgICAgZXJyb3I6IHRoaXMudG9UYXNrRXJyb3IocmVhc29uKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2NoZWR1bGUoXG4gICAgd2hlbjogRGF0ZVRhcmdldCxcbiAgICByZWFzb24/OiBzdHJpbmcgfCBFcnJvciB8IFRhc2tFcnJvck1vZGVsXG4gICk6IG5ldmVyIHtcbiAgICBjb25zdCBzY2hlZHVsZWRUbzogRGF0ZSA9IHdoZW4gaW5zdGFuY2VvZiBEYXRlID8gd2hlbiA6IHdoZW4uYnVpbGQoKTtcbiAgICB0aGlzLmNoYW5nZVN0YXRlKFRhc2tTdGF0dXMuU0NIRURVTEVELCB7XG4gICAgICBlcnJvcjogdGhpcy50b1Rhc2tFcnJvcihyZWFzb24pLFxuICAgICAgc2NoZWR1bGVkVG8sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRvVGFza0Vycm9yKFxuICAgIHZhbHVlPzogc3RyaW5nIHwgRXJyb3IgfCBUYXNrRXJyb3JNb2RlbCxcbiAgICBkZXRhaWxzPzogYW55XG4gICk6IFRhc2tFcnJvck1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXZhbHVlICYmICFkZXRhaWxzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRhc2tFcnJvck1vZGVsKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRXJyb3IpIHJldHVybiBzZXJpYWxpemVFcnJvcih2YWx1ZSk7XG4gICAgcmV0dXJuIG5ldyBUYXNrRXJyb3JNb2RlbCh7XG4gICAgICBtZXNzYWdlOiBTdHJpbmcodmFsdWUgPz8gXCJUYXNrIHJlcXVlc3RlZCBzdGF0ZSBjaGFuZ2VcIiksXG4gICAgICBkZXRhaWxzLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHJlc3VsdENhY2hlKCkge1xuICAgIHJldHVybiB0aGlzLmdldChcInJlc3VsdENhY2hlXCIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoY3R4PzogQ29udGV4dDxhbnk+KSB7XG4gICAgc3VwZXIoY3R4KTtcbiAgfVxufVxuIl19
@@ -25,6 +25,7 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
25
25
  protected config: C;
26
26
  private _tasks?;
27
27
  private _events?;
28
+ private _adapter?;
28
29
  protected lock: Lock;
29
30
  protected get Context(): Constructor<ContextOf<A>>;
30
31
  protected get adapter(): A;
@@ -75,6 +76,7 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
75
76
  protected appendLog(ctx: TaskContext | Context, task: TaskModel, logEntries: [LogLevel, string] | [LogLevel, string, any] | ([LogLevel, string] | [LogLevel, string, any])[]): Promise<[TaskModel, TaskLogEntryModel[]]>;
76
77
  protected emitStatus(ctx: TaskContext | Context, task: TaskModel, status: TaskStatus, outputOrError?: any | Error, originalError?: Error): Promise<void>;
77
78
  protected emitLog(ctx: TaskContext | Context, taskId: string, entries: TaskLogEntryModel[]): Promise<void>;
79
+ protected normalizePipeArgs(args: any[]): ([LogLevel, string] | [LogLevel, string, any])[];
78
80
  protected emitProgress(ctx: TaskContext | Context, taskId: string, data: any): Promise<void>;
79
81
  protected persistEvent(ctx: TaskContext | Context, taskId: string, type: TaskEventType, payload: any): Promise<TaskEventModel>;
80
82
  toString(): string;