@decaf-ts/integrations 0.3.6 → 0.3.7

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 (878) hide show
  1. package/dist/integrations.cjs +1649 -2
  2. package/dist/integrations.js +1885 -2
  3. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  4. package/lib/cjs/blob/azure/index.cjs +2 -2
  5. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  6. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  7. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  8. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  9. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  10. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  11. package/lib/cjs/blob/core/index.cjs +2 -2
  12. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  13. package/lib/cjs/blob/gcp/index.cjs +2 -2
  14. package/lib/cjs/blob/index.cjs +2 -2
  15. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  16. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  17. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  18. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  19. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  20. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  21. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  22. package/lib/cjs/blob/local/index.cjs +2 -2
  23. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  24. package/lib/cjs/blob/memory/index.cjs +2 -2
  25. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  26. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  27. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  28. package/lib/cjs/blob/s3/index.cjs +2 -2
  29. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  30. package/lib/cjs/docker/index.cjs +2 -2
  31. package/lib/cjs/graph/constants.cjs +2 -2
  32. package/lib/cjs/graph/decorators.cjs +2 -2
  33. package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
  34. package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
  35. package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
  36. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
  37. package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
  38. package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
  39. package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
  40. package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
  41. package/lib/cjs/graph/errors/index.cjs +2 -2
  42. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
  43. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
  44. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
  45. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
  46. package/lib/cjs/graph/events/index.cjs +2 -2
  47. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +2 -2
  48. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
  49. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +2 -2
  50. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
  51. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
  52. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
  53. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +2 -2
  54. package/lib/cjs/graph/execution/index.cjs +2 -2
  55. package/lib/cjs/graph/index.cjs +2 -2
  56. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +2 -2
  57. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
  58. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +2 -2
  59. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
  60. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
  61. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
  62. package/lib/cjs/graph/loops/index.cjs +2 -2
  63. package/lib/cjs/graph/nodes/agent.cjs +2 -2
  64. package/lib/cjs/graph/nodes/base.cjs +35 -0
  65. package/lib/cjs/graph/nodes/category-styles.cjs +2 -2
  66. package/lib/cjs/graph/nodes/flow-control.cjs +31 -3
  67. package/lib/cjs/graph/nodes/index.cjs +3 -2
  68. package/lib/cjs/graph/nodes/triggers.cjs +2 -2
  69. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
  70. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
  71. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
  72. package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
  73. package/lib/cjs/graph/pinning/index.cjs +2 -2
  74. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
  75. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
  76. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
  77. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
  78. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
  79. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
  80. package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
  81. package/lib/cjs/graph/planning/index.cjs +2 -2
  82. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
  83. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
  84. package/lib/cjs/graph/registry/index.cjs +2 -2
  85. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  86. package/lib/cjs/graph/snapshots/index.cjs +2 -2
  87. package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
  88. package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
  89. package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
  90. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
  91. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  92. package/lib/cjs/graph/store/index.cjs +2 -2
  93. package/lib/cjs/graph/types.cjs +2 -2
  94. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
  95. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
  96. package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
  97. package/lib/cjs/graph/validation/index.cjs +2 -2
  98. package/lib/cjs/index.cjs +6 -5
  99. package/lib/cjs/keycloak/index.cjs +2 -2
  100. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  101. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  102. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
  103. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  104. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  105. package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
  106. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  107. package/lib/cjs/keycloak/services/index.cjs +2 -2
  108. package/lib/cjs/keycloak/services/runtime.cjs +2 -2
  109. package/lib/cjs/keycloak/types.cjs +2 -2
  110. package/lib/cjs/kibana/helpers.cjs +2 -2
  111. package/lib/cjs/kibana/index.cjs +2 -2
  112. package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
  113. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
  114. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  115. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  116. package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
  117. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  118. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  119. package/lib/cjs/kibana/services/index.cjs +2 -2
  120. package/lib/cjs/kibana/services/runtime.cjs +2 -2
  121. package/lib/cjs/kibana/types.cjs +2 -2
  122. package/lib/cjs/namespaces/index.cjs +26 -0
  123. package/lib/cjs/namespaces/models/authorization-model.cjs +12 -0
  124. package/lib/cjs/namespaces/models/effective-permission.model.cjs +95 -0
  125. package/lib/cjs/namespaces/models/group-membership.model.cjs +66 -0
  126. package/lib/cjs/namespaces/models/group.model.cjs +74 -0
  127. package/lib/cjs/namespaces/models/index.cjs +39 -0
  128. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +76 -0
  129. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +66 -0
  130. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +73 -0
  131. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +64 -0
  132. package/lib/cjs/namespaces/models/org-unit.model.cjs +102 -0
  133. package/lib/cjs/namespaces/models/permission.model.cjs +64 -0
  134. package/lib/cjs/namespaces/models/principal.model.cjs +77 -0
  135. package/lib/cjs/namespaces/models/protected-resource.model.cjs +99 -0
  136. package/lib/cjs/namespaces/models/resource-grant.model.cjs +88 -0
  137. package/lib/cjs/namespaces/models/role-assignment.model.cjs +98 -0
  138. package/lib/cjs/namespaces/models/role-permission.model.cjs +55 -0
  139. package/lib/cjs/namespaces/models/role.model.cjs +84 -0
  140. package/lib/cjs/namespaces/models/storage-binding.model.cjs +85 -0
  141. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +67 -0
  142. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +64 -0
  143. package/lib/cjs/namespaces/models/tenant.model.cjs +88 -0
  144. package/lib/cjs/namespaces/models/user.model.cjs +75 -0
  145. package/lib/cjs/namespaces/org-based-authorization-system.cjs +286 -0
  146. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +968 -0
  147. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +1046 -0
  148. package/lib/cjs/namespaces/services/authz.service.cjs +76 -0
  149. package/lib/cjs/namespaces/services/bootstrap.service.cjs +112 -0
  150. package/lib/cjs/namespaces/services/effective-permission.service.cjs +150 -0
  151. package/lib/cjs/namespaces/services/group-membership.service.cjs +42 -0
  152. package/lib/cjs/namespaces/services/group.service.cjs +30 -0
  153. package/lib/cjs/namespaces/services/index.cjs +42 -0
  154. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +32 -0
  155. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +55 -0
  156. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +34 -0
  157. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +23 -0
  158. package/lib/cjs/namespaces/services/org-unit.service.cjs +160 -0
  159. package/lib/cjs/namespaces/services/permission.service.cjs +29 -0
  160. package/lib/cjs/namespaces/services/principal.service.cjs +35 -0
  161. package/lib/cjs/namespaces/services/protected-resource.service.cjs +43 -0
  162. package/lib/cjs/namespaces/services/resource-grant.service.cjs +45 -0
  163. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +24 -0
  164. package/lib/cjs/namespaces/services/role-assignment.service.cjs +41 -0
  165. package/lib/cjs/namespaces/services/role-permission.service.cjs +51 -0
  166. package/lib/cjs/namespaces/services/role.service.cjs +45 -0
  167. package/lib/cjs/namespaces/services/storage-binding.service.cjs +39 -0
  168. package/lib/cjs/namespaces/services/system-management.service.cjs +102 -0
  169. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +33 -0
  170. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +28 -0
  171. package/lib/cjs/namespaces/services/tenant.service.cjs +36 -0
  172. package/lib/cjs/namespaces/services/user.service.cjs +32 -0
  173. package/lib/cjs/namespaces/types.cjs +67 -0
  174. package/lib/cjs/namespaces/utils.cjs +161 -0
  175. package/lib/cjs/nest/authService.cjs +2 -2
  176. package/lib/cjs/nest/graph/GraphExecutionController.cjs +153 -0
  177. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +84 -0
  178. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +82 -0
  179. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +66 -0
  180. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +35 -0
  181. package/lib/cjs/nest/graph/index.cjs +28 -0
  182. package/lib/cjs/nest/index.cjs +3 -2
  183. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  184. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  185. package/lib/cjs/nest/logging.cjs +2 -2
  186. package/lib/cjs/nest/types.cjs +2 -2
  187. package/lib/cjs/nest/utils.cjs +2 -2
  188. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  189. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  190. package/lib/cjs/secrets/aws/index.cjs +2 -2
  191. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  192. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  193. package/lib/cjs/secrets/azure/index.cjs +2 -2
  194. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  195. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  196. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  197. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  198. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  199. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  200. package/lib/cjs/secrets/core/index.cjs +2 -2
  201. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  202. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  203. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  204. package/lib/cjs/secrets/index.cjs +2 -2
  205. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  206. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  207. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  208. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  209. package/lib/cjs/secrets/model/index.cjs +2 -2
  210. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  211. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  212. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  213. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  214. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  215. package/lib/cjs/secrets/vault/index.cjs +2 -2
  216. package/lib/cjs/shared/runtime.cjs +2 -2
  217. package/lib/cjs/utils.cjs +2 -2
  218. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  219. package/lib/esm/blob/azure/index.js +1 -1
  220. package/lib/esm/blob/core/BlobErrors.js +1 -1
  221. package/lib/esm/blob/core/BlobKey.js +1 -1
  222. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  223. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  224. package/lib/esm/blob/core/BlobTypes.js +1 -1
  225. package/lib/esm/blob/core/BlobValue.js +1 -1
  226. package/lib/esm/blob/core/index.js +1 -1
  227. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  228. package/lib/esm/blob/gcp/index.js +1 -1
  229. package/lib/esm/blob/index.js +1 -1
  230. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  231. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  232. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  233. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  234. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  235. package/lib/esm/blob/ipfs/index.js +1 -1
  236. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  237. package/lib/esm/blob/local/index.js +1 -1
  238. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  239. package/lib/esm/blob/memory/index.js +1 -1
  240. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  241. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  242. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  243. package/lib/esm/blob/s3/index.js +1 -1
  244. package/lib/esm/docker/DockerComposeService.js +1 -1
  245. package/lib/esm/docker/index.js +1 -1
  246. package/lib/esm/graph/constants.js +1 -1
  247. package/lib/esm/graph/decorators.js +1 -1
  248. package/lib/esm/graph/errors/GraphCycleError.js +1 -1
  249. package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
  250. package/lib/esm/graph/errors/GraphInputError.js +1 -1
  251. package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
  252. package/lib/esm/graph/errors/GraphPinningError.js +1 -1
  253. package/lib/esm/graph/errors/GraphPortError.js +1 -1
  254. package/lib/esm/graph/errors/GraphStoreError.js +1 -1
  255. package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
  256. package/lib/esm/graph/errors/index.js +1 -1
  257. package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
  258. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
  259. package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
  260. package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
  261. package/lib/esm/graph/events/index.js +1 -1
  262. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +1 -1
  263. package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
  264. package/lib/esm/graph/execution/GraphExecutionEngine.js +1 -1
  265. package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
  266. package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
  267. package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
  268. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +1 -1
  269. package/lib/esm/graph/execution/index.js +1 -1
  270. package/lib/esm/graph/index.js +1 -1
  271. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +1 -1
  272. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
  273. package/lib/esm/graph/loops/GraphConditionEvaluator.js +1 -1
  274. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
  275. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
  276. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
  277. package/lib/esm/graph/loops/index.js +1 -1
  278. package/lib/esm/graph/nodes/agent.js +1 -1
  279. package/lib/esm/graph/nodes/base.js +30 -0
  280. package/lib/esm/graph/nodes/category-styles.js +1 -1
  281. package/lib/esm/graph/nodes/flow-control.js +31 -3
  282. package/lib/esm/graph/nodes/index.js +2 -1
  283. package/lib/esm/graph/nodes/triggers.js +1 -1
  284. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
  285. package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
  286. package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
  287. package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
  288. package/lib/esm/graph/pinning/index.js +1 -1
  289. package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
  290. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
  291. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
  292. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
  293. package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
  294. package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
  295. package/lib/esm/graph/planning/GraphTopology.js +1 -1
  296. package/lib/esm/graph/planning/index.js +1 -1
  297. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
  298. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
  299. package/lib/esm/graph/registry/index.js +1 -1
  300. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  301. package/lib/esm/graph/snapshots/index.js +1 -1
  302. package/lib/esm/graph/store/GraphCachedValue.js +1 -1
  303. package/lib/esm/graph/store/GraphValueKey.js +1 -1
  304. package/lib/esm/graph/store/GraphValueStore.js +1 -1
  305. package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
  306. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
  307. package/lib/esm/graph/store/index.js +1 -1
  308. package/lib/esm/graph/types.js +1 -1
  309. package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
  310. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
  311. package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
  312. package/lib/esm/graph/validation/index.js +1 -1
  313. package/lib/esm/index.js +5 -4
  314. package/lib/esm/keycloak/index.js +1 -1
  315. package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
  316. package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
  317. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
  318. package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
  319. package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
  320. package/lib/esm/keycloak/services/KeycloakService.js +1 -1
  321. package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
  322. package/lib/esm/keycloak/services/index.js +1 -1
  323. package/lib/esm/keycloak/services/runtime.js +1 -1
  324. package/lib/esm/keycloak/types.js +1 -1
  325. package/lib/esm/kibana/helpers.js +1 -1
  326. package/lib/esm/kibana/index.js +1 -1
  327. package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
  328. package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
  329. package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
  330. package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
  331. package/lib/esm/kibana/services/KibanaService.js +1 -1
  332. package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
  333. package/lib/esm/kibana/services/KibanaUserService.js +1 -1
  334. package/lib/esm/kibana/services/index.js +1 -1
  335. package/lib/esm/kibana/services/runtime.js +1 -1
  336. package/lib/esm/kibana/types.js +1 -1
  337. package/lib/esm/namespaces/index.js +9 -0
  338. package/lib/esm/namespaces/models/authorization-model.js +7 -0
  339. package/lib/esm/namespaces/models/effective-permission.model.js +86 -0
  340. package/lib/esm/namespaces/models/group-membership.model.js +57 -0
  341. package/lib/esm/namespaces/models/group.model.js +65 -0
  342. package/lib/esm/namespaces/models/index.js +22 -0
  343. package/lib/esm/namespaces/models/inheritance-block.model.js +67 -0
  344. package/lib/esm/namespaces/models/org-unit-closure.model.js +57 -0
  345. package/lib/esm/namespaces/models/org-unit-membership.model.js +64 -0
  346. package/lib/esm/namespaces/models/org-unit-profile.model.js +55 -0
  347. package/lib/esm/namespaces/models/org-unit.model.js +93 -0
  348. package/lib/esm/namespaces/models/permission.model.js +55 -0
  349. package/lib/esm/namespaces/models/principal.model.js +68 -0
  350. package/lib/esm/namespaces/models/protected-resource.model.js +90 -0
  351. package/lib/esm/namespaces/models/resource-grant.model.js +79 -0
  352. package/lib/esm/namespaces/models/role-assignment.model.js +89 -0
  353. package/lib/esm/namespaces/models/role-permission.model.js +46 -0
  354. package/lib/esm/namespaces/models/role.model.js +75 -0
  355. package/lib/esm/namespaces/models/storage-binding.model.js +76 -0
  356. package/lib/esm/namespaces/models/tenant-membership.model.js +58 -0
  357. package/lib/esm/namespaces/models/tenant-profile.model.js +55 -0
  358. package/lib/esm/namespaces/models/tenant.model.js +79 -0
  359. package/lib/esm/namespaces/models/user.model.js +66 -0
  360. package/lib/esm/namespaces/org-based-authorization-system.js +283 -0
  361. package/lib/esm/namespaces/org-based-authorization-system.models.js +958 -0
  362. package/lib/esm/namespaces/org-based-authorization-system.services.js +1014 -0
  363. package/lib/esm/namespaces/services/authz.service.js +71 -0
  364. package/lib/esm/namespaces/services/bootstrap.service.js +102 -0
  365. package/lib/esm/namespaces/services/effective-permission.service.js +140 -0
  366. package/lib/esm/namespaces/services/group-membership.service.js +37 -0
  367. package/lib/esm/namespaces/services/group.service.js +25 -0
  368. package/lib/esm/namespaces/services/index.js +25 -0
  369. package/lib/esm/namespaces/services/inheritance-block.service.js +27 -0
  370. package/lib/esm/namespaces/services/org-unit-closure.service.js +50 -0
  371. package/lib/esm/namespaces/services/org-unit-membership.service.js +29 -0
  372. package/lib/esm/namespaces/services/org-unit-profile.service.js +18 -0
  373. package/lib/esm/namespaces/services/org-unit.service.js +150 -0
  374. package/lib/esm/namespaces/services/permission.service.js +24 -0
  375. package/lib/esm/namespaces/services/principal.service.js +30 -0
  376. package/lib/esm/namespaces/services/protected-resource.service.js +38 -0
  377. package/lib/esm/namespaces/services/resource-grant.service.js +40 -0
  378. package/lib/esm/namespaces/services/resource-lifecycle.service.js +19 -0
  379. package/lib/esm/namespaces/services/role-assignment.service.js +36 -0
  380. package/lib/esm/namespaces/services/role-permission.service.js +46 -0
  381. package/lib/esm/namespaces/services/role.service.js +40 -0
  382. package/lib/esm/namespaces/services/storage-binding.service.js +34 -0
  383. package/lib/esm/namespaces/services/system-management.service.js +92 -0
  384. package/lib/esm/namespaces/services/tenant-membership.service.js +28 -0
  385. package/lib/esm/namespaces/services/tenant-profile.service.js +23 -0
  386. package/lib/esm/namespaces/services/tenant.service.js +31 -0
  387. package/lib/esm/namespaces/services/user.service.js +27 -0
  388. package/lib/esm/namespaces/types.js +71 -0
  389. package/lib/esm/namespaces/utils.js +143 -0
  390. package/lib/esm/nest/authService.js +1 -1
  391. package/lib/esm/nest/graph/GraphExecutionController.js +144 -0
  392. package/lib/esm/nest/graph/GraphExecutionModule.js +76 -0
  393. package/lib/esm/nest/graph/GraphExecutionResultModel.js +73 -0
  394. package/lib/esm/nest/graph/GraphExecutionResultRepository.js +60 -0
  395. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +31 -0
  396. package/lib/esm/nest/graph/index.js +11 -0
  397. package/lib/esm/nest/index.js +2 -1
  398. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  399. package/lib/esm/nest/keycloakModule.js +1 -1
  400. package/lib/esm/nest/logging.js +1 -1
  401. package/lib/esm/nest/types.js +1 -1
  402. package/lib/esm/nest/utils.js +1 -1
  403. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  404. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  405. package/lib/esm/secrets/aws/index.js +1 -1
  406. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  407. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  408. package/lib/esm/secrets/azure/index.js +1 -1
  409. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  410. package/lib/esm/secrets/core/SecretName.js +1 -1
  411. package/lib/esm/secrets/core/SecretReference.js +1 -1
  412. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  413. package/lib/esm/secrets/core/SecretService.js +1 -1
  414. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  415. package/lib/esm/secrets/core/index.js +1 -1
  416. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  417. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  418. package/lib/esm/secrets/gcp/index.js +1 -1
  419. package/lib/esm/secrets/index.js +1 -1
  420. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  421. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  422. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  423. package/lib/esm/secrets/model/Secret.js +1 -1
  424. package/lib/esm/secrets/model/index.js +1 -1
  425. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  426. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  427. package/lib/esm/secrets/onepassword/index.js +1 -1
  428. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  429. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  430. package/lib/esm/secrets/vault/index.js +1 -1
  431. package/lib/esm/shared/runtime.js +1 -1
  432. package/lib/esm/utils.js +1 -1
  433. package/lib/types/graph/nodes/base.d.cts +28 -0
  434. package/lib/types/graph/nodes/base.d.mts +28 -0
  435. package/lib/types/graph/nodes/flow-control.d.cts +9 -1
  436. package/lib/types/graph/nodes/flow-control.d.mts +9 -1
  437. package/lib/types/graph/nodes/index.d.cts +1 -0
  438. package/lib/types/graph/nodes/index.d.mts +1 -0
  439. package/lib/types/graph/types.d.cts +15 -1
  440. package/lib/types/graph/types.d.mts +15 -1
  441. package/lib/types/index.d.cts +3 -2
  442. package/lib/types/index.d.mts +3 -2
  443. package/lib/types/namespaces/index.d.cts +8 -0
  444. package/lib/types/namespaces/index.d.mts +8 -0
  445. package/lib/types/namespaces/models/authorization-model.d.cts +4 -0
  446. package/lib/types/namespaces/models/authorization-model.d.mts +4 -0
  447. package/lib/types/namespaces/models/effective-permission.model.d.cts +18 -0
  448. package/lib/types/namespaces/models/effective-permission.model.d.mts +18 -0
  449. package/lib/types/namespaces/models/group-membership.model.d.cts +13 -0
  450. package/lib/types/namespaces/models/group-membership.model.d.mts +13 -0
  451. package/lib/types/namespaces/models/group.model.d.cts +15 -0
  452. package/lib/types/namespaces/models/group.model.d.mts +15 -0
  453. package/lib/types/namespaces/models/index.d.cts +21 -0
  454. package/lib/types/namespaces/models/index.d.mts +21 -0
  455. package/lib/types/namespaces/models/inheritance-block.model.d.cts +15 -0
  456. package/lib/types/namespaces/models/inheritance-block.model.d.mts +15 -0
  457. package/lib/types/namespaces/models/org-unit-closure.model.d.cts +12 -0
  458. package/lib/types/namespaces/models/org-unit-closure.model.d.mts +12 -0
  459. package/lib/types/namespaces/models/org-unit-membership.model.d.cts +15 -0
  460. package/lib/types/namespaces/models/org-unit-membership.model.d.mts +15 -0
  461. package/lib/types/namespaces/models/org-unit-profile.model.d.cts +11 -0
  462. package/lib/types/namespaces/models/org-unit-profile.model.d.mts +11 -0
  463. package/lib/types/namespaces/models/org-unit.model.d.cts +23 -0
  464. package/lib/types/namespaces/models/org-unit.model.d.mts +23 -0
  465. package/lib/types/namespaces/models/permission.model.d.cts +11 -0
  466. package/lib/types/namespaces/models/permission.model.d.mts +11 -0
  467. package/lib/types/namespaces/models/principal.model.d.cts +16 -0
  468. package/lib/types/namespaces/models/principal.model.d.mts +16 -0
  469. package/lib/types/namespaces/models/protected-resource.model.d.cts +21 -0
  470. package/lib/types/namespaces/models/protected-resource.model.d.mts +21 -0
  471. package/lib/types/namespaces/models/resource-grant.model.d.cts +18 -0
  472. package/lib/types/namespaces/models/resource-grant.model.d.mts +18 -0
  473. package/lib/types/namespaces/models/role-assignment.model.d.cts +20 -0
  474. package/lib/types/namespaces/models/role-assignment.model.d.mts +20 -0
  475. package/lib/types/namespaces/models/role-permission.model.d.cts +10 -0
  476. package/lib/types/namespaces/models/role-permission.model.d.mts +10 -0
  477. package/lib/types/namespaces/models/role.model.d.cts +17 -0
  478. package/lib/types/namespaces/models/role.model.d.mts +17 -0
  479. package/lib/types/namespaces/models/storage-binding.model.d.cts +15 -0
  480. package/lib/types/namespaces/models/storage-binding.model.d.mts +15 -0
  481. package/lib/types/namespaces/models/tenant-membership.model.d.cts +13 -0
  482. package/lib/types/namespaces/models/tenant-membership.model.d.mts +13 -0
  483. package/lib/types/namespaces/models/tenant-profile.model.d.cts +11 -0
  484. package/lib/types/namespaces/models/tenant-profile.model.d.mts +11 -0
  485. package/lib/types/namespaces/models/tenant.model.d.cts +19 -0
  486. package/lib/types/namespaces/models/tenant.model.d.mts +19 -0
  487. package/lib/types/namespaces/models/user.model.d.cts +14 -0
  488. package/lib/types/namespaces/models/user.model.d.mts +14 -0
  489. package/lib/types/namespaces/org-based-authorization-system.d.cts +299 -0
  490. package/lib/types/namespaces/org-based-authorization-system.d.mts +299 -0
  491. package/lib/types/namespaces/org-based-authorization-system.models.d.cts +212 -0
  492. package/lib/types/namespaces/org-based-authorization-system.models.d.mts +212 -0
  493. package/lib/types/namespaces/org-based-authorization-system.services.d.cts +217 -0
  494. package/lib/types/namespaces/org-based-authorization-system.services.d.mts +217 -0
  495. package/lib/types/namespaces/services/authz.service.d.cts +10 -0
  496. package/lib/types/namespaces/services/authz.service.d.mts +10 -0
  497. package/lib/types/namespaces/services/bootstrap.service.d.cts +21 -0
  498. package/lib/types/namespaces/services/bootstrap.service.d.mts +21 -0
  499. package/lib/types/namespaces/services/effective-permission.service.d.cts +13 -0
  500. package/lib/types/namespaces/services/effective-permission.service.d.mts +13 -0
  501. package/lib/types/namespaces/services/group-membership.service.d.cts +10 -0
  502. package/lib/types/namespaces/services/group-membership.service.d.mts +10 -0
  503. package/lib/types/namespaces/services/group.service.d.cts +9 -0
  504. package/lib/types/namespaces/services/group.service.d.mts +9 -0
  505. package/lib/types/namespaces/services/index.d.cts +24 -0
  506. package/lib/types/namespaces/services/index.d.mts +24 -0
  507. package/lib/types/namespaces/services/inheritance-block.service.d.cts +10 -0
  508. package/lib/types/namespaces/services/inheritance-block.service.d.mts +10 -0
  509. package/lib/types/namespaces/services/org-unit-closure.service.d.cts +11 -0
  510. package/lib/types/namespaces/services/org-unit-closure.service.d.mts +11 -0
  511. package/lib/types/namespaces/services/org-unit-membership.service.d.cts +11 -0
  512. package/lib/types/namespaces/services/org-unit-membership.service.d.mts +11 -0
  513. package/lib/types/namespaces/services/org-unit-profile.service.d.cts +7 -0
  514. package/lib/types/namespaces/services/org-unit-profile.service.d.mts +7 -0
  515. package/lib/types/namespaces/services/org-unit.service.d.cts +18 -0
  516. package/lib/types/namespaces/services/org-unit.service.d.mts +18 -0
  517. package/lib/types/namespaces/services/permission.service.d.cts +10 -0
  518. package/lib/types/namespaces/services/permission.service.d.mts +10 -0
  519. package/lib/types/namespaces/services/principal.service.d.cts +11 -0
  520. package/lib/types/namespaces/services/principal.service.d.mts +11 -0
  521. package/lib/types/namespaces/services/protected-resource.service.d.cts +13 -0
  522. package/lib/types/namespaces/services/protected-resource.service.d.mts +13 -0
  523. package/lib/types/namespaces/services/resource-grant.service.d.cts +12 -0
  524. package/lib/types/namespaces/services/resource-grant.service.d.mts +12 -0
  525. package/lib/types/namespaces/services/resource-lifecycle.service.d.cts +10 -0
  526. package/lib/types/namespaces/services/resource-lifecycle.service.d.mts +10 -0
  527. package/lib/types/namespaces/services/role-assignment.service.d.cts +12 -0
  528. package/lib/types/namespaces/services/role-assignment.service.d.mts +12 -0
  529. package/lib/types/namespaces/services/role-permission.service.d.cts +12 -0
  530. package/lib/types/namespaces/services/role-permission.service.d.mts +12 -0
  531. package/lib/types/namespaces/services/role.service.d.cts +12 -0
  532. package/lib/types/namespaces/services/role.service.d.mts +12 -0
  533. package/lib/types/namespaces/services/storage-binding.service.d.cts +12 -0
  534. package/lib/types/namespaces/services/storage-binding.service.d.mts +12 -0
  535. package/lib/types/namespaces/services/system-management.service.d.cts +14 -0
  536. package/lib/types/namespaces/services/system-management.service.d.mts +14 -0
  537. package/lib/types/namespaces/services/tenant-membership.service.d.cts +11 -0
  538. package/lib/types/namespaces/services/tenant-membership.service.d.mts +11 -0
  539. package/lib/types/namespaces/services/tenant-profile.service.d.cts +8 -0
  540. package/lib/types/namespaces/services/tenant-profile.service.d.mts +8 -0
  541. package/lib/types/namespaces/services/tenant.service.d.cts +12 -0
  542. package/lib/types/namespaces/services/tenant.service.d.mts +12 -0
  543. package/lib/types/namespaces/services/user.service.d.cts +11 -0
  544. package/lib/types/namespaces/services/user.service.d.mts +11 -0
  545. package/lib/types/namespaces/types.d.cts +230 -0
  546. package/lib/types/namespaces/types.d.mts +230 -0
  547. package/lib/types/namespaces/utils.d.cts +68 -0
  548. package/lib/types/namespaces/utils.d.mts +68 -0
  549. package/lib/types/nest/graph/GraphExecutionController.d.cts +62 -0
  550. package/lib/types/nest/graph/GraphExecutionController.d.mts +62 -0
  551. package/lib/types/nest/graph/GraphExecutionModule.d.cts +39 -0
  552. package/lib/types/nest/graph/GraphExecutionModule.d.mts +39 -0
  553. package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +46 -0
  554. package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +46 -0
  555. package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +38 -0
  556. package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +38 -0
  557. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +17 -0
  558. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +17 -0
  559. package/lib/types/nest/graph/index.d.cts +10 -0
  560. package/lib/types/nest/graph/index.d.mts +10 -0
  561. package/lib/types/nest/index.d.cts +1 -0
  562. package/lib/types/nest/index.d.mts +1 -0
  563. package/package.json +16 -5
  564. package/sql/001_constraints.sql +11 -0
  565. package/sql/002_rls.sql +20 -0
  566. package/sql/003_indexes.sql +2 -0
  567. package/dist/integrations.cjs.map +0 -1
  568. package/dist/integrations.js.map +0 -1
  569. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
  570. package/lib/cjs/blob/azure/index.cjs.map +0 -1
  571. package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
  572. package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
  573. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
  574. package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
  575. package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
  576. package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
  577. package/lib/cjs/blob/core/index.cjs.map +0 -1
  578. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
  579. package/lib/cjs/blob/gcp/index.cjs.map +0 -1
  580. package/lib/cjs/blob/index.cjs.map +0 -1
  581. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  582. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  583. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  584. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  585. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  586. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  587. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
  588. package/lib/cjs/blob/local/index.cjs.map +0 -1
  589. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
  590. package/lib/cjs/blob/memory/index.cjs.map +0 -1
  591. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
  592. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
  593. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
  594. package/lib/cjs/blob/s3/index.cjs.map +0 -1
  595. package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
  596. package/lib/cjs/docker/index.cjs.map +0 -1
  597. package/lib/cjs/graph/constants.cjs.map +0 -1
  598. package/lib/cjs/graph/decorators.cjs.map +0 -1
  599. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +0 -1
  600. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +0 -1
  601. package/lib/cjs/graph/errors/GraphInputError.cjs.map +0 -1
  602. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +0 -1
  603. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +0 -1
  604. package/lib/cjs/graph/errors/GraphPortError.cjs.map +0 -1
  605. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +0 -1
  606. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +0 -1
  607. package/lib/cjs/graph/errors/index.cjs.map +0 -1
  608. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +0 -1
  609. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +0 -1
  610. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +0 -1
  611. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +0 -1
  612. package/lib/cjs/graph/events/index.cjs.map +0 -1
  613. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +0 -1
  614. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +0 -1
  615. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +0 -1
  616. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +0 -1
  617. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +0 -1
  618. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +0 -1
  619. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  620. package/lib/cjs/graph/execution/index.cjs.map +0 -1
  621. package/lib/cjs/graph/index.cjs.map +0 -1
  622. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  623. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  624. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +0 -1
  625. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +0 -1
  626. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  627. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  628. package/lib/cjs/graph/loops/index.cjs.map +0 -1
  629. package/lib/cjs/graph/nodes/agent.cjs.map +0 -1
  630. package/lib/cjs/graph/nodes/category-styles.cjs.map +0 -1
  631. package/lib/cjs/graph/nodes/flow-control.cjs.map +0 -1
  632. package/lib/cjs/graph/nodes/index.cjs.map +0 -1
  633. package/lib/cjs/graph/nodes/triggers.cjs.map +0 -1
  634. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  635. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +0 -1
  636. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +0 -1
  637. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +0 -1
  638. package/lib/cjs/graph/pinning/index.cjs.map +0 -1
  639. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +0 -1
  640. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  641. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  642. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +0 -1
  643. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +0 -1
  644. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +0 -1
  645. package/lib/cjs/graph/planning/GraphTopology.cjs.map +0 -1
  646. package/lib/cjs/graph/planning/index.cjs.map +0 -1
  647. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  648. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  649. package/lib/cjs/graph/registry/index.cjs.map +0 -1
  650. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  651. package/lib/cjs/graph/snapshots/index.cjs.map +0 -1
  652. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +0 -1
  653. package/lib/cjs/graph/store/GraphValueKey.cjs.map +0 -1
  654. package/lib/cjs/graph/store/GraphValueStore.cjs.map +0 -1
  655. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +0 -1
  656. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  657. package/lib/cjs/graph/store/index.cjs.map +0 -1
  658. package/lib/cjs/graph/types.cjs.map +0 -1
  659. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +0 -1
  660. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +0 -1
  661. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +0 -1
  662. package/lib/cjs/graph/validation/index.cjs.map +0 -1
  663. package/lib/cjs/index.cjs.map +0 -1
  664. package/lib/cjs/keycloak/index.cjs.map +0 -1
  665. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  666. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  667. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  668. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  669. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  670. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  671. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  672. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  673. package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
  674. package/lib/cjs/keycloak/types.cjs.map +0 -1
  675. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  676. package/lib/cjs/kibana/index.cjs.map +0 -1
  677. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  678. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  679. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  680. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  681. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  682. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  683. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  684. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  685. package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
  686. package/lib/cjs/kibana/types.cjs.map +0 -1
  687. package/lib/cjs/nest/authService.cjs.map +0 -1
  688. package/lib/cjs/nest/index.cjs.map +0 -1
  689. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  690. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  691. package/lib/cjs/nest/logging.cjs.map +0 -1
  692. package/lib/cjs/nest/types.cjs.map +0 -1
  693. package/lib/cjs/nest/utils.cjs.map +0 -1
  694. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  695. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  696. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  697. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  698. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  699. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  700. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  701. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  702. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  703. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  704. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  705. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  706. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  707. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  708. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  709. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  710. package/lib/cjs/secrets/index.cjs.map +0 -1
  711. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  712. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  713. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  714. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  715. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  716. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  717. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  718. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  719. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  720. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  721. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  722. package/lib/cjs/shared/runtime.cjs.map +0 -1
  723. package/lib/cjs/utils.cjs.map +0 -1
  724. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  725. package/lib/esm/blob/azure/index.js.map +0 -1
  726. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  727. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  728. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  729. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  730. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  731. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  732. package/lib/esm/blob/core/index.js.map +0 -1
  733. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  734. package/lib/esm/blob/gcp/index.js.map +0 -1
  735. package/lib/esm/blob/index.js.map +0 -1
  736. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  737. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  738. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  739. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  740. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  741. package/lib/esm/blob/ipfs/index.js.map +0 -1
  742. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  743. package/lib/esm/blob/local/index.js.map +0 -1
  744. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  745. package/lib/esm/blob/memory/index.js.map +0 -1
  746. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  747. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  748. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  749. package/lib/esm/blob/s3/index.js.map +0 -1
  750. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  751. package/lib/esm/docker/index.js.map +0 -1
  752. package/lib/esm/graph/constants.js.map +0 -1
  753. package/lib/esm/graph/decorators.js.map +0 -1
  754. package/lib/esm/graph/errors/GraphCycleError.js.map +0 -1
  755. package/lib/esm/graph/errors/GraphExecutionError.js.map +0 -1
  756. package/lib/esm/graph/errors/GraphInputError.js.map +0 -1
  757. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +0 -1
  758. package/lib/esm/graph/errors/GraphPinningError.js.map +0 -1
  759. package/lib/esm/graph/errors/GraphPortError.js.map +0 -1
  760. package/lib/esm/graph/errors/GraphStoreError.js.map +0 -1
  761. package/lib/esm/graph/errors/GraphTopologyError.js.map +0 -1
  762. package/lib/esm/graph/errors/index.js.map +0 -1
  763. package/lib/esm/graph/events/GraphExecutionEvent.js.map +0 -1
  764. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +0 -1
  765. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +0 -1
  766. package/lib/esm/graph/events/GraphExecutionObserver.js.map +0 -1
  767. package/lib/esm/graph/events/index.js.map +0 -1
  768. package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +0 -1
  769. package/lib/esm/graph/execution/GraphExecutionContext.js.map +0 -1
  770. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +0 -1
  771. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +0 -1
  772. package/lib/esm/graph/execution/GraphExecutionResult.js.map +0 -1
  773. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +0 -1
  774. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +0 -1
  775. package/lib/esm/graph/execution/index.js.map +0 -1
  776. package/lib/esm/graph/index.js.map +0 -1
  777. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +0 -1
  778. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +0 -1
  779. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +0 -1
  780. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +0 -1
  781. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +0 -1
  782. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +0 -1
  783. package/lib/esm/graph/loops/index.js.map +0 -1
  784. package/lib/esm/graph/nodes/agent.js.map +0 -1
  785. package/lib/esm/graph/nodes/category-styles.js.map +0 -1
  786. package/lib/esm/graph/nodes/flow-control.js.map +0 -1
  787. package/lib/esm/graph/nodes/index.js.map +0 -1
  788. package/lib/esm/graph/nodes/triggers.js.map +0 -1
  789. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +0 -1
  790. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +0 -1
  791. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +0 -1
  792. package/lib/esm/graph/pinning/GraphPinningService.js.map +0 -1
  793. package/lib/esm/graph/pinning/index.js.map +0 -1
  794. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +0 -1
  795. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +0 -1
  796. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +0 -1
  797. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +0 -1
  798. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +0 -1
  799. package/lib/esm/graph/planning/GraphRelationResolver.js.map +0 -1
  800. package/lib/esm/graph/planning/GraphTopology.js.map +0 -1
  801. package/lib/esm/graph/planning/index.js.map +0 -1
  802. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +0 -1
  803. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +0 -1
  804. package/lib/esm/graph/registry/index.js.map +0 -1
  805. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  806. package/lib/esm/graph/snapshots/index.js.map +0 -1
  807. package/lib/esm/graph/store/GraphCachedValue.js.map +0 -1
  808. package/lib/esm/graph/store/GraphValueKey.js.map +0 -1
  809. package/lib/esm/graph/store/GraphValueStore.js.map +0 -1
  810. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +0 -1
  811. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  812. package/lib/esm/graph/store/index.js.map +0 -1
  813. package/lib/esm/graph/types.js.map +0 -1
  814. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +0 -1
  815. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +0 -1
  816. package/lib/esm/graph/validation/GraphValueValidator.js.map +0 -1
  817. package/lib/esm/graph/validation/index.js.map +0 -1
  818. package/lib/esm/index.js.map +0 -1
  819. package/lib/esm/keycloak/index.js.map +0 -1
  820. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  821. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  822. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  823. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  824. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  825. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  826. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  827. package/lib/esm/keycloak/services/index.js.map +0 -1
  828. package/lib/esm/keycloak/services/runtime.js.map +0 -1
  829. package/lib/esm/keycloak/types.js.map +0 -1
  830. package/lib/esm/kibana/helpers.js.map +0 -1
  831. package/lib/esm/kibana/index.js.map +0 -1
  832. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  833. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  834. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  835. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  836. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  837. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  838. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  839. package/lib/esm/kibana/services/index.js.map +0 -1
  840. package/lib/esm/kibana/services/runtime.js.map +0 -1
  841. package/lib/esm/kibana/types.js.map +0 -1
  842. package/lib/esm/nest/authService.js.map +0 -1
  843. package/lib/esm/nest/index.js.map +0 -1
  844. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  845. package/lib/esm/nest/keycloakModule.js.map +0 -1
  846. package/lib/esm/nest/logging.js.map +0 -1
  847. package/lib/esm/nest/types.js.map +0 -1
  848. package/lib/esm/nest/utils.js.map +0 -1
  849. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  850. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  851. package/lib/esm/secrets/aws/index.js.map +0 -1
  852. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  853. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  854. package/lib/esm/secrets/azure/index.js.map +0 -1
  855. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  856. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  857. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  858. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  859. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  860. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  861. package/lib/esm/secrets/core/index.js.map +0 -1
  862. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  863. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  864. package/lib/esm/secrets/gcp/index.js.map +0 -1
  865. package/lib/esm/secrets/index.js.map +0 -1
  866. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  867. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  868. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  869. package/lib/esm/secrets/model/Secret.js.map +0 -1
  870. package/lib/esm/secrets/model/index.js.map +0 -1
  871. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  872. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  873. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  874. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  875. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  876. package/lib/esm/secrets/vault/index.js.map +0 -1
  877. package/lib/esm/shared/runtime.js.map +0 -1
  878. package/lib/esm/utils.js.map +0 -1
@@ -264,4 +264,4 @@ export class GcsBlobStoreService extends BlobStoreService {
264
264
  return new InternalError(err);
265
265
  }
266
266
  }
267
- //# sourceMappingURL=GcsBlobStoreService.js.map
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2NzQmxvYlN0b3JlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ibG9iL2djcC9HY3NCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixlQUFlLEVBQ2YsY0FBYyxFQUVkLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNDQUFpQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsK0JBQTBCO0FBZ0JwRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBR3hDO0lBR1UsS0FBSyxDQUFDLFVBQVUsQ0FDdkIsR0FBRyxJQUF5QjtRQUs1QixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FDZCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FDNUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBNEIsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxhQUFhLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQTRCLEVBQUUsQ0FBQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxTQUFTO1lBQUUsY0FBYyxDQUFDLFNBQVMsR0FBRyxNQUFNLENB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LEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEUsT0FBTyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDOUgsT0FBTyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvZ2NwL3NlcnZpY2VcbiAqIEBzdW1tYXJ5IEdvb2dsZSBDbG91ZCBTdG9yYWdlIGJsb2Igc3RvcmUgc2VydmljZS5cbiAqIEBkZXNjcmlwdGlvbiBCbG9iIHN0b3JlIGJhY2tlZCBieSBHb29nbGUgQ2xvdWQgU3RvcmFnZSB2aWEgQGdvb2dsZS1jbG91ZC9zdG9yYWdlLlxuICovXG5pbXBvcnQgeyBTdG9yYWdlLCB0eXBlIEJ1Y2tldCB9IGZyb20gXCJAZ29vZ2xlLWNsb3VkL3N0b3JhZ2VcIjtcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgdHlwZSBDb250ZXh0dWFsQXJncyxcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBGb3JiaWRkZW5FcnJvcixcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEJsb2JTdG9yZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9CbG9iU3RvcmVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBjb2xsZWN0VG9CdWZmZXIsIGNvbXB1dGVTaGEyNTYsIHRvQXN5bmNJdGVyYWJsZSB9IGZyb20gXCIuLi9jb3JlL0Jsb2JWYWx1ZVwiO1xuaW1wb3J0IHR5cGUge1xuICBCbG9iR2V0T3B0aW9ucyxcbiAgQmxvYkdldFJlc3VsdCxcbiAgQmxvYktleSxcbiAgQmxvYkxpc3RPcHRpb25zLFxuICBCbG9iTGlzdFJlc3VsdCxcbiAgQmxvYk1ldGFkYXRhLFxuICBCbG9iUHV0T3B0aW9ucyxcbiAgQmxvYlB1dFJlc3VsdCxcbiAgQmxvYlVybE9wdGlvbnMsXG4gIEJsb2JVcmxSZXN1bHQsXG4gIEJsb2JWYWx1ZSxcbiAgR2NzQmxvYlN0b3JlU2VydmljZUNvbmZpZyxcbn0gZnJvbSBcIi4uL2NvcmUvQmxvYlR5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBHY3NCbG9iU3RvcmVTZXJ2aWNlIGV4dGVuZHMgQmxvYlN0b3JlU2VydmljZTxcbiAgQnVja2V0LFxuICBHY3NCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgcHJpdmF0ZSBzdG9yYWdlITogU3RvcmFnZTtcblxuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPGFueT5cbiAgKTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBHY3NCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnO1xuICAgIGNsaWVudDogQnVja2V0O1xuICB9PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgY29uc3QgY29uZmlnID1cbiAgICAgIHRoaXMuZ2V0Q29uZmlnRnJvbUFyZ3M8R2NzQmxvYlN0b3JlU2VydmljZUNvbmZpZz4oLi4uYXJncyk7XG4gICAgaWYgKCFjb25maWcuYnVja2V0KSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdjc0Jsb2JTdG9yZVNlcnZpY2UgcmVxdWlyZXMgYSBidWNrZXRcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmFnZU9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgaWYgKGNvbmZpZy5wcm9qZWN0SWQpIHN0b3JhZ2VPcHRpb25zLnByb2plY3RJZCA9IGNvbmZpZy5wcm9qZWN0SWQ7XG4gICAgaWYgKGNvbmZpZy5jcmVkZW50aWFscykgc3RvcmFnZU9wdGlvbnMuY3JlZGVudGlhbHMgPSBjb25maWcuY3JlZGVudGlhbHM7XG4gICAgaWYgKGNvbmZpZy5hcGlFbmRwb2ludCkgc3RvcmFnZU9wdGlvbnMuYXBpRW5kcG9pbnQgPSBjb25maWcuYXBpRW5kcG9pbnQ7XG5cbiAgICB0aGlzLnN0b3JhZ2UgPSBuZXcgU3RvcmFnZShzdG9yYWdlT3B0aW9ucyk7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5zdG9yYWdlLmJ1Y2tldChjb25maWcuYnVja2V0KTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuXG4gICAgbG9nLnZlcmJvc2UoYEluaXRpYWxpemVkIEdDUyBibG9iIHN0b3JlICR7Y29uZmlnLnNvdXJjZUlkfWApO1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBwdXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIHZhbHVlOiBCbG9iVmFsdWUsXG4gICAgb3B0aW9uczogQmxvYlB1dE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JQdXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicHV0XCIsIHRydWUpKS5mb3IodGhpcy5wdXQpO1xuICAgIGxvZy52ZXJib3NlKGBQdXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3Qgb2JqZWN0TmFtZSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcblxuICAgIGlmIChvcHRpb25zLmlmTm90RXhpc3RzKSB7XG4gICAgICBpZiAoYXdhaXQgdGhpcy5oYXMoa2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihgQmxvYiBhbHJlYWR5IGV4aXN0czogJHtrZXl9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY29sbGVjdFRvQnVmZmVyKHZhbHVlKTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVjdGVkU2hhMjU2KSB7XG4gICAgICBjb25zdCBzaGEyNTYgPSBhd2FpdCBjb21wdXRlU2hhMjU2KGJ1ZmZlcik7XG4gICAgICBpZiAob3B0aW9ucy5leHBlY3RlZFNoYTI1NiAhPT0gc2hhMjU2KSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYENoZWNrc3VtIG1pc21hdGNoIGZvciAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZmlsZSA9IHRoaXMuY2xpZW50LmZpbGUob2JqZWN0TmFtZSk7XG4gICAgICBjb25zdCBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgLi4uKG9wdGlvbnMubWV0YWRhdGEgPz8ge30pIH07XG4gICAgICBhd2FpdCBmaWxlLnNhdmUoYnVmZmVyLCB7XG4gICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgW2luZm9dID0gYXdhaXQgZmlsZS5nZXRNZXRhZGF0YSgpO1xuICAgICAgY29uc3QgcmVzdWx0TWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUsXG4gICAgICAgIGNvbnRlbnRMZW5ndGg6IE51bWJlcihpbmZvLnNpemUgPz8gYnVmZmVyLmxlbmd0aCksXG4gICAgICAgIGV0YWc6IGluZm8uZXRhZyxcbiAgICAgICAgY3VzdG9tOiBvcHRpb25zLm1ldGFkYXRhLFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgdXJpOiB0aGlzLnVyaShrZXksIFwiZ2NzXCIpLFxuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICAgIG1ldGFkYXRhOiByZXN1bHRNZXRhZGF0YSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0KFxuICAgIGtleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iR2V0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYkdldFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJnZXRcIiwgdHJ1ZSkpLmZvcih0aGlzLmdldCk7XG4gICAgbG9nLnZlcmJvc2UoYEdldHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCBvYmplY3ROYW1lID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlID0gdGhpcy5jbGllbnQuZmlsZShvYmplY3ROYW1lKTtcbiAgICAgIGNvbnN0IFtleGlzdHNdID0gYXdhaXQgZmlsZS5leGlzdHMoKTtcbiAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgaWYgKG9wdGlvbnMucmFuZ2UpIHtcbiAgICAgICAgcmVhZE9wdGlvbnMuc3RhcnQgPSBvcHRpb25zLnJhbmdlLnN0YXJ0O1xuICAgICAgICBpZiAob3B0aW9ucy5yYW5nZS5lbmQgIT09IHVuZGVmaW5lZCkgcmVhZE9wdGlvbnMuZW5kID0gb3B0aW9ucy5yYW5nZS5lbmQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtpbmZvXSA9IGF3YWl0IGZpbGUuZ2V0TWV0YWRhdGEoKTtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IGZpbGUuY3JlYXRlUmVhZFN0cmVhbShyZWFkT3B0aW9ucyk7XG4gICAgICBjb25zdCBtZXRhZGF0YTogQmxvYk1ldGFkYXRhID0ge1xuICAgICAgICBjb250ZW50VHlwZTogaW5mby5jb250ZW50VHlwZSxcbiAgICAgICAgY29udGVudExlbmd0aDogTnVtYmVyKGluZm8uc2l6ZSksXG4gICAgICAgIGV0YWc6IGluZm8uZXRhZyxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgdmFsdWU6IHRvQXN5bmNJdGVyYWJsZShzdHJlYW0gYXMgYW55KSxcbiAgICAgICAgdXJpOiB0aGlzLnVyaShrZXksIFwiZ2NzXCIpLFxuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBoYXMoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJoYXNcIiwgdHJ1ZSkpLmZvcih0aGlzLmhhcyk7XG4gICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IFtleGlzdHNdID0gYXdhaXQgdGhpcy5jbGllbnQuZmlsZSh0aGlzLnBoeXNpY2FsS2V5KGtleSkpLmV4aXN0cygpO1xuICAgICAgcmV0dXJuIGV4aXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzdGF0KFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JNZXRhZGF0YT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdGF0XCIsIHRydWUpKS5mb3IodGhpcy5zdGF0KTtcbiAgICBsb2cudmVyYm9zZShgU3RhdHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgW2luZm9dID0gYXdhaXQgdGhpcy5jbGllbnQuZmlsZSh0aGlzLnBoeXNpY2FsS2V5KGtleSkpLmdldE1ldGFkYXRhKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50VHlwZTogaW5mby5jb250ZW50VHlwZSxcbiAgICAgICAgY29udGVudExlbmd0aDogTnVtYmVyKGluZm8uc2l6ZSksXG4gICAgICAgIGV0YWc6IGluZm8uZXRhZyxcbiAgICAgICAgY3VzdG9tOiBpbmZvLm1ldGFkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgYmxvYiAke2tleX1gKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZmlsZSh0aGlzLnBoeXNpY2FsS2V5KGtleSkpLmRlbGV0ZSh7IGlnbm9yZU5vdEZvdW5kOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNvcHkoXG4gICAgZnJvbUtleTogQmxvYktleSxcbiAgICB0b0tleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iUHV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlB1dFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjb3B5XCIsIHRydWUpKS5mb3IodGhpcy5jb3B5KTtcbiAgICBsb2cudmVyYm9zZShgQ29weWluZyBibG9iICR7ZnJvbUtleX0gdG8gJHt0b0tleX1gKTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc291cmNlRmlsZSA9IHRoaXMuY2xpZW50LmZpbGUodGhpcy5waHlzaWNhbEtleShmcm9tS2V5KSk7XG4gICAgICBjb25zdCB0YXJnZXRGaWxlID0gdGhpcy5jbGllbnQuZmlsZSh0aGlzLnBoeXNpY2FsS2V5KHRvS2V5KSk7XG4gICAgICBjb25zdCBbY29waWVkXSA9IGF3YWl0IHNvdXJjZUZpbGUuY29weSh0YXJnZXRGaWxlKTtcbiAgICAgIGNvbnN0IFtpbmZvXSA9IGF3YWl0IGNvcGllZC5nZXRNZXRhZGF0YSgpO1xuICAgICAgY29uc3QgbWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUgPz8gaW5mby5jb250ZW50VHlwZSxcbiAgICAgICAgY29udGVudExlbmd0aDogTnVtYmVyKGluZm8uc2l6ZSksXG4gICAgICAgIGV0YWc6IGluZm8uZXRhZyxcbiAgICAgICAgY3VzdG9tOiBvcHRpb25zLm1ldGFkYXRhLFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleTogdG9LZXksXG4gICAgICAgIHVyaTogdGhpcy51cmkodG9LZXksIFwiZ2NzXCIpLFxuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIG9wdGlvbnM6IEJsb2JMaXN0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYkxpc3RSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIGJsb2JzXCIpO1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMucGh5c2ljYWxLZXkob3B0aW9ucy5wcmVmaXggPz8gXCJcIik7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGl0ZW1zOiB7IGtleTogc3RyaW5nOyBtZXRhZGF0YT86IEJsb2JNZXRhZGF0YSB9W10gPSBbXTtcbiAgICAgIGNvbnN0IFtmaWxlc10gPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRGaWxlcyh7XG4gICAgICAgIHByZWZpeDogcHJlZml4IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4UmVzdWx0czogb3B0aW9ucy5saW1pdCxcbiAgICAgICAgcGFnZVRva2VuOiBvcHRpb25zLmN1cnNvcixcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IFtpbmZvXSA9IGF3YWl0IGZpbGUuZ2V0TWV0YWRhdGEoKTtcbiAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAga2V5OiBmaWxlLm5hbWUsXG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IE51bWJlcihpbmZvLnNpemUpLFxuICAgICAgICAgICAgZXRhZzogaW5mby5ldGFnLFxuICAgICAgICAgICAgY29udGVudFR5cGU6IGluZm8uY29udGVudFR5cGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBpdGVtcyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVybChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlVybE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JVcmxSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXJsXCIsIHRydWUpKS5mb3IodGhpcy51cmwpO1xuICAgIGxvZy52ZXJib3NlKGBCdWlsZGluZyB1cmwgZm9yIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3Qgb2JqZWN0TmFtZSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBvcHRpb25zLm9wZXJhdGlvbiA/PyBcImdldFwiO1xuICAgIGNvbnN0IGV4cGlyZXNJbiA9IG9wdGlvbnMuZXhwaXJlc0luU2Vjb25kcyA/PyAzMDA7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLmNsaWVudC5maWxlKG9iamVjdE5hbWUpO1xuICAgICAgY29uc3QgYWN0aW9uID0gb3BlcmF0aW9uID09PSBcInB1dFwiID8gXCJ3cml0ZVwiIDogXCJyZWFkXCI7XG4gICAgICBjb25zdCBjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICB2ZXJzaW9uOiBcInY0XCIsXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgZXhwaXJlczogRGF0ZS5ub3coKSArIGV4cGlyZXNJbiAqIDEwMDAsXG4gICAgICB9O1xuICAgICAgaWYgKG9wdGlvbnMuY29udGVudFR5cGUpIGNvbmZpZy5jb250ZW50VHlwZSA9IG9wdGlvbnMuY29udGVudFR5cGU7XG4gICAgICBjb25zdCBbdXJsXSA9IGF3YWl0IGZpbGUuZ2V0U2lnbmVkVXJsKGNvbmZpZyBhcyBhbnkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXJsLFxuICAgICAgICBtZXRob2Q6IG9wZXJhdGlvbiA9PT0gXCJwdXRcIiA/IFwiUFVUXCIgOiBcIkdFVFwiLFxuICAgICAgICBleHBpcmVzQXQ6IG5ldyBEYXRlKERhdGUubm93KCkgKyBleHBpcmVzSW4gKiAxMDAwKSxcbiAgICAgICAgaGVhZGVyczogb3B0aW9ucy5jb250ZW50VHlwZVxuICAgICAgICAgID8geyBcIkNvbnRlbnQtVHlwZVwiOiBvcHRpb25zLmNvbnRlbnRUeXBlIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRXJyb3IoZXJyb3I6IHVua25vd24pOiBFcnJvciB7XG4gICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgaWYgKFxuICAgICAgZXJyIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgQ29uZmxpY3RFcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgQXV0aG9yaXphdGlvbkVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBGb3JiaWRkZW5FcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgVmFsaWRhdGlvbkVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBDb25uZWN0aW9uRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIFVuc3VwcG9ydGVkRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIEludGVybmFsRXJyb3JcbiAgICApIHtcbiAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlciA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBjb2RlID0gKGVyciBhcyBhbnkpPy5jb2RlIHx8IChlcnIgYXMgYW55KT8uc3RhdHVzO1xuXG4gICAgaWYgKGxvd2VyLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGNvZGUgPT09IDQwNCB8fCBjb2RlID09PSBcIkVOT0VOVFwiIHx8IGNvZGUgPT09IDUpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihlcnIpO1xuICAgIH1cbiAgICBpZiAobG93ZXIuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fCBjb2RlID09PSA0MDkgfHwgY29kZSA9PT0gXCJFRVhJU1RcIiB8fCBjb2RlID09PSA2KSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGxvd2VyLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGNvZGUgPT09IDQwMSB8fCBjb2RlID09PSAxNikge1xuICAgICAgcmV0dXJuIG5ldyBBdXRob3JpemF0aW9uRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGxvd2VyLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBjb2RlID09PSA0MDMgfHwgY29kZSA9PT0gNykge1xuICAgICAgcmV0dXJuIG5ldyBGb3JiaWRkZW5FcnJvcihlcnIpO1xuICAgIH1cbiAgICBpZiAobG93ZXIuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpIHx8IGNvZGUgPT09IDQyOSB8fCBjb2RlID09PSA4KSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGxvd2VyLmluY2x1ZGVzKFwidGltZW91dFwiKSB8fCBsb3dlci5pbmNsdWRlcyhcInVuYXZhaWxhYmxlXCIpIHx8IGxvd2VyLmluY2x1ZGVzKFwiY29ubmVjdGlvblwiKSB8fCBjb2RlID09PSAxNCB8fCBjb2RlID09PSA1MDMpIHtcbiAgICAgIHJldHVybiBuZXcgQ29ubmVjdGlvbkVycm9yKGVycik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICB9XG59XG4iXX0=
@@ -4,4 +4,4 @@
4
4
  * @description Re-exports the GCS blob store service.
5
5
  */
6
6
  export * from "./GcsBlobStoreService.js";
7
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9nY3AvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHlDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9nY3BcbiAqIEBzdW1tYXJ5IEdvb2dsZSBDbG91ZCBTdG9yYWdlIGJsb2Igc3RvcmUgZXhwb3J0cy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBHQ1MgYmxvYiBzdG9yZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HY3NCbG9iU3RvcmVTZXJ2aWNlXCI7XG4iXX0=
@@ -5,4 +5,4 @@
5
5
  * through their own subpaths so the core entry does not eagerly load optional provider SDKs.
6
6
  */
7
7
  export * from "./core/index.js";
8
- //# sourceMappingURL=index.js.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILGdDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYlxuICogQHN1bW1hcnkgQmxvYiBzdG9yZSBtYW5hZ2VtZW50IGhlbHBlcnMgZm9yIHRoZSBpbnRlZ3JhdGlvbnMgcGFja2FnZS5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBibG9iIHN0b3JlIGNvcmUgYWJzdHJhY3Rpb25zIG9ubHkuIFByb3ZpZGVyIGltcGxlbWVudGF0aW9ucyBhcmUgZXhwb3J0ZWRcbiAqIHRocm91Z2ggdGhlaXIgb3duIHN1YnBhdGhzIHNvIHRoZSBjb3JlIGVudHJ5IGRvZXMgbm90IGVhZ2VybHkgbG9hZCBvcHRpb25hbCBwcm92aWRlciBTREtzLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlXCI7XG4iXX0=
@@ -174,4 +174,4 @@ export class IpfsBlobStoreService extends BlobStoreService {
174
174
  return new InternalError(`IPFS error: ${message}`);
175
175
  }
176
176
  }
177
- //# sourceMappingURL=IpfsBlobStoreService.js.map
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXBmc0Jsb2JTdG9yZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9pcGZzL0lwZnNCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQXNCLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUdMLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNDQUFpQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsK0JBQTBCO0FBZXBGLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsMEJBQXVCO0FBRXZFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFHekM7SUFHVSxLQUFLLENBQUMsVUFBVSxDQUN2QixHQUFHLElBQXlCO1FBSzVCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUNkLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUM1QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUE2QixHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTlELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksdUJBQXVCLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMs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LEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLGVBQWUsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3BFLE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuRSxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLGVBQWUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvaXBmcy9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBJUEZTIGJsb2Igc3RvcmUgc2VydmljZS5cbiAqIEBkZXNjcmlwdGlvbiBCbG9iIHN0b3JlIGJhY2tlZCBieSBhbiBJUEZTIChLdWJvKSBub2RlLiBCZWNhdXNlIHRoZSBibG9iIEFQSSBpcyBrZXkvdmFsdWUgQ1JVRC1saWtlXG4gKiBhbmQgSVBGUyBpcyBjb250ZW50LWFkZHJlc3NlZCwgYW4gSXBmc0tleUluZGV4IG1hcHMgbG9naWNhbCBrZXlzIHRvIENJRHMuXG4gKi9cbmltcG9ydCB7IGNyZWF0ZSBhcyBrdWJvQ3JlYXRlLCB0eXBlIEt1Ym9SUENDbGllbnQgfSBmcm9tIFwia3Viby1ycGMtY2xpZW50XCI7XG5pbXBvcnQge1xuICB0eXBlIENvbnRleHR1YWxBcmdzLFxuICB0eXBlIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgVW5zdXBwb3J0ZWRFcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQge1xuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQmxvYlN0b3JlU2VydmljZSB9IGZyb20gXCIuLi9jb3JlL0Jsb2JTdG9yZVNlcnZpY2VcIjtcbmltcG9ydCB7IGNvbGxlY3RUb0J1ZmZlciwgY29tcHV0ZVNoYTI1NiwgdG9Bc3luY0l0ZXJhYmxlIH0gZnJvbSBcIi4uL2NvcmUvQmxvYlZhbHVlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJsb2JHZXRPcHRpb25zLFxuICBCbG9iR2V0UmVzdWx0LFxuICBCbG9iS2V5LFxuICBCbG9iTGlzdE9wdGlvbnMsXG4gIEJsb2JMaXN0UmVzdWx0LFxuICBCbG9iTWV0YWRhdGEsXG4gIEJsb2JQdXRPcHRpb25zLFxuICBCbG9iUHV0UmVzdWx0LFxuICBCbG9iVXJsT3B0aW9ucyxcbiAgQmxvYlVybFJlc3VsdCxcbiAgQmxvYlZhbHVlLFxuICBJcGZzQmxvYlN0b3JlU2VydmljZUNvbmZpZyxcbn0gZnJvbSBcIi4uL2NvcmUvQmxvYlR5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVJcGZzS2V5SW5kZXgsIHR5cGUgSXBmc0tleUluZGV4IH0gZnJvbSBcIi4vSXBmc0tleUluZGV4XCI7XG5cbmV4cG9ydCBjbGFzcyBJcGZzQmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2U8XG4gIEt1Ym9SUENDbGllbnQsXG4gIElwZnNCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgcHJpdmF0ZSBpbmRleCE6IElwZnNLZXlJbmRleDtcblxuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPGFueT5cbiAgKTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBJcGZzQmxvYlN0b3JlU2VydmljZUNvbmZpZztcbiAgICBjbGllbnQ6IEt1Ym9SUENDbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPVxuICAgICAgdGhpcy5nZXRDb25maWdGcm9tQXJnczxJcGZzQmxvYlN0b3JlU2VydmljZUNvbmZpZz4oLi4uYXJncyk7XG5cbiAgICBjb25zdCBhcGlVcmwgPSBjb25maWcuYXBpVXJsIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAxXCI7XG4gICAgY29uc3QgY2xpZW50ID0ga3Vib0NyZWF0ZSh7IHVybDogYXBpVXJsIH0pO1xuICAgIHRoaXMuaW5kZXggPSBjcmVhdGVJcGZzS2V5SW5kZXgoY29uZmlnLmtleUluZGV4KTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuXG4gICAgbG9nLnZlcmJvc2UoYEluaXRpYWxpemVkIElQRlMgYmxvYiBzdG9yZSAke2NvbmZpZy5zb3VyY2VJZH1gKTtcbiAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICB9XG5cbiAgYXN5bmMgcHV0KFxuICAgIGtleTogQmxvYktleSxcbiAgICB2YWx1ZTogQmxvYlZhbHVlLFxuICAgIG9wdGlvbnM6IEJsb2JQdXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iUHV0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInB1dFwiLCB0cnVlKSkuZm9yKHRoaXMucHV0KTtcbiAgICBsb2cudmVyYm9zZShgUHV0dGluZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IHBoeXNpY2FsS2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmVuY3J5cHRlZE9ubHkgJiYgb3B0aW9ucy5tZXRhZGF0YT8uZW5jcnlwdGVkICE9PSBcInRydWVcIikge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJJUEZTIGJsb2Igc3RvcmUgcmVxdWlyZXMgZW5jcnlwdGVkIHBheWxvYWRzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaWZOb3RFeGlzdHMgJiYgKGF3YWl0IHRoaXMuaGFzKGtleSkpKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihgQmxvYiBhbHJlYWR5IGV4aXN0czogJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY29sbGVjdFRvQnVmZmVyKHZhbHVlKTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVjdGVkU2hhMjU2KSB7XG4gICAgICBjb25zdCBzaGEyNTYgPSBhd2FpdCBjb21wdXRlU2hhMjU2KGJ1ZmZlcik7XG4gICAgICBpZiAob3B0aW9ucy5leHBlY3RlZFNoYTI1NiAhPT0gc2hhMjU2KSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYENoZWNrc3VtIG1pc21hdGNoIGZvciAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYWRkUmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQuYWRkKGJ1ZmZlciBhcyBhbnkpO1xuICAgICAgY29uc3QgY2lkID0gYWRkUmVzdWx0LmNpZC50b1N0cmluZygpO1xuICAgICAgY29uc3Qgc2l6ZSA9IGFkZFJlc3VsdC5zaXplO1xuXG4gICAgICBpZiAodGhpcy5jb25maWcucGluQnlEZWZhdWx0ICE9PSBmYWxzZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnBpbi5hZGQoY2lkKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5zaWxseShgUGluIGZhaWxlZCBmb3IgJHtjaWR9OiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhOiBCbG9iTWV0YWRhdGEgPSB7XG4gICAgICAgIGNvbnRlbnRMZW5ndGg6IHNpemUsXG4gICAgICAgIHNoYTI1NjogdW5kZWZpbmVkLFxuICAgICAgICBjaWQsXG4gICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlLFxuICAgICAgICBjdXN0b206IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCB0aGlzLmluZGV4LnNldChwaHlzaWNhbEtleSwgY2lkLCBtZXRhZGF0YSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgdXJpOiBgaXBmczovLyR7Y2lkfWAsXG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYkdldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JHZXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZ2V0XCIsIHRydWUpKS5mb3IodGhpcy5nZXQpO1xuICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3QgcGh5c2ljYWxLZXkgPSB0aGlzLnBoeXNpY2FsS2V5KGtleSk7XG4gICAgY29uc3QgY2lkID0gYXdhaXQgdGhpcy5pbmRleC5nZXQocGh5c2ljYWxLZXkpO1xuICAgIGlmICghY2lkKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgdGhpcy5pbmRleC5zdGF0KHBoeXNpY2FsS2V5KTtcbiAgICBjb25zdCBjYXRJdGVyYWJsZSA9IHRoaXMuY2xpZW50LmNhdChjaWQpO1xuICAgIHZvaWQgb3B0aW9ucztcblxuICAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICB2YWx1ZTogdG9Bc3luY0l0ZXJhYmxlKGNhdEl0ZXJhYmxlIGFzIGFueSksXG4gICAgICB1cmk6IGBpcGZzOi8vJHtjaWR9YCxcbiAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICBtZXRhZGF0YSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaGFzKFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaGFzXCIsIHRydWUpKS5mb3IodGhpcy5oYXMpO1xuICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IHBoeXNpY2FsS2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuICAgIHJldHVybiBCb29sZWFuKGF3YWl0IHRoaXMuaW5kZXguZ2V0KHBoeXNpY2FsS2V5KSk7XG4gIH1cblxuICBhc3luYyBzdGF0KFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JNZXRhZGF0YT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdGF0XCIsIHRydWUpKS5mb3IodGhpcy5zdGF0KTtcbiAgICBsb2cudmVyYm9zZShgU3RhdHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaW5kZXguc3RhdChwaHlzaWNhbEtleSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICBjb25zdCBjaWQgPSBhd2FpdCB0aGlzLmluZGV4LmdldChwaHlzaWNhbEtleSk7XG4gICAgaWYgKGNpZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQucGluLnJtKGNpZCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZy5zaWxseShgVW5waW4gZmFpbGVkIGZvciAke2NpZH06ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuaW5kZXguZGVsZXRlKHBoeXNpY2FsS2V5KTtcbiAgfVxuXG4gIGFzeW5jIGNvcHkoXG4gICAgZnJvbUtleTogQmxvYktleSxcbiAgICB0b0tleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iUHV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlB1dFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjb3B5XCIsIHRydWUpKS5mb3IodGhpcy5jb3B5KTtcbiAgICBsb2cudmVyYm9zZShgQ29weWluZyBibG9iICR7ZnJvbUtleX0gdG8gJHt0b0tleX1gKTtcbiAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCB0aGlzLmdldChmcm9tS2V5KTtcbiAgICByZXR1cm4gdGhpcy5wdXQodG9LZXksIHNvdXJjZS52YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIG9wdGlvbnM6IEJsb2JMaXN0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYkxpc3RSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIGJsb2JzXCIpO1xuICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMucHJlZml4ID8gdGhpcy5waHlzaWNhbEtleShvcHRpb25zLnByZWZpeCkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXgubGlzdChwcmVmaXgsIG9wdGlvbnMubGltaXQsIG9wdGlvbnMuY3Vyc29yKTtcbiAgfVxuXG4gIGFzeW5jIHVybChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlVybE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JVcmxSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXJsXCIsIHRydWUpKS5mb3IodGhpcy51cmwpO1xuICAgIGxvZy52ZXJib3NlKGBCdWlsZGluZyB1cmwgZm9yIGJsb2IgJHtrZXl9YCk7XG4gICAgaWYgKG9wdGlvbnMub3BlcmF0aW9uICYmIG9wdGlvbnMub3BlcmF0aW9uICE9PSBcImdldFwiKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgICAgXCJJUEZTIGRvZXMgbm90IHN1cHBvcnQgUFVUIHVybHMgdGhyb3VnaCB0aGlzIEFQSVwiXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICBjb25zdCBjaWQgPSBhd2FpdCB0aGlzLmluZGV4LmdldChwaHlzaWNhbEtleSk7XG4gICAgaWYgKCFjaWQpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb25maWcuZ2F0ZXdheVVybCkge1xuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXCJObyBJUEZTIGdhdGV3YXkgY29uZmlndXJlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcuZ2F0ZXdheVVybC5yZXBsYWNlKC9cXC8kLywgXCJcIil9L2lwZnMvJHtjaWR9YCxcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoXG4gICAgICAgIERhdGUubm93KCkgKyAob3B0aW9ucy5leHBpcmVzSW5TZWNvbmRzID8/IDMwMCkgKiAxMDAwXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogdW5rbm93bik6IEVycm9yIHtcbiAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICBpZiAoXG4gICAgICBlcnIgaW5zdGFuY2VvZiBOb3RGb3VuZEVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBDb25mbGljdEVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIEludGVybmFsRXJyb3JcbiAgICApIHtcbiAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlciA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChsb3dlci5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlci5pbmNsdWRlcyhcImRvZXMgbm90IGV4aXN0XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGxvd2VyLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHwgbG93ZXIuaW5jbHVkZXMoXCJjb25mbGljdFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKGVycik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihgSVBGUyBlcnJvcjogJHttZXNzYWdlfWApO1xuICB9XG59XG4iXX0=
@@ -20,4 +20,4 @@ export function createIpfsKeyIndex(config) {
20
20
  throw new UnsupportedError(`Unsupported IPFS key index provider: ${config.provider}`);
21
21
  }
22
22
  }
23
- //# sourceMappingURL=IpfsKeyIndex.js.map
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXBmc0tleUluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvaXBmcy9JcGZzS2V5SW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1sRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0NBQTZCO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQ0FBK0I7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQWNoRSxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE1BQTBCO0lBRTFCLFFBQVEsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNYLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xDLEtBQUssVUFBVTtZQUNiLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLENBQUM7UUFDekQsS0FBSyxZQUFZO1lBQ2YsT0FBTyxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFLLENBQUMsQ0FBQztRQUNqRDtZQUNFLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDeEIsd0NBQXlDLE1BQWMsQ0FBQyxRQUFRLEVBQUUsQ0FDbkUsQ0FBQztJQUNOLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2lwZnMva2V5LWluZGV4XG4gKiBAc3VtbWFyeSBJUEZTIGtleSBpbmRleCBhYnN0cmFjdGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBNYXBzIGxvZ2ljYWwgYmxvYiBrZXlzIHRvIGNvbnRlbnQtYWRkcmVzc2VkIENJRHMgc2luY2UgdGhlIGJsb2IgQVBJIGlzIGtleS92YWx1ZSBDUlVELWxpa2VcbiAqIHdoaWxlIElQRlMgaXMgY29udGVudC1hZGRyZXNzZWQuXG4gKi9cbmltcG9ydCB7IFVuc3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHtcbiAgQmxvYkxpc3RSZXN1bHQsXG4gIEJsb2JNZXRhZGF0YSxcbiAgSXBmc0tleUluZGV4Q29uZmlnLFxufSBmcm9tIFwiLi4vY29yZS9CbG9iVHlwZXNcIjtcbmltcG9ydCB7IE1lbW9yeUlwZnNLZXlJbmRleCB9IGZyb20gXCIuL01lbW9yeUlwZnNLZXlJbmRleFwiO1xuaW1wb3J0IHsgUG9zdGdyZXNJcGZzS2V5SW5kZXggfSBmcm9tIFwiLi9Qb3N0Z3Jlc0lwZnNLZXlJbmRleFwiO1xuaW1wb3J0IHsgTG9jYWxKc29uSXBmc0tleUluZGV4IH0gZnJvbSBcIi4vTG9jYWxKc29uSXBmc0tleUluZGV4XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBmc0tleUluZGV4IHtcbiAgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBzZXQoa2V5OiBzdHJpbmcsIGNpZDogc3RyaW5nLCBtZXRhZGF0YT86IEJsb2JNZXRhZGF0YSk6IFByb21pc2U8dm9pZD47XG4gIGRlbGV0ZShrZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gIGxpc3QoXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICAgIGxpbWl0PzogbnVtYmVyLFxuICAgIGN1cnNvcj86IHN0cmluZ1xuICApOiBQcm9taXNlPEJsb2JMaXN0UmVzdWx0PjtcbiAgc3RhdChrZXk6IHN0cmluZyk6IFByb21pc2U8QmxvYk1ldGFkYXRhPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUlwZnNLZXlJbmRleChcbiAgY29uZmlnOiBJcGZzS2V5SW5kZXhDb25maWdcbik6IElwZnNLZXlJbmRleCB7XG4gIHN3aXRjaCAoY29uZmlnLnByb3ZpZGVyKSB7XG4gICAgY2FzZSBcIm1lbW9yeVwiOlxuICAgICAgcmV0dXJuIG5ldyBNZW1vcnlJcGZzS2V5SW5kZXgoKTtcbiAgICBjYXNlIFwicG9zdGdyZXNcIjpcbiAgICAgIHJldHVybiBuZXcgUG9zdGdyZXNJcGZzS2V5SW5kZXgoY29uZmlnLmNvbm5lY3Rpb25SZWYhKTtcbiAgICBjYXNlIFwibG9jYWwtanNvblwiOlxuICAgICAgcmV0dXJuIG5ldyBMb2NhbEpzb25JcGZzS2V5SW5kZXgoY29uZmlnLnBhdGghKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXG4gICAgICAgIGBVbnN1cHBvcnRlZCBJUEZTIGtleSBpbmRleCBwcm92aWRlcjogJHsoY29uZmlnIGFzIGFueSkucHJvdmlkZXJ9YFxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -27,4 +27,4 @@ export class LocalJsonIpfsKeyIndex {
27
27
  throw new InternalError(`Implement local JSON IPFS key stat for ${key} at ${this.path}`);
28
28
  }
29
29
  }
30
- //# sourceMappingURL=LocalJsonIpfsKeyIndex.js.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxKc29uSXBmc0tleUluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvaXBmcy9Mb2NhbEpzb25JcGZzS2V5SW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQTZCLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxhQUFhLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixNQUFNLElBQUksYUFBYSxDQUNyQiw0Q0FBNEMsR0FBRyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUNQLEdBQVcsRUFDWCxHQUFXLEVBQ1gsUUFBdUI7UUFFdkIsTUFBTSxJQUFJLGFBQWEsQ0FDckIseUNBQXlDLEdBQUcsU0FBUyxHQUFHLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2xILENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFXO1FBQ3RCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDRDQUE0QyxHQUFHLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQ1IsTUFBZSxFQUNmLEtBQWMsRUFDZCxNQUFlO1FBRWYsTUFBTSxJQUFJLGFBQWEsQ0FDckIsOENBQThDLE1BQU0sV0FBVyxLQUFLLFlBQVksTUFBTSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FDMUcsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDcEIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsMENBQTBDLEdBQUcsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2hFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvaXBmcy9sb2NhbC1qc29uLWluZGV4XG4gKiBAc3VtbWFyeSBMb2NhbCBKU09OLWZpbGUtYmFja2VkIElQRlMga2V5IGluZGV4IChzdHViKS5cbiAqIEBkZXNjcmlwdGlvbiBEb2N1bWVudGVkIHBsYWNlaG9sZGVyOyBmdWxsIGZpbGUgaW1wbGVtZW50YXRpb24gaXMgZGVmZXJyZWQgcGVyIHRoZSBzcGVjLlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IEJsb2JMaXN0UmVzdWx0LCBCbG9iTWV0YWRhdGEgfSBmcm9tIFwiLi4vY29yZS9CbG9iVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgSXBmc0tleUluZGV4IH0gZnJvbSBcIi4vSXBmc0tleUluZGV4XCI7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbEpzb25JcGZzS2V5SW5kZXggaW1wbGVtZW50cyBJcGZzS2V5SW5kZXgge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhdGg6IHN0cmluZykge1xuICAgIGlmICghcGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJMb2NhbEpzb25JcGZzS2V5SW5kZXggcmVxdWlyZXMgYSBwYXRoXCIpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldChrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgSW1wbGVtZW50IGxvY2FsIEpTT04gSVBGUyBrZXkgbG9va3VwIGZvciAke2tleX0gYXQgJHt0aGlzLnBhdGh9YFxuICAgICk7XG4gIH1cblxuICBhc3luYyBzZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgY2lkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiBCbG9iTWV0YWRhdGFcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgSW1wbGVtZW50IGxvY2FsIEpTT04gSVBGUyBrZXkgc2V0IGZvciAke2tleX0gKGNpZD0ke2NpZH0sIG1ldGFkYXRhPSR7SlNPTi5zdHJpbmdpZnkobWV0YWRhdGEpfSkgYXQgJHt0aGlzLnBhdGh9YFxuICAgICk7XG4gIH1cblxuICBhc3luYyBkZWxldGUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBJbXBsZW1lbnQgbG9jYWwgSlNPTiBJUEZTIGtleSBkZWxldGUgZm9yICR7a2V5fSBhdCAke3RoaXMucGF0aH1gXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGxpc3QoXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICAgIGxpbWl0PzogbnVtYmVyLFxuICAgIGN1cnNvcj86IHN0cmluZ1xuICApOiBQcm9taXNlPEJsb2JMaXN0UmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgSW1wbGVtZW50IGxvY2FsIEpTT04gSVBGUyBrZXkgbGlzdCAocHJlZml4PSR7cHJlZml4fSwgbGltaXQ9JHtsaW1pdH0sIGN1cnNvcj0ke2N1cnNvcn0pIGF0ICR7dGhpcy5wYXRofWBcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgc3RhdChrZXk6IHN0cmluZyk6IFByb21pc2U8QmxvYk1ldGFkYXRhPiB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgSW1wbGVtZW50IGxvY2FsIEpTT04gSVBGUyBrZXkgc3RhdCBmb3IgJHtrZXl9IGF0ICR7dGhpcy5wYXRofWBcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -37,4 +37,4 @@ export class MemoryIpfsKeyIndex {
37
37
  return entry.metadata;
38
38
  }
39
39
  }
40
- //# sourceMappingURL=MemoryIpfsKeyIndex.js.map
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5SXBmc0tleUluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvaXBmcy9NZW1vcnlJcGZzS2V5SW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNtQixXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7SUFpRDFELENBQUM7SUEvQ0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUNQLEdBQVcsRUFDWCxHQUFXLEVBQ1gsUUFBdUI7UUFFdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLEdBQUc7WUFDSCxRQUFRLEVBQUUsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUU7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FDUixNQUFNLEdBQUcsRUFBRSxFQUNYLEtBQUssR0FBRyxJQUFJLEVBQ1osTUFBZTtRQUVmLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN2QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyRCxJQUFJLEVBQUUsQ0FBQztRQUNWLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUNkLFVBQVUsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzNFLE9BQU87WUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekIsR0FBRztnQkFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUTthQUN6QyxDQUFDLENBQUM7WUFDSCxNQUFNLEVBQUUsVUFBVTtTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2lwZnMvbWVtb3J5LWluZGV4XG4gKiBAc3VtbWFyeSBJbi1tZW1vcnkgSVBGUyBrZXkgaW5kZXguXG4gKiBAZGVzY3JpcHRpb24gUHJvY2Vzcy1sb2NhbCBNYXAtYmFja2VkIGtleSBpbmRleCBmb3IgdGVzdHMgYW5kIGV4YW1wbGVzLlxuICovXG5pbXBvcnQgdHlwZSB7IEJsb2JMaXN0UmVzdWx0LCBCbG9iTWV0YWRhdGEgfSBmcm9tIFwiLi4vY29yZS9CbG9iVHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgSXBmc0tleUluZGV4IH0gZnJvbSBcIi4vSXBmc0tleUluZGV4XCI7XG5cbmludGVyZmFjZSBJbmRleEVudHJ5IHtcbiAgY2lkOiBzdHJpbmc7XG4gIG1ldGFkYXRhOiBCbG9iTWV0YWRhdGE7XG59XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnlJcGZzS2V5SW5kZXggaW1wbGVtZW50cyBJcGZzS2V5SW5kZXgge1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlcyA9IG5ldyBNYXA8c3RyaW5nLCBJbmRleEVudHJ5PigpO1xuXG4gIGFzeW5jIGdldChrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmdldChrZXkpPy5jaWQ7XG4gIH1cblxuICBhc3luYyBzZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgY2lkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiBCbG9iTWV0YWRhdGFcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy52YWx1ZXMuc2V0KGtleSwge1xuICAgICAgY2lkLFxuICAgICAgbWV0YWRhdGE6IHsgLi4ubWV0YWRhdGEsIGNpZCB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy52YWx1ZXMuZGVsZXRlKGtleSk7XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIHByZWZpeCA9IFwiXCIsXG4gICAgbGltaXQgPSAxMDAwLFxuICAgIGN1cnNvcj86IHN0cmluZ1xuICApOiBQcm9taXNlPEJsb2JMaXN0UmVzdWx0PiB7XG4gICAgY29uc3QgYWxsID0gQXJyYXkuZnJvbSh0aGlzLnZhbHVlcy5rZXlzKCkpXG4gICAgICAuZmlsdGVyKChrKSA9PiAocHJlZml4ID8gay5zdGFydHNXaXRoKHByZWZpeCkgOiB0cnVlKSlcbiAgICAgIC5zb3J0KCk7XG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IGN1cnNvciA/IE51bWJlcihjdXJzb3IpIDogMDtcbiAgICBjb25zdCBzbGljZSA9IGFsbC5zbGljZShzdGFydEluZGV4LCBzdGFydEluZGV4ICsgbGltaXQpO1xuICAgIGNvbnN0IG5leHRDdXJzb3IgPVxuICAgICAgc3RhcnRJbmRleCArIGxpbWl0IDwgYWxsLmxlbmd0aCA/IFN0cmluZyhzdGFydEluZGV4ICsgbGltaXQpIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtczogc2xpY2UubWFwKChrZXkpID0+ICh7XG4gICAgICAgIGtleSxcbiAgICAgICAgbWV0YWRhdGE6IHRoaXMudmFsdWVzLmdldChrZXkpPy5tZXRhZGF0YSxcbiAgICAgIH0pKSxcbiAgICAgIGN1cnNvcjogbmV4dEN1cnNvcixcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc3RhdChrZXk6IHN0cmluZyk6IFByb21pc2U8QmxvYk1ldGFkYXRhPiB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLnZhbHVlcy5nZXQoa2V5KTtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2tleX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5Lm1ldGFkYXRhO1xuICB9XG59XG4iXX0=
@@ -27,4 +27,4 @@ export class PostgresIpfsKeyIndex {
27
27
  throw new InternalError(`Implement Postgres IPFS key stat for ${key}`);
28
28
  }
29
29
  }
30
- //# sourceMappingURL=PostgresIpfsKeyIndex.js.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdGdyZXNJcGZzS2V5SW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9pcGZzL1Bvc3RncmVzSXBmc0tleUluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUE2QixhQUFxQjtRQUFyQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsK0NBQStDLENBQ2hELENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixNQUFNLElBQUksYUFBYSxDQUFDLDBDQUEwQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUNQLEdBQVcsRUFDWCxHQUFXLEVBQ1gsUUFBdUI7UUFFdkIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsdUNBQXVDLEdBQUcsU0FBUyxHQUFHLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNoRyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN0QixNQUFNLElBQUksYUFBYSxDQUFDLDBDQUEwQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUNSLE1BQWUsRUFDZixLQUFjLEVBQ2QsTUFBZTtRQUVmLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDRDQUE0QyxNQUFNLFdBQVcsS0FBSyxZQUFZLE1BQU0sR0FBRyxDQUN4RixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBVztRQUNwQixNQUFNLElBQUksYUFBYSxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9pcGZzL3Bvc3RncmVzLWluZGV4XG4gKiBAc3VtbWFyeSBQb3N0Z3Jlcy1iYWNrZWQgSVBGUyBrZXkgaW5kZXggKHN0dWIpLlxuICogQGRlc2NyaXB0aW9uIERvY3VtZW50ZWQgcGxhY2Vob2xkZXI7IGZ1bGwgU1FMIGltcGxlbWVudGF0aW9uIGlzIGRlZmVycmVkIHBlciB0aGUgc3BlYy5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBCbG9iTGlzdFJlc3VsdCwgQmxvYk1ldGFkYXRhIH0gZnJvbSBcIi4uL2NvcmUvQmxvYlR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IElwZnNLZXlJbmRleCB9IGZyb20gXCIuL0lwZnNLZXlJbmRleFwiO1xuXG5leHBvcnQgY2xhc3MgUG9zdGdyZXNJcGZzS2V5SW5kZXggaW1wbGVtZW50cyBJcGZzS2V5SW5kZXgge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3Rpb25SZWY6IHN0cmluZykge1xuICAgIGlmICghY29ubmVjdGlvblJlZikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiUG9zdGdyZXNJcGZzS2V5SW5kZXggcmVxdWlyZXMgYSBjb25uZWN0aW9uUmVmXCJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgSW1wbGVtZW50IFBvc3RncmVzIElQRlMga2V5IGxvb2t1cCBmb3IgJHtrZXl9YCk7XG4gIH1cblxuICBhc3luYyBzZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgY2lkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiBCbG9iTWV0YWRhdGFcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgSW1wbGVtZW50IFBvc3RncmVzIElQRlMga2V5IHNldCBmb3IgJHtrZXl9IChjaWQ9JHtjaWR9LCBtZXRhZGF0YT0ke0pTT04uc3RyaW5naWZ5KG1ldGFkYXRhKX0pYFxuICAgICk7XG4gIH1cblxuICBhc3luYyBkZWxldGUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgSW1wbGVtZW50IFBvc3RncmVzIElQRlMga2V5IGRlbGV0ZSBmb3IgJHtrZXl9YCk7XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgICBsaW1pdD86IG51bWJlcixcbiAgICBjdXJzb3I/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxCbG9iTGlzdFJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgYEltcGxlbWVudCBQb3N0Z3JlcyBJUEZTIGtleSBsaXN0IChwcmVmaXg9JHtwcmVmaXh9LCBsaW1pdD0ke2xpbWl0fSwgY3Vyc29yPSR7Y3Vyc29yfSlgXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHN0YXQoa2V5OiBzdHJpbmcpOiBQcm9taXNlPEJsb2JNZXRhZGF0YT4ge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBJbXBsZW1lbnQgUG9zdGdyZXMgSVBGUyBrZXkgc3RhdCBmb3IgJHtrZXl9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export * from "./IpfsKeyIndex.js";
8
8
  export * from "./MemoryIpfsKeyIndex.js";
9
9
  export * from "./PostgresIpfsKeyIndex.js";
10
10
  export * from "./LocalJsonIpfsKeyIndex.js";
11
- //# sourceMappingURL=index.js.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9pcGZzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCwwQ0FBdUM7QUFDdkMsa0NBQStCO0FBQy9CLHdDQUFxQztBQUNyQywwQ0FBdUM7QUFDdkMsMkNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2lwZnNcbiAqIEBzdW1tYXJ5IElQRlMgYmxvYiBzdG9yZSBleHBvcnRzLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIElQRlMgYmxvYiBzdG9yZSBzZXJ2aWNlIGFuZCBrZXktaW5kZXggYWJzdHJhY3Rpb24uXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0lwZnNCbG9iU3RvcmVTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9JcGZzS2V5SW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01lbW9yeUlwZnNLZXlJbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUG9zdGdyZXNJcGZzS2V5SW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xvY2FsSnNvbklwZnNLZXlJbmRleFwiO1xuIl19
@@ -280,4 +280,4 @@ async function walkDir(dir, acc) {
280
280
  }
281
281
  }
282
282
  }
283
- //# sourceMappingURL=LocalBlobStoreService.js.map
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvbG9jYWwvTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQXVCLGNBQWMsRUFBMkIsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEVBQ2IsZUFBZSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLElBQUksRUFBRSxHQUVmLE1BQU0sSUFBSSxDQUFDO0FBQ1osT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNDQUFpQztBQW9CNUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUcxQztJQUNVLEtBQUssQ0FBQyxVQUFVLENBQ3ZCLEdBQUcsSUFBeUI7UUFLNUIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUE4QixHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsMkNBQTJDLENBQzVDLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMs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TSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBWSxFQUNaLEdBQUcsSUFBNkI7UUFFaEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLGFBQWEsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsR0FBWSxFQUNaLEdBQUcsSUFBNkI7UUFFaEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFB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RCxLQUFLLFVBQVUsT0FBTyxDQUFDLEdBQVcsRUFBRSxHQUFhO0lBQy9DLElBQUksT0FBaUIsQ0FBQztJQUN0QixJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBSyxDQUEyQixDQUFDLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTztRQUMzRCxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFBRSxTQUFTO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvbG9jYWwvc2VydmljZVxuICogQHN1bW1hcnkgTG9jYWwgZmlsZXN5c3RlbSBibG9iIHN0b3JlIHNlcnZpY2UuXG4gKiBAZGVzY3JpcHRpb24gRmlsZXN5c3RlbS1iYWNrZWQgYmxvYiBzdG9yZSB3cmFwcGluZyBub2RlOmZzIHdpdGggYXRvbWljIHdyaXRlcyBhbmQgcGF0aC10cmF2ZXJzYWwgcHJvdGVjdGlvbi5cbiAqL1xuaW1wb3J0IHsgdHlwZSBDb250ZXh0dWFsQXJncywgRm9yYmlkZGVuRXJyb3IsIHR5cGUgTWF5YmVDb250ZXh0dWFsQXJnLCBVbnN1cHBvcnRlZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQge1xuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZ2V0Q3J5cHRvIH0gZnJvbSBcIkBkZWNhZi10cy9jcnlwdG8vY29tbW9uXCI7XG5pbXBvcnQge1xuICBjcmVhdGVSZWFkU3RyZWFtLFxuICBjcmVhdGVXcml0ZVN0cmVhbSxcbiAgcHJvbWlzZXMgYXMgZnMsXG4gIHR5cGUgUmVhZFN0cmVhbSxcbn0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luLCByZWxhdGl2ZSwgcmVzb2x2ZSwgc2VwIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEJsb2JTdG9yZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9CbG9iU3RvcmVTZXJ2aWNlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJsb2JHZXRPcHRpb25zLFxuICBCbG9iR2V0UmVzdWx0LFxuICBCbG9iS2V5LFxuICBCbG9iTGlzdE9wdGlvbnMsXG4gIEJsb2JMaXN0UmVzdWx0LFxuICBCbG9iTWV0YWRhdGEsXG4gIEJsb2JQdXRPcHRpb25zLFxuICBCbG9iUHV0UmVzdWx0LFxuICBCbG9iVXJsT3B0aW9ucyxcbiAgQmxvYlVybFJlc3VsdCxcbiAgQmxvYlZhbHVlLFxuICBMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWcsXG59IGZyb20gXCIuLi9jb3JlL0Jsb2JUeXBlc1wiO1xuXG5pbnRlcmZhY2UgTG9jYWxGc0NsaWVudCB7XG4gIHJvb3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExvY2FsQmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2U8XG4gIExvY2FsRnNDbGllbnQsXG4gIExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZ1xuPiB7XG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHtcbiAgICBjb25maWc6IExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZztcbiAgICBjbGllbnQ6IExvY2FsRnNDbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBjb25maWcgPVxuICAgICAgdGhpcy5nZXRDb25maWdGcm9tQXJnczxMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIGlmICghY29uZmlnLnJvb3RQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJMb2NhbEJsb2JTdG9yZVNlcnZpY2UgcmVxdWlyZXMgYSByb290UGF0aFwiXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBmcy5ta2Rpcihjb25maWcucm9vdFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jbGllbnQgPSB7IHJvb3Q6IHJlc29sdmUoY29uZmlnLnJvb3RQYXRoKSB9O1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50OiB0aGlzLl9jbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIHB1dChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgdmFsdWU6IEJsb2JWYWx1ZSxcbiAgICBvcHRpb25zOiBCbG9iUHV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlB1dFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJwdXRcIiwgdHJ1ZSkpLmZvcih0aGlzLnB1dCk7XG4gICAgbG9nLnZlcmJvc2UoYFB1dHRpbmcgYmxvYiAke2tleX1gKTtcblxuICAgIGNvbnN0IHRhcmdldFBhdGggPSB0aGlzLnNhZmVQYXRoKGtleSk7XG5cbiAgICBpZiAob3B0aW9ucy5pZk5vdEV4aXN0cykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZnMuc3RhdCh0YXJnZXRQYXRoKTtcbiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0RXJyb3IoYEJsb2IgYWxyZWFkeSBleGlzdHM6ICR7a2V5fWApO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoKGUgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlICE9PSBcIkVOT0VOVFwiKSB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUodGFyZ2V0UGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY29sbGVjdFRvQnVmZmVyTG9jYWwodmFsdWUpO1xuICAgIGNvbnN0IGNyeXB0byA9IChhd2FpdCBnZXRDcnlwdG8oKSkgYXMgYW55O1xuICAgIGNvbnN0IHNoYTI1NiA9IGNyeXB0by5jcmVhdGVIYXNoKFwic2hhMjU2XCIpLnVwZGF0ZShidWZmZXIpLmRpZ2VzdChcImhleFwiKTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVjdGVkU2hhMjU2ICYmIG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgIT09IHNoYTI1Nikge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgQ2hlY2tzdW0gbWlzbWF0Y2ggZm9yICR7a2V5fWApO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuYXRvbWljV3JpdGUodGFyZ2V0UGF0aCwgYnVmZmVyKTtcblxuICAgIGNvbnN0IG1ldGFkYXRhOiBCbG9iTWV0YWRhdGEgPSB7XG4gICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgIGNvbnRlbnRMZW5ndGg6IGJ1ZmZlci5sZW5ndGgsXG4gICAgICBzaGEyNTYsXG4gICAgICBjdXN0b206IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICB1cmk6IHRoaXMudXJpKGtleSwgXCJmaWxlXCIpLFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgIG1ldGFkYXRhLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBnZXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIG9wdGlvbnM6IEJsb2JHZXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iR2V0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImdldFwiLCB0cnVlKSkuZm9yKHRoaXMuZ2V0KTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBibG9iICR7a2V5fWApO1xuXG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMuc2FmZVBhdGgoa2V5KTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgdGhpcy5zYWZlU3RhdCh0YXJnZXRQYXRoKTtcbiAgICBpZiAoIXN0YXQpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyZWFtOiBSZWFkU3RyZWFtID0gY3JlYXRlUmVhZFN0cmVhbSh0YXJnZXRQYXRoLCB7XG4gICAgICBzdGFydDogb3B0aW9ucy5yYW5nZT8uc3RhcnQsXG4gICAgICBlbmQ6IG9wdGlvbnMucmFuZ2U/LmVuZCxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldGFkYXRhOiBCbG9iTWV0YWRhdGEgPSB7XG4gICAgICBjb250ZW50TGVuZ3RoOiBzdGF0LnNpemUsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICB2YWx1ZTogc3RyZWFtVG9Bc3luY0l0ZXJhYmxlKHN0cmVhbSksXG4gICAgICB1cmk6IHRoaXMudXJpKGtleSwgXCJmaWxlXCIpLFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgIG1ldGFkYXRhLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBoYXMoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJoYXNcIiwgdHJ1ZSkpLmZvcih0aGlzLmhhcyk7XG4gICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMuc2FmZVBhdGgoa2V5KTtcbiAgICByZXR1cm4gQm9vbGVhbihhd2FpdCB0aGlzLnNhZmVTdGF0KHRhcmdldFBhdGgpKTtcbiAgfVxuXG4gIGFzeW5jIHN0YXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYk1ldGFkYXRhPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInN0YXRcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0YXQpO1xuICAgIGxvZy52ZXJib3NlKGBTdGF0dGluZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSB0aGlzLnNhZmVQYXRoKGtleSk7XG4gICAgY29uc3Qgc3RhdCA9IGF3YWl0IHRoaXMuc2FmZVN0YXQodGFyZ2V0UGF0aCk7XG4gICAgaWYgKCFzdGF0KSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgIH1cbiAgICByZXR1cm4geyBjb250ZW50TGVuZ3RoOiBzdGF0LnNpemUgfTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy51bmxpbmsodGFyZ2V0UGF0aCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKChlIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gXCJFTk9FTlRcIikgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb3B5KFxuICAgIGZyb21LZXk6IEJsb2JLZXksXG4gICAgdG9LZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlB1dE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JQdXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY29weVwiLCB0cnVlKSkuZm9yKHRoaXMuY29weSk7XG4gICAgbG9nLnZlcmJvc2UoYENvcHlpbmcgYmxvYiAke2Zyb21LZXl9IHRvICR7dG9LZXl9YCk7XG4gICAgY29uc3QgZnJvbVBhdGggPSB0aGlzLnNhZmVQYXRoKGZyb21LZXkpO1xuICAgIGNvbnN0IGZyb21TdGF0ID0gYXdhaXQgdGhpcy5zYWZlU3RhdChmcm9tUGF0aCk7XG4gICAgaWYgKCFmcm9tU3RhdCkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2Zyb21LZXl9YCk7XG4gICAgfVxuICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IGZzLnJlYWRGaWxlKGZyb21QYXRoKTtcbiAgICByZXR1cm4gdGhpcy5wdXQodG9LZXksIGJ1ZmZlciwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIG9wdGlvbnM6IEJsb2JMaXN0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYkxpc3RSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIGJsb2JzXCIpO1xuXG4gICAgY29uc3QgcHJlZml4ID0gb3B0aW9ucy5wcmVmaXggPyB0aGlzLnBoeXNpY2FsS2V5KG9wdGlvbnMucHJlZml4KSA6IFwiXCI7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuY2xpZW50LnJvb3Q7XG4gICAgY29uc3QgYmFzZURpciA9IHByZWZpeCA/IGpvaW4ocm9vdCwgcHJlZml4KSA6IHJvb3Q7XG5cbiAgICBjb25zdCBhbGxGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICBhd2FpdCB3YWxrRGlyKGJhc2VEaXIsIGFsbEZpbGVzKTtcblxuICAgIGNvbnN0IGtleXMgPSBhbGxGaWxlc1xuICAgICAgLm1hcCgoZikgPT4ge1xuICAgICAgICBjb25zdCByZWwgPSByZWxhdGl2ZShyb290LCBmKS5zcGxpdChzZXApLmpvaW4oXCIvXCIpO1xuICAgICAgICByZXR1cm4gcHJlZml4ID8gcmVsIDogcmVsO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGspID0+IChwcmVmaXggPyBrLnN0YXJ0c1dpdGgocHJlZml4KSA6IHRydWUpKVxuICAgICAgLnNvcnQoKTtcblxuICAgIGNvbnN0IGxpbWl0ID0gb3B0aW9ucy5saW1pdCA/PyAxMDAwO1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBvcHRpb25zLmN1cnNvciA/IE51bWJlcihvcHRpb25zLmN1cnNvcikgOiAwO1xuICAgIGNvbnN0IHNsaWNlID0ga2V5cy5zbGljZShzdGFydEluZGV4LCBzdGFydEluZGV4ICsgbGltaXQpO1xuICAgIGNvbnN0IG5leHRDdXJzb3IgPVxuICAgICAgc3RhcnRJbmRleCArIGxpbWl0IDwga2V5cy5sZW5ndGhcbiAgICAgICAgPyBTdHJpbmcoc3RhcnRJbmRleCArIGxpbWl0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtczogc2xpY2UubWFwKChrKSA9PiAoeyBrZXk6IGsgfSkpLFxuICAgICAgY3Vyc29yOiBuZXh0Q3Vyc29yLFxuICAgIH07XG4gIH1cblxuICBhc3luYyB1cmwoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIG9wdGlvbnM6IEJsb2JVcmxPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iVXJsUmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInVybFwiLCB0cnVlKSkuZm9yKHRoaXMudXJsKTtcbiAgICBsb2cudmVyYm9zZShgQnVpbGRpbmcgdXJsIGZvciBibG9iICR7a2V5fWApO1xuICAgIGlmIChvcHRpb25zLm9wZXJhdGlvbiAmJiBvcHRpb25zLm9wZXJhdGlvbiAhPT0gXCJnZXRcIikge1xuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXCJMb2NhbCBibG9iIHN0b3JlIGRvZXMgbm90IHN1cHBvcnQgUFVUIHVybHNcIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IHRoaXMudXJpKGtleSwgXCJmaWxlXCIpLFxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShcbiAgICAgICAgRGF0ZS5ub3coKSArIChvcHRpb25zLmV4cGlyZXNJblNlY29uZHMgPz8gMzAwKSAqIDEwMDBcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogRXJyb3Ige1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGlmIChcbiAgICAgIGVyciBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIENvbmZsaWN0RXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgSW50ZXJuYWxFcnJvclxuICAgICkge1xuICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5tZXNzYWdlIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgIGNvbnN0IGxvd2VyID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGNvZGUgPSAoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZTtcbiAgICBpZiAoY29kZSA9PT0gXCJFTk9FTlRcIiB8fCBsb3dlci5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmIChjb2RlID09PSBcIkVFWElTVFwiIHx8IGxvd2VyLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihlcnIpO1xuICAgIH1cbiAgICBpZiAoY29kZSA9PT0gXCJFQUNDRVNcIiB8fCBjb2RlID09PSBcIkVQRVJNXCIgfHwgbG93ZXIuaW5jbHVkZXMoXCJwZXJtaXNzaW9uXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IEZvcmJpZGRlbkVycm9yKGVycik7XG4gICAgfVxuICAgIGlmIChjb2RlID09PSBcIkVOQU1FVE9PTE9OR1wiIHx8IGxvd2VyLmluY2x1ZGVzKFwiaW52YWxpZFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycik7XG4gIH1cblxuICBwcml2YXRlIHNhZmVQYXRoKGtleTogQmxvYktleSk6IHN0cmluZyB7XG4gICAgY29uc3QgcGh5c2ljYWwgPSB0aGlzLnBoeXNpY2FsS2V5KGtleSk7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuY2xpZW50LnJvb3Q7XG4gICAgY29uc3QgdGFyZ2V0ID0gcmVzb2x2ZShyb290LCBwaHlzaWNhbCk7XG4gICAgY29uc3QgcmVsID0gcmVsYXRpdmUocm9vdCwgdGFyZ2V0KTtcbiAgICBpZiAocmVsLnN0YXJ0c1dpdGgoXCIuLlwiKSB8fCByZWwgPT09IFwiXCIgfHwgcmVsID09PSBcIi5cIiB8fCByZWwuc3RhcnRzV2l0aChgLi4ke3NlcH1gKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgQmxvYiBrZXkgZXNjYXBlcyByb290IHBhdGg6ICR7a2V5fWApO1xuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzYWZlU3RhdChcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx7IHNpemU6IG51bWJlciB9IHwgdW5kZWZpbmVkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhdGgpO1xuICAgICAgaWYgKHN0YXQuaXNGaWxlKCkpIHJldHVybiB7IHNpemU6IHN0YXQuc2l6ZSB9O1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoKGUgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlID09PSBcIkVOT0VOVFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGF0b21pY1dyaXRlKHRhcmdldFBhdGg6IHN0cmluZywgYnVmZmVyOiBCdWZmZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjcnlwdG8gPSAoYXdhaXQgZ2V0Q3J5cHRvKCkpIGFzIGFueTtcbiAgICBjb25zdCB0bXBQYXRoID0gYCR7dGFyZ2V0UGF0aH0uJHtjcnlwdG8ucmFuZG9tQnl0ZXMoNikudG9TdHJpbmcoXCJoZXhcIil9LnRtcGA7XG4gICAgY29uc3Qgc3RyZWFtID0gY3JlYXRlV3JpdGVTdHJlYW0odG1wUGF0aCk7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RyZWFtLm9uKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICAgIHN0cmVhbS5vbihcImZpbmlzaFwiLCAoKSA9PiByZXNvbHZlKCkpO1xuICAgICAgc3RyZWFtLmVuZChidWZmZXIpO1xuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5yZW5hbWUodG1wUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZnMudW5saW5rKHRtcFBhdGgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8qIGlnbm9yZSAqL1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29sbGVjdFRvQnVmZmVyTG9jYWwodmFsdWU6IEJsb2JWYWx1ZSk6IFByb21pc2U8QnVmZmVyPiB7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHJldHVybiBCdWZmZXIuZnJvbSh2YWx1ZSk7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikgcmV0dXJuIHZhbHVlO1xuICBpZiAodHlwZW9mICh2YWx1ZSBhcyBhbnkpPy5bU3ltYm9sLmFzeW5jSXRlcmF0b3JdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCBjaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiB2YWx1ZSBhcyBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+KSB7XG4gICAgICBjaHVua3MucHVzaChCdWZmZXIuZnJvbShjaHVuaykpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICB9XG4gIGlmICh0eXBlb2YgKHZhbHVlIGFzIGFueSk/LmdldFJlYWRlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgY29uc3QgcmVhZGVyID0gKHZhbHVlIGFzIFJlYWRhYmxlU3RyZWFtKS5nZXRSZWFkZXIoKTtcbiAgICBjb25zdCBjaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgd2hpbGUgKCFyZXN1bHQuZG9uZSkge1xuICAgICAgY2h1bmtzLnB1c2goQnVmZmVyLmZyb20ocmVzdWx0LnZhbHVlIGFzIFVpbnQ4QXJyYXkpKTtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KGNodW5rcyk7XG4gIH1cbiAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgVW5zdXBwb3J0ZWQgYmxvYiB2YWx1ZSB0eXBlOiAke3R5cGVvZiB2YWx1ZX1gKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24qIHN0cmVhbVRvQXN5bmNJdGVyYWJsZShcbiAgc3RyZWFtOiBSZWFkU3RyZWFtXG4pOiBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+IHtcbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBzdHJlYW0pIHtcbiAgICB5aWVsZCBjaHVuayBhcyBVaW50OEFycmF5O1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhbGtEaXIoZGlyOiBzdHJpbmcsIGFjYzogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGVudHJpZXM6IHN0cmluZ1tdO1xuICB0cnkge1xuICAgIGVudHJpZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoKGUgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlID09PSBcIkVOT0VOVFwiKSByZXR1cm47XG4gICAgdGhyb3cgZTtcbiAgfVxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBpZiAoZW50cnkuZW5kc1dpdGgoXCIudG1wXCIpKSBjb250aW51ZTtcbiAgICBjb25zdCBmdWxsID0gam9pbihkaXIsIGVudHJ5KTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMuc3RhdChmdWxsKTtcbiAgICBpZiAoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICBhd2FpdCB3YWxrRGlyKGZ1bGwsIGFjYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjYy5wdXNoKGZ1bGwpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -4,4 +4,4 @@
4
4
  * @description Re-exports the local filesystem blob store service.
5
5
  */
6
6
  export * from "./LocalBlobStoreService.js";
7
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9sb2NhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsMkNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2xvY2FsXG4gKiBAc3VtbWFyeSBMb2NhbCBmaWxlc3lzdGVtIGJsb2Igc3RvcmUgZXhwb3J0cy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBsb2NhbCBmaWxlc3lzdGVtIGJsb2Igc3RvcmUgc2VydmljZS5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vTG9jYWxCbG9iU3RvcmVTZXJ2aWNlXCI7XG4iXX0=
@@ -138,4 +138,4 @@ export class MemoryBlobStoreService extends BlobStoreService {
138
138
  return new InternalError(`Memory blob error: ${error.message}`);
139
139
  }
140
140
  }
141
- //# sourceMappingURL=MemoryBlobStoreService.js.map
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5QmxvYlN0b3JlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ibG9iL21lbW9yeS9NZW1vcnlCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQWdELGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNiLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsK0JBQTBCO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQ0FBaUM7QUFxQjVELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFHM0M7SUFDVSxLQUFLLENBQUMsVUFBVSxDQUN2QixHQUFHLElBQXlCO1FBSzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBeUIsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FDUCxHQUFZLEVBQ1osS0FBZ0IsRUFDaEIsVUFBMEIsRUFBRSxFQUM1QixHQUFHLElBQTZCO1FBRWhDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRSxHQUFHLENBQUMsT0FBTyxD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Q2hDLEtBQUssWUFBWSxhQUFhLEVBQzlCLENBQUM7WUFDRCxPQUFPLEtBQWMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsc0JBQXVCLEtBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FDakQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9tZW1vcnkvc2VydmljZVxuICogQHN1bW1hcnkgSW4tbWVtb3J5IGJsb2Igc3RvcmUgc2VydmljZS5cbiAqIEBkZXNjcmlwdGlvbiBQcm9jZXNzLWxvY2FsIE1hcC1iYWNrZWQgYmxvYiBzdG9yZSBmb3IgdGVzdHMgYW5kIGV4YW1wbGVzLiBObyBTREsgZGVwZW5kZW5jeS5cbiAqL1xuaW1wb3J0IHsgdHlwZSBDb250ZXh0dWFsQXJncywgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsIFVuc3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbmZsaWN0RXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBjb2xsZWN0VG9CdWZmZXIsIGNvbXB1dGVTaGEyNTYsIHRvQXN5bmNJdGVyYWJsZSB9IGZyb20gXCIuLi9jb3JlL0Jsb2JWYWx1ZVwiO1xuaW1wb3J0IHsgQmxvYlN0b3JlU2VydmljZSB9IGZyb20gXCIuLi9jb3JlL0Jsb2JTdG9yZVNlcnZpY2VcIjtcbmltcG9ydCB0eXBlIHtcbiAgQmxvYkdldE9wdGlvbnMsXG4gIEJsb2JHZXRSZXN1bHQsXG4gIEJsb2JLZXksXG4gIEJsb2JMaXN0T3B0aW9ucyxcbiAgQmxvYkxpc3RSZXN1bHQsXG4gIEJsb2JNZXRhZGF0YSxcbiAgQmxvYlB1dE9wdGlvbnMsXG4gIEJsb2JQdXRSZXN1bHQsXG4gIEJsb2JTdG9yZVNlcnZpY2VDb25maWcsXG4gIEJsb2JVcmxPcHRpb25zLFxuICBCbG9iVXJsUmVzdWx0LFxuICBCbG9iVmFsdWUsXG59IGZyb20gXCIuLi9jb3JlL0Jsb2JUeXBlc1wiO1xuXG5pbnRlcmZhY2UgTWVtb3J5RW50cnkge1xuICB2YWx1ZTogQnVmZmVyO1xuICBtZXRhZGF0YTogQmxvYk1ldGFkYXRhO1xufVxuXG5leHBvcnQgY2xhc3MgTWVtb3J5QmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2U8XG4gIE1hcDxzdHJpbmcsIE1lbW9yeUVudHJ5PixcbiAgQmxvYlN0b3JlU2VydmljZUNvbmZpZ1xuPiB7XG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHtcbiAgICBjb25maWc6IEJsb2JTdG9yZVNlcnZpY2VDb25maWc7XG4gICAgY2xpZW50OiBNYXA8c3RyaW5nLCBNZW1vcnlFbnRyeT47XG4gIH0+IHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzPEJsb2JTdG9yZVNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jbGllbnQgPSBuZXcgTWFwPHN0cmluZywgTWVtb3J5RW50cnk+KCk7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQ6IHRoaXMuX2NsaWVudCB9O1xuICB9XG5cbiAgYXN5bmMgcHV0KFxuICAgIGtleTogQmxvYktleSxcbiAgICB2YWx1ZTogQmxvYlZhbHVlLFxuICAgIG9wdGlvbnM6IEJsb2JQdXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iUHV0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInB1dFwiLCB0cnVlKSkuZm9yKHRoaXMucHV0KTtcbiAgICBsb2cudmVyYm9zZShgUHV0dGluZyBibG9iICR7a2V5fWApO1xuXG4gICAgY29uc3QgcGh5c2ljYWxLZXkgPSB0aGlzLnBoeXNpY2FsS2V5KGtleSk7XG5cbiAgICBpZiAob3B0aW9ucy5pZk5vdEV4aXN0cyAmJiB0aGlzLmNsaWVudC5oYXMocGh5c2ljYWxLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihgQmxvYiBhbHJlYWR5IGV4aXN0czogJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY29sbGVjdFRvQnVmZmVyKHZhbHVlKTtcbiAgICBjb25zdCBzaGEyNTYgPSBhd2FpdCBjb21wdXRlU2hhMjU2KGJ1ZmZlcik7XG5cbiAgICBpZiAob3B0aW9ucy5leHBlY3RlZFNoYTI1NiAmJiBvcHRpb25zLmV4cGVjdGVkU2hhMjU2ICE9PSBzaGEyNTYpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYENoZWNrc3VtIG1pc21hdGNoIGZvciAke2tleX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhZGF0YTogQmxvYk1ldGFkYXRhID0ge1xuICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUsXG4gICAgICBjb250ZW50TGVuZ3RoOiBidWZmZXIubGVuZ3RoLFxuICAgICAgc2hhMjU2LFxuICAgICAgY3VzdG9tOiBvcHRpb25zLm1ldGFkYXRhLFxuICAgIH07XG5cbiAgICB0aGlzLmNsaWVudC5zZXQocGh5c2ljYWxLZXksIHsgdmFsdWU6IGJ1ZmZlciwgbWV0YWRhdGEgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAga2V5LFxuICAgICAgdXJpOiB0aGlzLnVyaShrZXksIFwibWVtb3J5XCIpLFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgIG1ldGFkYXRhLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBnZXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIG9wdGlvbnM6IEJsb2JHZXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iR2V0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImdldFwiLCB0cnVlKSkuZm9yKHRoaXMuZ2V0KTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBibG9iICR7a2V5fWApO1xuXG4gICAgY29uc3QgcGh5c2ljYWxLZXkgPSB0aGlzLnBoeXNpY2FsS2V5KGtleSk7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmNsaWVudC5nZXQocGh5c2ljYWxLZXkpO1xuXG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2tleX1gKTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IEJsb2JWYWx1ZSA9IGVudHJ5LnZhbHVlO1xuICAgIGlmIChvcHRpb25zLnJhbmdlKSB7XG4gICAgICBjb25zdCBzdGFydCA9IG9wdGlvbnMucmFuZ2Uuc3RhcnQ7XG4gICAgICBjb25zdCBlbmQgPSBvcHRpb25zLnJhbmdlLmVuZCA/PyBlbnRyeS52YWx1ZS5sZW5ndGg7XG4gICAgICB2YWx1ZSA9IGVudHJ5LnZhbHVlLnN1YmFycmF5KHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICB2YWx1ZTogdG9Bc3luY0l0ZXJhYmxlKHZhbHVlKSxcbiAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcIm1lbW9yeVwiKSxcbiAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICBtZXRhZGF0YTogZW50cnkubWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGhhcyhcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImhhc1wiLCB0cnVlKSkuZm9yKHRoaXMuaGFzKTtcbiAgICBsb2cudmVyYm9zZShgQ2hlY2tpbmcgYmxvYiAke2tleX1gKTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuaGFzKHRoaXMucGh5c2ljYWxLZXkoa2V5KSk7XG4gIH1cblxuICBhc3luYyBzdGF0KFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JNZXRhZGF0YT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdGF0XCIsIHRydWUpKS5mb3IodGhpcy5zdGF0KTtcbiAgICBsb2cudmVyYm9zZShgU3RhdHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2xpZW50LmdldCh0aGlzLnBoeXNpY2FsS2V5KGtleSkpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgfVxuICAgIHJldHVybiBlbnRyeS5tZXRhZGF0YTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgYmxvYiAke2tleX1gKTtcbiAgICB0aGlzLmNsaWVudC5kZWxldGUodGhpcy5waHlzaWNhbEtleShrZXkpKTtcbiAgfVxuXG4gIGFzeW5jIGNvcHkoXG4gICAgZnJvbUtleTogQmxvYktleSxcbiAgICB0b0tleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iUHV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlB1dFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjb3B5XCIsIHRydWUpKS5mb3IodGhpcy5jb3B5KTtcbiAgICBsb2cudmVyYm9zZShgQ29weWluZyBibG9iICR7ZnJvbUtleX0gdG8gJHt0b0tleX1gKTtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLmNsaWVudC5nZXQodGhpcy5waHlzaWNhbEtleShmcm9tS2V5KSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtmcm9tS2V5fWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wdXQodG9LZXksIHNvdXJjZS52YWx1ZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlID8/IHNvdXJjZS5tZXRhZGF0YS5jb250ZW50VHlwZSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxpc3QoXG4gICAgb3B0aW9uczogQmxvYkxpc3RPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iTGlzdFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICBsb2cudmVyYm9zZShcIkxpc3RpbmcgYmxvYnNcIik7XG5cbiAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeCA/IHRoaXMucGh5c2ljYWxLZXkob3B0aW9ucy5wcmVmaXgpIDogXCJcIjtcbiAgICBjb25zdCBhbGxLZXlzID0gQXJyYXkuZnJvbSh0aGlzLmNsaWVudC5rZXlzKCkpXG4gICAgICAuZmlsdGVyKChrKSA9PiAocHJlZml4ID8gay5zdGFydHNXaXRoKHByZWZpeCkgOiB0cnVlKSlcbiAgICAgIC5zb3J0KCk7XG5cbiAgICBjb25zdCBsaW1pdCA9IG9wdGlvbnMubGltaXQgPz8gMTAwMDtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gb3B0aW9ucy5jdXJzb3IgPyBOdW1iZXIob3B0aW9ucy5jdXJzb3IpIDogMDtcbiAgICBjb25zdCBzbGljZSA9IGFsbEtleXMuc2xpY2Uoc3RhcnRJbmRleCwgc3RhcnRJbmRleCArIGxpbWl0KTtcbiAgICBjb25zdCBuZXh0Q3Vyc29yID1cbiAgICAgIHN0YXJ0SW5kZXggKyBsaW1pdCA8IGFsbEtleXMubGVuZ3RoXG4gICAgICAgID8gU3RyaW5nKHN0YXJ0SW5kZXggKyBsaW1pdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXRlbXM6IHNsaWNlLm1hcCgoaykgPT4gKHtcbiAgICAgICAga2V5OiBrLFxuICAgICAgICBtZXRhZGF0YTogdGhpcy5jbGllbnQuZ2V0KGspPy5tZXRhZGF0YSxcbiAgICAgIH0pKSxcbiAgICAgIGN1cnNvcjogbmV4dEN1cnNvcixcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgdXJsKFxuICAgIGtleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iVXJsT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlVybFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJ1cmxcIiwgdHJ1ZSkpLmZvcih0aGlzLnVybCk7XG4gICAgbG9nLnZlcmJvc2UoYEJ1aWxkaW5nIHVybCBmb3IgYmxvYiAke2tleX1gKTtcbiAgICBpZiAob3B0aW9ucy5vcGVyYXRpb24gJiYgb3B0aW9ucy5vcGVyYXRpb24gIT09IFwiZ2V0XCIpIHtcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiTWVtb3J5IGJsb2Igc3RvcmUgZG9lcyBub3Qgc3VwcG9ydCBQVVQgdXJsc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogdGhpcy51cmkoa2V5LCBcIm1lbW9yeVwiKSxcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoXG4gICAgICAgIERhdGUubm93KCkgKyAob3B0aW9ucy5leHBpcmVzSW5TZWNvbmRzID8/IDMwMCkgKiAxMDAwXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogdW5rbm93bik6IEVycm9yIHtcbiAgICBpZiAoXG4gICAgICBlcnJvciBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IgfHxcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgQ29uZmxpY3RFcnJvciB8fFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgfHxcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgSW50ZXJuYWxFcnJvclxuICAgICkge1xuICAgICAgcmV0dXJuIGVycm9yIGFzIEVycm9yO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgTWVtb3J5IGJsb2IgZXJyb3I6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWBcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -4,4 +4,4 @@
4
4
  * @description Re-exports the in-memory blob store service.
5
5
  */
6
6
  export * from "./MemoryBlobStoreService.js";
7
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9tZW1vcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILDRDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9tZW1vcnlcbiAqIEBzdW1tYXJ5IEluLW1lbW9yeSBibG9iIHN0b3JlIGV4cG9ydHMuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgaW4tbWVtb3J5IGJsb2Igc3RvcmUgc2VydmljZS5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vTWVtb3J5QmxvYlN0b3JlU2VydmljZVwiO1xuIl19
@@ -6,4 +6,4 @@
6
6
  import { S3BlobStoreService } from "./S3BlobStoreService.js";
7
7
  export class MinioBlobStoreService extends S3BlobStoreService {
8
8
  }
9
- //# sourceMappingURL=MinioBlobStoreService.js.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluaW9CbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvczMvTWluaW9CbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0NBQTZCO0FBRTFELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9zMy9taW5pb1xuICogQHN1bW1hcnkgTWluSU8gYmxvYiBzdG9yZSBzZXJ2aWNlLlxuICogQGRlc2NyaXB0aW9uIFMzLWNvbXBhdGlibGUgYmxvYiBzdG9yZSBmb3IgTWluSU8uIEV4dGVuZHMgUzNCbG9iU3RvcmVTZXJ2aWNlLlxuICovXG5pbXBvcnQgeyBTM0Jsb2JTdG9yZVNlcnZpY2UgfSBmcm9tIFwiLi9TM0Jsb2JTdG9yZVNlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIE1pbmlvQmxvYlN0b3JlU2VydmljZSBleHRlbmRzIFMzQmxvYlN0b3JlU2VydmljZSB7fVxuIl19
@@ -6,4 +6,4 @@
6
6
  import { S3BlobStoreService } from "./S3BlobStoreService.js";
7
7
  export class R2BlobStoreService extends S3BlobStoreService {
8
8
  }
9
- //# sourceMappingURL=R2BlobStoreService.js.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUjJCbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvczMvUjJCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0NBQTZCO0FBRTFELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9zMy9yMlxuICogQHN1bW1hcnkgQ2xvdWRmbGFyZSBSMiBibG9iIHN0b3JlIHNlcnZpY2UuXG4gKiBAZGVzY3JpcHRpb24gUzMtY29tcGF0aWJsZSBibG9iIHN0b3JlIGZvciBDbG91ZGZsYXJlIFIyLiBFeHRlbmRzIFMzQmxvYlN0b3JlU2VydmljZS5cbiAqL1xuaW1wb3J0IHsgUzNCbG9iU3RvcmVTZXJ2aWNlIH0gZnJvbSBcIi4vUzNCbG9iU3RvcmVTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBSMkJsb2JTdG9yZVNlcnZpY2UgZXh0ZW5kcyBTM0Jsb2JTdG9yZVNlcnZpY2Uge31cbiJdfQ==
@@ -314,4 +314,4 @@ export class S3BlobStoreService extends BlobStoreService {
314
314
  }
315
315
  }
316
316
  }
317
- //# sourceMappingURL=S3BlobStoreService.js.map
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNCbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvczMvUzNCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLFFBQVEsR0FFVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLGVBQWUsRUFDZixjQUFjLEVBRWQsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNiLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0NBQWlDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSwrQkFBMEI7QUFnQnBGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFHdkM7SUFDVSxLQUFLLENBQUMsVUFBVSxDQUN2QixHQUFHLElBQXlCO1FBSzVCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUNkLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUM1QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUEyQixHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJ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QUFPLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLENBQUMsQ0FBQztnQkFDM0QsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBYyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvYmxvYi9zMy9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBTMy1jb21wYXRpYmxlIGJsb2Igc3RvcmUgc2VydmljZS5cbiAqIEBkZXNjcmlwdGlvbiBCbG9iIHN0b3JlIGJhY2tlZCBieSBBV1MgUzMsIE1pbklPLCBhbmQgQ2xvdWRmbGFyZSBSMiB2aWEgdGhlIEFXUyBTREsgdjMgUzNDbGllbnQuXG4gKi9cbmltcG9ydCB7XG4gIENvcHlPYmplY3RDb21tYW5kLFxuICBDcmVhdGVCdWNrZXRDb21tYW5kLFxuICBEZWxldGVPYmplY3RDb21tYW5kLFxuICBHZXRPYmplY3RDb21tYW5kLFxuICBIZWFkT2JqZWN0Q29tbWFuZCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmQsXG4gIFB1dE9iamVjdENvbW1hbmQsXG4gIFMzQ2xpZW50LFxuICB0eXBlIFMzQ2xpZW50Q29uZmlnLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBnZXRTaWduZWRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvczMtcmVxdWVzdC1wcmVzaWduZXJcIjtcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgdHlwZSBDb250ZXh0dWFsQXJncyxcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBGb3JiaWRkZW5FcnJvcixcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEJsb2JTdG9yZVNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9CbG9iU3RvcmVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBjb2xsZWN0VG9CdWZmZXIsIGNvbXB1dGVTaGEyNTYsIHRvQXN5bmNJdGVyYWJsZSB9IGZyb20gXCIuLi9jb3JlL0Jsb2JWYWx1ZVwiO1xuaW1wb3J0IHR5cGUge1xuICBCbG9iR2V0T3B0aW9ucyxcbiAgQmxvYkdldFJlc3VsdCxcbiAgQmxvYktleSxcbiAgQmxvYkxpc3RPcHRpb25zLFxuICBCbG9iTGlzdFJlc3VsdCxcbiAgQmxvYk1ldGFkYXRhLFxuICBCbG9iUHV0T3B0aW9ucyxcbiAgQmxvYlB1dFJlc3VsdCxcbiAgQmxvYlVybE9wdGlvbnMsXG4gIEJsb2JVcmxSZXN1bHQsXG4gIEJsb2JWYWx1ZSxcbiAgUzNCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnLFxufSBmcm9tIFwiLi4vY29yZS9CbG9iVHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIFMzQmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2U8XG4gIFMzQ2xpZW50LFxuICBTM0Jsb2JTdG9yZVNlcnZpY2VDb25maWdcbj4ge1xuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPGFueT5cbiAgKTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBTM0Jsb2JTdG9yZVNlcnZpY2VDb25maWc7XG4gICAgY2xpZW50OiBTM0NsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImluaXRpYWxpemVcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgIGNvbnN0IGNvbmZpZyA9XG4gICAgICB0aGlzLmdldENvbmZpZ0Zyb21BcmdzPFMzQmxvYlN0b3JlU2VydmljZUNvbmZpZz4oLi4uYXJncyk7XG4gICAgaWYgKCFjb25maWcuYnVja2V0KSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIlMzQmxvYlN0b3JlU2VydmljZSByZXF1aXJlcyBhIGJ1Y2tldFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjbGllbnRDb25maWc6IFMzQ2xpZW50Q29uZmlnID0ge1xuICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uLFxuICAgICAgZW5kcG9pbnQ6IGNvbmZpZy5lbmRwb2ludCxcbiAgICAgIGZvcmNlUGF0aFN0eWxlOiBjb25maWcuZm9yY2VQYXRoU3R5bGUsXG4gICAgICBtYXhBdHRlbXB0czogY29uZmlnLm1heFJldHJpZXMsXG4gICAgfTtcbiAgICBpZiAoY29uZmlnLmNyZWRlbnRpYWxzKSB7XG4gICAgICBjbGllbnRDb25maWcuY3JlZGVudGlhbHMgPSB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiBjb25maWcuY3JlZGVudGlhbHMuYWNjZXNzS2V5SWQsXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogY29uZmlnLmNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleSxcbiAgICAgICAgc2Vzc2lvblRva2VuOiBjb25maWcuY3JlZGVudGlhbHMuc2Vzc2lvblRva2VuLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBjbGllbnQgPSBuZXcgUzNDbGllbnQoY2xpZW50Q29uZmlnKTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuXG4gICAgaWYgKGNvbmZpZy5hdXRvQ3JlYXRlQnVja2V0KSB7XG4gICAgICBhd2FpdCB0aGlzLmVuc3VyZUJ1Y2tldChsb2cpO1xuICAgIH1cblxuICAgIGxvZy52ZXJib3NlKGBJbml0aWFsaXplZCBTMyBibG9iIHN0b3JlICR7Y29uZmlnLnNvdXJjZUlkfWApO1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBwdXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIHZhbHVlOiBCbG9iVmFsdWUsXG4gICAgb3B0aW9uczogQmxvYlB1dE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JQdXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicHV0XCIsIHRydWUpKS5mb3IodGhpcy5wdXQpO1xuICAgIGxvZy52ZXJib3NlKGBQdXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3Qgb2JqZWN0S2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuXG4gICAgaWYgKG9wdGlvbnMuaWZOb3RFeGlzdHMpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmhhcyhrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBDb25mbGljdEVycm9yKGBCbG9iIGFscmVhZHkgZXhpc3RzOiAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgY29sbGVjdFRvQnVmZmVyKHZhbHVlKTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVjdGVkU2hhMjU2KSB7XG4gICAgICBjb25zdCBzaGEyNTYgPSBhd2FpdCBjb21wdXRlU2hhMjU2KGJvZHkpO1xuICAgICAgaWYgKG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgIT09IHNoYTI1Nikge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDaGVja3N1bSBtaXNtYXRjaCBmb3IgJHtrZXl9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IFB1dE9iamVjdENvbW1hbmQoe1xuICAgICAgICAgIEJ1Y2tldDogdGhpcy5jb25maWcuYnVja2V0LFxuICAgICAgICAgIEtleTogb2JqZWN0S2V5LFxuICAgICAgICAgIEJvZHk6IGJvZHksXG4gICAgICAgICAgQ29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUsXG4gICAgICAgICAgTWV0YWRhdGE6IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgY29uc3QgbWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUsXG4gICAgICAgIGNvbnRlbnRMZW5ndGg6IGJvZHkubGVuZ3RoLFxuICAgICAgICBldGFnOiByZXNwb25zZS5FVGFnPy5yZXBsYWNlKC9cIi9nLCBcIlwiKSxcbiAgICAgICAgdmVyc2lvbklkOiByZXNwb25zZS5WZXJzaW9uSWQsXG4gICAgICAgIGN1c3RvbTogb3B0aW9ucy5tZXRhZGF0YSxcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksXG4gICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcInMzXCIsIHJlc3BvbnNlLlZlcnNpb25JZCA/IGB2ZXJzaW9uSWQ9JHtyZXNwb25zZS5WZXJzaW9uSWR9YCA6IHVuZGVmaW5lZCksXG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYkdldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JHZXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZ2V0XCIsIHRydWUpKS5mb3IodGhpcy5nZXQpO1xuICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3Qgb2JqZWN0S2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IEdldE9iamVjdENvbW1hbmQoe1xuICAgICAgICAgIEJ1Y2tldDogdGhpcy5jb25maWcuYnVja2V0LFxuICAgICAgICAgIEtleTogb2JqZWN0S2V5LFxuICAgICAgICAgIFJhbmdlOiBvcHRpb25zLnJhbmdlXG4gICAgICAgICAgICA/IGBieXRlcz0ke29wdGlvbnMucmFuZ2Uuc3RhcnR9LSR7b3B0aW9ucy5yYW5nZS5lbmQgPz8gXCJcIn1gXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBWZXJzaW9uSWQ6IG9wdGlvbnMudmVyc2lvbklkLFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgY29uc3QgYm9keSA9IHJlc3BvbnNlLkJvZHkgYXMgYW55O1xuICAgICAgY29uc3QgbWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgICAgY29udGVudFR5cGU6IHJlc3BvbnNlLkNvbnRlbnRUeXBlLFxuICAgICAgICBjb250ZW50TGVuZ3RoOiByZXNwb25zZS5Db250ZW50TGVuZ3RoLFxuICAgICAgICBldGFnOiByZXNwb25zZS5FVGFnPy5yZXBsYWNlKC9cIi9nLCBcIlwiKSxcbiAgICAgICAgdmVyc2lvbklkOiByZXNwb25zZS5WZXJzaW9uSWQsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlOiB0b0FzeW5jSXRlcmFibGUoYm9keSksXG4gICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcInMzXCIsIHJlc3BvbnNlLlZlcnNpb25JZCA/IGB2ZXJzaW9uSWQ9JHtyZXNwb25zZS5WZXJzaW9uSWR9YCA6IHVuZGVmaW5lZCksXG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhcyhcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImhhc1wiLCB0cnVlKSkuZm9yKHRoaXMuaGFzKTtcbiAgICBsb2cudmVyYm9zZShgQ2hlY2tpbmcgYmxvYiAke2tleX1gKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zdGF0KGtleSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzdGF0KFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JNZXRhZGF0YT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdGF0XCIsIHRydWUpKS5mb3IodGhpcy5zdGF0KTtcbiAgICBsb2cudmVyYm9zZShgU3RhdHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCBvYmplY3RLZXkgPSB0aGlzLnBoeXNpY2FsS2V5KGtleSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IEhlYWRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgICBCdWNrZXQ6IHRoaXMuY29uZmlnLmJ1Y2tldCxcbiAgICAgICAgICBLZXk6IG9iamVjdEtleSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50VHlwZTogcmVzcG9uc2UuQ29udGVudFR5cGUsXG4gICAgICAgIGNvbnRlbnRMZW5ndGg6IHJlc3BvbnNlLkNvbnRlbnRMZW5ndGgsXG4gICAgICAgIGV0YWc6IHJlc3BvbnNlLkVUYWc/LnJlcGxhY2UoL1wiL2csIFwiXCIpLFxuICAgICAgICB2ZXJzaW9uSWQ6IHJlc3BvbnNlLlZlcnNpb25JZCxcbiAgICAgICAgY3VzdG9tOiByZXNwb25zZS5NZXRhZGF0YSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZGVsZXRlXCIsIHRydWUpKS5mb3IodGhpcy5kZWxldGUpO1xuICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IG9iamVjdEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IERlbGV0ZU9iamVjdENvbW1hbmQoe1xuICAgICAgICAgIEJ1Y2tldDogdGhpcy5jb25maWcuYnVja2V0LFxuICAgICAgICAgIEtleTogb2JqZWN0S2V5LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb3B5KFxuICAgIGZyb21LZXk6IEJsb2JLZXksXG4gICAgdG9LZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlB1dE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JQdXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY29weVwiLCB0cnVlKSkuZm9yKHRoaXMuY29weSk7XG4gICAgbG9nLnZlcmJvc2UoYENvcHlpbmcgYmxvYiAke2Zyb21LZXl9IHRvICR7dG9LZXl9YCk7XG4gICAgY29uc3QgZnJvbSA9IHRoaXMucGh5c2ljYWxLZXkoZnJvbUtleSk7XG4gICAgY29uc3QgdG8gPSB0aGlzLnBoeXNpY2FsS2V5KHRvS2V5KTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuICAgICAgICBuZXcgQ29weU9iamVjdENvbW1hbmQoe1xuICAgICAgICAgIEJ1Y2tldDogdGhpcy5jb25maWcuYnVja2V0LFxuICAgICAgICAgIENvcHlTb3VyY2U6IGAke3RoaXMuY29uZmlnLmJ1Y2tldH0vJHtmcm9tfWAsXG4gICAgICAgICAgS2V5OiB0byxcbiAgICAgICAgICBDb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgICAgICBNZXRhZGF0YTogb3B0aW9ucy5tZXRhZGF0YSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBjb25zdCBtZXRhZGF0YTogQmxvYk1ldGFkYXRhID0ge1xuICAgICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgICAgZXRhZzogcmVzcG9uc2UuQ29weU9iamVjdFJlc3VsdD8uRVRhZz8ucmVwbGFjZSgvXCIvZywgXCJcIiksXG4gICAgICAgIHZlcnNpb25JZDogcmVzcG9uc2UuVmVyc2lvbklkLFxuICAgICAgICBjdXN0b206IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiB0b0tleSxcbiAgICAgICAgdXJpOiB0aGlzLnVyaSh0b0tleSwgXCJzM1wiKSxcbiAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdChcbiAgICBvcHRpb25zOiBCbG9iTGlzdE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JMaXN0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImxpc3RcIiwgdHJ1ZSkpLmZvcih0aGlzLmxpc3QpO1xuICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBibG9ic1wiKTtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLnBoeXNpY2FsS2V5KG9wdGlvbnMucHJlZml4ID8/IFwiXCIpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBMaXN0T2JqZWN0c1YyQ29tbWFuZCh7XG4gICAgICAgICAgQnVja2V0OiB0aGlzLmNvbmZpZy5idWNrZXQsXG4gICAgICAgICAgUHJlZml4OiBwcmVmaXggfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIE1heEtleXM6IG9wdGlvbnMubGltaXQsXG4gICAgICAgICAgQ29udGludWF0aW9uVG9rZW46IG9wdGlvbnMuY3Vyc29yLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gKHJlc3BvbnNlLkNvbnRlbnRzID8/IFtdKS5tYXAoKG9iaikgPT4gKHtcbiAgICAgICAga2V5OiBvYmouS2V5IGFzIHN0cmluZyxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBjb250ZW50TGVuZ3RoOiBvYmouU2l6ZSxcbiAgICAgICAgICBldGFnOiBvYmouRVRhZz8ucmVwbGFjZSgvXCIvZywgXCJcIiksXG4gICAgICAgIH0gYXMgQmxvYk1ldGFkYXRhLFxuICAgICAgfSkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIGN1cnNvcjogcmVzcG9uc2UuSXNUcnVuY2F0ZWQgPyByZXNwb25zZS5OZXh0Q29udGludWF0aW9uVG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVybChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlVybE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JVcmxSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXJsXCIsIHRydWUpKS5mb3IodGhpcy51cmwpO1xuICAgIGxvZy52ZXJib3NlKGBCdWlsZGluZyB1cmwgZm9yIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3Qgb2JqZWN0S2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IG9wdGlvbnMub3BlcmF0aW9uID8/IFwiZ2V0XCI7XG4gICAgY29uc3QgZXhwaXJlc0luID0gb3B0aW9ucy5leHBpcmVzSW5TZWNvbmRzID8/IDMwMDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tbWFuZCA9XG4gICAgICAgIG9wZXJhdGlvbiA9PT0gXCJwdXRcIlxuICAgICAgICAgID8gbmV3IFB1dE9iamVjdENvbW1hbmQoe1xuICAgICAgICAgICAgICBCdWNrZXQ6IHRoaXMuY29uZmlnLmJ1Y2tldCxcbiAgICAgICAgICAgICAgS2V5OiBvYmplY3RLZXksXG4gICAgICAgICAgICAgIENvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlLFxuICAgICAgICAgICAgICBNZXRhZGF0YTogb3B0aW9ucy5tZXRhZGF0YSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgICAgICAgIEJ1Y2tldDogdGhpcy5jb25maWcuYnVja2V0LFxuICAgICAgICAgICAgICBLZXk6IG9iamVjdEtleSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgY29uc3QgdXJsID0gYXdhaXQgZ2V0U2lnbmVkVXJsKHRoaXMuY2xpZW50LCBjb21tYW5kLCB7IGV4cGlyZXNJbiB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybCxcbiAgICAgICAgbWV0aG9kOiBvcGVyYXRpb24gPT09IFwicHV0XCIgPyBcIlBVVFwiIDogXCJHRVRcIixcbiAgICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShEYXRlLm5vdygpICsgZXhwaXJlc0luICogMTAwMCksXG4gICAgICAgIGhlYWRlcnM6IG9wdGlvbnMuY29udGVudFR5cGVcbiAgICAgICAgICA/IHsgXCJDb250ZW50LVR5cGVcIjogb3B0aW9ucy5jb250ZW50VHlwZSB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogRXJyb3Ige1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGlmIChcbiAgICAgIGVyciBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIENvbmZsaWN0RXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIEF1dGhvcml6YXRpb25FcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgRm9yYmlkZGVuRXJyb3IgfHxcbiAgICAgIGVyciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgQ29ubmVjdGlvbkVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBVbnN1cHBvcnRlZEVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBJbnRlcm5hbEVycm9yXG4gICAgKSB7XG4gICAgICByZXR1cm4gZXJyO1xuICAgIH1cbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLm1lc3NhZ2UgfHwgZXJyLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXIgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbmFtZSA9IChlcnIgYXMgYW55KS5uYW1lIHx8IFwiXCI7XG4gICAgY29uc3Qgc3RhdHVzQ29kZSA9IChlcnIgYXMgYW55KT8uJG1ldGFkYXRhPy5odHRwU3RhdHVzQ29kZTtcblxuICAgIGlmIChcbiAgICAgIG5hbWUgPT09IFwiTm90Rm91bmRcIiB8fFxuICAgICAgbmFtZSA9PT0gXCJOb1N1Y2hLZXlcIiB8fFxuICAgICAgc3RhdHVzQ29kZSA9PT0gNDA0IHx8XG4gICAgICBsb3dlci5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fFxuICAgICAgbG93ZXIuaW5jbHVkZXMoXCJub3N1Y2hrZXlcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG5hbWUgPT09IFwiQnVja2V0QWxyZWFkeUV4aXN0c1wiIHx8XG4gICAgICBuYW1lID09PSBcIkJ1Y2tldEFscmVhZHlPd25lZEJ5WW91XCIgfHxcbiAgICAgIHN0YXR1c0NvZGUgPT09IDQwOSB8fFxuICAgICAgbG93ZXIuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fFxuICAgICAgbG93ZXIuaW5jbHVkZXMoXCJjb25mbGljdFwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKGVycik7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1c0NvZGUgPT09IDQwMSB8fCBsb3dlci5pbmNsdWRlcyhcInVuYXV0aG9yaXplZFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBBdXRob3JpemF0aW9uRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzQ29kZSA9PT0gNDAzIHx8IGxvd2VyLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlci5pbmNsdWRlcyhcImZvcmJpZGRlblwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBGb3JiaWRkZW5FcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChzdGF0dXNDb2RlID09PSA0MjkgfHwgbG93ZXIuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzQ29kZSA9PT0gNTAzIHx8IGxvd2VyLmluY2x1ZGVzKFwidGltZW91dFwiKSB8fCBsb3dlci5pbmNsdWRlcyhcInVuYXZhaWxhYmxlXCIpIHx8IGxvd2VyLmluY2x1ZGVzKFwiY29ubmVjdGlvblwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IoZXJyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZW5zdXJlQnVja2V0KGxvZzogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBDcmVhdGVCdWNrZXRDb21tYW5kKHsgQnVja2V0OiB0aGlzLmNvbmZpZy5idWNrZXQgfSlcbiAgICAgICk7XG4gICAgICBsb2cudmVyYm9zZShgQ3JlYXRlZCBidWNrZXQgJHt0aGlzLmNvbmZpZy5idWNrZXR9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSAoZXJyb3IgYXMgYW55KT8ubmFtZSB8fCBcIlwiO1xuICAgICAgaWYgKFxuICAgICAgICBuYW1lID09PSBcIkJ1Y2tldEFscmVhZHlFeGlzdHNcIiB8fFxuICAgICAgICBuYW1lID09PSBcIkJ1Y2tldEFscmVhZHlPd25lZEJ5WW91XCIgfHxcbiAgICAgICAgKGVycm9yIGFzIGFueSk/LiRtZXRhZGF0YT8uaHR0cFN0YXR1c0NvZGUgPT09IDQwOVxuICAgICAgKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBCdWNrZXQgJHt0aGlzLmNvbmZpZy5idWNrZXR9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@
6
6
  export * from "./S3BlobStoreService.js";
7
7
  export * from "./MinioBlobStoreService.js";
8
8
  export * from "./R2BlobStoreService.js";
9
- //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmxvYi9zMy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsd0NBQXFDO0FBQ3JDLDJDQUF3QztBQUN4Qyx3Q0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvczNcbiAqIEBzdW1tYXJ5IFMzLWNvbXBhdGlibGUgYmxvYiBzdG9yZSBleHBvcnRzLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIFMzLCBNaW5JTywgYW5kIFIyIGJsb2Igc3RvcmUgc2VydmljZXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL1MzQmxvYlN0b3JlU2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWluaW9CbG9iU3RvcmVTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SMkJsb2JTdG9yZVNlcnZpY2VcIjtcbiJdfQ==
@@ -137,4 +137,4 @@ DockerComposeService = __decorate([
137
137
  __metadata("design:paramtypes", [])
138
138
  ], DockerComposeService);
139
139
  export { DockerComposeService };
140
- //# sourceMappingURL=DockerComposeService.js.map
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9ja2VyQ29tcG9zZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9ja2VyL0RvY2tlckNvbXBvc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsa0JBQWtCLEVBR2xCLGVBQWUsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxlQUFlLEVBQUUsc0JBQWlCO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQW1CakQsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBcUIsU0FBUSxrQkFHekM7SUFDQztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUF5QjtRQUU1QixNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQ3ZCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQStCLENBQUM7UUFFeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksYUFBYSxDQUNyQixrREFBa0QsQ0FDbkQsQ0FBQztRQUNKLENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJ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QUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcscUJBQXFCLElBQUksQ0FBQyxlQUFlLE9BQU8sYUFBYSx5QkFBeUIsQ0FBQztZQUN2RyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxlQUFlLENBQ3RDLE9BQU8sRUFDUCxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ3hCLEdBQUcsQ0FDSixDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRSxHQUFHLENBQUMsS0FBSyxDQUNQLGFBQWEsYUFBYSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FDekUsQ0FBQztZQUNGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsYUFBYSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBO0FBMUxZLG9CQUFvQjtJQURoQyxXQUFXLENBQUMsZ0VBQWdFLENBQUM7O0dBQ2pFLG9CQUFvQixDQTBMaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmlwdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ2xpZW50QmFzZWRTZXJ2aWNlLFxuICBDb250ZXh0dWFsQXJncyxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBQZXJzaXN0ZW5jZUtleXMsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGV4ZWNXaXRoTG9nZ2luZyB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5pbnRlcmZhY2UgRG9ja2VyQ29tcG9zZVNlcnZpY2VDb25maWcge1xuICBjb21wb3NlRmlsZTogc3RyaW5nO1xuICB3b3JraW5nRGlyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRG9ja2VySGVhbHRoQ2hlY2tPcHRpb25zIHtcbiAgbWF4QXR0ZW1wdHM/OiBudW1iZXI7XG4gIGludGVydmFsPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hlbiB0cnVlIChkZWZhdWx0KSwgb25seSBIVFRQIDJ4eCByZXNwb25zZXMgY291bnQgYXMgaGVhbHRoeS5cbiAgICogV2hlbiBmYWxzZSwgYW55IEhUVFAgcmVzcG9uc2UgKGkuZS4gdGhlIHBvcnQgaXMgYWNjZXB0aW5nIGNvbm5lY3Rpb25zKSBjb3VudHMgYXMgaGVhbHRoeS5cbiAgICogU2V0IHRvIGZhbHNlIGZvciBlbXVsYXRvcnMgdGhhdCBkbyBub3QgZXhwb3NlIGFuIHVuYXV0aGVudGljYXRlZCAyeHggaGVhbHRoIGVuZHBvaW50LlxuICAgKi9cbiAgcmVxdWlyZU9rPzogYm9vbGVhbjtcbn1cblxuQGRlc2NyaXB0aW9uKFwiRG9ja2VyIENvbXBvc2Ugc2VydmljZSBmb3IgbWFuYWdpbmcgY29udGFpbmVyaXplZCBlbnZpcm9ubWVudHNcIilcbmV4cG9ydCBjbGFzcyBEb2NrZXJDb21wb3NlU2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VydmljZTxcbiAgdm9pZCxcbiAgRG9ja2VyQ29tcG9zZVNlcnZpY2VDb25maWdcbj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IERvY2tlckNvbXBvc2VTZXJ2aWNlQ29uZmlnOyBjbGllbnQ6IHZvaWQgfT4ge1xuICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuSU5JVElBTElaQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIERvY2tlckNvbXBvc2VTZXJ2aWNlQ29uZmlnO1xuXG4gICAgaWYgKCFjb25maWcuY29tcG9zZUZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkRvY2tlckNvbXBvc2VTZXJ2aWNlIHJlcXVpcmVzIGEgY29tcG9zZUZpbGUgcGF0aFwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGNvbXBvc2UgZmlsZSBleGlzdHNcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoY29uZmlnLmNvbXBvc2VGaWxlKSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBEb2NrZXIgY29tcG9zZSBmaWxlIG5vdCBmb3VuZDogJHtjb25maWcuY29tcG9zZUZpbGV9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsb2cuaW5mbyhgSW5pdGlhbGl6ZWQgd2l0aCBjb21wb3NlIGZpbGU6ICR7Y29uZmlnLmNvbXBvc2VGaWxlfWApO1xuXG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnOyAvLyBkb3VibGUgYXNzaWdubWVudCBidXQgYWxsb3dzIHRlc3RzIHRvIGJlIGNsZWFuZXJcblxuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50OiB1bmRlZmluZWQgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGZvciBkb2NrZXIgY29tcG9zZSBjb21tYW5kc1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB3b3JraW5nRGlyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLndvcmtpbmdEaXIgfHwgcGF0aC5kaXJuYW1lKHRoaXMuY29uZmlnLmNvbXBvc2VGaWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGJhc2VuYW1lIG9mIHRoZSBjb21wb3NlIGZpbGVcbiAgICovXG4gIHByb3RlY3RlZCBnZXQgY29tcG9zZUZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguYmFzZW5hbWUodGhpcy5jb25maWcuY29tcG9zZUZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IERvY2tlciBDb21wb3NlIHNlcnZpY2VzXG4gICAqL1xuICBhc3luYyB1cChkZXRhY2hlZCA9IHRydWUsIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMudXAsIHRydWUpO1xuICAgIGNvbnN0IGNvbW1hbmQgPSBgZG9ja2VyIGNvbXBvc2UgLWYgJHt0aGlzLmNvbXBvc2VGaWxlTmFtZX0gdXAgJHtkZXRhY2hlZCA/IFwiLWRcIiA6IFwiXCJ9YDtcblxuICAgIGF3YWl0IGV4ZWNXaXRoTG9nZ2luZyhjb21tYW5kLCB7IGN3ZDogdGhpcy53b3JraW5nRGlyIH0sIGxvZyk7XG4gICAgbG9nLmluZm8oYERvY2tlciBjb21wb3NlIHNlcnZpY2VzIHN0YXJ0ZWRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIERvY2tlciBDb21wb3NlIHNlcnZpY2VzXG4gICAqL1xuICBhc3luYyBkb3duKC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuZG93biwgdHJ1ZSk7XG4gICAgY29uc3QgY29tbWFuZCA9IGBkb2NrZXIgY29tcG9zZSAtZiAke3RoaXMuY29tcG9zZUZpbGVOYW1lfSBkb3duIC0tdm9sdW1lc2A7XG5cbiAgICBhd2FpdCBleGVjV2l0aExvZ2dpbmcoY29tbWFuZCwgeyBjd2Q6IHRoaXMud29ya2luZ0RpciB9LCBsb2cpO1xuICAgIGxvZy5pbmZvKGBEb2NrZXIgY29tcG9zZSBzZXJ2aWNlcyBzdG9wcGVkYCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdGFydCBEb2NrZXIgQ29tcG9zZSBzZXJ2aWNlc1xuICAgKi9cbiAgYXN5bmMgcmVzdGFydCguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55Pik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJlc3RhcnQsIHRydWUpO1xuICAgIGNvbnN0IGNvbW1hbmQgPSBgZG9ja2VyIGNvbXBvc2UgLWYgJHt0aGlzLmNvbXBvc2VGaWxlTmFtZX0gcmVzdGFydGA7XG5cbiAgICBhd2FpdCBleGVjV2l0aExvZ2dpbmcoY29tbWFuZCwgeyBjd2Q6IHRoaXMud29ya2luZ0RpciB9LCBsb2cpO1xuICAgIGxvZy5pbmZvKGBEb2NrZXIgY29tcG9zZSBzZXJ2aWNlcyByZXN0YXJ0ZWRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0IGZvciBzZXJ2aWNlIGhlYWx0aCBjaGVja1xuICAgKi9cbiAgYXN5bmMgd2FpdEZvckhlYWx0aChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiBEb2NrZXJIZWFsdGhDaGVja09wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgdGhpcy53YWl0Rm9ySGVhbHRoLCB0cnVlKTtcbiAgICBjb25zdCB7IG1heEF0dGVtcHRzID0gNjAsIGludGVydmFsID0gMjAwMCwgcmVxdWlyZU9rID0gdHJ1ZSB9ID0gb3B0aW9ucztcblxuICAgIGxvZy5pbmZvKGBXYWl0aW5nIGZvciBoZWFsdGggY2hlY2sgYXQgJHt1cmx9YCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heEF0dGVtcHRzOyBpKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgICAgICAgaWYgKCFyZXF1aXJlT2sgfHwgcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICBsb2cuaW5mbyhgSGVhbHRoIGNoZWNrIHBhc3NlZCBhZnRlciAke2kgKyAxfSBhdHRlbXB0c2ApO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2cuc2lsbHkoYEhlYWx0aCBjaGVjayBhdHRlbXB0ICR7aSArIDF9IGZhaWxlZGAsIGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgaW50ZXJ2YWwpKTtcbiAgICB9XG5cbiAgICBsb2cuZXJyb3IoYEhlYWx0aCBjaGVjayBmYWlsZWQgZm9yICR7dXJsfSBhZnRlciAke21heEF0dGVtcHRzfSBhdHRlbXB0c2ApO1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgYEhlYWx0aCBjaGVjayBmYWlsZWQgZm9yICR7dXJsfSBhZnRlciAke21heEF0dGVtcHRzfSBhdHRlbXB0c2BcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBjb21tYW5kIGluIGEgc3BlY2lmaWMgY29udGFpbmVyXG4gICAqL1xuICBhc3luYyBleGVjSW5Db250YWluZXIoXG4gICAgY29udGFpbmVyTmFtZTogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmV4ZWNJbkNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgY29uc3QgZnVsbENvbW1hbmQgPSBgZG9ja2VyIGNvbXBvc2UgLWYgJHt0aGlzLmNvbXBvc2VGaWxlTmFtZX0gZXhlYyAke2NvbnRhaW5lck5hbWV9ICR7Y29tbWFuZH1gO1xuXG4gICAgY29uc3QgeyBzdGRvdXQgfSA9IGF3YWl0IGV4ZWNXaXRoTG9nZ2luZyhcbiAgICAgIGZ1bGxDb21tYW5kLFxuICAgICAgeyBjd2Q6IHRoaXMud29ya2luZ0RpciB9LFxuICAgICAgbG9nXG4gICAgKTtcblxuICAgIGxvZy5pbmZvKGBFeGVjdXRlZCBjb21tYW5kIGluIGNvbnRhaW5lciAke2NvbnRhaW5lck5hbWV9YCk7XG4gICAgcmV0dXJuIHN0ZG91dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29udGFpbmVyIGxvZ3NcbiAgICovXG4gIGFzeW5jIGdldExvZ3MoXG4gICAgY29udGFpbmVyTmFtZT86IHN0cmluZyxcbiAgICB0YWlsID0gMTAwLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuZ2V0TG9ncywgdHJ1ZSk7XG4gICAgY29uc3QgY29udGFpbmVyQXJnID0gY29udGFpbmVyTmFtZSA/IGNvbnRhaW5lck5hbWUgOiBcIlwiO1xuICAgIGNvbnN0IGNvbW1hbmQgPSBgZG9ja2VyIGNvbXBvc2UgLWYgJHt0aGlzLmNvbXBvc2VGaWxlTmFtZX0gbG9ncyAke2NvbnRhaW5lckFyZ30gLS10YWlsPSR7dGFpbH1gO1xuXG4gICAgY29uc3QgeyBzdGRvdXQgfSA9IGF3YWl0IGV4ZWNXaXRoTG9nZ2luZyhcbiAgICAgIGNvbW1hbmQsXG4gICAgICB7IGN3ZDogdGhpcy53b3JraW5nRGlyIH0sXG4gICAgICBsb2dcbiAgICApO1xuXG4gICAgbG9nLmluZm8oYFJldHJpZXZlZCBsb2dzIGZvciAke2NvbnRhaW5lck5hbWUgfHwgXCJhbGwgY29udGFpbmVyc1wifWApO1xuICAgIHJldHVybiBzdGRvdXQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSBjb250YWluZXIgaXMgcnVubmluZ1xuICAgKi9cbiAgYXN5bmMgaXNSdW5uaW5nKFxuICAgIGNvbnRhaW5lck5hbWU6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgdGhpcy5pc1J1bm5pbmcsIHRydWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBgZG9ja2VyIGNvbXBvc2UgLWYgJHt0aGlzLmNvbXBvc2VGaWxlTmFtZX0gcHMgJHtjb250YWluZXJOYW1lfSAtLWZvcm1hdCBcInt7LlN0YXR1c319XCJgO1xuICAgICAgY29uc3QgeyBzdGRvdXQgfSA9IGF3YWl0IGV4ZWNXaXRoTG9nZ2luZyhcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgeyBjd2Q6IHRoaXMud29ya2luZ0RpciB9LFxuICAgICAgICBsb2dcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGlzUnVubmluZyA9IHN0ZG91dC50cmltKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcInJ1bm5pbmdcIik7XG4gICAgICBsb2cuc2lsbHkoXG4gICAgICAgIGBDb250YWluZXIgJHtjb250YWluZXJOYW1lfSBpcyAke2lzUnVubmluZyA/IFwicnVubmluZ1wiIDogXCJub3QgcnVubmluZ1wifWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gaXNSdW5uaW5nO1xuICAgIH0gY2F0Y2gge1xuICAgICAgbG9nLnNpbGx5KGBDb250YWluZXIgJHtjb250YWluZXJOYW1lfSBpcyBub3QgcnVubmluZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -4,4 +4,4 @@
4
4
  * @description Re-exports the Docker Compose orchestration service for local containerized environments.
5
5
  */
6
6
  export * from "./DockerComposeService.js";
7
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9ja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCwwQ0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2RvY2tlclxuICogQHN1bW1hcnkgRG9ja2VyIENvbXBvc2Ugc2VydmljZSBoZWxwZXJzLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIERvY2tlciBDb21wb3NlIG9yY2hlc3RyYXRpb24gc2VydmljZSBmb3IgbG9jYWwgY29udGFpbmVyaXplZCBlbnZpcm9ubWVudHMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0RvY2tlckNvbXBvc2VTZXJ2aWNlXCI7XG4iXX0=
@@ -103,4 +103,4 @@ export const GRAPH_LOOP_KIND = {
103
103
  WHILE: "core.loop.while",
104
104
  UNTIL: "core.loop.until",
105
105
  };
106
- //# sourceMappingURL=constants.js.map
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBoL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxHQUFHLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxnQkFBZ0IsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLG9CQVNYO0FBVEQsV0FBWSxvQkFBb0I7SUFDOUIsMkNBQW1CLENBQUE7SUFDbkIsNkNBQXFCLENBQUE7SUFDckIsMkNBQW1CLENBQUE7SUFDbkIsK0NBQXVCLENBQUE7SUFDdkIseUNBQWlCLENBQUE7SUFDakIsMkNBQW1CLENBQUE7SUFDbkIsK0NBQXVCLENBQUE7SUFDdkIseUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFTL0I7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHVCQWlDWDtBQWpDRCxXQUFZLHVCQUF1QjtJQUNqQyxnRUFBcUMsQ0FBQTtJQUNyQyxnRUFBcUMsQ0FBQTtJQUNyQyxvRUFBeUMsQ0FBQTtJQUN6Qyw4REFBbUMsQ0FBQTtJQUNuQyxvRUFBeUMsQ0FBQTtJQUV6QyxzREFBMkIsQ0FBQTtJQUMzQix3REFBNkIsQ0FBQTtJQUM3QixzREFBMkIsQ0FBQTtJQUMzQiw0REFBaUMsQ0FBQTtJQUNqQyxzREFBMkIsQ0FBQTtJQUMzQix3REFBNkIsQ0FBQTtJQUM3QiwyREFBZ0MsQ0FBQTtJQUNoQyxzREFBMkIsQ0FBQTtJQUMzQiwwREFBK0IsQ0FBQTtJQUUvQixpRUFBc0MsQ0FBQTtJQUV0Qyx3REFBNkIsQ0FBQTtJQUM3Qiw0RUFBaUQsQ0FBQTtJQUNqRCxnRkFBcUQsQ0FBQTtJQUNyRCxnRkFBcUQsQ0FBQTtJQUNyRCw0REFBaUMsQ0FBQTtJQUNqQyxtRUFBd0MsQ0FBQTtJQUV4QyxvRUFBeUMsQ0FBQTtJQUN6QyxrRUFBdUMsQ0FBQTtJQUN2Qyx3RUFBNkMsQ0FBQTtJQUU3QyxvREFBeUIsQ0FBQTtJQUN6QixzREFBMkIsQ0FBQTtJQUMzQix3REFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBakNXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFpQ2xDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLCtDQUF1QixDQUFBO0lBQ3ZCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFXWDtBQVhELFdBQVksa0JBQWtCO0lBQzVCLHVDQUFpQixDQUFBO0lBQ2pCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQiw4Q0FBd0IsQ0FBQTtJQUN4QixrREFBNEIsQ0FBQTtJQUM1QixrRUFBNEMsQ0FBQTtJQUM1Qyw0Q0FBc0IsQ0FBQTtJQUN0Qiw0REFBc0MsQ0FBQTtJQUN0Qyx1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVc3QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsaUJBQWlCO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2NvbnN0YW50c1xuICogQHN1bW1hcnkgR3JhcGggZXhlY3V0aW9uIGVuZ2luZSBjb25zdGFudHMgYW5kIGVudW1zLlxuICogQGRlc2NyaXB0aW9uIFNoYXJlZCBjb25zdGFudHMsIGRlZmF1bHQgbGltaXRzLCBhbmQgZW51bWVyYXRpb25zIHVzZWQgYWNyb3NzIHRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICovXG5cbi8qKlxuICogQm91bmRhcnkgaWRlbnRpZmllciB1c2VkIGFzIHRoZSBub2RlIGlkIGZvciB3b3JrZmxvdy1sZXZlbCBpbnB1dC9vdXRwdXQgcG9ydHMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9XT1JLRkxPV19CT1VOREFSWSA9IFwiJHdvcmtmbG93XCI7XG5cbi8qKlxuICogRGVmYXVsdCBjb25jdXJyZW5jeSBmb3IgcGFyYWxsZWwgbm9kZSBleGVjdXRpb24gd2l0aGluIGEgbGF5ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9ERUZBVUxUX0NPTkNVUlJFTkNZID0gNDtcblxuLyoqXG4gKiBEZWZhdWx0IG1heGltdW0gaXRlcmF0aW9ucyBmb3IgYHdoaWxlYCBhbmQgYHVudGlsYCBsb29wIG5vZGVzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TID0gMTAwO1xuXG4vKipcbiAqIERlZmF1bHQgbWF4aW11bSBpdGVyYXRpb25zIGZvciBgZm9yZWFjaGAgbG9vcCBub2Rlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0RFRkFVTFRfTUFYX0ZPUkVBQ0hfSVRFUkFUSU9OUyA9IDEwMDA7XG5cbi8qKlxuICogTWV0YWRhdGEga2V5IHVuZGVyIHdoaWNoIHBpbm5pbmcgaW5mb3JtYXRpb24gaXMgc3RvcmVkIG9uIGEgZ3JhcGggbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX1BJTk5JTkdfTUVUQURBVEFfS0VZID0gXCJncmFwaC5waW5uYWJsZVwiO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiBzdGF0dXMgZm9yIGEgd29ya2Zsb3cgb3IgaW5kaXZpZHVhbCBub2RlLlxuICovXG5leHBvcnQgZW51bSBHcmFwaEV4ZWN1dGlvblN0YXR1cyB7XG4gIFBFTkRJTkcgPSBcInBlbmRpbmdcIixcbiAgUExBTk5JTkcgPSBcInBsYW5uaW5nXCIsXG4gIFJVTk5JTkcgPSBcInJ1bm5pbmdcIixcbiAgU1VDQ0VFREVEID0gXCJzdWNjZWVkZWRcIixcbiAgRkFJTEVEID0gXCJmYWlsZWRcIixcbiAgU0tJUFBFRCA9IFwic2tpcHBlZFwiLFxuICBDQU5DRUxMRUQgPSBcImNhbmNlbGxlZFwiLFxuICBDQUNIRUQgPSBcImNhY2hlZFwiLFxufVxuXG4vKipcbiAqIEV2ZW50IHR5cGVzIGVtaXR0ZWQgdGhyb3VnaCB0aGUgZ3JhcGggZXhlY3V0aW9uIG9ic2VydmVyIHBpcGVsaW5lLlxuICovXG5leHBvcnQgZW51bSBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB7XG4gIFdPUktGTE9XX1NUQVJURUQgPSBcIndvcmtmbG93LnN0YXJ0ZWRcIixcbiAgV09SS0ZMT1dfUExBTk5FRCA9IFwid29ya2Zsb3cucGxhbm5lZFwiLFxuICBXT1JLRkxPV19DT01QTEVURUQgPSBcIndvcmtmbG93LmNvbXBsZXRlZFwiLFxuICBXT1JLRkxPV19GQUlMRUQgPSBcIndvcmtmbG93LmZhaWxlZFwiLFxuICBXT1JLRkxPV19DQU5DRUxMRUQgPSBcIndvcmtmbG93LmNhbmNlbGxlZFwiLFxuXG4gIE5PREVfUVVFVUVEID0gXCJub2RlLnF1ZXVlZFwiLFxuICBOT0RFX1NUQVJURUQgPSBcIm5vZGUuc3RhcnRlZFwiLFxuICBOT0RFX09VVFBVVCA9IFwibm9kZS5vdXRwdXRcIixcbiAgTk9ERV9DT01QTEVURUQgPSBcIm5vZGUuY29tcGxldGVkXCIsXG4gIE5PREVfRkFJTEVEID0gXCJub2RlLmZhaWxlZFwiLFxuICBOT0RFX1NLSVBQRUQgPSBcIm5vZGUuc2tpcHBlZFwiLFxuICBOT0RFX0NBQ0hFX0hJVCA9IFwibm9kZS5jYWNoZUhpdFwiLFxuICBOT0RFX1BJTk5FRCA9IFwibm9kZS5waW5uZWRcIixcbiAgTk9ERV9VTlBJTk5FRCA9IFwibm9kZS51bnBpbm5lZFwiLFxuXG4gIEVER0VfVkFMVUVfUk9VVEVEID0gXCJlZGdlLnZhbHVlUm91dGVkXCIsXG5cbiAgTE9PUF9TVEFSVEVEID0gXCJsb29wLnN0YXJ0ZWRcIixcbiAgTE9PUF9JVEVSQVRJT05fU1RBUlRFRCA9IFwibG9vcC5pdGVyYXRpb24uc3RhcnRlZFwiLFxuICBMT09QX0lURVJBVElPTl9DT01QTEVURUQgPSBcImxvb3AuaXRlcmF0aW9uLmNvbXBsZXRlZFwiLFxuICBMT09QX0NPTkRJVElPTl9FVkFMVUFURUQgPSBcImxvb3AuY29uZGl0aW9uLmV2YWx1YXRlZFwiLFxuICBMT09QX0NPTVBMRVRFRCA9IFwibG9vcC5jb21wbGV0ZWRcIixcbiAgTE9PUF9MSU1JVF9SRUFDSEVEID0gXCJsb29wLmxpbWl0UmVhY2hlZFwiLFxuXG4gIFZBTElEQVRJT05fU1RBUlRFRCA9IFwidmFsaWRhdGlvbi5zdGFydGVkXCIsXG4gIFZBTElEQVRJT05fRkFJTEVEID0gXCJ2YWxpZGF0aW9uLmZhaWxlZFwiLFxuICBWQUxJREFUSU9OX0NPTVBMRVRFRCA9IFwidmFsaWRhdGlvbi5jb21wbGV0ZWRcIixcblxuICBTVE9SRV9SRUFEID0gXCJzdG9yZS5yZWFkXCIsXG4gIFNUT1JFX1dSSVRFID0gXCJzdG9yZS53cml0ZVwiLFxuICBTVE9SRV9ERUxFVEUgPSBcInN0b3JlLmRlbGV0ZVwiLFxufVxuXG4vKipcbiAqIFBpbm5pbmcgc3RyYXRlZ3kgZGV0ZXJtaW5pbmcgd2hlbiB2YWx1ZXMgYXJlIHBpbm5lZC5cbiAqL1xuZXhwb3J0IGVudW0gR3JhcGhQaW5uaW5nU3RyYXRlZ3kge1xuICBNQU5VQUwgPSBcIm1hbnVhbFwiLFxuICBBVVRPTUFUSUMgPSBcImF1dG9tYXRpY1wiLFxuICBESVNBQkxFRCA9IFwiZGlzYWJsZWRcIixcbn1cblxuLyoqXG4gKiBCdWlsdC1pbiBjb25kaXRpb24gdHlwZXMgc3VwcG9ydGVkIGJ5IHRoZSBsb29wIGNvbmRpdGlvbiBldmFsdWF0b3IuXG4gKi9cbmV4cG9ydCBlbnVtIEdyYXBoQ29uZGl0aW9uVHlwZSB7XG4gIFRSVVRIWSA9IFwidHJ1dGh5XCIsXG4gIEZBTFNZID0gXCJmYWxzeVwiLFxuICBFUVVBTFMgPSBcImVxdWFsc1wiLFxuICBOT1RfRVFVQUxTID0gXCJub3RFcXVhbHNcIixcbiAgR1JFQVRFUl9USEFOID0gXCJncmVhdGVyVGhhblwiLFxuICBHUkVBVEVSX1RIQU5fT1JfRVFVQUwgPSBcImdyZWF0ZXJUaGFuT3JFcXVhbFwiLFxuICBMRVNTX1RIQU4gPSBcImxlc3NUaGFuXCIsXG4gIExFU1NfVEhBTl9PUl9FUVVBTCA9IFwibGVzc1RoYW5PckVxdWFsXCIsXG4gIEVYSVNUUyA9IFwiZXhpc3RzXCIsXG4gIENVU1RPTSA9IFwiY3VzdG9tXCIsXG59XG5cbi8qKlxuICogTG9vcCBub2RlIGtpbmRzIHJlY29nbmlzZWQgYnkgdGhlIGVuZ2luZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0xPT1BfS0lORCA9IHtcbiAgRk9SRUFDSDogXCJjb3JlLmxvb3AuZm9yZWFjaFwiLFxuICBXSElMRTogXCJjb3JlLmxvb3Aud2hpbGVcIixcbiAgVU5USUw6IFwiY29yZS5sb29wLnVudGlsXCIsXG59IGFzIGNvbnN0O1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=decorators.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2RlY29yYXRvcnNcbiAqIEBzdW1tYXJ5IFJlc2VydmVkIGZvciBmdXR1cmUgY29yZS1sZXZlbCBncmFwaCBkZWNvcmF0b3JzLlxuICogQGRlc2NyaXB0aW9uIFRoaXMgZmlsZSBpcyBpbnRlbnRpb25hbGx5IGVtcHR5IGZvciBub3cuIEdyYXBoIGRlY29yYXRvcnMgc3VjaCBhcyBgQHBpbm5hYmxlKClgIGxpdmUgaW4gYEBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoYC4gQWRkaXRpb25hbCBkZWNvcmF0b3JzIG1heSBiZSBhZGRlZCBoZXJlIGlmIHRoZSBjb3JlIGVuZ2luZSBuZWVkcyBpdHMgb3duIG1ldGFkYXRhIGtleXMuXG4gKi9cbmV4cG9ydCB7fTtcblxuIl19
@@ -12,4 +12,4 @@ export class GraphCycleError extends GraphExecutionError {
12
12
  super("Graph workflow contains an unsupported cycle", "GRAPH_CYCLE_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphCycleError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDeWNsZUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2Vycm9ycy9HcmFwaEN5Y2xlRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQsWUFBWSxPQUFpQjtRQUMzQixLQUFLLENBQ0gsOENBQThDLEVBQzlDLG1CQUFtQixFQUNuQixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzL0dyYXBoQ3ljbGVFcnJvclxuICogQHN1bW1hcnkgRXJyb3IgdGhyb3duIHdoZW4gYSB3b3JrZmxvdyBjb250YWlucyBhbiB1bnN1cHBvcnRlZCBjeWNsZS5cbiAqIEBkZXNjcmlwdGlvbiBPcmRpbmFyeSAobm9uLWxvb3ApIHdvcmtmbG93IGdyYXBocyBtdXN0IGJlIGFjeWNsaWMuIFRoaXMgZXJyb3IgaXMgcmFpc2VkIHdoZW4gdGhlIHBsYW5uZXIgZGV0ZWN0cyBhIGN5Y2xlLlxuICovXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FcnJvclwiO1xuXG4vKipcbiAqIFRocm93biB3aGVuIGEgZ3JhcGggd29ya2Zsb3cgY29udGFpbnMgYW4gdW5zdXBwb3J0ZWQgY3ljbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaEN5Y2xlRXJyb3IgZXh0ZW5kcyBHcmFwaEV4ZWN1dGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihcbiAgICAgIFwiR3JhcGggd29ya2Zsb3cgY29udGFpbnMgYW4gdW5zdXBwb3J0ZWQgY3ljbGVcIixcbiAgICAgIFwiR1JBUEhfQ1lDTEVfRVJST1JcIixcbiAgICAgIGRldGFpbHNcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -19,4 +19,4 @@ export class GraphExecutionError extends InternalError {
19
19
  this.details = details;
20
20
  }
21
21
  }
22
- //# sourceMappingURL=GraphExecutionError.js.map
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lcnJvcnMvR3JhcGhFeGVjdXRpb25FcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUlwRCxZQUNFLE9BQWUsRUFDZixTQUFTLEdBQUcsdUJBQXVCLEVBQ25DLE9BQWlCO1FBRWpCLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3JcbiAqIEBzdW1tYXJ5IEJhc2UgZXJyb3IgZm9yIGFsbCBncmFwaCBleGVjdXRpb24gZmFpbHVyZXMuXG4gKiBAZGVzY3JpcHRpb24gRXh0ZW5kcyBEZWNhZidzIHtAbGluayBJbnRlcm5hbEVycm9yfSBzbyBncmFwaCBlcnJvcnMgZm9sbG93IHRoZSBzdGFuZGFyZCBEZWNhZiBlcnJvciBoaWVyYXJjaHkgd2hpbGUgY2FycnlpbmcgYSBncmFwaC1zcGVjaWZpYyBzdHJpbmcgY29kZS5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEJhc2UgZXJyb3IgZm9yIHRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICpcbiAqIEV4dGVuZHMgYEludGVybmFsRXJyb3JgIChIVFRQIDUwMCkgdG8gY29tcGx5IHdpdGggdGhlIERlY2FmIGNvbnN0aXR1dGlvbiB3aGljaFxuICogcmVxdWlyZXMgcnVudGltZSBlcnJvcnMgdG8gYmUgYEJhc2VFcnJvcmAgc3ViY2xhc3Nlcy4gVGhlIGFkZGl0aW9uYWxcbiAqIGBncmFwaENvZGVgIHByb3BlcnR5IGNhcnJpZXMgYSBtYWNoaW5lLXJlYWRhYmxlIHN0cmluZyBjb2RlIHN1Y2ggYXNcbiAqIGBcIkdSQVBIX0NZQ0xFX0VSUk9SXCJgLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FcnJvciBleHRlbmRzIEludGVybmFsRXJyb3Ige1xuICByZWFkb25seSBncmFwaENvZGU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGV0YWlscz86IHVua25vd247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGdyYXBoQ29kZSA9IFwiR1JBUEhfRVhFQ1VUSU9OX0VSUk9SXCIsXG4gICAgZGV0YWlscz86IHVua25vd25cbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgR3JhcGhFeGVjdXRpb25FcnJvci5uYW1lLCA1MDApO1xuICAgIHRoaXMuZ3JhcGhDb2RlID0gZ3JhcGhDb2RlO1xuICAgIHRoaXMuZGV0YWlscyA9IGRldGFpbHM7XG4gIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export class GraphInputError extends GraphExecutionError {
12
12
  super(message, "GRAPH_INPUT_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphInputError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhJbnB1dEVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2Vycm9ycy9HcmFwaElucHV0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQsWUFBWSxPQUFlLEVBQUUsT0FBaUI7UUFDNUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2Vycm9ycy9HcmFwaElucHV0RXJyb3JcbiAqIEBzdW1tYXJ5IEVycm9yIHRocm93biB3aGVuIHdvcmtmbG93IG9yIG5vZGUgaW5wdXRzIGFyZSBpbnZhbGlkLlxuICogQGRlc2NyaXB0aW9uIFJhaXNlZCBieSB0aGUgdmFsdWUgdmFsaWRhdG9yIHdoZW4gcmVxdWlyZWQgaW5wdXRzIGFyZSBtaXNzaW5nIG9yIGZhaWwgc2NoZW1hIHZhbGlkYXRpb24uXG4gKi9cbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXJyb3IgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkVycm9yXCI7XG5cbi8qKlxuICogVGhyb3duIHdoZW4gd29ya2Zsb3cgb3Igbm9kZSBpbnB1dHMgYXJlIGludmFsaWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaElucHV0RXJyb3IgZXh0ZW5kcyBHcmFwaEV4ZWN1dGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBkZXRhaWxzPzogdW5rbm93bikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIFwiR1JBUEhfSU5QVVRfRVJST1JcIiwgZGV0YWlscyk7XG4gIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export class GraphLoopLimitError extends GraphExecutionError {
12
12
  super(message, "GRAPH_LOOP_LIMIT_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphLoopLimitError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhMb29wTGltaXRFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lcnJvcnMvR3JhcGhMb29wTGltaXRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUU1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFDMUQsWUFBWSxPQUFlLEVBQUUsT0FBaUI7UUFDNUMsS0FBSyxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yXG4gKiBAc3VtbWFyeSBFcnJvciB0aHJvd24gd2hlbiBhIGxvb3AgZXhjZWVkcyBpdHMgbWF4aW11bSBpdGVyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIFJhaXNlZCBieSBsb29wIGV4ZWN1dG9ycyB3aGVuIHRoZSBpdGVyYXRpb24gY291bnQgcmVhY2hlcyB0aGUgY29uZmlndXJlZCBzYWZldHkgbGltaXQuXG4gKi9cbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXJyb3IgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkVycm9yXCI7XG5cbi8qKlxuICogVGhyb3duIHdoZW4gYSBsb29wIGV4Y2VlZHMgaXRzIG1heGltdW0gaXRlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTG9vcExpbWl0RXJyb3IgZXh0ZW5kcyBHcmFwaEV4ZWN1dGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBkZXRhaWxzPzogdW5rbm93bikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIFwiR1JBUEhfTE9PUF9MSU1JVF9FUlJPUlwiLCBkZXRhaWxzKTtcbiAgfVxufVxuIl19