@decaf-ts/integrations 0.3.6 → 0.3.8

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 (876) 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 +2 -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 +1 -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/package.json +27 -5
  562. package/sql/001_constraints.sql +11 -0
  563. package/sql/002_rls.sql +20 -0
  564. package/sql/003_indexes.sql +2 -0
  565. package/dist/integrations.cjs.map +0 -1
  566. package/dist/integrations.js.map +0 -1
  567. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
  568. package/lib/cjs/blob/azure/index.cjs.map +0 -1
  569. package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
  570. package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
  571. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
  572. package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
  573. package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
  574. package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
  575. package/lib/cjs/blob/core/index.cjs.map +0 -1
  576. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
  577. package/lib/cjs/blob/gcp/index.cjs.map +0 -1
  578. package/lib/cjs/blob/index.cjs.map +0 -1
  579. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  580. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  581. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  582. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  583. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  584. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  585. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
  586. package/lib/cjs/blob/local/index.cjs.map +0 -1
  587. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
  588. package/lib/cjs/blob/memory/index.cjs.map +0 -1
  589. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
  590. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
  591. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
  592. package/lib/cjs/blob/s3/index.cjs.map +0 -1
  593. package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
  594. package/lib/cjs/docker/index.cjs.map +0 -1
  595. package/lib/cjs/graph/constants.cjs.map +0 -1
  596. package/lib/cjs/graph/decorators.cjs.map +0 -1
  597. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +0 -1
  598. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +0 -1
  599. package/lib/cjs/graph/errors/GraphInputError.cjs.map +0 -1
  600. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +0 -1
  601. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +0 -1
  602. package/lib/cjs/graph/errors/GraphPortError.cjs.map +0 -1
  603. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +0 -1
  604. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +0 -1
  605. package/lib/cjs/graph/errors/index.cjs.map +0 -1
  606. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +0 -1
  607. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +0 -1
  608. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +0 -1
  609. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +0 -1
  610. package/lib/cjs/graph/events/index.cjs.map +0 -1
  611. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +0 -1
  612. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +0 -1
  613. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +0 -1
  614. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +0 -1
  615. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +0 -1
  616. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +0 -1
  617. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  618. package/lib/cjs/graph/execution/index.cjs.map +0 -1
  619. package/lib/cjs/graph/index.cjs.map +0 -1
  620. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  621. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  622. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +0 -1
  623. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +0 -1
  624. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  625. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  626. package/lib/cjs/graph/loops/index.cjs.map +0 -1
  627. package/lib/cjs/graph/nodes/agent.cjs.map +0 -1
  628. package/lib/cjs/graph/nodes/category-styles.cjs.map +0 -1
  629. package/lib/cjs/graph/nodes/flow-control.cjs.map +0 -1
  630. package/lib/cjs/graph/nodes/index.cjs.map +0 -1
  631. package/lib/cjs/graph/nodes/triggers.cjs.map +0 -1
  632. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  633. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +0 -1
  634. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +0 -1
  635. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +0 -1
  636. package/lib/cjs/graph/pinning/index.cjs.map +0 -1
  637. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +0 -1
  638. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  639. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  640. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +0 -1
  641. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +0 -1
  642. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +0 -1
  643. package/lib/cjs/graph/planning/GraphTopology.cjs.map +0 -1
  644. package/lib/cjs/graph/planning/index.cjs.map +0 -1
  645. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  646. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  647. package/lib/cjs/graph/registry/index.cjs.map +0 -1
  648. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  649. package/lib/cjs/graph/snapshots/index.cjs.map +0 -1
  650. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +0 -1
  651. package/lib/cjs/graph/store/GraphValueKey.cjs.map +0 -1
  652. package/lib/cjs/graph/store/GraphValueStore.cjs.map +0 -1
  653. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +0 -1
  654. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  655. package/lib/cjs/graph/store/index.cjs.map +0 -1
  656. package/lib/cjs/graph/types.cjs.map +0 -1
  657. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +0 -1
  658. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +0 -1
  659. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +0 -1
  660. package/lib/cjs/graph/validation/index.cjs.map +0 -1
  661. package/lib/cjs/index.cjs.map +0 -1
  662. package/lib/cjs/keycloak/index.cjs.map +0 -1
  663. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  664. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  665. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  666. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  667. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  668. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  669. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  670. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  671. package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
  672. package/lib/cjs/keycloak/types.cjs.map +0 -1
  673. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  674. package/lib/cjs/kibana/index.cjs.map +0 -1
  675. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  676. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  677. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  678. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  679. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  680. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  681. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  682. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  683. package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
  684. package/lib/cjs/kibana/types.cjs.map +0 -1
  685. package/lib/cjs/nest/authService.cjs.map +0 -1
  686. package/lib/cjs/nest/index.cjs.map +0 -1
  687. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  688. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  689. package/lib/cjs/nest/logging.cjs.map +0 -1
  690. package/lib/cjs/nest/types.cjs.map +0 -1
  691. package/lib/cjs/nest/utils.cjs.map +0 -1
  692. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  693. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  694. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  695. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  696. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  697. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  698. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  699. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  700. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  701. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  702. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  703. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  704. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  705. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  706. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  707. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  708. package/lib/cjs/secrets/index.cjs.map +0 -1
  709. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  710. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  711. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  712. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  713. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  714. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  715. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  716. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  717. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  718. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  719. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  720. package/lib/cjs/shared/runtime.cjs.map +0 -1
  721. package/lib/cjs/utils.cjs.map +0 -1
  722. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  723. package/lib/esm/blob/azure/index.js.map +0 -1
  724. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  725. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  726. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  727. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  728. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  729. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  730. package/lib/esm/blob/core/index.js.map +0 -1
  731. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  732. package/lib/esm/blob/gcp/index.js.map +0 -1
  733. package/lib/esm/blob/index.js.map +0 -1
  734. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  735. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  736. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  737. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  738. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  739. package/lib/esm/blob/ipfs/index.js.map +0 -1
  740. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  741. package/lib/esm/blob/local/index.js.map +0 -1
  742. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  743. package/lib/esm/blob/memory/index.js.map +0 -1
  744. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  745. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  746. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  747. package/lib/esm/blob/s3/index.js.map +0 -1
  748. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  749. package/lib/esm/docker/index.js.map +0 -1
  750. package/lib/esm/graph/constants.js.map +0 -1
  751. package/lib/esm/graph/decorators.js.map +0 -1
  752. package/lib/esm/graph/errors/GraphCycleError.js.map +0 -1
  753. package/lib/esm/graph/errors/GraphExecutionError.js.map +0 -1
  754. package/lib/esm/graph/errors/GraphInputError.js.map +0 -1
  755. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +0 -1
  756. package/lib/esm/graph/errors/GraphPinningError.js.map +0 -1
  757. package/lib/esm/graph/errors/GraphPortError.js.map +0 -1
  758. package/lib/esm/graph/errors/GraphStoreError.js.map +0 -1
  759. package/lib/esm/graph/errors/GraphTopologyError.js.map +0 -1
  760. package/lib/esm/graph/errors/index.js.map +0 -1
  761. package/lib/esm/graph/events/GraphExecutionEvent.js.map +0 -1
  762. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +0 -1
  763. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +0 -1
  764. package/lib/esm/graph/events/GraphExecutionObserver.js.map +0 -1
  765. package/lib/esm/graph/events/index.js.map +0 -1
  766. package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +0 -1
  767. package/lib/esm/graph/execution/GraphExecutionContext.js.map +0 -1
  768. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +0 -1
  769. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +0 -1
  770. package/lib/esm/graph/execution/GraphExecutionResult.js.map +0 -1
  771. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +0 -1
  772. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +0 -1
  773. package/lib/esm/graph/execution/index.js.map +0 -1
  774. package/lib/esm/graph/index.js.map +0 -1
  775. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +0 -1
  776. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +0 -1
  777. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +0 -1
  778. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +0 -1
  779. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +0 -1
  780. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +0 -1
  781. package/lib/esm/graph/loops/index.js.map +0 -1
  782. package/lib/esm/graph/nodes/agent.js.map +0 -1
  783. package/lib/esm/graph/nodes/category-styles.js.map +0 -1
  784. package/lib/esm/graph/nodes/flow-control.js.map +0 -1
  785. package/lib/esm/graph/nodes/index.js.map +0 -1
  786. package/lib/esm/graph/nodes/triggers.js.map +0 -1
  787. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +0 -1
  788. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +0 -1
  789. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +0 -1
  790. package/lib/esm/graph/pinning/GraphPinningService.js.map +0 -1
  791. package/lib/esm/graph/pinning/index.js.map +0 -1
  792. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +0 -1
  793. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +0 -1
  794. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +0 -1
  795. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +0 -1
  796. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +0 -1
  797. package/lib/esm/graph/planning/GraphRelationResolver.js.map +0 -1
  798. package/lib/esm/graph/planning/GraphTopology.js.map +0 -1
  799. package/lib/esm/graph/planning/index.js.map +0 -1
  800. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +0 -1
  801. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +0 -1
  802. package/lib/esm/graph/registry/index.js.map +0 -1
  803. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  804. package/lib/esm/graph/snapshots/index.js.map +0 -1
  805. package/lib/esm/graph/store/GraphCachedValue.js.map +0 -1
  806. package/lib/esm/graph/store/GraphValueKey.js.map +0 -1
  807. package/lib/esm/graph/store/GraphValueStore.js.map +0 -1
  808. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +0 -1
  809. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  810. package/lib/esm/graph/store/index.js.map +0 -1
  811. package/lib/esm/graph/types.js.map +0 -1
  812. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +0 -1
  813. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +0 -1
  814. package/lib/esm/graph/validation/GraphValueValidator.js.map +0 -1
  815. package/lib/esm/graph/validation/index.js.map +0 -1
  816. package/lib/esm/index.js.map +0 -1
  817. package/lib/esm/keycloak/index.js.map +0 -1
  818. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  819. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  820. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  821. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  822. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  823. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  824. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  825. package/lib/esm/keycloak/services/index.js.map +0 -1
  826. package/lib/esm/keycloak/services/runtime.js.map +0 -1
  827. package/lib/esm/keycloak/types.js.map +0 -1
  828. package/lib/esm/kibana/helpers.js.map +0 -1
  829. package/lib/esm/kibana/index.js.map +0 -1
  830. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  831. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  832. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  833. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  834. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  835. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  836. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  837. package/lib/esm/kibana/services/index.js.map +0 -1
  838. package/lib/esm/kibana/services/runtime.js.map +0 -1
  839. package/lib/esm/kibana/types.js.map +0 -1
  840. package/lib/esm/nest/authService.js.map +0 -1
  841. package/lib/esm/nest/index.js.map +0 -1
  842. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  843. package/lib/esm/nest/keycloakModule.js.map +0 -1
  844. package/lib/esm/nest/logging.js.map +0 -1
  845. package/lib/esm/nest/types.js.map +0 -1
  846. package/lib/esm/nest/utils.js.map +0 -1
  847. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  848. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  849. package/lib/esm/secrets/aws/index.js.map +0 -1
  850. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  851. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  852. package/lib/esm/secrets/azure/index.js.map +0 -1
  853. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  854. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  855. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  856. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  857. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  858. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  859. package/lib/esm/secrets/core/index.js.map +0 -1
  860. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  861. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  862. package/lib/esm/secrets/gcp/index.js.map +0 -1
  863. package/lib/esm/secrets/index.js.map +0 -1
  864. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  865. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  866. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  867. package/lib/esm/secrets/model/Secret.js.map +0 -1
  868. package/lib/esm/secrets/model/index.js.map +0 -1
  869. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  870. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  871. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  872. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  873. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  874. package/lib/esm/secrets/vault/index.js.map +0 -1
  875. package/lib/esm/shared/runtime.js.map +0 -1
  876. package/lib/esm/utils.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemManagementService = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ const utils_js_1 = require("./../utils.cjs");
19
+ const types_js_1 = require("./../types.cjs");
20
+ const tenant_membership_service_1 = require("./tenant-membership.service");
21
+ const org_unit_membership_service_1 = require("./org-unit-membership.service");
22
+ const principal_service_1 = require("./principal.service");
23
+ const role_service_1 = require("./role.service");
24
+ const role_assignment_service_1 = require("./role-assignment.service");
25
+ const effective_permission_service_1 = require("./effective-permission.service");
26
+ class SystemManagementService {
27
+ constructor() {
28
+ this.membershipService = new tenant_membership_service_1.TenantMembershipService();
29
+ this.orgMembershipService = new org_unit_membership_service_1.OrgUnitMembershipService();
30
+ this.principalService = new principal_service_1.PrincipalService();
31
+ this.roleService = new role_service_1.RoleService();
32
+ this.roleAssignmentService = new role_assignment_service_1.RoleAssignmentService();
33
+ this.effectivePermissionService = new effective_permission_service_1.EffectivePermissionService();
34
+ }
35
+ async onboardUserToTenantAndOrgUnit(tenantId, userId, orgUnitId, roleKey, ...args) {
36
+ await this.membershipService.addUserToTenant(tenantId, userId, types_js_1.MembershipStatus.Active, ...args);
37
+ await this.orgMembershipService.addUserToOrgUnit(tenantId, orgUnitId, userId, types_js_1.MembershipStatus.Active, ...args);
38
+ const principal = await this.principalService.getUserPrincipal(tenantId, userId, ...args);
39
+ const role = await this.roleService.getTenantRoleByKey(tenantId, roleKey, ...args);
40
+ await this.roleAssignmentService.assignRole({
41
+ tenantId,
42
+ principalId: principal.id,
43
+ roleId: role.id,
44
+ scopeKind: types_js_1.ScopeKind.OrgUnit,
45
+ scopeId: orgUnitId,
46
+ inheritDown: true,
47
+ }, ...args);
48
+ await this.effectivePermissionService.rebuildForPrincipal(tenantId, principal.id, ...args);
49
+ return { principalId: principal.id };
50
+ }
51
+ async changeUserOrgRole(tenantId, principalId, orgUnitId, roleKey, inheritDown, ...args) {
52
+ const role = await this.roleService.getTenantRoleByKey(tenantId, roleKey, ...args);
53
+ const currentAssignments = await this.roleAssignmentService.listPrincipalAssignments(tenantId, principalId, ...args);
54
+ for (const assignment of currentAssignments.filter((row) => row.scopeKind === types_js_1.ScopeKind.OrgUnit && row.scopeId === orgUnitId)) {
55
+ await this.roleAssignmentService.revokeAssignment(assignment.id, ...args);
56
+ }
57
+ await this.roleAssignmentService.assignRole({
58
+ tenantId,
59
+ principalId,
60
+ roleId: role.id,
61
+ scopeKind: types_js_1.ScopeKind.OrgUnit,
62
+ scopeId: orgUnitId,
63
+ inheritDown,
64
+ }, ...args);
65
+ await this.effectivePermissionService.rebuildForPrincipal(tenantId, principalId, ...args);
66
+ }
67
+ async suspendUserInTenant(tenantMembershipId, tenantId, principalId, ...args) {
68
+ await this.membershipService.setStatus(tenantMembershipId, types_js_1.MembershipStatus.Suspended, ...args);
69
+ await this.effectivePermissionService.deleteForPrincipal(tenantId, principalId, ...args);
70
+ }
71
+ async reactivateUserInTenant(tenantMembershipId, tenantId, principalId, ...args) {
72
+ await this.membershipService.setStatus(tenantMembershipId, types_js_1.MembershipStatus.Active, ...args);
73
+ await this.effectivePermissionService.rebuildForPrincipal(tenantId, principalId, ...args);
74
+ }
75
+ }
76
+ exports.SystemManagementService = SystemManagementService;
77
+ __decorate([
78
+ (0, utils_js_1.transactional)(),
79
+ __metadata("design:type", Function),
80
+ __metadata("design:paramtypes", [String, String, String, String, Object]),
81
+ __metadata("design:returntype", Promise)
82
+ ], SystemManagementService.prototype, "onboardUserToTenantAndOrgUnit", null);
83
+ __decorate([
84
+ (0, utils_js_1.transactional)(),
85
+ __metadata("design:type", Function),
86
+ __metadata("design:paramtypes", [String, String, String, String, Boolean, Object]),
87
+ __metadata("design:returntype", Promise)
88
+ ], SystemManagementService.prototype, "changeUserOrgRole", null);
89
+ __decorate([
90
+ (0, utils_js_1.transactional)(),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", [String, String, String, Object]),
93
+ __metadata("design:returntype", Promise)
94
+ ], SystemManagementService.prototype, "suspendUserInTenant", null);
95
+ __decorate([
96
+ (0, utils_js_1.transactional)(),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", [String, String, String, Object]),
99
+ __metadata("design:returntype", Promise)
100
+ ], SystemManagementService.prototype, "reactivateUserInTenant", null);
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3N5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQkFBaUI7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxzQkFBaUI7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDVSxzQkFBaUIsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDbEQseUJBQW9CLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQ3RELHFCQUFnQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsMEJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BELCtCQUEwQixHQUFHLElBQUksMEJBQTBCLEVBQUUsQ0FBQztJQW9FeEUsQ0FBQztJQWpFTyxBQUFOLEtBQUssQ0FBQyw2QkFBNkIsQ0FDakMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLE9BQWUsRUFDZixHQUFHLElBQVc7UUFFZCxNQUFNLElB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QUFDLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsc0JBQXNCLENBQUMsa0JBQTBCLEVBQUUsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLEdBQUcsSUFBVztRQUM1RyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDN0YsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDRjtBQWpFTztJQURMLGFBQWEsRUFBRTs7Ozs0RUF5QmY7QUFHSztJQURMLGFBQWEsRUFBRTs7OztnRUEwQmY7QUFHSztJQURMLGFBQWEsRUFBRTs7OztrRUFJZjtBQUdLO0lBREwsYUFBYSxFQUFFOzs7O3FFQUlmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNhY3Rpb25hbCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cywgU2NvcGVLaW5kIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW5hbnRNZW1iZXJzaGlwU2VydmljZSB9IGZyb20gXCIuL3RlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2VcIjtcbmltcG9ydCB7IE9yZ1VuaXRNZW1iZXJzaGlwU2VydmljZSB9IGZyb20gXCIuL29yZy11bml0LW1lbWJlcnNoaXAuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJpbmNpcGFsU2VydmljZSB9IGZyb20gXCIuL3ByaW5jaXBhbC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gXCIuL3JvbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgUm9sZUFzc2lnbm1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4vcm9sZS1hc3NpZ25tZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IEVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4vZWZmZWN0aXZlLXBlcm1pc3Npb24uc2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIG1lbWJlcnNoaXBTZXJ2aWNlID0gbmV3IFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlKCk7XG4gIHByaXZhdGUgb3JnTWVtYmVyc2hpcFNlcnZpY2UgPSBuZXcgT3JnVW5pdE1lbWJlcnNoaXBTZXJ2aWNlKCk7XG4gIHByaXZhdGUgcHJpbmNpcGFsU2VydmljZSA9IG5ldyBQcmluY2lwYWxTZXJ2aWNlKCk7XG4gIHByaXZhdGUgcm9sZVNlcnZpY2UgPSBuZXcgUm9sZVNlcnZpY2UoKTtcbiAgcHJpdmF0ZSByb2xlQXNzaWdubWVudFNlcnZpY2UgPSBuZXcgUm9sZUFzc2lnbm1lbnRTZXJ2aWNlKCk7XG4gIHByaXZhdGUgZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UgPSBuZXcgRWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UoKTtcblxuICBAdHJhbnNhY3Rpb25hbCgpXG4gIGFzeW5jIG9uYm9hcmRVc2VyVG9UZW5hbnRBbmRPcmdVbml0KFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgb3JnVW5pdElkOiBzdHJpbmcsXG4gICAgcm9sZUtleTogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8eyBwcmluY2lwYWxJZDogc3RyaW5nIH0+IHtcbiAgICBhd2FpdCB0aGlzLm1lbWJlcnNoaXBTZXJ2aWNlLmFkZFVzZXJUb1RlbmFudCh0ZW5hbnRJZCwgdXNlcklkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5vcmdNZW1iZXJzaGlwU2VydmljZS5hZGRVc2VyVG9PcmdVbml0KHRlbmFudElkLCBvcmdVbml0SWQsIHVzZXJJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgIGNvbnN0IHByaW5jaXBhbCA9IGF3YWl0IHRoaXMucHJpbmNpcGFsU2VydmljZS5nZXRVc2VyUHJpbmNpcGFsKHRlbmFudElkLCB1c2VySWQsIC4uLmFyZ3MpO1xuICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdldFRlbmFudFJvbGVCeUtleSh0ZW5hbnRJZCwgcm9sZUtleSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UuYXNzaWduUm9sZShcbiAgICAgIHtcbiAgICAgICAgdGVuYW50SWQsXG4gICAgICAgIHByaW5jaXBhbElkOiBwcmluY2lwYWwuaWQsXG4gICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgc2NvcGVLaW5kOiBTY29wZUtpbmQuT3JnVW5pdCxcbiAgICAgICAgc2NvcGVJZDogb3JnVW5pdElkLFxuICAgICAgICBpbmhlcml0RG93bjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLnJlYnVpbGRGb3JQcmluY2lwYWwodGVuYW50SWQsIHByaW5jaXBhbC5pZCwgLi4uYXJncyk7XG4gICAgcmV0dXJuIHsgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCB9O1xuICB9XG5cbiAgQHRyYW5zYWN0aW9uYWwoKVxuICBhc3luYyBjaGFuZ2VVc2VyT3JnUm9sZShcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHByaW5jaXBhbElkOiBzdHJpbmcsXG4gICAgb3JnVW5pdElkOiBzdHJpbmcsXG4gICAgcm9sZUtleTogc3RyaW5nLFxuICAgIGluaGVyaXREb3duOiBib29sZWFuLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdldFRlbmFudFJvbGVCeUtleSh0ZW5hbnRJZCwgcm9sZUtleSwgLi4uYXJncyk7XG4gICAgY29uc3QgY3VycmVudEFzc2lnbm1lbnRzID0gYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UubGlzdFByaW5jaXBhbEFzc2lnbm1lbnRzKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gICAgZm9yIChjb25zdCBhc3NpZ25tZW50IG9mIGN1cnJlbnRBc3NpZ25tZW50cy5maWx0ZXIoKHJvdykgPT4gcm93LnNjb3BlS2luZCA9PT0gU2NvcGVLaW5kLk9yZ1VuaXQgJiYgcm93LnNjb3BlSWQgPT09IG9yZ1VuaXRJZCkpIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLnJldm9rZUFzc2lnbm1lbnQoYXNzaWdubWVudC5pZCwgLi4uYXJncyk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLmFzc2lnblJvbGUoXG4gICAgICB7XG4gICAgICAgIHRlbmFudElkLFxuICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgcm9sZUlkOiByb2xlLmlkLFxuICAgICAgICBzY29wZUtpbmQ6IFNjb3BlS2luZC5PcmdVbml0LFxuICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgIGluaGVyaXREb3duLFxuICAgICAgfSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgQHRyYW5zYWN0aW9uYWwoKVxuICBhc3luYyBzdXNwZW5kVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZDogc3RyaW5nLCB0ZW5hbnRJZDogc3RyaW5nLCBwcmluY2lwYWxJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5TdXNwZW5kZWQsIC4uLmFyZ3MpO1xuICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UuZGVsZXRlRm9yUHJpbmNpcGFsKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gIH1cblxuICBAdHJhbnNhY3Rpb25hbCgpXG4gIGFzeW5jIHJlYWN0aXZhdGVVc2VySW5UZW5hbnQodGVuYW50TWVtYmVyc2hpcElkOiBzdHJpbmcsIHRlbmFudElkOiBzdHJpbmcsIHByaW5jaXBhbElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5zZXRTdGF0dXModGVuYW50TWVtYmVyc2hpcElkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZS5yZWJ1aWxkRm9yUHJpbmNpcGFsKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUFBLHdCQUFhLEdBQUU7SUFDZixVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNuQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRSxVQUFVLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0NBQzNDLEVBQUUsdUJBQXVCLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25FLFVBQVUsQ0FBQztJQUNQLElBQUEsd0JBQWEsR0FBRTtJQUNmLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUM7Q0FDM0MsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsMCtSQUEwK1IiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgdHJhbnNhY3Rpb25hbCB9IGZyb20gXCIuLy4uL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBNZW1iZXJzaGlwU3RhdHVzLCBTY29wZUtpbmQgfSBmcm9tIFwiLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgVGVuYW50TWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tIFwiLi90ZW5hbnQtbWVtYmVyc2hpcC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPcmdVbml0TWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tIFwiLi9vcmctdW5pdC1tZW1iZXJzaGlwLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByaW5jaXBhbFNlcnZpY2UgfSBmcm9tIFwiLi9wcmluY2lwYWwuc2VydmljZVwiO1xuaW1wb3J0IHsgUm9sZVNlcnZpY2UgfSBmcm9tIFwiLi9yb2xlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJvbGVBc3NpZ25tZW50U2VydmljZSB9IGZyb20gXCIuL3JvbGUtYXNzaWdubWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gXCIuL2VmZmVjdGl2ZS1wZXJtaXNzaW9uLnNlcnZpY2VcIjtcbmV4cG9ydCBjbGFzcyBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubWVtYmVyc2hpcFNlcnZpY2UgPSBuZXcgVGVuYW50TWVtYmVyc2hpcFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5vcmdNZW1iZXJzaGlwU2VydmljZSA9IG5ldyBPcmdVbml0TWVtYmVyc2hpcFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5wcmluY2lwYWxTZXJ2aWNlID0gbmV3IFByaW5jaXBhbFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5yb2xlU2VydmljZSA9IG5ldyBSb2xlU2VydmljZSgpO1xuICAgICAgICB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZSA9IG5ldyBSb2xlQXNzaWdubWVudFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSA9IG5ldyBFZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSgpO1xuICAgIH1cbiAgICBhc3luYyBvbmJvYXJkVXNlclRvVGVuYW50QW5kT3JnVW5pdCh0ZW5hbnRJZCwgdXNlcklkLCBvcmdVbml0SWQsIHJvbGVLZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5hZGRVc2VyVG9UZW5hbnQodGVuYW50SWQsIHVzZXJJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLm9yZ01lbWJlcnNoaXBTZXJ2aWNlLmFkZFVzZXJUb09yZ1VuaXQodGVuYW50SWQsIG9yZ1VuaXRJZCwgdXNlcklkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgICAgIGNvbnN0IHByaW5jaXBhbCA9IGF3YWl0IHRoaXMucHJpbmNpcGFsU2VydmljZS5nZXRVc2VyUHJpbmNpcGFsKHRlbmFudElkLCB1c2VySWQsIC4uLmFyZ3MpO1xuICAgICAgICBjb25zdCByb2xlID0gYXdhaXQgdGhpcy5yb2xlU2VydmljZS5nZXRUZW5hbnRSb2xlQnlLZXkodGVuYW50SWQsIHJvbGVLZXksIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZS5hc3NpZ25Sb2xlKHtcbiAgICAgICAgICAgIHRlbmFudElkLFxuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCxcbiAgICAgICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLk9yZ1VuaXQsXG4gICAgICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgICAgICBpbmhlcml0RG93bjogdHJ1ZSxcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsLmlkLCAuLi5hcmdzKTtcbiAgICAgICAgcmV0dXJuIHsgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCB9O1xuICAgIH1cbiAgICBhc3luYyBjaGFuZ2VVc2VyT3JnUm9sZSh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIG9yZ1VuaXRJZCwgcm9sZUtleSwgaW5oZXJpdERvd24sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ2V0VGVuYW50Um9sZUJ5S2V5KHRlbmFudElkLCByb2xlS2V5LCAuLi5hcmdzKTtcbiAgICAgICAgY29uc3QgY3VycmVudEFzc2lnbm1lbnRzID0gYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UubGlzdFByaW5jaXBhbEFzc2lnbm1lbnRzKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gICAgICAgIGZvciAoY29uc3QgYXNzaWdubWVudCBvZiBjdXJyZW50QXNzaWdubWVudHMuZmlsdGVyKChyb3cpID0+IHJvdy5zY29wZUtpbmQgPT09IFNjb3BlS2luZC5PcmdVbml0ICYmIHJvdy5zY29wZUlkID09PSBvcmdVbml0SWQpKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZS5yZXZva2VBc3NpZ25tZW50KGFzc2lnbm1lbnQuaWQsIC4uLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLmFzc2lnblJvbGUoe1xuICAgICAgICAgICAgdGVuYW50SWQsXG4gICAgICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLk9yZ1VuaXQsXG4gICAgICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgICAgICBpbmhlcml0RG93bixcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBzdXNwZW5kVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZCwgdGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5TdXNwZW5kZWQsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLmRlbGV0ZUZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyByZWFjdGl2YXRlVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZCwgdGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLnJlYnVpbGRGb3JQcmluY2lwYWwodGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIFN0cmluZywgT2JqZWN0XSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5wcm90b3R5cGUsIFwib25ib2FyZFVzZXJUb1RlbmFudEFuZE9yZ1VuaXRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIFN0cmluZywgQm9vbGVhbiwgT2JqZWN0XSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5wcm90b3R5cGUsIFwiY2hhbmdlVXNlck9yZ1JvbGVcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIE9iamVjdF0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UucHJvdG90eXBlLCBcInN1c3BlbmRVc2VySW5UZW5hbnRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIE9iamVjdF0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UucHJvdG90eXBlLCBcInJlYWN0aXZhdGVVc2VySW5UZW5hbnRcIiwgbnVsbCk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljM2x6ZEdWdExXMWhibUZuWlcxbGJuUXVjMlZ5ZG1salpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTl1WVcxbGMzQmhZMlZ6TDNObGNuWnBZMlZ6TDNONWMzUmxiUzF0WVc1aFoyVnRaVzUwTG5ObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3h6UWtGQmFVSTdRVUZEZWtNc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3h6UWtGQmFVSTdRVUZEZGtRc1QwRkJUeXhGUVVGRkxIVkNRVUYxUWl4RlFVRkZMRTFCUVUwc05rSkJRVFpDTEVOQlFVTTdRVUZEZEVVc1QwRkJUeXhGUVVGRkxIZENRVUYzUWl4RlFVRkZMRTFCUVUwc0swSkJRU3RDTEVOQlFVTTdRVUZEZWtVc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc2NVSkJRWEZDTEVOQlFVTTdRVUZEZGtRc1QwRkJUeXhGUVVGRkxGZEJRVmNzUlVGQlJTeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRemRETEU5QlFVOHNSVUZCUlN4eFFrRkJjVUlzUlVGQlJTeE5RVUZOTERKQ1FVRXlRaXhEUVVGRE8wRkJRMnhGTEU5QlFVOHNSVUZCUlN3d1FrRkJNRUlzUlVGQlJTeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJSVFZGTEUxQlFVMHNUMEZCVHl4MVFrRkJkVUk3U1VGQmNFTTdVVUZEVlN4elFrRkJhVUlzUjBGQlJ5eEpRVUZKTEhWQ1FVRjFRaXhGUVVGRkxFTkJRVU03VVVGRGJFUXNlVUpCUVc5Q0xFZEJRVWNzU1VGQlNTeDNRa0ZCZDBJc1JVRkJSU3hEUVVGRE8xRkJRM1JFTEhGQ1FVRm5RaXhIUVVGSExFbEJRVWtzWjBKQlFXZENMRVZCUVVVc1EwRkJRenRSUVVNeFF5eG5Ra0ZCVnl4SFFVRkhMRWxCUVVrc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRGFFTXNNRUpCUVhGQ0xFZEJRVWNzU1VGQlNTeHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRM0JFTEN0Q1FVRXdRaXhIUVVGSExFbEJRVWtzTUVKQlFUQkNMRVZCUVVVc1EwRkJRenRKUVc5RmVFVXNRMEZCUXp0SlFXcEZUeXhCUVVGT0xFdEJRVXNzUTBGQlF5dzJRa0ZCTmtJc1EwRkRha01zVVVGQlowSXNSVUZEYUVJc1RVRkJZeXhGUVVOa0xGTkJRV2xDTEVWQlEycENMRTlCUVdVc1JVRkRaaXhIUVVGSExFbEJRVmM3VVVGRlpDeE5RVUZOTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eGxRVUZsTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUnl4TlFVRk5MRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eFJRVUZSTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5vU0N4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETVVZc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU51Uml4TlFVRk5MRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4VlFVRlZMRU5CUTNwRE8xbEJRMFVzVVVGQlVUdFpRVU5TTEZkQlFWY3NSVUZCUlN4VFFVRlRMRU5CUVVNc1JVRkJSVHRaUVVONlFpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRaaXhUUVVGVExFVkJRVVVzVTBGQlV5eERRVUZETEU5QlFVODdXVUZETlVJc1QwRkJUeXhGUVVGRkxGTkJRVk03V1VGRGJFSXNWMEZCVnl4RlFVRkZMRWxCUVVrN1UwRkRiRUlzUlVGRFJDeEhRVUZITEVsQlFVa3NRMEZEVWl4RFFVRkRPMUZCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zTUVKQlFUQkNMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRk5CUVZNc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTXpSaXhQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRKUVVOMlF5eERRVUZETzBsQlIwc3NRVUZCVGl4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlEzSkNMRkZCUVdkQ0xFVkJRMmhDTEZkQlFXMUNMRVZCUTI1Q0xGTkJRV2xDTEVWQlEycENMRTlCUVdVc1JVRkRaaXhYUVVGdlFpeEZRVU53UWl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEyNUdMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zVVVGQlVTeEZRVUZGTEZkQlFWY3NSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM0pJTEV0QlFVc3NUVUZCVFN4VlFVRlZMRWxCUVVrc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVMEZCVXl4TFFVRkxMRk5CUVZNc1EwRkJReXhQUVVGUExFbEJRVWtzUjBGQlJ5eERRVUZETEU5QlFVOHNTMEZCU3l4VFFVRlRMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRemxJTEUxQlFVMHNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNMVJTeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlN4RFFVTjZRenRaUVVORkxGRkJRVkU3V1VGRFVpeFhRVUZYTzFsQlExZ3NUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRMllzVTBGQlV5eEZRVUZGTEZOQlFWTXNRMEZCUXl4UFFVRlBPMWxCUXpWQ0xFOUJRVThzUlVGQlJTeFRRVUZUTzFsQlEyeENMRmRCUVZjN1UwRkRXaXhGUVVORUxFZEJRVWNzU1VGQlNTeERRVU5TTEVOQlFVTTdVVUZEUml4TlFVRk5MRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVWQlFVVXNWMEZCVnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE5VWXNRMEZCUXp0SlFVZExMRUZCUVU0c1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVFd1FpeEZRVUZGTEZGQlFXZENMRVZCUVVVc1YwRkJiVUlzUlVGQlJTeEhRVUZITEVsQlFWYzdVVUZEZWtjc1RVRkJUU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1UwRkJVeXhEUVVGRExHdENRVUZyUWl4RlFVRkZMR2RDUVVGblFpeERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMmhITEUxQlFVMHNTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGRkJRVkVzUlVGQlJTeFhRVUZYTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelJpeERRVUZETzBsQlIwc3NRVUZCVGl4TFFVRkxMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNhMEpCUVRCQ0xFVkJRVVVzVVVGQlowSXNSVUZCUlN4WFFVRnRRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU0xUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4VFFVRlRMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkROMFlzVFVGQlRTeEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1VVRkJVU3hGUVVGRkxGZEJRVmNzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpWR0xFTkJRVU03UTBGRFJqdEJRV3BGVHp0SlFVUk1MR0ZCUVdFc1JVRkJSVHM3T3pzMFJVRjVRbVk3UVVGSFN6dEpRVVJNTEdGQlFXRXNSVUZCUlRzN096dG5SVUV3UW1ZN1FVRkhTenRKUVVSTUxHRkJRV0VzUlVGQlJUczdPenRyUlVGSlpqdEJRVWRMTzBsQlJFd3NZVUZCWVN4RlFVRkZPenM3TzNGRlFVbG1JaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnZEhKaGJuTmhZM1JwYjI1aGJDQjlJR1p5YjIwZ1hDSXVMaTkxZEdsc2Mxd2lPMXh1YVcxd2IzSjBJSHNnVFdWdFltVnljMmhwY0ZOMFlYUjFjeXdnVTJOdmNHVkxhVzVrSUgwZ1puSnZiU0JjSWk0dUwzUjVjR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5QlVaVzVoYm5STlpXMWlaWEp6YUdsd1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzUmxibUZ1ZEMxdFpXMWlaWEp6YUdsd0xuTmxjblpwWTJWY0lqdGNibWx0Y0c5eWRDQjdJRTl5WjFWdWFYUk5aVzFpWlhKemFHbHdVMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSXVMMjl5WnkxMWJtbDBMVzFsYldKbGNuTm9hWEF1YzJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1VISnBibU5wY0dGc1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzQnlhVzVqYVhCaGJDNXpaWEoyYVdObFhDSTdYRzVwYlhCdmNuUWdleUJTYjJ4bFUyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzSnZiR1V1YzJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1VtOXNaVUZ6YzJsbmJtMWxiblJUWlhKMmFXTmxJSDBnWm5KdmJTQmNJaTR2Y205c1pTMWhjM05wWjI1dFpXNTBMbk5sY25acFkyVmNJanRjYm1sdGNHOXlkQ0I3SUVWbVptVmpkR2wyWlZCbGNtMXBjM05wYjI1VFpYSjJhV05sSUgwZ1puSnZiU0JjSWk0dlpXWm1aV04wYVhabExYQmxjbTFwYzNOcGIyNHVjMlZ5ZG1salpWd2lPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdVM2x6ZEdWdFRXRnVZV2RsYldWdWRGTmxjblpwWTJVZ2UxeHVJQ0J3Y21sMllYUmxJRzFsYldKbGNuTm9hWEJUWlhKMmFXTmxJRDBnYm1WM0lGUmxibUZ1ZEUxbGJXSmxjbk5vYVhCVFpYSjJhV05sS0NrN1hHNGdJSEJ5YVhaaGRHVWdiM0puVFdWdFltVnljMmhwY0ZObGNuWnBZMlVnUFNCdVpYY2dUM0puVlc1cGRFMWxiV0psY25Ob2FYQlRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnY0hKcGJtTnBjR0ZzVTJWeWRtbGpaU0E5SUc1bGR5QlFjbWx1WTJsd1lXeFRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnY205c1pWTmxjblpwWTJVZ1BTQnVaWGNnVW05c1pWTmxjblpwWTJVb0tUdGNiaUFnY0hKcGRtRjBaU0J5YjJ4bFFYTnphV2R1YldWdWRGTmxjblpwWTJVZ1BTQnVaWGNnVW05c1pVRnpjMmxuYm0xbGJuUlRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnWldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxObGNuWnBZMlVnUFNCdVpYY2dSV1ptWldOMGFYWmxVR1Z5YldsemMybHZibE5sY25acFkyVW9LVHRjYmx4dUlDQkFkSEpoYm5OaFkzUnBiMjVoYkNncFhHNGdJR0Z6ZVc1aklHOXVZbTloY21SVmMyVnlWRzlVWlc1aGJuUkJibVJQY21kVmJtbDBLRnh1SUNBZ0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnZFhObGNrbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnY205c1pVdGxlVG9nYzNSeWFXNW5MRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThleUJ3Y21sdVkybHdZV3hKWkRvZ2MzUnlhVzVuSUgwK0lIdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtMWxiV0psY25Ob2FYQlRaWEoyYVdObExtRmtaRlZ6WlhKVWIxUmxibUZ1ZENoMFpXNWhiblJKWkN3Z2RYTmxja2xrTENCTlpXMWlaWEp6YUdsd1UzUmhkSFZ6TGtGamRHbDJaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTV2Y21kTlpXMWlaWEp6YUdsd1UyVnlkbWxqWlM1aFpHUlZjMlZ5Vkc5UGNtZFZibWwwS0hSbGJtRnVkRWxrTENCdmNtZFZibWwwU1dRc0lIVnpaWEpKWkN3Z1RXVnRZbVZ5YzJocGNGTjBZWFIxY3k1QlkzUnBkbVVzSUM0dUxtRnlaM01wTzF4dUlDQWdJR052Ym5OMElIQnlhVzVqYVhCaGJDQTlJR0YzWVdsMElIUm9hWE11Y0hKcGJtTnBjR0ZzVTJWeWRtbGpaUzVuWlhSVmMyVnlVSEpwYm1OcGNHRnNLSFJsYm1GdWRFbGtMQ0IxYzJWeVNXUXNJQzR1TG1GeVozTXBPMXh1SUNBZ0lHTnZibk4wSUhKdmJHVWdQU0JoZDJGcGRDQjBhR2x6TG5KdmJHVlRaWEoyYVdObExtZGxkRlJsYm1GdWRGSnZiR1ZDZVV0bGVTaDBaVzVoYm5SSlpDd2djbTlzWlV0bGVTd2dMaTR1WVhKbmN5azdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsUVhOemFXZHViV1Z1ZEZObGNuWnBZMlV1WVhOemFXZHVVbTlzWlNoY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RHVnVZVzUwU1dRc1hHNGdJQ0FnSUNBZ0lIQnlhVzVqYVhCaGJFbGtPaUJ3Y21sdVkybHdZV3d1YVdRc1hHNGdJQ0FnSUNBZ0lISnZiR1ZKWkRvZ2NtOXNaUzVwWkN4Y2JpQWdJQ0FnSUNBZ2MyTnZjR1ZMYVc1a09pQlRZMjl3WlV0cGJtUXVUM0puVlc1cGRDeGNiaUFnSUNBZ0lDQWdjMk52Y0dWSlpEb2diM0puVlc1cGRFbGtMRnh1SUNBZ0lDQWdJQ0JwYm1obGNtbDBSRzkzYmpvZ2RISjFaU3hjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0F1TGk1aGNtZHpYRzRnSUNBZ0tUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtVm1abVZqZEdsMlpWQmxjbTFwYzNOcGIyNVRaWEoyYVdObExuSmxZblZwYkdSR2IzSlFjbWx1WTJsd1lXd29kR1Z1WVc1MFNXUXNJSEJ5YVc1amFYQmhiQzVwWkN3Z0xpNHVZWEpuY3lrN1hHNGdJQ0FnY21WMGRYSnVJSHNnY0hKcGJtTnBjR0ZzU1dRNklIQnlhVzVqYVhCaGJDNXBaQ0I5TzF4dUlDQjlYRzVjYmlBZ1FIUnlZVzV6WVdOMGFXOXVZV3dvS1Z4dUlDQmhjM2x1WXlCamFHRnVaMlZWYzJWeVQzSm5VbTlzWlNoY2JpQWdJQ0IwWlc1aGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lIQnlhVzVqYVhCaGJFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnY205c1pVdGxlVG9nYzNSeWFXNW5MRnh1SUNBZ0lHbHVhR1Z5YVhSRWIzZHVPaUJpYjI5c1pXRnVMRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEp2YkdVZ1BTQmhkMkZwZENCMGFHbHpMbkp2YkdWVFpYSjJhV05sTG1kbGRGUmxibUZ1ZEZKdmJHVkNlVXRsZVNoMFpXNWhiblJKWkN3Z2NtOXNaVXRsZVN3Z0xpNHVZWEpuY3lrN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFRnpjMmxuYm0xbGJuUnpJRDBnWVhkaGFYUWdkR2hwY3k1eWIyeGxRWE56YVdkdWJXVnVkRk5sY25acFkyVXViR2x6ZEZCeWFXNWphWEJoYkVGemMybG5ibTFsYm5SektIUmxibUZ1ZEVsa0xDQndjbWx1WTJsd1lXeEpaQ3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JoYzNOcFoyNXRaVzUwSUc5bUlHTjFjbkpsYm5SQmMzTnBaMjV0Wlc1MGN5NW1hV3gwWlhJb0tISnZkeWtnUFQ0Z2NtOTNMbk5qYjNCbFMybHVaQ0E5UFQwZ1UyTnZjR1ZMYVc1a0xrOXlaMVZ1YVhRZ0ppWWdjbTkzTG5OamIzQmxTV1FnUFQwOUlHOXlaMVZ1YVhSSlpDa3BJSHRjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Y205c1pVRnpjMmxuYm0xbGJuUlRaWEoyYVdObExuSmxkbTlyWlVGemMybG5ibTFsYm5Rb1lYTnphV2R1YldWdWRDNXBaQ3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdmVnh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVjbTlzWlVGemMybG5ibTFsYm5SVFpYSjJhV05sTG1GemMybG5ibEp2YkdVb1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUmxibUZ1ZEVsa0xGeHVJQ0FnSUNBZ0lDQndjbWx1WTJsd1lXeEpaQ3hjYmlBZ0lDQWdJQ0FnY205c1pVbGtPaUJ5YjJ4bExtbGtMRnh1SUNBZ0lDQWdJQ0J6WTI5d1pVdHBibVE2SUZOamIzQmxTMmx1WkM1UGNtZFZibWwwTEZ4dUlDQWdJQ0FnSUNCelkyOXdaVWxrT2lCdmNtZFZibWwwU1dRc1hHNGdJQ0FnSUNBZ0lHbHVhR1Z5YVhSRWIzZHVMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQzR1TG1GeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXWm1aV04wYVhabFVHVnliV2x6YzJsdmJsTmxjblpwWTJVdWNtVmlkV2xzWkVadmNsQnlhVzVqYVhCaGJDaDBaVzVoYm5SSlpDd2djSEpwYm1OcGNHRnNTV1FzSUM0dUxtRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1FIUnlZVzV6WVdOMGFXOXVZV3dvS1Z4dUlDQmhjM2x1WXlCemRYTndaVzVrVlhObGNrbHVWR1Z1WVc1MEtIUmxibUZ1ZEUxbGJXSmxjbk5vYVhCSlpEb2djM1J5YVc1bkxDQjBaVzVoYm5SSlpEb2djM1J5YVc1bkxDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWJXVnRZbVZ5YzJocGNGTmxjblpwWTJVdWMyVjBVM1JoZEhWektIUmxibUZ1ZEUxbGJXSmxjbk5vYVhCSlpDd2dUV1Z0WW1WeWMyaHBjRk4wWVhSMWN5NVRkWE53Wlc1a1pXUXNJQzR1TG1GeVozTXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVaV1ptWldOMGFYWmxVR1Z5YldsemMybHZibE5sY25acFkyVXVaR1ZzWlhSbFJtOXlVSEpwYm1OcGNHRnNLSFJsYm1GdWRFbGtMQ0J3Y21sdVkybHdZV3hKWkN3Z0xpNHVZWEpuY3lrN1hHNGdJSDFjYmx4dUlDQkFkSEpoYm5OaFkzUnBiMjVoYkNncFhHNGdJR0Z6ZVc1aklISmxZV04wYVhaaGRHVlZjMlZ5U1c1VVpXNWhiblFvZEdWdVlXNTBUV1Z0WW1WeWMyaHBjRWxrT2lCemRISnBibWNzSUhSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWFXNWphWEJoYkVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTV0WlcxaVpYSnphR2x3VTJWeWRtbGpaUzV6WlhSVGRHRjBkWE1vZEdWdVlXNTBUV1Z0WW1WeWMyaHBjRWxrTENCTlpXMWlaWEp6YUdsd1UzUmhkSFZ6TGtGamRHbDJaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVsWm1abFkzUnBkbVZRWlhKdGFYTnphVzl1VTJWeWRtbGpaUzV5WldKMWFXeGtSbTl5VUhKcGJtTnBjR0ZzS0hSbGJtRnVkRWxrTENCd2NtbHVZMmx3WVd4SlpDd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TenantMembershipService = void 0;
4
+ const utils_js_1 = require("./../utils.cjs");
5
+ const types_js_1 = require("./../types.cjs");
6
+ const tenant_membership_model_1 = require("../models/tenant-membership.model");
7
+ class TenantMembershipService extends utils_js_1.BaseModelService {
8
+ constructor() {
9
+ super(tenant_membership_model_1.TenantMembership);
10
+ }
11
+ async addUserToTenant(tenantId, userId, status = types_js_1.MembershipStatus.Active, ...args) {
12
+ return this.create({
13
+ tenant: tenantId,
14
+ user: userId,
15
+ status,
16
+ }, ...args);
17
+ }
18
+ async setStatus(membershipId, status, ...args) {
19
+ return this.updateOne(membershipId, { status }, ...args);
20
+ }
21
+ async listUserTenants(userId, ...args) {
22
+ return (await this.listAll(...args)).filter((membership) => (0, utils_js_1.relationMatch)(membership.user, userId));
23
+ }
24
+ async listTenantUsers(tenantId, ...args) {
25
+ return (await this.listAll(...args)).filter((membership) => (0, utils_js_1.sameTenant)(membership.tenant, tenantId));
26
+ }
27
+ async removeUserFromTenant(membershipId, ...args) {
28
+ await this.deleteById(membershipId, ...args);
29
+ }
30
+ }
31
+ exports.TenantMembershipService = TenantMembershipService;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1lbWJlcnNoaXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3RlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsc0JBQWlCO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBaUI7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFrQztJQUM3RTtRQUNFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixRQUFnQixFQUNoQixNQUFjLEVBQ2QsU0FBMkIsZ0JBQWdCLENBQUMsTUFBTSxFQUNsRCxHQUFHLElBQVc7UUFFZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCO1lBQ0UsTUFBTSxFQUFFLFFBQVE7WUFDaEIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNO1NBQ1AsRUFDRCxHQUFHLElBQUksQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBb0IsRUFBRSxNQUF3QixFQUFFLEdBQUcsSUFBVztRQUM1RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFjLEVBQUUsR0FBRyxJQUFXO1FBQ2xELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUNwRCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxZQUFvQixFQUFFLEdBQUcsSUFBVztRQUM3RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSwgcmVsYXRpb25NYXRjaCwgc2FtZVRlbmFudCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgVGVuYW50TWVtYmVyc2hpcCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50LW1lbWJlcnNoaXAubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnRNZW1iZXJzaGlwPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFRlbmFudE1lbWJlcnNoaXApO1xuICB9XG5cbiAgYXN5bmMgYWRkVXNlclRvVGVuYW50KFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgc3RhdHVzOiBNZW1iZXJzaGlwU3RhdHVzID0gTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxUZW5hbnRNZW1iZXJzaGlwPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAge1xuICAgICAgICB0ZW5hbnQ6IHRlbmFudElkLFxuICAgICAgICB1c2VyOiB1c2VySWQsXG4gICAgICAgIHN0YXR1cyxcbiAgICAgIH0sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNldFN0YXR1cyhtZW1iZXJzaGlwSWQ6IHN0cmluZywgc3RhdHVzOiBNZW1iZXJzaGlwU3RhdHVzLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50TWVtYmVyc2hpcD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZShtZW1iZXJzaGlwSWQsIHsgc3RhdHVzIH0sIC4uLmFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgbGlzdFVzZXJUZW5hbnRzKHVzZXJJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50TWVtYmVyc2hpcFtdPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gcmVsYXRpb25NYXRjaChtZW1iZXJzaGlwLnVzZXIsIHVzZXJJZCkpO1xuICB9XG5cbiAgYXN5bmMgbGlzdFRlbmFudFVzZXJzKHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnRNZW1iZXJzaGlwW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChtZW1iZXJzaGlwKSA9PiBzYW1lVGVuYW50KG1lbWJlcnNoaXAudGVuYW50LCB0ZW5hbnRJZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlVXNlckZyb21UZW5hbnQobWVtYmVyc2hpcElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKG1lbWJlcnNoaXBJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1lbWJlcnNoaXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQTRFO0FBQzVFLDRDQUFpRDtBQUNqRCwrRUFBcUU7QUFDckUsTUFBYSx1QkFBd0IsU0FBUSwyQkFBZ0I7SUFDekQ7UUFDSSxLQUFLLENBQUMsMENBQWdCLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRywyQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJO1FBQzdFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTTtTQUNULEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSTtRQUN6QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJO1FBQ2pDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBYSxFQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJO1FBQ25DLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBQSxxQkFBVSxFQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0QsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxHQUFHLElBQUk7UUFDNUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDSjtBQXZCRCwwREF1QkM7QUFDRCxra0hBQWtrSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbFNlcnZpY2UsIHJlbGF0aW9uTWF0Y2gsIHNhbWVUZW5hbnQgfSBmcm9tIFwiLi8uLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cyB9IGZyb20gXCIuLy4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBUZW5hbnRNZW1iZXJzaGlwIH0gZnJvbSBcIi4uL21vZGVscy90ZW5hbnQtbWVtYmVyc2hpcC5tb2RlbFwiO1xuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFRlbmFudE1lbWJlcnNoaXApO1xuICAgIH1cbiAgICBhc3luYyBhZGRVc2VyVG9UZW5hbnQodGVuYW50SWQsIHVzZXJJZCwgc3RhdHVzID0gTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtcbiAgICAgICAgICAgIHRlbmFudDogdGVuYW50SWQsXG4gICAgICAgICAgICB1c2VyOiB1c2VySWQsXG4gICAgICAgICAgICBzdGF0dXMsXG4gICAgICAgIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBzZXRTdGF0dXMobWVtYmVyc2hpcElkLCBzdGF0dXMsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKG1lbWJlcnNoaXBJZCwgeyBzdGF0dXMgfSwgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGxpc3RVc2VyVGVuYW50cyh1c2VySWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gcmVsYXRpb25NYXRjaChtZW1iZXJzaGlwLnVzZXIsIHVzZXJJZCkpO1xuICAgIH1cbiAgICBhc3luYyBsaXN0VGVuYW50VXNlcnModGVuYW50SWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gc2FtZVRlbmFudChtZW1iZXJzaGlwLnRlbmFudCwgdGVuYW50SWQpKTtcbiAgICB9XG4gICAgYXN5bmMgcmVtb3ZlVXNlckZyb21UZW5hbnQobWVtYmVyc2hpcElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlQnlJZChtZW1iZXJzaGlwSWQsIC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRHVnVZVzUwTFcxbGJXSmxjbk5vYVhBdWMyVnlkbWxqWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMM05sY25acFkyVnpMM1JsYm1GdWRDMXRaVzFpWlhKemFHbHdMbk5sY25acFkyVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hWUVVGVkxFVkJRVVVzYzBKQlFXbENPMEZCUTNaRkxFOUJRVThzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3h6UWtGQmFVSTdRVUZETlVNc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc2JVTkJRVzFETEVOQlFVTTdRVUZGY2tVc1RVRkJUU3hQUVVGUExIVkNRVUYzUWl4VFFVRlJMR2RDUVVGclF6dEpRVU0zUlR0UlFVTkZMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPMGxCUXpGQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVTnVRaXhSUVVGblFpeEZRVU5vUWl4TlFVRmpMRVZCUTJRc1UwRkJNa0lzWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hGUVVOc1JDeEhRVUZITEVsQlFWYzdVVUZGWkN4UFFVRlBMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRMmhDTzFsQlEwVXNUVUZCVFN4RlFVRkZMRkZCUVZFN1dVRkRhRUlzU1VGQlNTeEZRVUZGTEUxQlFVMDdXVUZEV2l4TlFVRk5PMU5CUTFBc1JVRkRSQ3hIUVVGSExFbEJRVWtzUTBGRFVpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQmIwSXNSVUZCUlN4TlFVRjNRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU0xUlN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eE5RVUZqTEVWQlFVVXNSMEZCUnl4SlFVRlhPMUZCUTJ4RUxFOUJRVThzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU4wUnl4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVOd1JDeFBRVUZQTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtjc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGdlFpeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTTNSQ3hOUVVGTkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNXVUZCV1N4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGREwwTXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUW1GelpVMXZaR1ZzVTJWeWRtbGpaU3dnY21Wc1lYUnBiMjVOWVhSamFDd2djMkZ0WlZSbGJtRnVkQ0I5SUdaeWIyMGdYQ0l1TGk5MWRHbHNjMXdpTzF4dWFXMXdiM0owSUhzZ1RXVnRZbVZ5YzJocGNGTjBZWFIxY3lCOUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dWR1Z1WVc1MFRXVnRZbVZ5YzJocGNDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExXMWxiV0psY25Ob2FYQXViVzlrWld4Y0lqdGNibHh1Wlhod2IzSjBJR05zWVhOeklGUmxibUZ1ZEUxbGJXSmxjbk5vYVhCVFpYSjJhV05sSUdWNGRHVnVaSE1nUW1GelpVMXZaR1ZzVTJWeWRtbGpaVHhVWlc1aGJuUk5aVzFpWlhKemFHbHdQaUI3WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtGUmxibUZ1ZEUxbGJXSmxjbk5vYVhBcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1lXUmtWWE5sY2xSdlZHVnVZVzUwS0Z4dUlDQWdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2RYTmxja2xrT2lCemRISnBibWNzWEc0Z0lDQWdjM1JoZEhWek9pQk5aVzFpWlhKemFHbHdVM1JoZEhWeklEMGdUV1Z0WW1WeWMyaHBjRk4wWVhSMWN5NUJZM1JwZG1Vc1hHNGdJQ0FnTGk0dVlYSm5jem9nWVc1NVcxMWNiaUFnS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJOWlcxaVpYSnphR2x3UGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkzSmxZWFJsS0Z4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMFpXNWhiblE2SUhSbGJtRnVkRWxrTEZ4dUlDQWdJQ0FnSUNCMWMyVnlPaUIxYzJWeVNXUXNYRzRnSUNBZ0lDQWdJSE4wWVhSMWN5eGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQXVMaTVoY21kelhHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhObGRGTjBZWFIxY3lodFpXMWlaWEp6YUdsd1NXUTZJSE4wY21sdVp5d2djM1JoZEhWek9pQk5aVzFpWlhKemFHbHdVM1JoZEhWekxDQXVMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOFZHVnVZVzUwVFdWdFltVnljMmhwY0Q0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVndaR0YwWlU5dVpTaHRaVzFpWlhKemFHbHdTV1FzSUhzZ2MzUmhkSFZ6SUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2JHbHpkRlZ6WlhKVVpXNWhiblJ6S0hWelpYSkpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWR1Z1WVc1MFRXVnRZbVZ5YzJocGNGdGRQaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaGhkMkZwZENCMGFHbHpMbXhwYzNSQmJHd29MaTR1WVhKbmN5a3BMbVpwYkhSbGNpZ29iV1Z0WW1WeWMyaHBjQ2tnUFQ0Z2NtVnNZWFJwYjI1TllYUmphQ2h0WlcxaVpYSnphR2x3TG5WelpYSXNJSFZ6WlhKSlpDa3BPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdiR2x6ZEZSbGJtRnVkRlZ6WlhKektIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJOWlcxaVpYSnphR2x3VzEwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0dGM1lXbDBJSFJvYVhNdWJHbHpkRUZzYkNndUxpNWhjbWR6S1NrdVptbHNkR1Z5S0NodFpXMWlaWEp6YUdsd0tTQTlQaUJ6WVcxbFZHVnVZVzUwS0cxbGJXSmxjbk5vYVhBdWRHVnVZVzUwTENCMFpXNWhiblJKWkNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2NtVnRiM1psVlhObGNrWnliMjFVWlc1aGJuUW9iV1Z0WW1WeWMyaHBjRWxrT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NWtaV3hsZEdWQ2VVbGtLRzFsYldKbGNuTm9hWEJKWkN3Z0xpNHVZWEpuY3lrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TenantProfileService = void 0;
4
+ const utils_js_1 = require("./../utils.cjs");
5
+ const tenant_profile_model_1 = require("../models/tenant-profile.model");
6
+ class TenantProfileService extends utils_js_1.BaseModelService {
7
+ constructor() {
8
+ super(tenant_profile_model_1.TenantProfile);
9
+ }
10
+ async createProfile(tenantId, profileKey, metadata, ...args) {
11
+ return this.create({
12
+ tenant: tenantId,
13
+ profileKey,
14
+ metadata,
15
+ }, ...args);
16
+ }
17
+ async listForTenant(tenantId, ...args) {
18
+ return (await this.listAll(...args)).filter((profile) => (0, utils_js_1.sameTenant)(profile.tenant, tenantId));
19
+ }
20
+ async deleteForTenant(tenantId, ...args) {
21
+ for (const row of await this.listForTenant(tenantId, ...args)) {
22
+ await this.deleteById(row.id, ...args);
23
+ }
24
+ }
25
+ }
26
+ exports.TenantProfileService = TenantProfileService;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXByb2ZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3RlbmFudC1wcm9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFrQixVQUFVLEVBQUUsc0JBQWlCO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQStCO0lBQ3ZFO1FBQ0UsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUNqQixRQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQyxHQUFHLElBQVc7UUFFZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCO1lBQ0UsTUFBTSxFQUFFLFFBQVE7WUFDaEIsVUFBVTtZQUNWLFFBQVE7U0FDVCxFQUNELEdBQUcsSUFBSSxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUNsRCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxHQUFHLElBQVc7UUFDcEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWxTZXJ2aWNlLCBpZCwgcmVsYXRpb25JZCwgc2FtZVRlbmFudCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVGVuYW50UHJvZmlsZSB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50LXByb2ZpbGUubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFRlbmFudFByb2ZpbGVTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnRQcm9maWxlPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFRlbmFudFByb2ZpbGUpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlUHJvZmlsZShcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHByb2ZpbGVLZXk6IHN0cmluZyxcbiAgICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8VGVuYW50UHJvZmlsZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdGVuYW50OiB0ZW5hbnRJZCxcbiAgICAgICAgcHJvZmlsZUtleSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBsaXN0Rm9yVGVuYW50KHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnRQcm9maWxlW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChwcm9maWxlKSA9PiBzYW1lVGVuYW50KHByb2ZpbGUudGVuYW50LCB0ZW5hbnRJZCkpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlRm9yVGVuYW50KHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCByb3cgb2YgYXdhaXQgdGhpcy5saXN0Rm9yVGVuYW50KHRlbmFudElkLCAuLi5hcmdzKSkge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKHJvdy5pZCwgLi4uYXJncyk7XG4gICAgfVxuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXByb2ZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlbmFudC1wcm9maWxlLnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQTZEO0FBQzdELHlFQUErRDtBQUMvRCxNQUFhLG9CQUFxQixTQUFRLDJCQUFnQjtJQUN0RDtRQUNJLEtBQUssQ0FBQyxvQ0FBYSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFVBQVU7WUFDVixRQUFRO1NBQ1gsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUk7UUFDakMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFVLEVBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUk7UUFDbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFuQkQsb0RBbUJDO0FBQ0Qsc21GQUFzbUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWxTZXJ2aWNlLCBzYW1lVGVuYW50IH0gZnJvbSBcIi4vLi4vdXRpbHMuanNcIjtcbmltcG9ydCB7IFRlbmFudFByb2ZpbGUgfSBmcm9tIFwiLi4vbW9kZWxzL3RlbmFudC1wcm9maWxlLm1vZGVsXCI7XG5leHBvcnQgY2xhc3MgVGVuYW50UHJvZmlsZVNlcnZpY2UgZXh0ZW5kcyBCYXNlTW9kZWxTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoVGVuYW50UHJvZmlsZSk7XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZVByb2ZpbGUodGVuYW50SWQsIHByb2ZpbGVLZXksIG1ldGFkYXRhLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICAgICAgICB0ZW5hbnQ6IHRlbmFudElkLFxuICAgICAgICAgICAgcHJvZmlsZUtleSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgbGlzdEZvclRlbmFudCh0ZW5hbnRJZCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChwcm9maWxlKSA9PiBzYW1lVGVuYW50KHByb2ZpbGUudGVuYW50LCB0ZW5hbnRJZCkpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGVGb3JUZW5hbnQodGVuYW50SWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgZm9yIChjb25zdCByb3cgb2YgYXdhaXQgdGhpcy5saXN0Rm9yVGVuYW50KHRlbmFudElkLCAuLi5hcmdzKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKHJvdy5pZCwgLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR1Z1WVc1MExYQnliMlpwYkdVdWMyVnlkbWxqWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMM05sY25acFkyVnpMM1JsYm1GdWRDMXdjbTltYVd4bExuTmxjblpwWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGclFpeFZRVUZWTEVWQlFVVXNjMEpCUVdsQ08wRkJRM2hGTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVVXZSQ3hOUVVGTkxFOUJRVThzYjBKQlFYRkNMRk5CUVZFc1owSkJRU3RDTzBsQlEzWkZPMUZCUTBVc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzBsQlEzWkNMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zWVVGQllTeERRVU5xUWl4UlFVRm5RaXhGUVVOb1FpeFZRVUZyUWl4RlFVTnNRaXhSUVVGclF5eEZRVU5zUXl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hQUVVGUExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlEyaENPMWxCUTBVc1RVRkJUU3hGUVVGRkxGRkJRVkU3V1VGRGFFSXNWVUZCVlR0WlFVTldMRkZCUVZFN1UwRkRWQ3hGUVVORUxFZEJRVWNzU1VGQlNTeERRVU5TTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVOc1JDeFBRVUZQTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEYWtjc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGNFUXNTMEZCU3l4TlFVRk5MRWRCUVVjc1NVRkJTU3hOUVVGTkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNVVUZCVVN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU01UkN4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM3BETEVOQlFVTTdTVUZEU0N4RFFVRkRPME5CUTBZaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkNZWE5sVFc5a1pXeFRaWEoyYVdObExDQnBaQ3dnY21Wc1lYUnBiMjVKWkN3Z2MyRnRaVlJsYm1GdWRDQjlJR1p5YjIwZ1hDSXVMaTkxZEdsc2Mxd2lPMXh1YVcxd2IzSjBJSHNnVkdWdVlXNTBVSEp2Wm1sc1pTQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExYQnliMlpwYkdVdWJXOWtaV3hjSWp0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZSbGJtRnVkRkJ5YjJacGJHVlRaWEoyYVdObElHVjRkR1Z1WkhNZ1FtRnpaVTF2WkdWc1UyVnlkbWxqWlR4VVpXNWhiblJRY205bWFXeGxQaUI3WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtGUmxibUZ1ZEZCeWIyWnBiR1VwTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWTNKbFlYUmxVSEp2Wm1sc1pTaGNiaUFnSUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTEZ4dUlDQWdJSEJ5YjJacGJHVkxaWGs2SUhOMGNtbHVaeXhjYmlBZ0lDQnRaWFJoWkdGMFlUODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K0xGeHVJQ0FnSUM0dUxtRnlaM002SUdGdWVWdGRYRzRnSUNrNklGQnliMjFwYzJVOFZHVnVZVzUwVUhKdlptbHNaVDRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OeVpXRjBaU2hjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdWdVlXNTBPaUIwWlc1aGJuUkpaQ3hjYmlBZ0lDQWdJQ0FnY0hKdlptbHNaVXRsZVN4Y2JpQWdJQ0FnSUNBZ2JXVjBZV1JoZEdFc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0xpNHVZWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJzYVhOMFJtOXlWR1Z1WVc1MEtIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJRY205bWFXeGxXMTArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLR0YzWVdsMElIUm9hWE11YkdsemRFRnNiQ2d1TGk1aGNtZHpLU2t1Wm1sc2RHVnlLQ2h3Y205bWFXeGxLU0E5UGlCellXMWxWR1Z1WVc1MEtIQnliMlpwYkdVdWRHVnVZVzUwTENCMFpXNWhiblJKWkNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pHVnNaWFJsUm05eVZHVnVZVzUwS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnliM2NnYjJZZ1lYZGhhWFFnZEdocGN5NXNhWE4wUm05eVZHVnVZVzUwS0hSbGJtRnVkRWxrTENBdUxpNWhjbWR6S1NrZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWtaV3hsZEdWQ2VVbGtLSEp2ZHk1cFpDd2dMaTR1WVhKbmN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNGlYWDA9Il19
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TenantService = void 0;
4
+ const utils_js_1 = require("./../utils.cjs");
5
+ const types_js_1 = require("./../types.cjs");
6
+ const tenant_model_1 = require("../models/tenant.model");
7
+ class TenantService extends utils_js_1.BaseModelService {
8
+ constructor() {
9
+ super(tenant_model_1.Tenant);
10
+ }
11
+ async createTenant(input, ...args) {
12
+ return this.create({
13
+ slug: input.slug,
14
+ name: input.name,
15
+ isolationTier: input.isolationTier ?? types_js_1.IsolationTier.Pooled,
16
+ }, ...args);
17
+ }
18
+ async getBySlug(slug, ...args) {
19
+ return this.findOneBy("slug", slug, ...args);
20
+ }
21
+ async renameTenant(tenantId, name, ...args) {
22
+ return this.updateOne(tenantId, { name }, ...args);
23
+ }
24
+ async changeSlug(tenantId, slug, ...args) {
25
+ return this.updateOne(tenantId, { slug }, ...args);
26
+ }
27
+ async setIsolationTier(tenantId, isolationTier, ...args) {
28
+ return this.updateOne(tenantId, { isolationTier }, ...args);
29
+ }
30
+ async deleteTenantControlled(tenantId, ...args) {
31
+ await this.deleteById(tenantId, ...args);
32
+ }
33
+ }
34
+ exports.TenantService = TenantService;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmFtZXNwYWNlcy9zZXJ2aWNlcy90ZW5hbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQWlCO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQXFCLHNCQUFpQjtBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxnQkFBd0I7SUFDekQ7UUFDRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBd0IsRUFBRSxHQUFHLElBQVc7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQjtZQUNFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU07U0FDM0QsRUFDRCxHQUFHLElBQUksQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUMvRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLElBQVksRUFBRSxHQUFHLElBQVc7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsUUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsR0FBRyxJQUFXO1FBRWQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUMzRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgSXNvbGF0aW9uVGllciwgQ3JlYXRlVGVuYW50SW5wdXQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IFRlbmFudCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50Lm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoVGVuYW50KTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRlbmFudChpbnB1dDogQ3JlYXRlVGVuYW50SW5wdXQsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHNsdWc6IGlucHV0LnNsdWcsXG4gICAgICAgIG5hbWU6IGlucHV0Lm5hbWUsXG4gICAgICAgIGlzb2xhdGlvblRpZXI6IGlucHV0Lmlzb2xhdGlvblRpZXIgPz8gSXNvbGF0aW9uVGllci5Qb29sZWQsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZE9uZUJ5KFwic2x1Z1wiLCBzbHVnIGFzIG5ldmVyLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHJlbmFtZVRlbmFudCh0ZW5hbnRJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnQ+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgbmFtZSB9LCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZVNsdWcodGVuYW50SWQ6IHN0cmluZywgc2x1Zzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50PiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHRlbmFudElkLCB7IHNsdWcgfSwgLi4uYXJncyk7XG4gIH1cblxuICBhc3luYyBzZXRJc29sYXRpb25UaWVyKFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgaXNvbGF0aW9uVGllcjogSXNvbGF0aW9uVGllcixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFRlbmFudD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh0ZW5hbnRJZCwgeyBpc29sYXRpb25UaWVyIH0sIC4uLmFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlVGVuYW50Q29udHJvbGxlZCh0ZW5hbnRJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZGVsZXRlQnlJZCh0ZW5hbnRJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZW5hbnQuc2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBaUQ7QUFDakQsNENBQThDO0FBQzlDLHlEQUFnRDtBQUNoRCxNQUFhLGFBQWMsU0FBUSwyQkFBZ0I7SUFDL0M7UUFDSSxLQUFLLENBQUMscUJBQU0sQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBYSxDQUFDLE1BQU07U0FDN0QsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUk7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSTtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSTtRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSTtRQUMxQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKO0FBMUJELHNDQTBCQztBQUNELHMrR0FBcytHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLy4uL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBJc29sYXRpb25UaWVyIH0gZnJvbSBcIi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IFRlbmFudCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50Lm1vZGVsXCI7XG5leHBvcnQgY2xhc3MgVGVuYW50U2VydmljZSBleHRlbmRzIEJhc2VNb2RlbFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihUZW5hbnQpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVUZW5hbnQoaW5wdXQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtcbiAgICAgICAgICAgIHNsdWc6IGlucHV0LnNsdWcsXG4gICAgICAgICAgICBuYW1lOiBpbnB1dC5uYW1lLFxuICAgICAgICAgICAgaXNvbGF0aW9uVGllcjogaW5wdXQuaXNvbGF0aW9uVGllciA/PyBJc29sYXRpb25UaWVyLlBvb2xlZCxcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGdldEJ5U2x1ZyhzbHVnLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRPbmVCeShcInNsdWdcIiwgc2x1ZywgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIHJlbmFtZVRlbmFudCh0ZW5hbnRJZCwgbmFtZSwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgbmFtZSB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgY2hhbmdlU2x1Zyh0ZW5hbnRJZCwgc2x1ZywgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgc2x1ZyB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgc2V0SXNvbGF0aW9uVGllcih0ZW5hbnRJZCwgaXNvbGF0aW9uVGllciwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgaXNvbGF0aW9uVGllciB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgZGVsZXRlVGVuYW50Q29udHJvbGxlZCh0ZW5hbnRJZCwgLi4uYXJncykge1xuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUJ5SWQodGVuYW50SWQsIC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRHVnVZVzUwTG5ObGNuWnBZMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmJtRnRaWE53WVdObGN5OXpaWEoyYVdObGN5OTBaVzVoYm5RdWMyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVVVzWjBKQlFXZENMRVZCUVVVc2MwSkJRV2xDTzBGQlF6VkRMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRWEZDTEhOQ1FVRnBRanRCUVVNMVJDeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc2QwSkJRWGRDTEVOQlFVTTdRVUZGYUVRc1RVRkJUU3hQUVVGUExHRkJRV01zVTBGQlVTeG5Ra0ZCZDBJN1NVRkRla1E3VVVGRFJTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRhRUlzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNc1MwRkJkMElzUlVGQlJTeEhRVUZITEVsQlFWYzdVVUZEZWtRc1QwRkJUeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVU5vUWp0WlFVTkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNUdFpRVU5vUWl4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWs3V1VGRGFFSXNZVUZCWVN4RlFVRkZMRXRCUVVzc1EwRkJReXhoUVVGaExFbEJRVWtzWVVGQllTeERRVUZETEUxQlFVMDdVMEZETTBRc1JVRkRSQ3hIUVVGSExFbEJRVWtzUTBGRFVpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTXhReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVdFc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzaEVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zV1VGQldTeERRVUZETEZGQlFXZENMRVZCUVVVc1NVRkJXU3hGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU12UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVVVGQlVTeEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU55UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWxCUVZrc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRE4wUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVsQlFVa3NSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGNrUXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNRMEZEY0VJc1VVRkJaMElzUlVGRGFFSXNZVUZCTkVJc1JVRkROVUlzUjBGQlJ5eEpRVUZYTzFGQlJXUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEdGQlFXRXNSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE9VUXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4UlFVRm5RaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU16UkN4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1FtRnpaVTF2WkdWc1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUxpOTFkR2xzYzF3aU8xeHVhVzF3YjNKMElIc2dTWE52YkdGMGFXOXVWR2xsY2l3Z1EzSmxZWFJsVkdWdVlXNTBTVzV3ZFhRZ2ZTQm1jbTl0SUZ3aUxpNHZkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjdJRlJsYm1GdWRDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExtMXZaR1ZzWENJN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVVpXNWhiblJUWlhKMmFXTmxJR1Y0ZEdWdVpITWdRbUZ6WlUxdlpHVnNVMlZ5ZG1salpUeFVaVzVoYm5RK0lIdGNiaUFnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ2MzVndaWElvVkdWdVlXNTBLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR055WldGMFpWUmxibUZ1ZENocGJuQjFkRG9nUTNKbFlYUmxWR1Z1WVc1MFNXNXdkWFFzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhVWlc1aGJuUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqY21WaGRHVW9YRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSE5zZFdjNklHbHVjSFYwTG5Oc2RXY3NYRzRnSUNBZ0lDQWdJRzVoYldVNklHbHVjSFYwTG01aGJXVXNYRzRnSUNBZ0lDQWdJR2x6YjJ4aGRHbHZibFJwWlhJNklHbHVjSFYwTG1semIyeGhkR2x2YmxScFpYSWdQejhnU1hOdmJHRjBhVzl1VkdsbGNpNVFiMjlzWldRc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0xpNHVZWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJuWlhSQ2VWTnNkV2NvYzJ4MVp6b2djM1J5YVc1bkxDQXVMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOFZHVnVZVzUwUGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVptbHVaRTl1WlVKNUtGd2ljMngxWjF3aUxDQnpiSFZuSUdGeklHNWxkbVZ5TENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhKbGJtRnRaVlJsYm1GdWRDaDBaVzVoYm5SSlpEb2djM1J5YVc1bkxDQnVZVzFsT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhVWlc1aGJuUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUxY0dSaGRHVlBibVVvZEdWdVlXNTBTV1FzSUhzZ2JtRnRaU0I5TENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdOb1lXNW5aVk5zZFdjb2RHVnVZVzUwU1dRNklITjBjbWx1Wnl3Z2MyeDFaem9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWR1Z1WVc1MFBpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkWEJrWVhSbFQyNWxLSFJsYm1GdWRFbGtMQ0I3SUhOc2RXY2dmU3dnTGk0dVlYSm5jeWs3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJ6WlhSSmMyOXNZWFJwYjI1VWFXVnlLRnh1SUNBZ0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnYVhOdmJHRjBhVzl1VkdsbGNqb2dTWE52YkdGMGFXOXVWR2xsY2l4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJoYm5sYlhWeHVJQ0FwT2lCUWNtOXRhWE5sUEZSbGJtRnVkRDRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5Wd1pHRjBaVTl1WlNoMFpXNWhiblJKWkN3Z2V5QnBjMjlzWVhScGIyNVVhV1Z5SUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pHVnNaWFJsVkdWdVlXNTBRMjl1ZEhKdmJHeGxaQ2gwWlc1aGJuUkpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpHVnNaWFJsUW5sSlpDaDBaVzVoYm5SSlpDd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = void 0;
4
+ const utils_js_1 = require("./../utils.cjs");
5
+ const user_model_1 = require("../models/user.model");
6
+ class UserService extends utils_js_1.BaseModelService {
7
+ constructor() {
8
+ super(user_model_1.User);
9
+ }
10
+ async createUser(input, ...args) {
11
+ return this.create({
12
+ email: input.email,
13
+ phone: input.phone,
14
+ displayName: input.displayName,
15
+ }, ...args);
16
+ }
17
+ async getByEmail(email, ...args) {
18
+ return (await this.listAll(...args)).find((user) => user.email === email);
19
+ }
20
+ async updateDisplayName(userId, displayName, ...args) {
21
+ return this.updateOne(userId, { displayName }, ...args);
22
+ }
23
+ async updateEmail(userId, email, ...args) {
24
+ return this.updateOne(userId, { email }, ...args);
25
+ }
26
+ async updatePhone(userId, phone, ...args) {
27
+ return this.updateOne(userId, { phone }, ...args);
28
+ }
29
+ }
30
+ exports.UserService = UserService;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25hbWVzcGFjZXMvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBaUI7QUFFNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZ0JBQXNCO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBc0IsRUFBRSxHQUFHLElBQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQjtZQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLEVBQ0QsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQVc7UUFDNUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBUyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsR0FBRyxJQUFXO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQWMsRUFBRSxLQUF5QixFQUFFLEdBQUcsSUFBVztRQUN6RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsS0FBeUIsRUFBRSxHQUFHLElBQVc7UUFDekUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3JlYXRlVXNlcklucHV0IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uL21vZGVscy91c2VyLm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBleHRlbmRzIEJhc2VNb2RlbFNlcnZpY2U8VXNlcj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihVc2VyKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVVzZXIoaW5wdXQ6IENyZWF0ZVVzZXJJbnB1dCwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGVtYWlsOiBpbnB1dC5lbWFpbCxcbiAgICAgICAgcGhvbmU6IGlucHV0LnBob25lLFxuICAgICAgICBkaXNwbGF5TmFtZTogaW5wdXQuZGlzcGxheU5hbWUsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBnZXRCeUVtYWlsKGVtYWlsOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbmQoKHVzZXIpID0+IHVzZXIuZW1haWwgPT09IGVtYWlsKSBhcyBVc2VyO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlRGlzcGxheU5hbWUodXNlcklkOiBzdHJpbmcsIGRpc3BsYXlOYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHVzZXJJZCwgeyBkaXNwbGF5TmFtZSB9LCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUVtYWlsKHVzZXJJZDogc3RyaW5nLCBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh1c2VySWQsIHsgZW1haWwgfSwgLi4uYXJncyk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVQaG9uZSh1c2VySWQ6IHN0cmluZywgcGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodXNlcklkLCB7IHBob25lIH0sIC4uLmFyZ3MpO1xuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidXNlci5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFpRDtBQUNqRCxxREFBNEM7QUFDNUMsTUFBYSxXQUFZLFNBQVEsMkJBQWdCO0lBQzdDO1FBQ0ksS0FBSyxDQUFDLGlCQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQ2pDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQzNCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDSjtBQXZCRCxrQ0F1QkM7QUFDRCw4a0dBQThrRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbFNlcnZpY2UgfSBmcm9tIFwiLi8uLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuLi9tb2RlbHMvdXNlci5tb2RlbFwiO1xuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFVzZXIpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVVc2VyKGlucHV0LCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICAgICAgICBlbWFpbDogaW5wdXQuZW1haWwsXG4gICAgICAgICAgICBwaG9uZTogaW5wdXQucGhvbmUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogaW5wdXQuZGlzcGxheU5hbWUsXG4gICAgICAgIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBnZXRCeUVtYWlsKGVtYWlsLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5saXN0QWxsKC4uLmFyZ3MpKS5maW5kKCh1c2VyKSA9PiB1c2VyLmVtYWlsID09PSBlbWFpbCk7XG4gICAgfVxuICAgIGFzeW5jIHVwZGF0ZURpc3BsYXlOYW1lKHVzZXJJZCwgZGlzcGxheU5hbWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHVzZXJJZCwgeyBkaXNwbGF5TmFtZSB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlRW1haWwodXNlcklkLCBlbWFpbCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodXNlcklkLCB7IGVtYWlsIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyB1cGRhdGVQaG9uZSh1c2VySWQsIHBob25lLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh1c2VySWQsIHsgcGhvbmUgfSwgLi4uYXJncyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhObGNpNXpaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMjVoYldWemNHRmpaWE12YzJWeWRtbGpaWE12ZFhObGNpNXpaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUlVGQlJTeHpRa0ZCYVVJN1FVRkZOVU1zVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MSE5DUVVGelFpeERRVUZETzBGQlJUVkRMRTFCUVUwc1QwRkJUeXhYUVVGWkxGTkJRVkVzWjBKQlFYTkNPMGxCUTNKRU8xRkJRMFVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCYzBJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGNrUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVOb1FqdFpRVU5GTEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1MwRkJTenRaUVVOc1FpeExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRXRCUVVzN1dVRkRiRUlzVjBGQlZ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4WFFVRlhPMU5CUXk5Q0xFVkJRMFFzUjBGQlJ5eEpRVUZKTEVOQlExSXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXRXNSVUZCUlN4SFFVRkhMRWxCUVZjN1VVRkROVU1zVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4TFFVRkxMRXRCUVVzc1EwRkJVeXhEUVVGRE8wbEJRM0JHTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNUVUZCWXl4RlFVRkZMRmRCUVcxQ0xFVkJRVVVzUjBGQlJ5eEpRVUZYTzFGQlEzcEZMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZCUlN4WFFVRlhMRVZCUVVVc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6RkVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFXTXNSVUZCUlN4TFFVRjVRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU42UlN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU53UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eE5RVUZqTEVWQlFVVXNTMEZCZVVJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGVrVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGNFUXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUW1GelpVMXZaR1ZzVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0l1TGk5MWRHbHNjMXdpTzF4dWFXMXdiM0owSUhzZ1EzSmxZWFJsVlhObGNrbHVjSFYwSUgwZ1puSnZiU0JjSWk0dUwzUjVjR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5QlZjMlZ5SUgwZ1puSnZiU0JjSWk0dUwyMXZaR1ZzY3k5MWMyVnlMbTF2WkdWc1hDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QlZjMlZ5VTJWeWRtbGpaU0JsZUhSbGJtUnpJRUpoYzJWTmIyUmxiRk5sY25acFkyVThWWE5sY2o0Z2UxeHVJQ0JqYjI1emRISjFZM1J2Y2lncElIdGNiaUFnSUNCemRYQmxjaWhWYzJWeUtUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHTnlaV0YwWlZWelpYSW9hVzV3ZFhRNklFTnlaV0YwWlZWelpYSkpibkIxZEN3Z0xpNHVZWEpuY3pvZ1lXNTVXMTBwT2lCUWNtOXRhWE5sUEZWelpYSStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqY21WaGRHVW9YRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR1Z0WVdsc09pQnBibkIxZEM1bGJXRnBiQ3hjYmlBZ0lDQWdJQ0FnY0dodmJtVTZJR2x1Y0hWMExuQm9iMjVsTEZ4dUlDQWdJQ0FnSUNCa2FYTndiR0Y1VG1GdFpUb2dhVzV3ZFhRdVpHbHpjR3hoZVU1aGJXVXNYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdMaTR1WVhKbmMxeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCblpYUkNlVVZ0WVdsc0tHVnRZV2xzT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhWYzJWeVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUNoaGQyRnBkQ0IwYUdsekxteHBjM1JCYkd3b0xpNHVZWEpuY3lrcExtWnBibVFvS0hWelpYSXBJRDArSUhWelpYSXVaVzFoYVd3Z1BUMDlJR1Z0WVdsc0tTQmhjeUJWYzJWeU8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2RYQmtZWFJsUkdsemNHeGhlVTVoYldVb2RYTmxja2xrT2lCemRISnBibWNzSUdScGMzQnNZWGxPWVcxbE9pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VmMyVnlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFhCa1lYUmxUMjVsS0hWelpYSkpaQ3dnZXlCa2FYTndiR0Y1VG1GdFpTQjlMQ0F1TGk1aGNtZHpLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJSFZ3WkdGMFpVVnRZV2xzS0hWelpYSkpaRG9nYzNSeWFXNW5MQ0JsYldGcGJEb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWWE5sY2o0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVndaR0YwWlU5dVpTaDFjMlZ5U1dRc0lIc2daVzFoYVd3Z2ZTd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QjFjR1JoZEdWUWFHOXVaU2gxYzJWeVNXUTZJSE4wY21sdVp5d2djR2h2Ym1VNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpDd2dMaTR1WVhKbmN6b2dZVzU1VzEwcE9pQlFjbTl0YVhObFBGVnpaWEkrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWNHUmhkR1ZQYm1Vb2RYTmxja2xrTENCN0lIQm9iMjVsSUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageBindingKindOptions = exports.StorageKindOptions = exports.ResourceVisibilityOptions = exports.PermissionCategoryOptions = exports.ScopeKindOptions = exports.PrincipalKindOptions = exports.MembershipStatusOptions = exports.IsolationTierOptions = exports.StorageBindingKind = exports.StorageKind = exports.ResourceVisibility = exports.PermissionCategory = exports.ScopeKind = exports.PrincipalKind = exports.MembershipStatus = exports.IsolationTier = void 0;
4
+ (function (IsolationTier) {
5
+ IsolationTier["Pooled"] = "pooled";
6
+ IsolationTier["Bridge"] = "bridge";
7
+ IsolationTier["Silo"] = "silo";
8
+ })(exports.IsolationTier || (exports.IsolationTier = {}));
9
+ (function (MembershipStatus) {
10
+ MembershipStatus["Invited"] = "invited";
11
+ MembershipStatus["Active"] = "active";
12
+ MembershipStatus["Suspended"] = "suspended";
13
+ MembershipStatus["Removed"] = "removed";
14
+ })(exports.MembershipStatus || (exports.MembershipStatus = {}));
15
+ (function (PrincipalKind) {
16
+ PrincipalKind["User"] = "user";
17
+ PrincipalKind["Group"] = "group";
18
+ PrincipalKind["ServiceAccount"] = "service_account";
19
+ PrincipalKind["Agent"] = "agent";
20
+ PrincipalKind["ApiKey"] = "api_key";
21
+ })(exports.PrincipalKind || (exports.PrincipalKind = {}));
22
+ (function (ScopeKind) {
23
+ ScopeKind["Tenant"] = "tenant";
24
+ ScopeKind["OrgUnit"] = "org_unit";
25
+ ScopeKind["Resource"] = "resource";
26
+ })(exports.ScopeKind || (exports.ScopeKind = {}));
27
+ (function (PermissionCategory) {
28
+ PermissionCategory["Admin"] = "admin";
29
+ PermissionCategory["ContentRead"] = "content_read";
30
+ PermissionCategory["ContentWrite"] = "content_write";
31
+ PermissionCategory["Memory"] = "memory";
32
+ PermissionCategory["Graph"] = "graph";
33
+ PermissionCategory["Vector"] = "vector";
34
+ PermissionCategory["Export"] = "export";
35
+ PermissionCategory["Billing"] = "billing";
36
+ PermissionCategory["Audit"] = "audit";
37
+ PermissionCategory["Security"] = "security";
38
+ PermissionCategory["Data"] = "data";
39
+ PermissionCategory["Automation"] = "automation";
40
+ })(exports.PermissionCategory || (exports.PermissionCategory = {}));
41
+ (function (ResourceVisibility) {
42
+ ResourceVisibility["Private"] = "private";
43
+ ResourceVisibility["ResourceAcl"] = "resource_acl";
44
+ ResourceVisibility["OrgUnit"] = "org_unit";
45
+ ResourceVisibility["OrgSubtree"] = "org_subtree";
46
+ ResourceVisibility["Tenant"] = "tenant";
47
+ })(exports.ResourceVisibility || (exports.ResourceVisibility = {}));
48
+ (function (StorageKind) {
49
+ StorageKind["Postgres"] = "postgres";
50
+ StorageKind["Arango"] = "arango";
51
+ StorageKind["Qdrant"] = "qdrant";
52
+ StorageKind["ObjectStorage"] = "object_storage";
53
+ })(exports.StorageKind || (exports.StorageKind = {}));
54
+ (function (StorageBindingKind) {
55
+ StorageBindingKind["Shared"] = "shared";
56
+ StorageBindingKind["Dedicated"] = "dedicated";
57
+ })(exports.StorageBindingKind || (exports.StorageBindingKind = {}));
58
+ exports.IsolationTierOptions = Object.values(exports.IsolationTier);
59
+ exports.MembershipStatusOptions = Object.values(exports.MembershipStatus);
60
+ exports.PrincipalKindOptions = Object.values(exports.PrincipalKind);
61
+ exports.ScopeKindOptions = Object.values(exports.ScopeKind);
62
+ exports.PermissionCategoryOptions = Object.values(exports.PermissionCategory);
63
+ exports.ResourceVisibilityOptions = Object.values(exports.ResourceVisibility);
64
+ exports.StorageKindOptions = Object.values(exports.StorageKind);
65
+ exports.StorageBindingKindOptions = Object.values(exports.StorageBindingKind);
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXNwYWNlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFBO0lBQ2pCLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLG1EQUFrQyxDQUFBO0lBQ2xDLGdDQUFlLENBQUE7SUFDZixtQ0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGlDQUFvQixDQUFBO0lBQ3BCLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQWFYO0FBYkQsV0FBWSxrQkFBa0I7SUFDNUIscUNBQWUsQ0FBQTtJQUNmLGtEQUE0QixDQUFBO0lBQzVCLG9EQUE4QixDQUFBO0lBQzlCLHVDQUFpQixDQUFBO0lBQ2pCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBbUIsQ0FBQTtJQUNuQixxQ0FBZSxDQUFBO0lBQ2YsMkNBQXFCLENBQUE7SUFDckIsbUNBQWEsQ0FBQTtJQUNiLCtDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFiVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBYTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1Qix5Q0FBbUIsQ0FBQTtJQUNuQixrREFBNEIsQ0FBQTtJQUM1QiwwQ0FBb0IsQ0FBQTtJQUNwQixnREFBMEIsQ0FBQTtJQUMxQix1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU03QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsZ0NBQWlCLENBQUE7SUFDakIsK0NBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1Qix1Q0FBaUIsQ0FBQTtJQUNqQiw2Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSXNvbGF0aW9uVGllciB7XG4gIFBvb2xlZCA9IFwicG9vbGVkXCIsXG4gIEJyaWRnZSA9IFwiYnJpZGdlXCIsXG4gIFNpbG8gPSBcInNpbG9cIixcbn1cblxuZXhwb3J0IGVudW0gTWVtYmVyc2hpcFN0YXR1cyB7XG4gIEludml0ZWQgPSBcImludml0ZWRcIixcbiAgQWN0aXZlID0gXCJhY3RpdmVcIixcbiAgU3VzcGVuZGVkID0gXCJzdXNwZW5kZWRcIixcbiAgUmVtb3ZlZCA9IFwicmVtb3ZlZFwiLFxufVxuXG5leHBvcnQgZW51bSBQcmluY2lwYWxLaW5kIHtcbiAgVXNlciA9IFwidXNlclwiLFxuICBHcm91cCA9IFwiZ3JvdXBcIixcbiAgU2VydmljZUFjY291bnQgPSBcInNlcnZpY2VfYWNjb3VudFwiLFxuICBBZ2VudCA9IFwiYWdlbnRcIixcbiAgQXBpS2V5ID0gXCJhcGlfa2V5XCIsXG59XG5cbmV4cG9ydCBlbnVtIFNjb3BlS2luZCB7XG4gIFRlbmFudCA9IFwidGVuYW50XCIsXG4gIE9yZ1VuaXQgPSBcIm9yZ191bml0XCIsXG4gIFJlc291cmNlID0gXCJyZXNvdXJjZVwiLFxufVxuXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uQ2F0ZWdvcnkge1xuICBBZG1pbiA9IFwiYWRtaW5cIixcbiAgQ29udGVudFJlYWQgPSBcImNvbnRlbnRfcmVhZFwiLFxuICBDb250ZW50V3JpdGUgPSBcImNvbnRlbnRfd3JpdGVcIixcbiAgTWVtb3J5ID0gXCJtZW1vcnlcIixcbiAgR3JhcGggPSBcImdyYXBoXCIsXG4gIFZlY3RvciA9IFwidmVjdG9yXCIsXG4gIEV4cG9ydCA9IFwiZXhwb3J0XCIsXG4gIEJpbGxpbmcgPSBcImJpbGxpbmdcIixcbiAgQXVkaXQgPSBcImF1ZGl0XCIsXG4gIFNlY3VyaXR5ID0gXCJzZWN1cml0eVwiLFxuICBEYXRhID0gXCJkYXRhXCIsXG4gIEF1dG9tYXRpb24gPSBcImF1dG9tYXRpb25cIixcbn1cblxuZXhwb3J0IGVudW0gUmVzb3VyY2VWaXNpYmlsaXR5IHtcbiAgUHJpdmF0ZSA9IFwicHJpdmF0ZVwiLFxuICBSZXNvdXJjZUFjbCA9IFwicmVzb3VyY2VfYWNsXCIsXG4gIE9yZ1VuaXQgPSBcIm9yZ191bml0XCIsXG4gIE9yZ1N1YnRyZWUgPSBcIm9yZ19zdWJ0cmVlXCIsXG4gIFRlbmFudCA9IFwidGVuYW50XCIsXG59XG5cbmV4cG9ydCBlbnVtIFN0b3JhZ2VLaW5kIHtcbiAgUG9zdGdyZXMgPSBcInBvc3RncmVzXCIsXG4gIEFyYW5nbyA9IFwiYXJhbmdvXCIsXG4gIFFkcmFudCA9IFwicWRyYW50XCIsXG4gIE9iamVjdFN0b3JhZ2UgPSBcIm9iamVjdF9zdG9yYWdlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFN0b3JhZ2VCaW5kaW5nS2luZCB7XG4gIFNoYXJlZCA9IFwic2hhcmVkXCIsXG4gIERlZGljYXRlZCA9IFwiZGVkaWNhdGVkXCIsXG59XG5cbmV4cG9ydCBjb25zdCBJc29sYXRpb25UaWVyT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoSXNvbGF0aW9uVGllcik7XG5leHBvcnQgY29uc3QgTWVtYmVyc2hpcFN0YXR1c09wdGlvbnMgPSBPYmplY3QudmFsdWVzKE1lbWJlcnNoaXBTdGF0dXMpO1xuZXhwb3J0IGNvbnN0IFByaW5jaXBhbEtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhQcmluY2lwYWxLaW5kKTtcbmV4cG9ydCBjb25zdCBTY29wZUtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTY29wZUtpbmQpO1xuZXhwb3J0IGNvbnN0IFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFBlcm1pc3Npb25DYXRlZ29yeSk7XG5leHBvcnQgY29uc3QgUmVzb3VyY2VWaXNpYmlsaXR5T3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoUmVzb3VyY2VWaXNpYmlsaXR5KTtcbmV4cG9ydCBjb25zdCBTdG9yYWdlS2luZE9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFN0b3JhZ2VLaW5kKTtcbmV4cG9ydCBjb25zdCBTdG9yYWdlQmluZGluZ0tpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTdG9yYWdlQmluZGluZ0tpbmQpO1xuXG5leHBvcnQgdHlwZSBUeEFyZ3MgPSBhbnlbXTtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVUZW5hbnRJbnB1dCB7XG4gIHNsdWc6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpc29sYXRpb25UaWVyPzogSXNvbGF0aW9uVGllcjtcbiAgcHJvZmlsZUtleT86IHN0cmluZztcbiAgcHJvZmlsZU1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlVXNlcklucHV0IHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9yZ1VuaXRJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHBhcmVudE9yZ1VuaXRJZD86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBwcm9maWxlS2V5Pzogc3RyaW5nO1xuICBwcm9maWxlTWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSb2xlSW5wdXQge1xuICB0ZW5hbnRJZD86IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUGVybWlzc2lvbklucHV0IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnblJvbGVJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHByaW5jaXBhbElkOiBzdHJpbmc7XG4gIHJvbGVJZDogc3RyaW5nO1xuICBzY29wZUtpbmQ6IFNjb3BlS2luZDtcbiAgc2NvcGVJZDogc3RyaW5nO1xuICBpbmhlcml0RG93bj86IGJvb2xlYW47XG4gIHN0YXJ0c0F0PzogRGF0ZTtcbiAgZXhwaXJlc0F0PzogRGF0ZTtcbiAgY29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyUmVzb3VyY2VJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIG9yZ1VuaXRJZDogc3RyaW5nO1xuICByZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVzb3VyY2VJZDogc3RyaW5nO1xuICB2aXNpYmlsaXR5OiBSZXNvdXJjZVZpc2liaWxpdHk7XG4gIG93bmVyUHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG4gIHNlbnNpdGl2aXR5Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UmVzb3VyY2VJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHJlc291cmNlSWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzdGFydHNBdD86IERhdGU7XG4gIGV4cGlyZXNBdD86IERhdGU7XG4gIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY3JlYXRlZEJ5UHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuQWNjZXNzSW5wdXQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uS2V5OiBzdHJpbmc7XG4gIHJlc291cmNlUHJvdGVjdGVkSWQ/OiBzdHJpbmc7XG4gIHNjb3BlS2luZD86IFNjb3BlS2luZDtcbiAgc2NvcGVJZD86IHN0cmluZztcbiAgYXQ/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0NvbnRleHQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uc0J5U2NvcGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgYWxsb3dlZE9yZ1VuaXRJZHNCeVBlcm1pc3Npb246IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgcmVzb3VyY2VHcmFudHM6IEFycmF5PHsgcmVzb3VyY2VJZDogc3RyaW5nOyBwZXJtaXNzaW9uS2V5OiBzdHJpbmcgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJhbmdvQXV0aENvbnRleHQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uS2V5OiBzdHJpbmc7XG4gIGFsbG93ZWRPcmdVbml0SWRzOiBzdHJpbmdbXTtcbiAgYWxsb3dlZFJlc291cmNlSWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRZHJhbnRBdXRoRmlsdGVyIHtcbiAgbXVzdDogQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBtdXN0X25vdD86IEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTdG9yYWdlQmluZGluZ0lucHV0IHtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgc3RvcmFnZUtpbmQ6IFN0b3JhZ2VLaW5kO1xuICBiaW5kaW5nS2luZDogU3RvcmFnZUJpbmRpbmdLaW5kO1xuICBiaW5kaW5nS2V5OiBzdHJpbmc7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBQZXJtaXNzaW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFJvbGUge1xuICBrZXk6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcGVybWlzc2lvbktleXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcE9yZ1VuaXQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb2ZpbGVLZXk/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNoaWxkcmVuPzogQm9vdHN0cmFwT3JnVW5pdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFRlbXBsYXRlIHtcbiAgdGVuYW50OiBDcmVhdGVUZW5hbnRJbnB1dDtcbiAgcm9vdE9yZ1VuaXQ6IEJvb3RzdHJhcE9yZ1VuaXQ7XG4gIHBlcm1pc3Npb25zOiBCb290c3RyYXBQZXJtaXNzaW9uW107XG4gIHJvbGVzOiBCb290c3RyYXBSb2xlW107XG4gIG93bmVyVXNlcjogQ3JlYXRlVXNlcklucHV0O1xuICBvd25lclJvbGVLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVNuYXBzaG90IHtcbiAgaWQ6IHN0cmluZztcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgb3JnVW5pdElkOiBzdHJpbmc7XG4gIHJlc291cmNlVHlwZTogc3RyaW5nO1xuICByZXNvdXJjZUlkOiBzdHJpbmc7XG4gIHZpc2liaWxpdHk6IFJlc291cmNlVmlzaWJpbGl0eTtcbiAgb3duZXJQcmluY2lwYWxJZD86IHN0cmluZztcbiAgc2Vuc2l0aXZpdHk/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRTbmFwc2hvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHJlc291cmNlSWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzdGFydHNBdD86IERhdGU7XG4gIGV4cGlyZXNBdD86IERhdGU7XG4gIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY3JlYXRlZEJ5UHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90IHtcbiAgaWQ6IHN0cmluZztcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzY29wZUtpbmQ6IFNjb3BlS2luZDtcbiAgc2NvcGVJZDogc3RyaW5nO1xuICBzb3VyY2VLaW5kOiBzdHJpbmc7XG4gIHNvdXJjZUlkOiBzdHJpbmc7XG4gIHN0YXJ0c0F0PzogRGF0ZTtcbiAgZXhwaXJlc0F0PzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoekRhdGFTb3VyY2VzIHtcbiAgbG9hZFJlc291cmNlPzogKHRlbmFudElkOiBzdHJpbmcsIHByb3RlY3RlZFJlc291cmNlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxSZXNvdXJjZVNuYXBzaG90IHwgdW5kZWZpbmVkPjtcbiAgbGlzdFJlc291cmNlR3JhbnRzPzogKHRlbmFudElkOiBzdHJpbmcsIHByb3RlY3RlZFJlc291cmNlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxHcmFudFNuYXBzaG90W10+O1xuICBsaXN0UHJpbmNpcGFsR3JhbnRzPzogKHRlbmFudElkOiBzdHJpbmcsIHByaW5jaXBhbElkOiBzdHJpbmcpID0+IFByb21pc2U8R3JhbnRTbmFwc2hvdFtdPjtcbiAgbGlzdEVmZmVjdGl2ZVBlcm1pc3Npb25zPzogKFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgcHJpbmNpcGFsSWQ6IHN0cmluZ1xuICApID0+IFByb21pc2U8RWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90W10+O1xuICBsaXN0RWZmZWN0aXZlUGVybWlzc2lvbnNGb3JTY29wZT86IChcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLFxuICAgIHNjb3BlSWQ6IHN0cmluZ1xuICApID0+IFByb21pc2U8RWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90W10+O1xufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxDQUFDLFVBQVUsYUFBYTtJQUNwQixhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ25DLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDbkMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxxQkFBYSxJQUFJLENBQUMscUJBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTFDLENBQUMsVUFBVSxnQkFBZ0I7SUFDdkIsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3hDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUN0QyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDNUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLHdCQUFnQixJQUFJLENBQUMsd0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRCxDQUFDLFVBQVUsYUFBYTtJQUNwQixhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQy9CLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDakMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsaUJBQWlCLENBQUM7SUFDcEQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUNqQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLHFCQUFhLElBQUksQ0FBQyxxQkFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFMUMsQ0FBQyxVQUFVLFNBQVM7SUFDaEIsU0FB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QUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLENBQUM7QUFDOUQsUUFBQSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLENBQUM7QUFDOUQsUUFBQSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFXLENBQUMsQ0FBQztBQUNoRCxRQUFBLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWtCLENBQUMsQ0FBQztBQUMzRSwwcFdBQTBwVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgSXNvbGF0aW9uVGllcjtcbihmdW5jdGlvbiAoSXNvbGF0aW9uVGllcikge1xuICAgIElzb2xhdGlvblRpZXJbXCJQb29sZWRcIl0gPSBcInBvb2xlZFwiO1xuICAgIElzb2xhdGlvblRpZXJbXCJCcmlkZ2VcIl0gPSBcImJyaWRnZVwiO1xuICAgIElzb2xhdGlvblRpZXJbXCJTaWxvXCJdID0gXCJzaWxvXCI7XG59KShJc29sYXRpb25UaWVyIHx8IChJc29sYXRpb25UaWVyID0ge30pKTtcbmV4cG9ydCB2YXIgTWVtYmVyc2hpcFN0YXR1cztcbihmdW5jdGlvbiAoTWVtYmVyc2hpcFN0YXR1cykge1xuICAgIE1lbWJlcnNoaXBTdGF0dXNbXCJJbnZpdGVkXCJdID0gXCJpbnZpdGVkXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIkFjdGl2ZVwiXSA9IFwiYWN0aXZlXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIlN1c3BlbmRlZFwiXSA9IFwic3VzcGVuZGVkXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIlJlbW92ZWRcIl0gPSBcInJlbW92ZWRcIjtcbn0pKE1lbWJlcnNoaXBTdGF0dXMgfHwgKE1lbWJlcnNoaXBTdGF0dXMgPSB7fSkpO1xuZXhwb3J0IHZhciBQcmluY2lwYWxLaW5kO1xuKGZ1bmN0aW9uIChQcmluY2lwYWxLaW5kKSB7XG4gICAgUHJpbmNpcGFsS2luZFtcIlVzZXJcIl0gPSBcInVzZXJcIjtcbiAgICBQcmluY2lwYWxLaW5kW1wiR3JvdXBcIl0gPSBcImdyb3VwXCI7XG4gICAgUHJpbmNpcGFsS2luZFtcIlNlcnZpY2VBY2NvdW50XCJdID0gXCJzZXJ2aWNlX2FjY291bnRcIjtcbiAgICBQcmluY2lwYWxLaW5kW1wiQWdlbnRcIl0gPSBcImFnZW50XCI7XG4gICAgUHJpbmNpcGFsS2luZFtcIkFwaUtleVwiXSA9IFwiYXBpX2tleVwiO1xufSkoUHJpbmNpcGFsS2luZCB8fCAoUHJpbmNpcGFsS2luZCA9IHt9KSk7XG5leHBvcnQgdmFyIFNjb3BlS2luZDtcbihmdW5jdGlvbiAoU2NvcGVLaW5kKSB7XG4gICAgU2NvcGVLaW5kW1wiVGVuYW50XCJdID0gXCJ0ZW5hbnRcIjtcbiAgICBTY29wZUtpbmRbXCJPcmdVbml0XCJdID0gXCJvcmdfdW5pdFwiO1xuICAgIFNjb3BlS2luZFtcIlJlc291cmNlXCJdID0gXCJyZXNvdXJjZVwiO1xufSkoU2NvcGVLaW5kIHx8IChTY29wZUtpbmQgPSB7fSkpO1xuZXhwb3J0IHZhciBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4oZnVuY3Rpb24gKFBlcm1pc3Npb25DYXRlZ29yeSkge1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkFkbWluXCJdID0gXCJhZG1pblwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkNvbnRlbnRSZWFkXCJdID0gXCJjb250ZW50X3JlYWRcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJDb250ZW50V3JpdGVcIl0gPSBcImNvbnRlbnRfd3JpdGVcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJNZW1vcnlcIl0gPSBcIm1lbW9yeVwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkdyYXBoXCJdID0gXCJncmFwaFwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIlZlY3RvclwiXSA9IFwidmVjdG9yXCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiRXhwb3J0XCJdID0gXCJleHBvcnRcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJCaWxsaW5nXCJdID0gXCJiaWxsaW5nXCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiQXVkaXRcIl0gPSBcImF1ZGl0XCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiU2VjdXJpdHlcIl0gPSBcInNlY3VyaXR5XCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiRGF0YVwiXSA9IFwiZGF0YVwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkF1dG9tYXRpb25cIl0gPSBcImF1dG9tYXRpb25cIjtcbn0pKFBlcm1pc3Npb25DYXRlZ29yeSB8fCAoUGVybWlzc2lvbkNhdGVnb3J5ID0ge30pKTtcbmV4cG9ydCB2YXIgUmVzb3VyY2VWaXNpYmlsaXR5O1xuKGZ1bmN0aW9uIChSZXNvdXJjZVZpc2liaWxpdHkpIHtcbiAgICBSZXNvdXJjZVZpc2liaWxpdHlbXCJQcml2YXRlXCJdID0gXCJwcml2YXRlXCI7XG4gICAgUmVzb3VyY2VWaXNpYmlsaXR5W1wiUmVzb3VyY2VBY2xcIl0gPSBcInJlc291cmNlX2FjbFwiO1xuICAgIFJlc291cmNlVmlzaWJpbGl0eVtcIk9yZ1VuaXRcIl0gPSBcIm9yZ191bml0XCI7XG4gICAgUmVzb3VyY2VWaXNpYmlsaXR5W1wiT3JnU3VidHJlZVwiXSA9IFwib3JnX3N1YnRyZWVcIjtcbiAgICBSZXNvdXJjZVZpc2liaWxpdHlbXCJUZW5hbnRcIl0gPSBcInRlbmFudFwiO1xufSkoUmVzb3VyY2VWaXNpYmlsaXR5IHx8IChSZXNvdXJjZVZpc2liaWxpdHkgPSB7fSkpO1xuZXhwb3J0IHZhciBTdG9yYWdlS2luZDtcbihmdW5jdGlvbiAoU3RvcmFnZUtpbmQpIHtcbiAgICBTdG9yYWdlS2luZFtcIlBvc3RncmVzXCJdID0gXCJwb3N0Z3Jlc1wiO1xuICAgIFN0b3JhZ2VLaW5kW1wiQXJhbmdvXCJdID0gXCJhcmFuZ29cIjtcbiAgICBTdG9yYWdlS2luZFtcIlFkcmFudFwiXSA9IFwicWRyYW50XCI7XG4gICAgU3RvcmFnZUtpbmRbXCJPYmplY3RTdG9yYWdlXCJdID0gXCJvYmplY3Rfc3RvcmFnZVwiO1xufSkoU3RvcmFnZUtpbmQgfHwgKFN0b3JhZ2VLaW5kID0ge30pKTtcbmV4cG9ydCB2YXIgU3RvcmFnZUJpbmRpbmdLaW5kO1xuKGZ1bmN0aW9uIChTdG9yYWdlQmluZGluZ0tpbmQpIHtcbiAgICBTdG9yYWdlQmluZGluZ0tpbmRbXCJTaGFyZWRcIl0gPSBcInNoYXJlZFwiO1xuICAgIFN0b3JhZ2VCaW5kaW5nS2luZFtcIkRlZGljYXRlZFwiXSA9IFwiZGVkaWNhdGVkXCI7XG59KShTdG9yYWdlQmluZGluZ0tpbmQgfHwgKFN0b3JhZ2VCaW5kaW5nS2luZCA9IHt9KSk7XG5leHBvcnQgY29uc3QgSXNvbGF0aW9uVGllck9wdGlvbnMgPSBPYmplY3QudmFsdWVzKElzb2xhdGlvblRpZXIpO1xuZXhwb3J0IGNvbnN0IE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhNZW1iZXJzaGlwU3RhdHVzKTtcbmV4cG9ydCBjb25zdCBQcmluY2lwYWxLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoUHJpbmNpcGFsS2luZCk7XG5leHBvcnQgY29uc3QgU2NvcGVLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoU2NvcGVLaW5kKTtcbmV4cG9ydCBjb25zdCBQZXJtaXNzaW9uQ2F0ZWdvcnlPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhQZXJtaXNzaW9uQ2F0ZWdvcnkpO1xuZXhwb3J0IGNvbnN0IFJlc291cmNlVmlzaWJpbGl0eU9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFJlc291cmNlVmlzaWJpbGl0eSk7XG5leHBvcnQgY29uc3QgU3RvcmFnZUtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTdG9yYWdlS2luZCk7XG5leHBvcnQgY29uc3QgU3RvcmFnZUJpbmRpbmdLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoU3RvcmFnZUJpbmRpbmdLaW5kKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaWE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12Ym1GdFpYTndZV05sY3k5MGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N4aFFVbFlPMEZCU2tRc1YwRkJXU3hoUVVGaE8wbEJRM1pDTEd0RFFVRnBRaXhEUVVGQk8wbEJRMnBDTEd0RFFVRnBRaXhEUVVGQk8wbEJRMnBDTERoQ1FVRmhMRU5CUVVFN1FVRkRaaXhEUVVGRExFVkJTbGNzWVVGQllTeExRVUZpTEdGQlFXRXNVVUZKZUVJN1FVRkZSQ3hOUVVGTkxFTkJRVTRzU1VGQldTeG5Ra0ZMV0R0QlFVeEVMRmRCUVZrc1owSkJRV2RDTzBsQlF6RkNMSFZEUVVGdFFpeERRVUZCTzBsQlEyNUNMSEZEUVVGcFFpeERRVUZCTzBsQlEycENMREpEUVVGMVFpeERRVUZCTzBsQlEzWkNMSFZEUVVGdFFpeERRVUZCTzBGQlEzSkNMRU5CUVVNc1JVRk1WeXhuUWtGQlowSXNTMEZCYUVJc1owSkJRV2RDTEZGQlN6TkNPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzWVVGTldEdEJRVTVFTEZkQlFWa3NZVUZCWVR0SlFVTjJRaXc0UWtGQllTeERRVUZCTzBsQlEySXNaME5CUVdVc1EwRkJRVHRKUVVObUxHMUVRVUZyUXl4RFFVRkJPMGxCUTJ4RExHZERRVUZsTEVOQlFVRTdTVUZEWml4dFEwRkJhMElzUTBGQlFUdEJRVU53UWl4RFFVRkRMRVZCVGxjc1lVRkJZU3hMUVVGaUxHRkJRV0VzVVVGTmVFSTdRVUZGUkN4TlFVRk5MRU5CUVU0c1NVRkJXU3hUUVVsWU8wRkJTa1FzVjBGQldTeFRRVUZUTzBsQlEyNUNMRGhDUVVGcFFpeERRVUZCTzBsQlEycENMR2xEUVVGdlFpeERRVUZCTzBsQlEzQkNMR3REUVVGeFFpeERRVUZCTzBGQlEzWkNMRU5CUVVNc1JVRktWeXhUUVVGVExFdEJRVlFzVTBGQlV5eFJRVWx3UWp0QlFVVkVMRTFCUVUwc1EwRkJUaXhKUVVGWkxHdENRV0ZZTzBGQllrUXNWMEZCV1N4clFrRkJhMEk3U1VGRE5VSXNjVU5CUVdVc1EwRkJRVHRKUVVObUxHdEVRVUUwUWl4RFFVRkJPMGxCUXpWQ0xHOUVRVUU0UWl4RFFVRkJPMGxCUXpsQ0xIVkRRVUZwUWl4RFFVRkJPMGxCUTJwQ0xIRkRRVUZsTEVOQlFVRTdTVUZEWml4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl4NVEwRkJiVUlzUTBGQlFUdEpRVU51UWl4eFEwRkJaU3hEUVVGQk8wbEJRMllzTWtOQlFYRkNMRU5CUVVFN1NVRkRja0lzYlVOQlFXRXNRMEZCUVR0SlFVTmlMQ3REUVVGNVFpeERRVUZCTzBGQlF6TkNMRU5CUVVNc1JVRmlWeXhyUWtGQmEwSXNTMEZCYkVJc2EwSkJRV3RDTEZGQllUZENPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzYTBKQlRWZzdRVUZPUkN4WFFVRlpMR3RDUVVGclFqdEpRVU0xUWl4NVEwRkJiVUlzUTBGQlFUdEpRVU51UWl4clJFRkJORUlzUTBGQlFUdEpRVU0xUWl3d1EwRkJiMElzUTBGQlFUdEpRVU53UWl4blJFRkJNRUlzUTBGQlFUdEpRVU14UWl4MVEwRkJhVUlzUTBGQlFUdEJRVU51UWl4RFFVRkRMRVZCVGxjc2EwSkJRV3RDTEV0QlFXeENMR3RDUVVGclFpeFJRVTAzUWp0QlFVVkVMRTFCUVUwc1EwRkJUaXhKUVVGWkxGZEJTMWc3UVVGTVJDeFhRVUZaTEZkQlFWYzdTVUZEY2tJc2IwTkJRWEZDTEVOQlFVRTdTVUZEY2tJc1owTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owTkJRV2xDTEVOQlFVRTdTVUZEYWtJc0swTkJRV2RETEVOQlFVRTdRVUZEYkVNc1EwRkJReXhGUVV4WExGZEJRVmNzUzBGQldDeFhRVUZYTEZGQlMzUkNPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzYTBKQlIxZzdRVUZJUkN4WFFVRlpMR3RDUVVGclFqdEpRVU0xUWl4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl3MlEwRkJkVUlzUTBGQlFUdEJRVU42UWl4RFFVRkRMRVZCU0Zjc2EwSkJRV3RDTEV0QlFXeENMR3RDUVVGclFpeFJRVWMzUWp0QlFVVkVMRTFCUVUwc1EwRkJReXhOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdRVUZEYWtVc1RVRkJUU3hEUVVGRExFMUJRVTBzZFVKQlFYVkNMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8wRkJRM1pGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRzlDUVVGdlFpeEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGFrVXNUVUZCVFN4RFFVRkRMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEJRVU42UkN4TlFVRk5MRU5CUVVNc1RVRkJUU3g1UWtGQmVVSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRNMFVzVFVGQlRTeERRVUZETEUxQlFVMHNlVUpCUVhsQ0xFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETzBGQlF6TkZMRTFCUVUwc1EwRkJReXhOUVVGTkxHdENRVUZyUWl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZETjBRc1RVRkJUU3hEUVVGRExFMUJRVTBzZVVKQlFYbENMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMElHVnVkVzBnU1hOdmJHRjBhVzl1VkdsbGNpQjdYRzRnSUZCdmIyeGxaQ0E5SUZ3aWNHOXZiR1ZrWENJc1hHNGdJRUp5YVdSblpTQTlJRndpWW5KcFpHZGxYQ0lzWEc0Z0lGTnBiRzhnUFNCY0luTnBiRzljSWl4Y2JuMWNibHh1Wlhod2IzSjBJR1Z1ZFcwZ1RXVnRZbVZ5YzJocGNGTjBZWFIxY3lCN1hHNGdJRWx1ZG1sMFpXUWdQU0JjSW1sdWRtbDBaV1JjSWl4Y2JpQWdRV04wYVhabElEMGdYQ0poWTNScGRtVmNJaXhjYmlBZ1UzVnpjR1Z1WkdWa0lEMGdYQ0p6ZFhOd1pXNWtaV1JjSWl4Y2JpQWdVbVZ0YjNabFpDQTlJRndpY21WdGIzWmxaRndpTEZ4dWZWeHVYRzVsZUhCdmNuUWdaVzUxYlNCUWNtbHVZMmx3WVd4TGFXNWtJSHRjYmlBZ1ZYTmxjaUE5SUZ3aWRYTmxjbHdpTEZ4dUlDQkhjbTkxY0NBOUlGd2laM0p2ZFhCY0lpeGNiaUFnVTJWeWRtbGpaVUZqWTI5MWJuUWdQU0JjSW5ObGNuWnBZMlZmWVdOamIzVnVkRndpTEZ4dUlDQkJaMlZ1ZENBOUlGd2lZV2RsYm5SY0lpeGNiaUFnUVhCcFMyVjVJRDBnWENKaGNHbGZhMlY1WENJc1hHNTlYRzVjYm1WNGNHOXlkQ0JsYm5WdElGTmpiM0JsUzJsdVpDQjdYRzRnSUZSbGJtRnVkQ0E5SUZ3aWRHVnVZVzUwWENJc1hHNGdJRTl5WjFWdWFYUWdQU0JjSW05eVoxOTFibWwwWENJc1hHNGdJRkpsYzI5MWNtTmxJRDBnWENKeVpYTnZkWEpqWlZ3aUxGeHVmVnh1WEc1bGVIQnZjblFnWlc1MWJTQlFaWEp0YVhOemFXOXVRMkYwWldkdmNua2dlMXh1SUNCQlpHMXBiaUE5SUZ3aVlXUnRhVzVjSWl4Y2JpQWdRMjl1ZEdWdWRGSmxZV1FnUFNCY0ltTnZiblJsYm5SZmNtVmhaRndpTEZ4dUlDQkRiMjUwWlc1MFYzSnBkR1VnUFNCY0ltTnZiblJsYm5SZmQzSnBkR1ZjSWl4Y2JpQWdUV1Z0YjNKNUlEMGdYQ0p0WlcxdmNubGNJaXhjYmlBZ1IzSmhjR2dnUFNCY0ltZHlZWEJvWENJc1hHNGdJRlpsWTNSdmNpQTlJRndpZG1WamRHOXlYQ0lzWEc0Z0lFVjRjRzl5ZENBOUlGd2laWGh3YjNKMFhDSXNYRzRnSUVKcGJHeHBibWNnUFNCY0ltSnBiR3hwYm1kY0lpeGNiaUFnUVhWa2FYUWdQU0JjSW1GMVpHbDBYQ0lzWEc0Z0lGTmxZM1Z5YVhSNUlEMGdYQ0p6WldOMWNtbDBlVndpTEZ4dUlDQkVZWFJoSUQwZ1hDSmtZWFJoWENJc1hHNGdJRUYxZEc5dFlYUnBiMjRnUFNCY0ltRjFkRzl0WVhScGIyNWNJaXhjYm4xY2JseHVaWGh3YjNKMElHVnVkVzBnVW1WemIzVnlZMlZXYVhOcFltbHNhWFI1SUh0Y2JpQWdVSEpwZG1GMFpTQTlJRndpY0hKcGRtRjBaVndpTEZ4dUlDQlNaWE52ZFhKalpVRmpiQ0E5SUZ3aWNtVnpiM1Z5WTJWZllXTnNYQ0lzWEc0Z0lFOXlaMVZ1YVhRZ1BTQmNJbTl5WjE5MWJtbDBYQ0lzWEc0Z0lFOXlaMU4xWW5SeVpXVWdQU0JjSW05eVoxOXpkV0owY21WbFhDSXNYRzRnSUZSbGJtRnVkQ0E5SUZ3aWRHVnVZVzUwWENJc1hHNTlYRzVjYm1WNGNHOXlkQ0JsYm5WdElGTjBiM0poWjJWTGFXNWtJSHRjYmlBZ1VHOXpkR2R5WlhNZ1BTQmNJbkJ2YzNSbmNtVnpYQ0lzWEc0Z0lFRnlZVzVuYnlBOUlGd2lZWEpoYm1kdlhDSXNYRzRnSUZGa2NtRnVkQ0E5SUZ3aWNXUnlZVzUwWENJc1hHNGdJRTlpYW1WamRGTjBiM0poWjJVZ1BTQmNJbTlpYW1WamRGOXpkRzl5WVdkbFhDSXNYRzU5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRk4wYjNKaFoyVkNhVzVrYVc1blMybHVaQ0I3WEc0Z0lGTm9ZWEpsWkNBOUlGd2ljMmhoY21Wa1hDSXNYRzRnSUVSbFpHbGpZWFJsWkNBOUlGd2laR1ZrYVdOaGRHVmtYQ0lzWEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmMyOXNZWFJwYjI1VWFXVnlUM0IwYVc5dWN5QTlJRTlpYW1WamRDNTJZV3gxWlhNb1NYTnZiR0YwYVc5dVZHbGxjaWs3WEc1bGVIQnZjblFnWTI5dWMzUWdUV1Z0WW1WeWMyaHBjRk4wWVhSMWMwOXdkR2x2Ym5NZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0UxbGJXSmxjbk5vYVhCVGRHRjBkWE1wTzF4dVpYaHdiM0owSUdOdmJuTjBJRkJ5YVc1amFYQmhiRXRwYm1SUGNIUnBiMjV6SUQwZ1QySnFaV04wTG5aaGJIVmxjeWhRY21sdVkybHdZV3hMYVc1a0tUdGNibVY0Y0c5eWRDQmpiMjV6ZENCVFkyOXdaVXRwYm1SUGNIUnBiMjV6SUQwZ1QySnFaV04wTG5aaGJIVmxjeWhUWTI5d1pVdHBibVFwTzF4dVpYaHdiM0owSUdOdmJuTjBJRkJsY20xcGMzTnBiMjVEWVhSbFoyOXllVTl3ZEdsdmJuTWdQU0JQWW1wbFkzUXVkbUZzZFdWektGQmxjbTFwYzNOcGIyNURZWFJsWjI5eWVTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1VtVnpiM1Z5WTJWV2FYTnBZbWxzYVhSNVQzQjBhVzl1Y3lBOUlFOWlhbVZqZEM1MllXeDFaWE1vVW1WemIzVnlZMlZXYVhOcFltbHNhWFI1S1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JUZEc5eVlXZGxTMmx1WkU5d2RHbHZibk1nUFNCUFltcGxZM1F1ZG1Gc2RXVnpLRk4wYjNKaFoyVkxhVzVrS1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JUZEc5eVlXZGxRbWx1WkdsdVowdHBibVJQY0hScGIyNXpJRDBnVDJKcVpXTjBMblpoYkhWbGN5aFRkRzl5WVdkbFFtbHVaR2x1WjB0cGJtUXBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQlVlRUZ5WjNNZ1BTQmhibmxiWFR0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRjbVZoZEdWVVpXNWhiblJKYm5CMWRDQjdYRzRnSUhOc2RXYzZJSE4wY21sdVp6dGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0JwYzI5c1lYUnBiMjVVYVdWeVB6b2dTWE52YkdGMGFXOXVWR2xsY2p0Y2JpQWdjSEp2Wm1sc1pVdGxlVDg2SUhOMGNtbHVaenRjYmlBZ2NISnZabWxzWlUxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRM0psWVhSbFZYTmxja2x1Y0hWMElIdGNiaUFnWlcxaGFXdy9PaUJ6ZEhKcGJtYzdYRzRnSUhCb2IyNWxQem9nYzNSeWFXNW5PMXh1SUNCa2FYTndiR0Y1VG1GdFpUb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVOeVpXRjBaVTl5WjFWdWFYUkpibkIxZENCN1hHNGdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhCaGNtVnVkRTl5WjFWdWFYUkpaRDg2SUhOMGNtbHVaenRjYmlBZ2JtRnRaVG9nYzNSeWFXNW5PMXh1SUNCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dUlDQndjbTltYVd4bFMyVjVQem9nYzNSeWFXNW5PMXh1SUNCd2NtOW1hV3hsVFdWMFlXUmhkR0UvT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRjbVZoZEdWU2IyeGxTVzV3ZFhRZ2UxeHVJQ0IwWlc1aGJuUkpaRDg2SUhOMGNtbHVaenRjYmlBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUc1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJRzFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EzSmxZWFJsVUdWeWJXbHpjMmx2YmtsdWNIVjBJSHRjYmlBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUdOaGRHVm5iM0o1T2lCUVpYSnRhWE56YVc5dVEyRjBaV2R2Y25rN1hHNGdJR1JsYzJOeWFYQjBhVzl1UHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZ6YzJsbmJsSnZiR1ZKYm5CMWRDQjdYRzRnSUhSbGJtRnVkRWxrT2lCemRISnBibWM3WEc0Z0lIQnlhVzVqYVhCaGJFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhKdmJHVkpaRG9nYzNSeWFXNW5PMXh1SUNCelkyOXdaVXRwYm1RNklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRG9nYzNSeWFXNW5PMXh1SUNCcGJtaGxjbWwwUkc5M2JqODZJR0p2YjJ4bFlXNDdYRzRnSUhOMFlYSjBjMEYwUHpvZ1JHRjBaVHRjYmlBZ1pYaHdhWEpsYzBGMFB6b2dSR0YwWlR0Y2JpQWdZMjl1WkdsMGFXOXVjejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGSmxaMmx6ZEdWeVVtVnpiM1Z5WTJWSmJuQjFkQ0I3WEc0Z0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jN1hHNGdJRzl5WjFWdWFYUkpaRG9nYzNSeWFXNW5PMXh1SUNCeVpYTnZkWEpqWlZSNWNHVTZJSE4wY21sdVp6dGNiaUFnY21WemIzVnlZMlZKWkRvZ2MzUnlhVzVuTzF4dUlDQjJhWE5wWW1sc2FYUjVPaUJTWlhOdmRYSmpaVlpwYzJsaWFXeHBkSGs3WEc0Z0lHOTNibVZ5VUhKcGJtTnBjR0ZzU1dRL09pQnpkSEpwYm1jN1hHNGdJSE5sYm5OcGRHbDJhWFI1UHpvZ2MzUnlhVzVuTzF4dUlDQnRaWFJoWkdGMFlUODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K08xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkeVlXNTBVbVZ6YjNWeVkyVkpibkIxZENCN1hHNGdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhKbGMyOTFjbU5sU1dRNklITjBjbWx1Wnp0Y2JpQWdjSEpwYm1OcGNHRnNTV1E2SUhOMGNtbHVaenRjYmlBZ2NHVnliV2x6YzJsdmJrdGxlVG9nYzNSeWFXNW5PMXh1SUNCemRHRnlkSE5CZEQ4NklFUmhkR1U3WEc0Z0lHVjRjR2x5WlhOQmREODZJRVJoZEdVN1hHNGdJR052Ym1ScGRHbHZibk0vT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYmlBZ1kzSmxZWFJsWkVKNVVISnBibU5wY0dGc1NXUS9PaUJ6ZEhKcGJtYzdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EyRnVRV05qWlhOelNXNXdkWFFnZTF4dUlDQjBaVzVoYm5SSlpEb2djM1J5YVc1bk8xeHVJQ0J3Y21sdVkybHdZV3hKWkRvZ2MzUnlhVzVuTzF4dUlDQndaWEp0YVhOemFXOXVTMlY1T2lCemRISnBibWM3WEc0Z0lISmxjMjkxY21ObFVISnZkR1ZqZEdWa1NXUS9PaUJ6ZEhKcGJtYzdYRzRnSUhOamIzQmxTMmx1WkQ4NklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRDg2SUhOMGNtbHVaenRjYmlBZ1lYUS9PaUJFWVhSbE8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGalkyVnpjME52Ym5SbGVIUWdlMXh1SUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTzF4dUlDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5PMXh1SUNCd1pYSnRhWE56YVc5dWMwSjVVMk52Y0dVNklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaMXRkUGp0Y2JpQWdZV3hzYjNkbFpFOXlaMVZ1YVhSSlpITkNlVkJsY20xcGMzTnBiMjQ2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSE4wY21sdVoxdGRQanRjYmlBZ2NtVnpiM1Z5WTJWSGNtRnVkSE02SUVGeWNtRjVQSHNnY21WemIzVnlZMlZKWkRvZ2MzUnlhVzVuT3lCd1pYSnRhWE56YVc5dVMyVjVPaUJ6ZEhKcGJtY2dmVDQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWEpoYm1kdlFYVjBhRU52Ym5SbGVIUWdlMXh1SUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTzF4dUlDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5PMXh1SUNCd1pYSnRhWE56YVc5dVMyVjVPaUJ6ZEhKcGJtYzdYRzRnSUdGc2JHOTNaV1JQY21kVmJtbDBTV1J6T2lCemRISnBibWRiWFR0Y2JpQWdZV3hzYjNkbFpGSmxjMjkxY21ObFNXUnpPaUJ6ZEhKcGJtZGJYVHRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlJaSEpoYm5SQmRYUm9SbWxzZEdWeUlIdGNiaUFnYlhWemREb2dRWEp5WVhrOFVtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQrTzF4dUlDQnRkWE4wWDI1dmREODZJRUZ5Y21GNVBGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrUGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JEY21WaGRHVlRkRzl5WVdkbFFtbHVaR2x1WjBsdWNIVjBJSHRjYmlBZ2RHVnVZVzUwU1dRNklITjBjbWx1Wnp0Y2JpQWdjM1J2Y21GblpVdHBibVE2SUZOMGIzSmhaMlZMYVc1a08xeHVJQ0JpYVc1a2FXNW5TMmx1WkRvZ1UzUnZjbUZuWlVKcGJtUnBibWRMYVc1a08xeHVJQ0JpYVc1a2FXNW5TMlY1T2lCemRISnBibWM3WEc0Z0lISmxaMmx2YmpvZ2MzUnlhVzVuTzF4dUlDQmpiMjVtYVdjL09pQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JDYjI5MGMzUnlZWEJRWlhKdGFYTnphVzl1SUh0Y2JpQWdhMlY1T2lCemRISnBibWM3WEc0Z0lHTmhkR1ZuYjNKNU9pQlFaWEp0YVhOemFXOXVRMkYwWldkdmNuazdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVKdmIzUnpkSEpoY0ZKdmJHVWdlMXh1SUNCclpYazZJSE4wY21sdVp6dGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdjR1Z5YldsemMybHZia3RsZVhNNklITjBjbWx1WjF0ZE8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVKdmIzUnpkSEpoY0U5eVoxVnVhWFFnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIQnliMlpwYkdWTFpYay9PaUJ6ZEhKcGJtYzdYRzRnSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc0Z0lHTm9hV3hrY21WdVB6b2dRbTl2ZEhOMGNtRndUM0puVlc1cGRGdGRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFSnZiM1J6ZEhKaGNGUmxiWEJzWVhSbElIdGNiaUFnZEdWdVlXNTBPaUJEY21WaGRHVlVaVzVoYm5SSmJuQjFkRHRjYmlBZ2NtOXZkRTl5WjFWdWFYUTZJRUp2YjNSemRISmhjRTl5WjFWdWFYUTdYRzRnSUhCbGNtMXBjM05wYjI1ek9pQkNiMjkwYzNSeVlYQlFaWEp0YVhOemFXOXVXMTA3WEc0Z0lISnZiR1Z6T2lCQ2IyOTBjM1J5WVhCU2IyeGxXMTA3WEc0Z0lHOTNibVZ5VlhObGNqb2dRM0psWVhSbFZYTmxja2x1Y0hWME8xeHVJQ0J2ZDI1bGNsSnZiR1ZMWlhrNklITjBjbWx1Wnp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JTWlhOdmRYSmpaVk51WVhCemFHOTBJSHRjYmlBZ2FXUTZJSE4wY21sdVp6dGNiaUFnZEdWdVlXNTBTV1E2SUhOMGNtbHVaenRjYmlBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jN1hHNGdJSEpsYzI5MWNtTmxWSGx3WlRvZ2MzUnlhVzVuTzF4dUlDQnlaWE52ZFhKalpVbGtPaUJ6ZEhKcGJtYzdYRzRnSUhacGMybGlhV3hwZEhrNklGSmxjMjkxY21ObFZtbHphV0pwYkdsMGVUdGNiaUFnYjNkdVpYSlFjbWx1WTJsd1lXeEpaRDg2SUhOMGNtbHVaenRjYmlBZ2MyVnVjMmwwYVhacGRIay9PaUJ6ZEhKcGJtYzdYRzRnSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSM0poYm5SVGJtRndjMmh2ZENCN1hHNGdJR2xrT2lCemRISnBibWM3WEc0Z0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jN1hHNGdJSEpsYzI5MWNtTmxTV1E2SUhOMGNtbHVaenRjYmlBZ2NISnBibU5wY0dGc1NXUTZJSE4wY21sdVp6dGNiaUFnY0dWeWJXbHpjMmx2Ymt0bGVUb2djM1J5YVc1bk8xeHVJQ0J6ZEdGeWRITkJkRDg2SUVSaGRHVTdYRzRnSUdWNGNHbHlaWE5CZEQ4NklFUmhkR1U3WEc0Z0lHTnZibVJwZEdsdmJuTS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnWTNKbFlYUmxaRUo1VUhKcGJtTnBjR0ZzU1dRL09pQnpkSEpwYm1jN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxOdVlYQnphRzkwSUh0Y2JpQWdhV1E2SUhOMGNtbHVaenRjYmlBZ2RHVnVZVzUwU1dRNklITjBjbWx1Wnp0Y2JpQWdjSEpwYm1OcGNHRnNTV1E2SUhOMGNtbHVaenRjYmlBZ2NHVnliV2x6YzJsdmJrdGxlVG9nYzNSeWFXNW5PMXh1SUNCelkyOXdaVXRwYm1RNklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRG9nYzNSeWFXNW5PMXh1SUNCemIzVnlZMlZMYVc1a09pQnpkSEpwYm1jN1hHNGdJSE52ZFhKalpVbGtPaUJ6ZEhKcGJtYzdYRzRnSUhOMFlYSjBjMEYwUHpvZ1JHRjBaVHRjYmlBZ1pYaHdhWEpsYzBGMFB6b2dSR0YwWlR0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCZFhSb2VrUmhkR0ZUYjNWeVkyVnpJSHRjYmlBZ2JHOWhaRkpsYzI5MWNtTmxQem9nS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWIzUmxZM1JsWkZKbGMyOTFjbU5sU1dRNklITjBjbWx1WnlrZ1BUNGdVSEp2YldselpUeFNaWE52ZFhKalpWTnVZWEJ6YUc5MElId2dkVzVrWldacGJtVmtQanRjYmlBZ2JHbHpkRkpsYzI5MWNtTmxSM0poYm5SelB6b2dLSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NJSEJ5YjNSbFkzUmxaRkpsYzI5MWNtTmxTV1E2SUhOMGNtbHVaeWtnUFQ0Z1VISnZiV2x6WlR4SGNtRnVkRk51WVhCemFHOTBXMTArTzF4dUlDQnNhWE4wVUhKcGJtTnBjR0ZzUjNKaGJuUnpQem9nS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWFXNWphWEJoYkVsa09pQnpkSEpwYm1jcElEMCtJRkJ5YjIxcGMyVThSM0poYm5SVGJtRndjMmh2ZEZ0ZFBqdGNiaUFnYkdsemRFVm1abVZqZEdsMlpWQmxjbTFwYzNOcGIyNXpQem9nS0Z4dUlDQWdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2NISnBibU5wY0dGc1NXUTZJSE4wY21sdVoxeHVJQ0FwSUQwK0lGQnliMjFwYzJVOFJXWm1aV04wYVhabFVHVnliV2x6YzJsdmJsTnVZWEJ6YUc5MFcxMCtPMXh1SUNCc2FYTjBSV1ptWldOMGFYWmxVR1Z5YldsemMybHZibk5HYjNKVFkyOXdaVDg2SUNoY2JpQWdJQ0IwWlc1aGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lITmpiM0JsUzJsdVpEb2dVMk52Y0dWTGFXNWtMRnh1SUNBZ0lITmpiM0JsU1dRNklITjBjbWx1WjF4dUlDQXBJRDArSUZCeWIyMXBjMlU4UldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxOdVlYQnphRzkwVzEwK08xeHVmVnh1SWwxOSJdfQ==