@decaf-ts/integrations 0.5.1 → 0.6.1

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 (1060) hide show
  1. package/dist/integrations.cjs +2 -2087
  2. package/dist/integrations.cjs.map +1 -0
  3. package/dist/integrations.js +2 -2356
  4. package/dist/integrations.js.map +1 -0
  5. package/docker/keycloak-broker-compose.yml +128 -0
  6. package/docker/traefik-broker.yml +51 -0
  7. package/eslint.config.js +1 -0
  8. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  9. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
  10. package/lib/cjs/blob/azure/index.cjs +2 -2
  11. package/lib/cjs/blob/azure/index.cjs.map +1 -0
  12. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  13. package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
  14. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  15. package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
  16. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  17. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
  18. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  19. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
  20. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  21. package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
  22. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  23. package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
  24. package/lib/cjs/blob/core/index.cjs +2 -2
  25. package/lib/cjs/blob/core/index.cjs.map +1 -0
  26. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  27. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
  28. package/lib/cjs/blob/gcp/index.cjs +2 -2
  29. package/lib/cjs/blob/gcp/index.cjs.map +1 -0
  30. package/lib/cjs/blob/index.cjs +2 -2
  31. package/lib/cjs/blob/index.cjs.map +1 -0
  32. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  33. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
  34. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  35. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
  36. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  37. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
  38. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  39. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
  40. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  41. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
  42. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  43. package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
  44. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  45. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
  46. package/lib/cjs/blob/local/index.cjs +2 -2
  47. package/lib/cjs/blob/local/index.cjs.map +1 -0
  48. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  49. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
  50. package/lib/cjs/blob/memory/index.cjs +2 -2
  51. package/lib/cjs/blob/memory/index.cjs.map +1 -0
  52. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  53. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
  54. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  55. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
  56. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  57. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
  58. package/lib/cjs/blob/s3/index.cjs +2 -2
  59. package/lib/cjs/blob/s3/index.cjs.map +1 -0
  60. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  61. package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
  62. package/lib/cjs/docker/index.cjs +2 -2
  63. package/lib/cjs/docker/index.cjs.map +1 -0
  64. package/lib/cjs/feature-flags/constants.cjs +2 -2
  65. package/lib/cjs/feature-flags/constants.cjs.map +1 -0
  66. package/lib/cjs/feature-flags/decorators.cjs +2 -2
  67. package/lib/cjs/feature-flags/decorators.cjs.map +1 -0
  68. package/lib/cjs/feature-flags/environment.cjs +2 -2
  69. package/lib/cjs/feature-flags/environment.cjs.map +1 -0
  70. package/lib/cjs/feature-flags/index.cjs +2 -2
  71. package/lib/cjs/feature-flags/index.cjs.map +1 -0
  72. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
  73. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -0
  74. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
  75. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -0
  76. package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
  77. package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +1 -0
  78. package/lib/cjs/feature-flags/readers/index.cjs +2 -2
  79. package/lib/cjs/feature-flags/readers/index.cjs.map +1 -0
  80. package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +2 -2
  81. package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +1 -0
  82. package/lib/cjs/feature-flags/types.cjs +2 -2
  83. package/lib/cjs/feature-flags/types.cjs.map +1 -0
  84. package/lib/cjs/feature-flags/utils.cjs +2 -2
  85. package/lib/cjs/feature-flags/utils.cjs.map +1 -0
  86. package/lib/cjs/graph/engine/constants.cjs +2 -2
  87. package/lib/cjs/graph/engine/constants.cjs.map +1 -0
  88. package/lib/cjs/graph/engine/decorators.cjs +2 -2
  89. package/lib/cjs/graph/engine/decorators.cjs.map +1 -0
  90. package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs +2 -2
  91. package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs.map +1 -0
  92. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +2 -2
  93. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +1 -0
  94. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +2 -2
  95. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +1 -0
  96. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +2 -2
  97. package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +1 -0
  98. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +2 -2
  99. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +1 -0
  100. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +2 -2
  101. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +1 -0
  102. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +2 -2
  103. package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +1 -0
  104. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +2 -2
  105. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +1 -0
  106. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +2 -2
  107. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +1 -0
  108. package/lib/cjs/graph/engine/errors/index.cjs +2 -2
  109. package/lib/cjs/graph/engine/errors/index.cjs.map +1 -0
  110. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +2 -2
  111. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +1 -0
  112. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +2 -2
  113. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +1 -0
  114. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +2 -2
  115. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +1 -0
  116. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +2 -2
  117. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +1 -0
  118. package/lib/cjs/graph/engine/events/index.cjs +2 -2
  119. package/lib/cjs/graph/engine/events/index.cjs.map +1 -0
  120. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +5 -3
  121. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +1 -0
  122. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +2 -2
  123. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +1 -0
  124. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +2 -2
  125. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +1 -0
  126. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +2 -2
  127. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -0
  128. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +2 -2
  129. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -0
  130. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +2 -2
  131. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -0
  132. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +2 -2
  133. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +1 -0
  134. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +2 -2
  135. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +1 -0
  136. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +2 -2
  137. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +1 -0
  138. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +2 -2
  139. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +1 -0
  140. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +2 -2
  141. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
  142. package/lib/cjs/graph/engine/execution/index.cjs +2 -2
  143. package/lib/cjs/graph/engine/execution/index.cjs.map +1 -0
  144. package/lib/cjs/graph/engine/index.cjs +2 -2
  145. package/lib/cjs/graph/engine/index.cjs.map +1 -0
  146. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +2 -2
  147. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +1 -0
  148. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +3 -3
  149. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
  150. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +2 -2
  151. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +1 -0
  152. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +2 -2
  153. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +1 -0
  154. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +2 -2
  155. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +1 -0
  156. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +2 -2
  157. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +1 -0
  158. package/lib/cjs/graph/engine/loops/index.cjs +2 -2
  159. package/lib/cjs/graph/engine/loops/index.cjs.map +1 -0
  160. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +2 -2
  161. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
  162. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +2 -2
  163. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +1 -0
  164. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +2 -2
  165. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +1 -0
  166. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +2 -2
  167. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +1 -0
  168. package/lib/cjs/graph/engine/pinning/index.cjs +2 -2
  169. package/lib/cjs/graph/engine/pinning/index.cjs.map +1 -0
  170. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +2 -2
  171. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +1 -0
  172. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +2 -2
  173. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +1 -0
  174. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +2 -2
  175. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +1 -0
  176. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +2 -2
  177. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +1 -0
  178. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +2 -2
  179. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +1 -0
  180. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +2 -2
  181. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +1 -0
  182. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +2 -2
  183. package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +1 -0
  184. package/lib/cjs/graph/engine/planning/index.cjs +2 -2
  185. package/lib/cjs/graph/engine/planning/index.cjs.map +1 -0
  186. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +2 -2
  187. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
  188. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +2 -2
  189. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +1 -0
  190. package/lib/cjs/graph/engine/registry/index.cjs +2 -2
  191. package/lib/cjs/graph/engine/registry/index.cjs.map +1 -0
  192. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  193. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
  194. package/lib/cjs/graph/engine/snapshots/index.cjs +2 -2
  195. package/lib/cjs/graph/engine/snapshots/index.cjs.map +1 -0
  196. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +2 -2
  197. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +1 -0
  198. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +2 -2
  199. package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +1 -0
  200. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +2 -2
  201. package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +1 -0
  202. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +2 -2
  203. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +1 -0
  204. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  205. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
  206. package/lib/cjs/graph/engine/store/index.cjs +2 -2
  207. package/lib/cjs/graph/engine/store/index.cjs.map +1 -0
  208. package/lib/cjs/graph/engine/types.cjs +2 -2
  209. package/lib/cjs/graph/engine/types.cjs.map +1 -0
  210. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +2 -2
  211. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +1 -0
  212. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +2 -2
  213. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +1 -0
  214. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +2 -2
  215. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +1 -0
  216. package/lib/cjs/graph/engine/validation/index.cjs +2 -2
  217. package/lib/cjs/graph/engine/validation/index.cjs.map +1 -0
  218. package/lib/cjs/graph/index.cjs +2 -2
  219. package/lib/cjs/graph/index.cjs.map +1 -0
  220. package/lib/cjs/graph/shared/constants.cjs +2 -2
  221. package/lib/cjs/graph/shared/constants.cjs.map +1 -0
  222. package/lib/cjs/graph/shared/index.cjs +2 -2
  223. package/lib/cjs/graph/shared/index.cjs.map +1 -0
  224. package/lib/cjs/graph/shared/nodes/agent.cjs +2 -2
  225. package/lib/cjs/graph/shared/nodes/agent.cjs.map +1 -0
  226. package/lib/cjs/graph/shared/nodes/base.cjs +2 -2
  227. package/lib/cjs/graph/shared/nodes/base.cjs.map +1 -0
  228. package/lib/cjs/graph/shared/nodes/category-styles.cjs +2 -2
  229. package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +1 -0
  230. package/lib/cjs/graph/shared/nodes/flow-control.cjs +2 -2
  231. package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +1 -0
  232. package/lib/cjs/graph/shared/nodes/index.cjs +2 -2
  233. package/lib/cjs/graph/shared/nodes/index.cjs.map +1 -0
  234. package/lib/cjs/graph/shared/nodes/triggers.cjs +2 -2
  235. package/lib/cjs/graph/shared/nodes/triggers.cjs.map +1 -0
  236. package/lib/cjs/graph/shared/types.cjs +2 -2
  237. package/lib/cjs/graph/shared/types.cjs.map +1 -0
  238. package/lib/cjs/index.cjs +5 -5
  239. package/lib/cjs/index.cjs.map +1 -0
  240. package/lib/cjs/keycloak/broker.cjs +22 -0
  241. package/lib/cjs/keycloak/broker.cjs.map +1 -0
  242. package/lib/cjs/keycloak/index.cjs +3 -2
  243. package/lib/cjs/keycloak/index.cjs.map +1 -0
  244. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  245. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
  246. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  247. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
  248. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +71 -2
  249. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
  250. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  251. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
  252. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  253. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
  254. package/lib/cjs/keycloak/services/KeycloakService.cjs +6 -2
  255. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
  256. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  257. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
  258. package/lib/cjs/keycloak/services/index.cjs +2 -2
  259. package/lib/cjs/keycloak/services/index.cjs.map +1 -0
  260. package/lib/cjs/keycloak/services/runtime.cjs +2 -2
  261. package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
  262. package/lib/cjs/keycloak/types.cjs +2 -2
  263. package/lib/cjs/keycloak/types.cjs.map +1 -0
  264. package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
  265. package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +1 -0
  266. package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
  267. package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +1 -0
  268. package/lib/cjs/kibana/builders/index.cjs +2 -2
  269. package/lib/cjs/kibana/builders/index.cjs.map +1 -0
  270. package/lib/cjs/kibana/helpers.cjs +2 -2
  271. package/lib/cjs/kibana/helpers.cjs.map +1 -0
  272. package/lib/cjs/kibana/index.cjs +2 -2
  273. package/lib/cjs/kibana/index.cjs.map +1 -0
  274. package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
  275. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
  276. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
  277. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
  278. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  279. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
  280. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  281. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
  282. package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
  283. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
  284. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  285. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
  286. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  287. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
  288. package/lib/cjs/kibana/services/index.cjs +2 -2
  289. package/lib/cjs/kibana/services/index.cjs.map +1 -0
  290. package/lib/cjs/kibana/services/runtime.cjs +2 -2
  291. package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
  292. package/lib/cjs/kibana/types.cjs +2 -2
  293. package/lib/cjs/kibana/types.cjs.map +1 -0
  294. package/lib/cjs/loader/ObjectLoader.cjs +2 -2
  295. package/lib/cjs/loader/ObjectLoader.cjs.map +1 -0
  296. package/lib/cjs/loader/families.cjs +2 -2
  297. package/lib/cjs/loader/families.cjs.map +1 -0
  298. package/lib/cjs/loader/index.cjs +2 -2
  299. package/lib/cjs/loader/index.cjs.map +1 -0
  300. package/lib/cjs/loader/types.cjs +2 -2
  301. package/lib/cjs/loader/types.cjs.map +1 -0
  302. package/lib/cjs/namespaces/index.cjs +2 -2
  303. package/lib/cjs/namespaces/index.cjs.map +1 -0
  304. package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
  305. package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
  306. package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
  307. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
  308. package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
  309. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
  310. package/lib/cjs/namespaces/models/group.model.cjs +2 -2
  311. package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
  312. package/lib/cjs/namespaces/models/index.cjs +2 -2
  313. package/lib/cjs/namespaces/models/index.cjs.map +1 -0
  314. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
  315. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
  316. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
  317. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
  318. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
  319. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
  320. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
  321. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
  322. package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
  323. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
  324. package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
  325. package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
  326. package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
  327. package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
  328. package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
  329. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
  330. package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
  331. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
  332. package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
  333. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
  334. package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
  335. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
  336. package/lib/cjs/namespaces/models/role.model.cjs +2 -2
  337. package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
  338. package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
  339. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
  340. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
  341. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
  342. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
  343. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
  344. package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
  345. package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
  346. package/lib/cjs/namespaces/models/user.model.cjs +2 -2
  347. package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
  348. package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
  349. package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
  350. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
  351. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
  352. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
  353. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
  354. package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
  355. package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
  356. package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
  357. package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
  358. package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
  359. package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
  360. package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
  361. package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
  362. package/lib/cjs/namespaces/services/group.service.cjs +2 -2
  363. package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
  364. package/lib/cjs/namespaces/services/index.cjs +2 -2
  365. package/lib/cjs/namespaces/services/index.cjs.map +1 -0
  366. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
  367. package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
  368. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
  369. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
  370. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
  371. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
  372. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
  373. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
  374. package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
  375. package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
  376. package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
  377. package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
  378. package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
  379. package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
  380. package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
  381. package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
  382. package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
  383. package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
  384. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
  385. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
  386. package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
  387. package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
  388. package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
  389. package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
  390. package/lib/cjs/namespaces/services/role.service.cjs +2 -2
  391. package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
  392. package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
  393. package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
  394. package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
  395. package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
  396. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
  397. package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
  398. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
  399. package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
  400. package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
  401. package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
  402. package/lib/cjs/namespaces/services/user.service.cjs +2 -2
  403. package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
  404. package/lib/cjs/namespaces/types.cjs +2 -2
  405. package/lib/cjs/namespaces/types.cjs.map +1 -0
  406. package/lib/cjs/namespaces/utils.cjs +2 -2
  407. package/lib/cjs/namespaces/utils.cjs.map +1 -0
  408. package/lib/cjs/nest/decorators.cjs +2 -2
  409. package/lib/cjs/nest/decorators.cjs.map +1 -0
  410. package/lib/cjs/nest/graph/GraphExecutionController.cjs +2 -2
  411. package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -0
  412. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +2 -2
  413. package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -0
  414. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -2
  415. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -0
  416. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +2 -2
  417. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -0
  418. package/lib/cjs/nest/graph/GraphResultService.cjs +2 -2
  419. package/lib/cjs/nest/graph/GraphResultService.cjs.map +1 -0
  420. package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +2 -2
  421. package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +1 -0
  422. package/lib/cjs/nest/graph/GraphWorkflowService.cjs +2 -2
  423. package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -0
  424. package/lib/cjs/nest/graph/index.cjs +2 -2
  425. package/lib/cjs/nest/graph/index.cjs.map +1 -0
  426. package/lib/cjs/nest/graph/main.cjs +2 -2
  427. package/lib/cjs/nest/graph/main.cjs.map +1 -0
  428. package/lib/cjs/nest/index.cjs +2 -2
  429. package/lib/cjs/nest/index.cjs.map +1 -0
  430. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  431. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
  432. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  433. package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
  434. package/lib/cjs/nest/logging.cjs +2 -2
  435. package/lib/cjs/nest/logging.cjs.map +1 -0
  436. package/lib/cjs/nest/types.cjs +2 -2
  437. package/lib/cjs/nest/types.cjs.map +1 -0
  438. package/lib/cjs/nest/utils.cjs +2 -2
  439. package/lib/cjs/nest/utils.cjs.map +1 -0
  440. package/lib/cjs/plugins/contract.cjs +2 -2
  441. package/lib/cjs/plugins/contract.cjs.map +1 -0
  442. package/lib/cjs/plugins/index.cjs +2 -2
  443. package/lib/cjs/plugins/index.cjs.map +1 -0
  444. package/lib/cjs/plugins/kibana/host.cjs +2 -2
  445. package/lib/cjs/plugins/kibana/host.cjs.map +1 -0
  446. package/lib/cjs/plugins/kibana/index.cjs +2 -2
  447. package/lib/cjs/plugins/kibana/index.cjs.map +1 -0
  448. package/lib/cjs/plugins/kibana/installer.cjs +2 -2
  449. package/lib/cjs/plugins/kibana/installer.cjs.map +1 -0
  450. package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
  451. package/lib/cjs/plugins/kibana/manifest.cjs.map +1 -0
  452. package/lib/cjs/plugins/kibana/templates.cjs +2 -2
  453. package/lib/cjs/plugins/kibana/templates.cjs.map +1 -0
  454. package/lib/cjs/plugins/kibana/types.cjs +2 -2
  455. package/lib/cjs/plugins/kibana/types.cjs.map +1 -0
  456. package/lib/cjs/plugins/superset/host.cjs +2 -2
  457. package/lib/cjs/plugins/superset/host.cjs.map +1 -0
  458. package/lib/cjs/plugins/superset/index.cjs +2 -2
  459. package/lib/cjs/plugins/superset/index.cjs.map +1 -0
  460. package/lib/cjs/plugins/superset/installer.cjs +2 -2
  461. package/lib/cjs/plugins/superset/installer.cjs.map +1 -0
  462. package/lib/cjs/plugins/superset/manifest.cjs +2 -2
  463. package/lib/cjs/plugins/superset/manifest.cjs.map +1 -0
  464. package/lib/cjs/plugins/superset/templates.cjs +2 -2
  465. package/lib/cjs/plugins/superset/templates.cjs.map +1 -0
  466. package/lib/cjs/plugins/superset/types.cjs +2 -2
  467. package/lib/cjs/plugins/superset/types.cjs.map +1 -0
  468. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  469. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
  470. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  471. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
  472. package/lib/cjs/secrets/aws/index.cjs +2 -2
  473. package/lib/cjs/secrets/aws/index.cjs.map +1 -0
  474. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  475. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
  476. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  477. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
  478. package/lib/cjs/secrets/azure/index.cjs +2 -2
  479. package/lib/cjs/secrets/azure/index.cjs.map +1 -0
  480. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  481. package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
  482. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  483. package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
  484. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  485. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
  486. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  487. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
  488. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  489. package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
  490. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  491. package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
  492. package/lib/cjs/secrets/core/index.cjs +2 -2
  493. package/lib/cjs/secrets/core/index.cjs.map +1 -0
  494. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  495. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
  496. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  497. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
  498. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  499. package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
  500. package/lib/cjs/secrets/index.cjs +2 -2
  501. package/lib/cjs/secrets/index.cjs.map +1 -0
  502. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  503. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
  504. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  505. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
  506. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  507. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
  508. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  509. package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
  510. package/lib/cjs/secrets/model/index.cjs +2 -2
  511. package/lib/cjs/secrets/model/index.cjs.map +1 -0
  512. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  513. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
  514. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  515. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
  516. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  517. package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
  518. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  519. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
  520. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  521. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
  522. package/lib/cjs/secrets/vault/index.cjs +2 -2
  523. package/lib/cjs/secrets/vault/index.cjs.map +1 -0
  524. package/lib/cjs/shared/runtime.cjs +2 -2
  525. package/lib/cjs/shared/runtime.cjs.map +1 -0
  526. package/lib/cjs/utils.cjs +2 -2
  527. package/lib/cjs/utils.cjs.map +1 -0
  528. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  529. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
  530. package/lib/esm/blob/azure/index.js +1 -1
  531. package/lib/esm/blob/azure/index.js.map +1 -0
  532. package/lib/esm/blob/core/BlobErrors.js +1 -1
  533. package/lib/esm/blob/core/BlobErrors.js.map +1 -0
  534. package/lib/esm/blob/core/BlobKey.js +1 -1
  535. package/lib/esm/blob/core/BlobKey.js.map +1 -0
  536. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  537. package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
  538. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  539. package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
  540. package/lib/esm/blob/core/BlobTypes.js +1 -1
  541. package/lib/esm/blob/core/BlobTypes.js.map +1 -0
  542. package/lib/esm/blob/core/BlobValue.js +1 -1
  543. package/lib/esm/blob/core/BlobValue.js.map +1 -0
  544. package/lib/esm/blob/core/index.js +1 -1
  545. package/lib/esm/blob/core/index.js.map +1 -0
  546. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  547. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
  548. package/lib/esm/blob/gcp/index.js +1 -1
  549. package/lib/esm/blob/gcp/index.js.map +1 -0
  550. package/lib/esm/blob/index.js +1 -1
  551. package/lib/esm/blob/index.js.map +1 -0
  552. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  553. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
  554. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  555. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
  556. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  557. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
  558. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  559. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
  560. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  561. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
  562. package/lib/esm/blob/ipfs/index.js +1 -1
  563. package/lib/esm/blob/ipfs/index.js.map +1 -0
  564. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  565. package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
  566. package/lib/esm/blob/local/index.js +1 -1
  567. package/lib/esm/blob/local/index.js.map +1 -0
  568. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  569. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
  570. package/lib/esm/blob/memory/index.js +1 -1
  571. package/lib/esm/blob/memory/index.js.map +1 -0
  572. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  573. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
  574. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  575. package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
  576. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  577. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
  578. package/lib/esm/blob/s3/index.js +1 -1
  579. package/lib/esm/blob/s3/index.js.map +1 -0
  580. package/lib/esm/docker/DockerComposeService.js +1 -1
  581. package/lib/esm/docker/DockerComposeService.js.map +1 -0
  582. package/lib/esm/docker/index.js +1 -1
  583. package/lib/esm/docker/index.js.map +1 -0
  584. package/lib/esm/feature-flags/constants.js +1 -1
  585. package/lib/esm/feature-flags/constants.js.map +1 -0
  586. package/lib/esm/feature-flags/decorators.js +1 -1
  587. package/lib/esm/feature-flags/decorators.js.map +1 -0
  588. package/lib/esm/feature-flags/environment.js +1 -1
  589. package/lib/esm/feature-flags/environment.js.map +1 -0
  590. package/lib/esm/feature-flags/index.js +1 -1
  591. package/lib/esm/feature-flags/index.js.map +1 -0
  592. package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
  593. package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -0
  594. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
  595. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -0
  596. package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
  597. package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +1 -0
  598. package/lib/esm/feature-flags/readers/index.js +1 -1
  599. package/lib/esm/feature-flags/readers/index.js.map +1 -0
  600. package/lib/esm/feature-flags/services/FeatureFlag.service.js +1 -1
  601. package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +1 -0
  602. package/lib/esm/feature-flags/types.js +1 -1
  603. package/lib/esm/feature-flags/types.js.map +1 -0
  604. package/lib/esm/feature-flags/utils.js +1 -1
  605. package/lib/esm/feature-flags/utils.js.map +1 -0
  606. package/lib/esm/graph/engine/constants.js +1 -1
  607. package/lib/esm/graph/engine/constants.js.map +1 -0
  608. package/lib/esm/graph/engine/decorators.js +1 -1
  609. package/lib/esm/graph/engine/decorators.js.map +1 -0
  610. package/lib/esm/graph/engine/errors/GraphBreakSignal.js +1 -1
  611. package/lib/esm/graph/engine/errors/GraphBreakSignal.js.map +1 -0
  612. package/lib/esm/graph/engine/errors/GraphCycleError.js +1 -1
  613. package/lib/esm/graph/engine/errors/GraphCycleError.js.map +1 -0
  614. package/lib/esm/graph/engine/errors/GraphExecutionError.js +1 -1
  615. package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +1 -0
  616. package/lib/esm/graph/engine/errors/GraphInputError.js +1 -1
  617. package/lib/esm/graph/engine/errors/GraphInputError.js.map +1 -0
  618. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +1 -1
  619. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +1 -0
  620. package/lib/esm/graph/engine/errors/GraphPinningError.js +1 -1
  621. package/lib/esm/graph/engine/errors/GraphPinningError.js.map +1 -0
  622. package/lib/esm/graph/engine/errors/GraphPortError.js +1 -1
  623. package/lib/esm/graph/engine/errors/GraphPortError.js.map +1 -0
  624. package/lib/esm/graph/engine/errors/GraphStoreError.js +1 -1
  625. package/lib/esm/graph/engine/errors/GraphStoreError.js.map +1 -0
  626. package/lib/esm/graph/engine/errors/GraphTopologyError.js +1 -1
  627. package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +1 -0
  628. package/lib/esm/graph/engine/errors/index.js +1 -1
  629. package/lib/esm/graph/engine/errors/index.js.map +1 -0
  630. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +1 -1
  631. package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +1 -0
  632. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +1 -1
  633. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +1 -0
  634. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +1 -1
  635. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +1 -0
  636. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +1 -1
  637. package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +1 -0
  638. package/lib/esm/graph/engine/events/index.js +1 -1
  639. package/lib/esm/graph/engine/events/index.js.map +1 -0
  640. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +4 -2
  641. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +1 -0
  642. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +1 -1
  643. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +1 -0
  644. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +1 -1
  645. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +1 -0
  646. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +1 -1
  647. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -0
  648. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +1 -1
  649. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -0
  650. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +1 -1
  651. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -0
  652. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +1 -1
  653. package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +1 -0
  654. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +1 -1
  655. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +1 -0
  656. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +1 -1
  657. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +1 -0
  658. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +1 -1
  659. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +1 -0
  660. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +1 -1
  661. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -0
  662. package/lib/esm/graph/engine/execution/index.js +1 -1
  663. package/lib/esm/graph/engine/execution/index.js.map +1 -0
  664. package/lib/esm/graph/engine/index.js +1 -1
  665. package/lib/esm/graph/engine/index.js.map +1 -0
  666. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +1 -1
  667. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +1 -0
  668. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +2 -2
  669. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -0
  670. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +1 -1
  671. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +1 -0
  672. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +1 -1
  673. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +1 -0
  674. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +1 -1
  675. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +1 -0
  676. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +1 -1
  677. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +1 -0
  678. package/lib/esm/graph/engine/loops/index.js +1 -1
  679. package/lib/esm/graph/engine/loops/index.js.map +1 -0
  680. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +1 -1
  681. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +1 -0
  682. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +1 -1
  683. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +1 -0
  684. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +1 -1
  685. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +1 -0
  686. package/lib/esm/graph/engine/pinning/GraphPinningService.js +1 -1
  687. package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +1 -0
  688. package/lib/esm/graph/engine/pinning/index.js +1 -1
  689. package/lib/esm/graph/engine/pinning/index.js.map +1 -0
  690. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +1 -1
  691. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +1 -0
  692. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +1 -1
  693. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +1 -0
  694. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +1 -1
  695. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +1 -0
  696. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +1 -1
  697. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +1 -0
  698. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +1 -1
  699. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +1 -0
  700. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +1 -1
  701. package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +1 -0
  702. package/lib/esm/graph/engine/planning/GraphTopology.js +1 -1
  703. package/lib/esm/graph/engine/planning/GraphTopology.js.map +1 -0
  704. package/lib/esm/graph/engine/planning/index.js +1 -1
  705. package/lib/esm/graph/engine/planning/index.js.map +1 -0
  706. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +1 -1
  707. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +1 -0
  708. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +1 -1
  709. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +1 -0
  710. package/lib/esm/graph/engine/registry/index.js +1 -1
  711. package/lib/esm/graph/engine/registry/index.js.map +1 -0
  712. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  713. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
  714. package/lib/esm/graph/engine/snapshots/index.js +1 -1
  715. package/lib/esm/graph/engine/snapshots/index.js.map +1 -0
  716. package/lib/esm/graph/engine/store/GraphCachedValue.js +1 -1
  717. package/lib/esm/graph/engine/store/GraphCachedValue.js.map +1 -0
  718. package/lib/esm/graph/engine/store/GraphValueKey.js +1 -1
  719. package/lib/esm/graph/engine/store/GraphValueKey.js.map +1 -0
  720. package/lib/esm/graph/engine/store/GraphValueStore.js +1 -1
  721. package/lib/esm/graph/engine/store/GraphValueStore.js.map +1 -0
  722. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +1 -1
  723. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +1 -0
  724. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +1 -1
  725. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
  726. package/lib/esm/graph/engine/store/index.js +1 -1
  727. package/lib/esm/graph/engine/store/index.js.map +1 -0
  728. package/lib/esm/graph/engine/types.js +1 -1
  729. package/lib/esm/graph/engine/types.js.map +1 -0
  730. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +1 -1
  731. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +1 -0
  732. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +1 -1
  733. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +1 -0
  734. package/lib/esm/graph/engine/validation/GraphValueValidator.js +1 -1
  735. package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +1 -0
  736. package/lib/esm/graph/engine/validation/index.js +1 -1
  737. package/lib/esm/graph/engine/validation/index.js.map +1 -0
  738. package/lib/esm/graph/index.js +1 -1
  739. package/lib/esm/graph/index.js.map +1 -0
  740. package/lib/esm/graph/shared/constants.js +1 -1
  741. package/lib/esm/graph/shared/constants.js.map +1 -0
  742. package/lib/esm/graph/shared/index.js +1 -1
  743. package/lib/esm/graph/shared/index.js.map +1 -0
  744. package/lib/esm/graph/shared/nodes/agent.js +1 -1
  745. package/lib/esm/graph/shared/nodes/agent.js.map +1 -0
  746. package/lib/esm/graph/shared/nodes/base.js +1 -1
  747. package/lib/esm/graph/shared/nodes/base.js.map +1 -0
  748. package/lib/esm/graph/shared/nodes/category-styles.js +1 -1
  749. package/lib/esm/graph/shared/nodes/category-styles.js.map +1 -0
  750. package/lib/esm/graph/shared/nodes/flow-control.js +1 -1
  751. package/lib/esm/graph/shared/nodes/flow-control.js.map +1 -0
  752. package/lib/esm/graph/shared/nodes/index.js +1 -1
  753. package/lib/esm/graph/shared/nodes/index.js.map +1 -0
  754. package/lib/esm/graph/shared/nodes/triggers.js +1 -1
  755. package/lib/esm/graph/shared/nodes/triggers.js.map +1 -0
  756. package/lib/esm/graph/shared/types.js +1 -1
  757. package/lib/esm/graph/shared/types.js.map +1 -0
  758. package/lib/esm/index.js +4 -4
  759. package/lib/esm/index.js.map +1 -0
  760. package/lib/esm/keycloak/broker.js +17 -0
  761. package/lib/esm/keycloak/broker.js.map +1 -0
  762. package/lib/esm/keycloak/index.js +2 -1
  763. package/lib/esm/keycloak/index.js.map +1 -0
  764. package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
  765. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
  766. package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
  767. package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
  768. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +69 -1
  769. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
  770. package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
  771. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
  772. package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
  773. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
  774. package/lib/esm/keycloak/services/KeycloakService.js +5 -1
  775. package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
  776. package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
  777. package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
  778. package/lib/esm/keycloak/services/index.js +1 -1
  779. package/lib/esm/keycloak/services/index.js.map +1 -0
  780. package/lib/esm/keycloak/services/runtime.js +1 -1
  781. package/lib/esm/keycloak/services/runtime.js.map +1 -0
  782. package/lib/esm/keycloak/types.js +1 -1
  783. package/lib/esm/keycloak/types.js.map +1 -0
  784. package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
  785. package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +1 -0
  786. package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
  787. package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +1 -0
  788. package/lib/esm/kibana/builders/index.js +1 -1
  789. package/lib/esm/kibana/builders/index.js.map +1 -0
  790. package/lib/esm/kibana/helpers.js +1 -1
  791. package/lib/esm/kibana/helpers.js.map +1 -0
  792. package/lib/esm/kibana/index.js +1 -1
  793. package/lib/esm/kibana/index.js.map +1 -0
  794. package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
  795. package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
  796. package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
  797. package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
  798. package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
  799. package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
  800. package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
  801. package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
  802. package/lib/esm/kibana/services/KibanaService.js +1 -1
  803. package/lib/esm/kibana/services/KibanaService.js.map +1 -0
  804. package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
  805. package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
  806. package/lib/esm/kibana/services/KibanaUserService.js +1 -1
  807. package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
  808. package/lib/esm/kibana/services/index.js +1 -1
  809. package/lib/esm/kibana/services/index.js.map +1 -0
  810. package/lib/esm/kibana/services/runtime.js +1 -1
  811. package/lib/esm/kibana/services/runtime.js.map +1 -0
  812. package/lib/esm/kibana/types.js +1 -1
  813. package/lib/esm/kibana/types.js.map +1 -0
  814. package/lib/esm/loader/ObjectLoader.js +1 -1
  815. package/lib/esm/loader/ObjectLoader.js.map +1 -0
  816. package/lib/esm/loader/families.js +1 -1
  817. package/lib/esm/loader/families.js.map +1 -0
  818. package/lib/esm/loader/index.js +1 -1
  819. package/lib/esm/loader/index.js.map +1 -0
  820. package/lib/esm/loader/types.js +1 -1
  821. package/lib/esm/loader/types.js.map +1 -0
  822. package/lib/esm/namespaces/index.js +1 -1
  823. package/lib/esm/namespaces/index.js.map +1 -0
  824. package/lib/esm/namespaces/models/authorization-model.js +1 -1
  825. package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
  826. package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
  827. package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
  828. package/lib/esm/namespaces/models/group-membership.model.js +1 -1
  829. package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
  830. package/lib/esm/namespaces/models/group.model.js +1 -1
  831. package/lib/esm/namespaces/models/group.model.js.map +1 -0
  832. package/lib/esm/namespaces/models/index.js +1 -1
  833. package/lib/esm/namespaces/models/index.js.map +1 -0
  834. package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
  835. package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
  836. package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
  837. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
  838. package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
  839. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
  840. package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
  841. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
  842. package/lib/esm/namespaces/models/org-unit.model.js +1 -1
  843. package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
  844. package/lib/esm/namespaces/models/permission.model.js +1 -1
  845. package/lib/esm/namespaces/models/permission.model.js.map +1 -0
  846. package/lib/esm/namespaces/models/principal.model.js +1 -1
  847. package/lib/esm/namespaces/models/principal.model.js.map +1 -0
  848. package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
  849. package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
  850. package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
  851. package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
  852. package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
  853. package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
  854. package/lib/esm/namespaces/models/role-permission.model.js +1 -1
  855. package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
  856. package/lib/esm/namespaces/models/role.model.js +1 -1
  857. package/lib/esm/namespaces/models/role.model.js.map +1 -0
  858. package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
  859. package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
  860. package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
  861. package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
  862. package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
  863. package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
  864. package/lib/esm/namespaces/models/tenant.model.js +1 -1
  865. package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
  866. package/lib/esm/namespaces/models/user.model.js +1 -1
  867. package/lib/esm/namespaces/models/user.model.js.map +1 -0
  868. package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
  869. package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
  870. package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
  871. package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
  872. package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
  873. package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
  874. package/lib/esm/namespaces/services/authz.service.js +1 -1
  875. package/lib/esm/namespaces/services/authz.service.js.map +1 -0
  876. package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
  877. package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
  878. package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
  879. package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
  880. package/lib/esm/namespaces/services/group-membership.service.js +1 -1
  881. package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
  882. package/lib/esm/namespaces/services/group.service.js +1 -1
  883. package/lib/esm/namespaces/services/group.service.js.map +1 -0
  884. package/lib/esm/namespaces/services/index.js +1 -1
  885. package/lib/esm/namespaces/services/index.js.map +1 -0
  886. package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
  887. package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
  888. package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
  889. package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
  890. package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
  891. package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
  892. package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
  893. package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
  894. package/lib/esm/namespaces/services/org-unit.service.js +1 -1
  895. package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
  896. package/lib/esm/namespaces/services/permission.service.js +1 -1
  897. package/lib/esm/namespaces/services/permission.service.js.map +1 -0
  898. package/lib/esm/namespaces/services/principal.service.js +1 -1
  899. package/lib/esm/namespaces/services/principal.service.js.map +1 -0
  900. package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
  901. package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
  902. package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
  903. package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
  904. package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
  905. package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
  906. package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
  907. package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
  908. package/lib/esm/namespaces/services/role-permission.service.js +1 -1
  909. package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
  910. package/lib/esm/namespaces/services/role.service.js +1 -1
  911. package/lib/esm/namespaces/services/role.service.js.map +1 -0
  912. package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
  913. package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
  914. package/lib/esm/namespaces/services/system-management.service.js +1 -1
  915. package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
  916. package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
  917. package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
  918. package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
  919. package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
  920. package/lib/esm/namespaces/services/tenant.service.js +1 -1
  921. package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
  922. package/lib/esm/namespaces/services/user.service.js +1 -1
  923. package/lib/esm/namespaces/services/user.service.js.map +1 -0
  924. package/lib/esm/namespaces/types.js +1 -1
  925. package/lib/esm/namespaces/types.js.map +1 -0
  926. package/lib/esm/namespaces/utils.js +1 -1
  927. package/lib/esm/namespaces/utils.js.map +1 -0
  928. package/lib/esm/nest/decorators.js +1 -1
  929. package/lib/esm/nest/decorators.js.map +1 -0
  930. package/lib/esm/nest/graph/GraphExecutionController.js +1 -1
  931. package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -0
  932. package/lib/esm/nest/graph/GraphExecutionModule.js +1 -1
  933. package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -0
  934. package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -1
  935. package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -0
  936. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +1 -1
  937. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -0
  938. package/lib/esm/nest/graph/GraphResultService.js +1 -1
  939. package/lib/esm/nest/graph/GraphResultService.js.map +1 -0
  940. package/lib/esm/nest/graph/GraphWorkflowModel.js +1 -1
  941. package/lib/esm/nest/graph/GraphWorkflowModel.js.map +1 -0
  942. package/lib/esm/nest/graph/GraphWorkflowService.js +1 -1
  943. package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -0
  944. package/lib/esm/nest/graph/index.js +1 -1
  945. package/lib/esm/nest/graph/index.js.map +1 -0
  946. package/lib/esm/nest/graph/main.js +1 -1
  947. package/lib/esm/nest/graph/main.js.map +1 -0
  948. package/lib/esm/nest/index.js +1 -1
  949. package/lib/esm/nest/index.js.map +1 -0
  950. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  951. package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
  952. package/lib/esm/nest/keycloakModule.js +1 -1
  953. package/lib/esm/nest/keycloakModule.js.map +1 -0
  954. package/lib/esm/nest/logging.js +1 -1
  955. package/lib/esm/nest/logging.js.map +1 -0
  956. package/lib/esm/nest/types.js +1 -1
  957. package/lib/esm/nest/types.js.map +1 -0
  958. package/lib/esm/nest/utils.js +1 -1
  959. package/lib/esm/nest/utils.js.map +1 -0
  960. package/lib/esm/plugins/contract.js +1 -1
  961. package/lib/esm/plugins/contract.js.map +1 -0
  962. package/lib/esm/plugins/index.js +1 -1
  963. package/lib/esm/plugins/index.js.map +1 -0
  964. package/lib/esm/plugins/kibana/host.js +1 -1
  965. package/lib/esm/plugins/kibana/host.js.map +1 -0
  966. package/lib/esm/plugins/kibana/index.js +1 -1
  967. package/lib/esm/plugins/kibana/index.js.map +1 -0
  968. package/lib/esm/plugins/kibana/installer.js +1 -1
  969. package/lib/esm/plugins/kibana/installer.js.map +1 -0
  970. package/lib/esm/plugins/kibana/manifest.js +1 -1
  971. package/lib/esm/plugins/kibana/manifest.js.map +1 -0
  972. package/lib/esm/plugins/kibana/templates.js +1 -1
  973. package/lib/esm/plugins/kibana/templates.js.map +1 -0
  974. package/lib/esm/plugins/kibana/types.js +1 -1
  975. package/lib/esm/plugins/kibana/types.js.map +1 -0
  976. package/lib/esm/plugins/superset/host.js +1 -1
  977. package/lib/esm/plugins/superset/host.js.map +1 -0
  978. package/lib/esm/plugins/superset/index.js +1 -1
  979. package/lib/esm/plugins/superset/index.js.map +1 -0
  980. package/lib/esm/plugins/superset/installer.js +1 -1
  981. package/lib/esm/plugins/superset/installer.js.map +1 -0
  982. package/lib/esm/plugins/superset/manifest.js +1 -1
  983. package/lib/esm/plugins/superset/manifest.js.map +1 -0
  984. package/lib/esm/plugins/superset/templates.js +1 -1
  985. package/lib/esm/plugins/superset/templates.js.map +1 -0
  986. package/lib/esm/plugins/superset/types.js +1 -1
  987. package/lib/esm/plugins/superset/types.js.map +1 -0
  988. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  989. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
  990. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  991. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
  992. package/lib/esm/secrets/aws/index.js +1 -1
  993. package/lib/esm/secrets/aws/index.js.map +1 -0
  994. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  995. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
  996. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  997. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
  998. package/lib/esm/secrets/azure/index.js +1 -1
  999. package/lib/esm/secrets/azure/index.js.map +1 -0
  1000. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  1001. package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
  1002. package/lib/esm/secrets/core/SecretName.js +1 -1
  1003. package/lib/esm/secrets/core/SecretName.js.map +1 -0
  1004. package/lib/esm/secrets/core/SecretReference.js +1 -1
  1005. package/lib/esm/secrets/core/SecretReference.js.map +1 -0
  1006. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  1007. package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
  1008. package/lib/esm/secrets/core/SecretService.js +1 -1
  1009. package/lib/esm/secrets/core/SecretService.js.map +1 -0
  1010. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  1011. package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
  1012. package/lib/esm/secrets/core/index.js +1 -1
  1013. package/lib/esm/secrets/core/index.js.map +1 -0
  1014. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  1015. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
  1016. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  1017. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
  1018. package/lib/esm/secrets/gcp/index.js +1 -1
  1019. package/lib/esm/secrets/gcp/index.js.map +1 -0
  1020. package/lib/esm/secrets/index.js +1 -1
  1021. package/lib/esm/secrets/index.js.map +1 -0
  1022. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  1023. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
  1024. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  1025. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
  1026. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  1027. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
  1028. package/lib/esm/secrets/model/Secret.js +1 -1
  1029. package/lib/esm/secrets/model/Secret.js.map +1 -0
  1030. package/lib/esm/secrets/model/index.js +1 -1
  1031. package/lib/esm/secrets/model/index.js.map +1 -0
  1032. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  1033. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
  1034. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  1035. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
  1036. package/lib/esm/secrets/onepassword/index.js +1 -1
  1037. package/lib/esm/secrets/onepassword/index.js.map +1 -0
  1038. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  1039. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
  1040. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  1041. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
  1042. package/lib/esm/secrets/vault/index.js +1 -1
  1043. package/lib/esm/secrets/vault/index.js.map +1 -0
  1044. package/lib/esm/shared/runtime.js +1 -1
  1045. package/lib/esm/shared/runtime.js.map +1 -0
  1046. package/lib/esm/utils.js +1 -1
  1047. package/lib/esm/utils.js.map +1 -0
  1048. package/lib/types/index.d.cts +2 -2
  1049. package/lib/types/index.d.mts +2 -2
  1050. package/lib/types/keycloak/broker.d.cts +6 -0
  1051. package/lib/types/keycloak/broker.d.mts +6 -0
  1052. package/lib/types/keycloak/index.d.cts +1 -0
  1053. package/lib/types/keycloak/index.d.mts +1 -0
  1054. package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.cts +4 -1
  1055. package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.mts +4 -1
  1056. package/lib/types/keycloak/services/KeycloakService.d.cts +2 -1
  1057. package/lib/types/keycloak/services/KeycloakService.d.mts +2 -1
  1058. package/lib/types/keycloak/types.d.cts +52 -0
  1059. package/lib/types/keycloak/types.d.mts +52 -0
  1060. package/package.json +8 -4
@@ -964,5 +964,5 @@ exports.StorageBinding = StorageBinding = __decorate([
964
964
  (0, core_1.table)("storage_bindings"),
965
965
  (0, decorator_validation_1.model)()
966
966
  ], StorageBinding);
967
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL29yZy1iYXNlZC1hdXRob3JpemF0aW9uLXN5c3RlbS5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxFQUFFLEVBQ0YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLFlBQVksRUFDWixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixXQUFXLEVBQ1gsa0JBQWtCLEdBQ25CLDRDQUF5QztBQUUxQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsS0FBSztJQUMzQyxZQUFZLElBQWM7UUFDeEIsS0FBSyxDQUFDLElBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUlNLElBQU0sTUFBTSxHQUFaLE1BQU0sTUFBTyxTQUFRLGtCQUFrQjtDQVc3QyxDQUFBO0FBVnVCO0lBQXJCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7a0NBQWE7QUFDYztJQUEvQyxNQUFNLEVBQUU7SUFBRSxRQUFRLEVBQUU7SUFBRSxNQUFN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O0FBSU0sSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBZSxTQUFRLGtCQUFrQjtDQVlyRCxDQUFBO0FBWHVCO0lBQXJCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MENBQWE7QUFHbEM7SUFGQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsNEJBQTRCLENBQUM7SUFDOUYsUUFBUSxFQUFFOzs4Q0FDYztBQUN5QztJQUFqRSxRQUFRLEVBQUU7SUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQUUsTUFBTSxFQUFFOzttREFBMkI7QUFDbkI7SUFBeEUsUUFBUSxFQUFFO0lBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztJQUFFLE1BQU0sRUFBRTs7bURBQWtDO0FBQ3BFO0lBQXJDLFFBQVEsRUFBRTtJQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFBRSxNQUFNLEVBQUU7O2tEQUFxQjtBQUNwQjtJQUFyQyxRQUFRLEVBQUU7SUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQUUsTUFBTSxFQUFFOzs4Q0FBaUI7QUFDNUI7SUFBekIsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUFFLE1BQU0sRUFBRTs7OENBQWtDO0FBQzlDO0lBQVosU0FBUyxFQUFFOzhCQUFhLElBQUk7aURBQUM7QUFDakI7SUFBWixTQUFTLEVBQUU7OEJBQWEsSUFBSTtpREFBQztBQVhuQixjQUFjO0lBRjFCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUN6QixLQUFLLEVBQUU7R0FDSyxjQUFjLENBWTFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29sdW1uLFxuICBjcmVhdGVkQXQsXG4gIG1hbnlUb09uZSxcbiAgb25lVG9NYW55LFxuICBwayxcbiAgdGFibGUsXG4gIHVuaXF1ZSxcbiAgdXBkYXRlZEF0LFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgb3B0aW9uLCByZXF1aXJlZCwgdHlwZSBhcyB0eXBlT2YgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBJc29sYXRpb25UaWVyLFxuICBJc29sYXRpb25UaWVyT3B0aW9ucyxcbiAgTWVtYmVyc2hpcFN0YXR1cyxcbiAgTWVtYmVyc2hpcFN0YXR1c09wdGlvbnMsXG4gIFBlcm1pc3Npb25DYXRlZ29yeSxcbiAgUGVybWlzc2lvbkNhdGVnb3J5T3B0aW9ucyxcbiAgUHJpbmNpcGFsS2luZCxcbiAgUHJpbmNpcGFsS2luZE9wdGlvbnMsXG4gIFJFTF9DQVNDQURFX0RFUEVOREVOVCxcbiAgUkVMX05VTExJRlksXG4gIFJFTF9SRVNUUklDVCxcbiAgUmVzb3VyY2VWaXNpYmlsaXR5LFxuICBSZXNvdXJjZVZpc2liaWxpdHlPcHRpb25zLFxuICBTY29wZUtpbmQsXG4gIFNjb3BlS2luZE9wdGlvbnMsXG4gIFN0b3JhZ2VCaW5kaW5nS2luZCxcbiAgU3RvcmFnZUJpbmRpbmdLaW5kT3B0aW9ucyxcbiAgU3RvcmFnZUtpbmQsXG4gIFN0b3JhZ2VLaW5kT3B0aW9ucyxcbn0gZnJvbSBcIi4vb3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRob3JpemF0aW9uTW9kZWwgZXh0ZW5kcyBNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKGRhdGE/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoZGF0YSBhcyBuZXZlcik7XG4gIH1cbn1cblxuQHRhYmxlKFwidGVuYW50c1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBUZW5hbnQgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEB1bmlxdWUoKSBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNsdWchOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBvcHRpb24oSXNvbGF0aW9uVGllck9wdGlvbnMpIEBjb2x1bW4oKSBpc29sYXRpb25UaWVyITogSXNvbGF0aW9uVGllcjtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBvcmdVbml0cz86IE9yZ1VuaXRbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFRlbmFudE1lbWJlcnNoaXAsIFJFTF9SRVNUUklDVCwgZmFsc2UpIG1lbWJlcnNoaXBzPzogVGVuYW50TWVtYmVyc2hpcFtdIHwgc3RyaW5nW107XG4gIEBvbmVUb01hbnkoKCkgPT4gUHJpbmNpcGFsLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBwcmluY2lwYWxzPzogUHJpbmNpcGFsW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBTdG9yYWdlQmluZGluZywgUkVMX1JFU1RSSUNULCBmYWxzZSkgc3RvcmFnZUJpbmRpbmdzPzogU3RvcmFnZUJpbmRpbmdbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInRlbmFudF9wcm9maWxlc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBUZW5hbnRQcm9maWxlIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3RlbmFudF9wcm9maWxlc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHByb2ZpbGVLZXkhOiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJvcmdfdW5pdHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3JnVW5pdCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX3VuaXRzX3BhcmVudFwiKVxuICBwYXJlbnQ/OiBPcmdVbml0IHwgc3RyaW5nO1xuICBAb25lVG9NYW55KCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UpIGNoaWxkcmVuPzogT3JnVW5pdFtdIHwgc3RyaW5nW107XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBwYXRoITogc3RyaW5nO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIEBvbmVUb01hbnkoKCkgPT4gT3JnVW5pdE1lbWJlcnNoaXAsIFJFTF9SRVNUUklDVCwgZmFsc2UpIG1lbWJlcnNoaXBzPzogT3JnVW5pdE1lbWJlcnNoaXBbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFByb3RlY3RlZFJlc291cmNlLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSByZXNvdXJjZXM/OiBQcm90ZWN0ZWRSZXNvdXJjZVtdIHwgc3RyaW5nW107XG4gIEBvbmVUb01hbnkoKCkgPT4gSW5oZXJpdGFuY2VCbG9jaywgUkVMX1JFU1RSSUNULCBmYWxzZSkgaW5oZXJpdGFuY2VCbG9ja3M/OiBJbmhlcml0YW5jZUJsb2NrW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0Q2xvc3VyZSwgUkVMX1JFU1RSSUNULCBmYWxzZSkgYW5jZXN0b3JMaW5rcz86IE9yZ1VuaXRDbG9zdXJlW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0Q2xvc3VyZSwgUkVMX1JFU1RSSUNULCBmYWxzZSkgZGVzY2VuZGFudExpbmtzPzogT3JnVW5pdENsb3N1cmVbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcIm9yZ191bml0X3Byb2ZpbGVzXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE9yZ1VuaXRQcm9maWxlIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdF9wcm9maWxlc19vcmdfdW5pdFwiKVxuICBAcmVxdWlyZWQoKVxuICBvcmdVbml0ITogT3JnVW5pdCB8IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBwcm9maWxlS2V5ITogc3RyaW5nO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwib3JnX3VuaXRfY2xvc3VyZVwiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBPcmdVbml0Q2xvc3VyZSBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV90ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV9hbmNlc3RvclwiKVxuICBAcmVxdWlyZWQoKVxuICBhbmNlc3RvciE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ19jbG9zdXJlX2Rlc2NlbmRhbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgZGVzY2VuZGFudCE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoTnVtYmVyKSBAY29sdW1uKCkgZGVwdGghOiBudW1iZXI7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJ1c2Vyc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAdW5pcXVlKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBlbWFpbD86IHN0cmluZztcbiAgQHVuaXF1ZSgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcGhvbmU/OiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGlzcGxheU5hbWUhOiBzdHJpbmc7XG4gIEBvbmVUb01hbnkoKCkgPT4gVGVuYW50TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgdGVuYW50TWVtYmVyc2hpcHM/OiBUZW5hbnRNZW1iZXJzaGlwW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgb3JnVW5pdE1lbWJlcnNoaXBzPzogT3JnVW5pdE1lbWJlcnNoaXBbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcImdyb3Vwc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcm91cCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfTlVMTElGWSwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfb3JnX3VuaXRcIilcbiAgb3JnVW5pdD86IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAb25lVG9NYW55KCgpID0+IEdyb3VwTWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgbWVtYmVycz86IEdyb3VwTWVtYmVyc2hpcFtdIHwgc3RyaW5nW107XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwicHJpbmNpcGFsc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBQcmluY2lwYWwgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcHJpbmNpcGFsc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihQcmluY2lwYWxLaW5kT3B0aW9ucykgQGNvbHVtbigpIGtpbmQhOiBQcmluY2lwYWxLaW5kO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHN1YmplY3RJZCE6IHN0cmluZztcbiAgQG9uZVRvTWFueSgoKSA9PiBSb2xlQXNzaWdubWVudCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgcm9sZUFzc2lnbm1lbnRzPzogUm9sZUFzc2lnbm1lbnRbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFJlc291cmNlR3JhbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UpIHJlc291cmNlR3JhbnRzPzogUmVzb3VyY2VHcmFudFtdIHwgc3RyaW5nW107XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwidGVuYW50X21lbWJlcnNoaXBzXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfdGVuYW50X21lbWJlcnNoaXBzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVXNlciwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3RlbmFudF9tZW1iZXJzaGlwc191c2VyXCIpXG4gIEByZXF1aXJlZCgpXG4gIHVzZXIhOiBVc2VyIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihNZW1iZXJzaGlwU3RhdHVzT3B0aW9ucykgQGNvbHVtbigpIHN0YXR1cyE6IE1lbWJlcnNoaXBTdGF0dXM7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwib3JnX3VuaXRfbWVtYmVyc2hpcHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3JnVW5pdE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX21lbWJlcnNoaXBzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ19tZW1iZXJzaGlwc19vcmdfdW5pdFwiKVxuICBAcmVxdWlyZWQoKVxuICBvcmdVbml0ITogT3JnVW5pdCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBVc2VyLCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX21lbWJlcnNoaXBzX3VzZXJcIilcbiAgQHJlcXVpcmVkKClcbiAgdXNlciE6IFVzZXIgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zKSBAY29sdW1uKCkgc3RhdHVzITogTWVtYmVyc2hpcFN0YXR1cztcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJncm91cF9tZW1iZXJzaGlwc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcm91cE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZ3JvdXBfbWVtYmVyc2hpcHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBHcm91cCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2dyb3VwX21lbWJlcnNoaXBzX2dyb3VwXCIpXG4gIEByZXF1aXJlZCgpXG4gIGdyb3VwITogR3JvdXAgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZ3JvdXBfbWVtYmVyc2hpcHNfcHJpbmNpcGFsXCIpXG4gIEByZXF1aXJlZCgpXG4gIHByaW5jaXBhbCE6IFByaW5jaXBhbCB8IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwicGVybWlzc2lvbnNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbiBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQHVuaXF1ZSgpIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkga2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihQZXJtaXNzaW9uQ2F0ZWdvcnlPcHRpb25zKSBAY29sdW1uKCkgY2F0ZWdvcnkhOiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBvbmVUb01hbnkoKCkgPT4gUm9sZVBlcm1pc3Npb24sIFJFTF9SRVNUUklDVCwgZmFsc2UpIHJvbGVQZXJtaXNzaW9ucz86IFJvbGVQZXJtaXNzaW9uW10gfCBzdHJpbmdbXTtcbn1cblxuQHRhYmxlKFwicm9sZXNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9OVUxMSUZZLCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVzX3RlbmFudFwiKVxuICB0ZW5hbnQ/OiBUZW5hbnQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkga2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIG5hbWUhOiBzdHJpbmc7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG9uZVRvTWFueSgoKSA9PiBSb2xlUGVybWlzc2lvbiwgUkVMX1JFU1RSSUNULCBmYWxzZSkgcm9sZVBlcm1pc3Npb25zPzogUm9sZVBlcm1pc3Npb25bXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFJvbGVBc3NpZ25tZW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBhc3NpZ25tZW50cz86IFJvbGVBc3NpZ25tZW50W10gfCBzdHJpbmdbXTtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJyb2xlX3Blcm1pc3Npb25zXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFJvbGVQZXJtaXNzaW9uIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFJvbGUsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yb2xlX3Blcm1pc3Npb25zX3JvbGVcIilcbiAgQHJlcXVpcmVkKClcbiAgcm9sZSE6IFJvbGUgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUGVybWlzc2lvbiwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVfcGVybWlzc2lvbnNfcGVybWlzc2lvblwiKVxuICBAcmVxdWlyZWQoKVxuICBwZXJtaXNzaW9uITogUGVybWlzc2lvbiB8IHN0cmluZztcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInJvbGVfYXNzaWdubWVudHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUm9sZUFzc2lnbm1lbnQgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9hc3NpZ25tZW50c190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVfYXNzaWdubWVudHNfcHJpbmNpcGFsXCIpXG4gIEByZXF1aXJlZCgpXG4gIHByaW5jaXBhbCE6IFByaW5jaXBhbCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBSb2xlLCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9hc3NpZ25tZW50c19yb2xlXCIpXG4gIEByZXF1aXJlZCgpXG4gIHJvbGUhOiBSb2xlIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihTY29wZUtpbmRPcHRpb25zKSBAY29sdW1uKCkgc2NvcGVLaW5kITogU2NvcGVLaW5kO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNjb3BlSWQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoQm9vbGVhbikgQGNvbHVtbigpIGluaGVyaXREb3duITogYm9vbGVhbjtcbiAgQGNvbHVtbigpIHN0YXJ0c0F0PzogRGF0ZTtcbiAgQGNvbHVtbigpIGV4cGlyZXNBdD86IERhdGU7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgY29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcImluaGVyaXRhbmNlX2Jsb2Nrc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBJbmhlcml0YW5jZUJsb2NrIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2luaGVyaXRhbmNlX2Jsb2Nrc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19pbmhlcml0YW5jZV9ibG9ja3Nfb3JnX3VuaXRcIilcbiAgQHJlcXVpcmVkKClcbiAgb3JnVW5pdCE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX05VTExJRlksIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfaW5oZXJpdGFuY2VfYmxvY2tzX2Jsb2NrZWRfYW5jZXN0b3JcIilcbiAgYmxvY2tlZEZyb21BbmNlc3Rvcj86IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMpIEBjb2x1bW4oKSBwZXJtaXNzaW9uQ2F0ZWdvcnkhOiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcmVhc29uPzogc3RyaW5nO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInByb3RlY3RlZF9yZXNvdXJjZXNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUHJvdGVjdGVkUmVzb3VyY2UgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcHJvdGVjdGVkX3Jlc291cmNlc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19wcm90ZWN0ZWRfcmVzb3VyY2VzX29yZ191bml0XCIpXG4gIEByZXF1aXJlZCgpXG4gIG9yZ1VuaXQhOiBPcmdVbml0IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHJlc291cmNlVHlwZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSByZXNvdXJjZUlkITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihSZXNvdXJjZVZpc2liaWxpdHlPcHRpb25zKSBAY29sdW1uKCkgdmlzaWJpbGl0eSE6IFJlc291cmNlVmlzaWJpbGl0eTtcbiAgQG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9OVUxMSUZZLCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Byb3RlY3RlZF9yZXNvdXJjZXNfb3duZXJcIilcbiAgb3duZXI/OiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgc2Vuc2l0aXZpdHk/OiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG9uZVRvTWFueSgoKSA9PiBSZXNvdXJjZUdyYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBncmFudHM/OiBSZXNvdXJjZUdyYW50W10gfCBzdHJpbmdbXTtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJyZXNvdXJjZV9ncmFudHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VHcmFudCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yZXNvdXJjZV9ncmFudHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBQcm90ZWN0ZWRSZXNvdXJjZSwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Jlc291cmNlX2dyYW50c19yZXNvdXJjZVwiKVxuICBAcmVxdWlyZWQoKVxuICByZXNvdXJjZSE6IFByb3RlY3RlZFJlc291cmNlIHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Jlc291cmNlX2dyYW50c19wcmluY2lwYWxcIilcbiAgQHJlcXVpcmVkKClcbiAgcHJpbmNpcGFsITogUHJpbmNpcGFsIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHBlcm1pc3Npb25LZXkhOiBzdHJpbmc7XG4gIEBjb2x1bW4oKSBzdGFydHNBdD86IERhdGU7XG4gIEBjb2x1bW4oKSBleHBpcmVzQXQ/OiBEYXRlO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yZXNvdXJjZV9ncmFudHNfY3JlYXRlZF9ieVwiKVxuICBjcmVhdGVkQnk/OiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwiZWZmZWN0aXZlX3Blcm1pc3Npb25zXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEVmZmVjdGl2ZVBlcm1pc3Npb24gZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZWZmZWN0aXZlX3Blcm1pc3Npb25zX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZWZmZWN0aXZlX3Blcm1pc3Npb25zX3ByaW5jaXBhbFwiKVxuICBAcmVxdWlyZWQoKVxuICBwcmluY2lwYWwhOiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcGVybWlzc2lvbktleSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBvcHRpb24oU2NvcGVLaW5kT3B0aW9ucykgQGNvbHVtbigpIHNjb3BlS2luZCE6IFNjb3BlS2luZDtcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBzY29wZUlkITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNvdXJjZUtpbmQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgc291cmNlSWQhOiBzdHJpbmc7XG4gIEBjb2x1bW4oKSBzdGFydHNBdD86IERhdGU7XG4gIEBjb2x1bW4oKSBleHBpcmVzQXQ/OiBEYXRlO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwic3RvcmFnZV9iaW5kaW5nc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBTdG9yYWdlQmluZGluZyBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19zdG9yYWdlX2JpbmRpbmdzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFN0b3JhZ2VLaW5kT3B0aW9ucykgQGNvbHVtbigpIHN0b3JhZ2VLaW5kITogU3RvcmFnZUtpbmQ7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFN0b3JhZ2VCaW5kaW5nS2luZE9wdGlvbnMpIEBjb2x1bW4oKSBiaW5kaW5nS2luZCE6IFN0b3JhZ2VCaW5kaW5nS2luZDtcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBiaW5kaW5nS2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHJlZ2lvbiE6IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuIl19
968
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9yZy1iYXNlZC1hdXRob3JpemF0aW9uLXN5c3RlbS5tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FB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TUFBTSxDQUFDO0NBQ3BDLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMvQyxVQUFVLENBQUM7SUFDUCxJQUFBLDJCQUFNLEVBQUMsTUFBTSxDQUFDO0lBQ2QsSUFBQSxhQUFNLEdBQUU7SUFDUixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDL0MsVUFBVSxDQUFDO0lBQ1AsSUFBQSxnQkFBUyxHQUFFO0lBQ1gsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUM7Q0FDbEMsRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xELFVBQVUsQ0FBQztJQUNQLElBQUEsZ0JBQVMsR0FBRTtJQUNYLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDO0NBQ2xDLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsRCx5QkFBQSxjQUFjLEdBQUcsVUFBVSxDQUFDO0lBQ3hCLElBQUEsWUFBSyxFQUFDLGtCQUFrQixDQUFDO0lBQ3pCLElBQUEsNEJBQUssR0FBRTtDQUNWLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFbkIsc3B3Q0FBc3B3QyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBjb2x1bW4sIGNyZWF0ZWRBdCwgbWFueVRvT25lLCBvbmVUb01hbnksIHBrLCB0YWJsZSwgdW5pcXVlLCB1cGRhdGVkQXQsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIG9wdGlvbiwgcmVxdWlyZWQsIHR5cGUgYXMgdHlwZU9mIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSXNvbGF0aW9uVGllciwgSXNvbGF0aW9uVGllck9wdGlvbnMsIE1lbWJlcnNoaXBTdGF0dXMsIE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zLCBQZXJtaXNzaW9uQ2F0ZWdvcnksIFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMsIFByaW5jaXBhbEtpbmQsIFByaW5jaXBhbEtpbmRPcHRpb25zLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIFJFTF9OVUxMSUZZLCBSRUxfUkVTVFJJQ1QsIFJlc291cmNlVmlzaWJpbGl0eSwgUmVzb3VyY2VWaXNpYmlsaXR5T3B0aW9ucywgU2NvcGVLaW5kLCBTY29wZUtpbmRPcHRpb25zLCBTdG9yYWdlQmluZGluZ0tpbmQsIFN0b3JhZ2VCaW5kaW5nS2luZE9wdGlvbnMsIFN0b3JhZ2VLaW5kLCBTdG9yYWdlS2luZE9wdGlvbnMsIH0gZnJvbSBcIi4vb3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtLmpzXCI7XG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvbk1vZGVsIGV4dGVuZHMgTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKGRhdGEpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgfVxufVxubGV0IFRlbmFudCA9IGNsYXNzIFRlbmFudCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFRlbmFudC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHVuaXF1ZSgpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFRlbmFudC5wcm90b3R5cGUsIFwic2x1Z1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgVGVuYW50LnByb3RvdHlwZSwgXCJuYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIG9wdGlvbihJc29sYXRpb25UaWVyT3B0aW9ucyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFRlbmFudC5wcm90b3R5cGUsIFwiaXNvbGF0aW9uVGllclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb25lVG9NYW55KCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIFRlbmFudC5wcm90b3R5cGUsIFwib3JnVW5pdHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBUZW5hbnRNZW1iZXJzaGlwLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBUZW5hbnQucHJvdG90eXBlLCBcIm1lbWJlcnNoaXBzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gUHJpbmNpcGFsLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBUZW5hbnQucHJvdG90eXBlLCBcInByaW5jaXBhbHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBTdG9yYWdlQmluZGluZywgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgVGVuYW50LnByb3RvdHlwZSwgXCJzdG9yYWdlQmluZGluZ3NcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgVGVuYW50LnByb3RvdHlwZSwgXCJjcmVhdGVkQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHVwZGF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgVGVuYW50LnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcblRlbmFudCA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwidGVuYW50c1wiKSxcbiAgICBtb2RlbCgpXG5dLCBUZW5hbnQpO1xuZXhwb3J0IHsgVGVuYW50IH07XG5sZXQgVGVuYW50UHJvZmlsZSA9IGNsYXNzIFRlbmFudFByb2ZpbGUgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBUZW5hbnRQcm9maWxlLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3RlbmFudF9wcm9maWxlc190ZW5hbnRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgVGVuYW50UHJvZmlsZS5wcm90b3R5cGUsIFwidGVuYW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBUZW5hbnRQcm9maWxlLnByb3RvdHlwZSwgXCJwcm9maWxlS2V5XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB0eXBlT2YoT2JqZWN0KSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgVGVuYW50UHJvZmlsZS5wcm90b3R5cGUsIFwibWV0YWRhdGFcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgVGVuYW50UHJvZmlsZS5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFRlbmFudFByb2ZpbGUucHJvdG90eXBlLCBcInVwZGF0ZWRBdFwiLCB2b2lkIDApO1xuVGVuYW50UHJvZmlsZSA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwidGVuYW50X3Byb2ZpbGVzXCIpLFxuICAgIG1vZGVsKClcbl0sIFRlbmFudFByb2ZpbGUpO1xuZXhwb3J0IHsgVGVuYW50UHJvZmlsZSB9O1xubGV0IE9yZ1VuaXQgPSBjbGFzcyBPcmdVbml0IGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3JnVW5pdC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdHNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdHNfcGFyZW50XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBPcmdVbml0LnByb3RvdHlwZSwgXCJwYXJlbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBPcmdVbml0LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBPcmdVbml0LnByb3RvdHlwZSwgXCJjaGlsZHJlblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3JnVW5pdC5wcm90b3R5cGUsIFwibmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3JnVW5pdC5wcm90b3R5cGUsIFwicGF0aFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKE9iamVjdCksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcIm1ldGFkYXRhXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gT3JnVW5pdE1lbWJlcnNoaXAsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcIm1lbWJlcnNoaXBzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gUHJvdGVjdGVkUmVzb3VyY2UsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcInJlc291cmNlc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb25lVG9NYW55KCgpID0+IEluaGVyaXRhbmNlQmxvY2ssIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcImluaGVyaXRhbmNlQmxvY2tzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gT3JnVW5pdENsb3N1cmUsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcImFuY2VzdG9yTGlua3NcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBPcmdVbml0Q2xvc3VyZSwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgT3JnVW5pdC5wcm90b3R5cGUsIFwiZGVzY2VuZGFudExpbmtzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE9yZ1VuaXQucHJvdG90eXBlLCBcImNyZWF0ZWRBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdXBkYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBPcmdVbml0LnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcbk9yZ1VuaXQgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcIm9yZ191bml0c1wiKSxcbiAgICBtb2RlbCgpXG5dLCBPcmdVbml0KTtcbmV4cG9ydCB7IE9yZ1VuaXQgfTtcbmxldCBPcmdVbml0UHJvZmlsZSA9IGNsYXNzIE9yZ1VuaXRQcm9maWxlIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3JnVW5pdFByb2ZpbGUucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ191bml0X3Byb2ZpbGVzX29yZ191bml0XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE9yZ1VuaXRQcm9maWxlLnByb3RvdHlwZSwgXCJvcmdVbml0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPcmdVbml0UHJvZmlsZS5wcm90b3R5cGUsIFwicHJvZmlsZUtleVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKE9iamVjdCksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE9yZ1VuaXRQcm9maWxlLnByb3RvdHlwZSwgXCJtZXRhZGF0YVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY3JlYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBPcmdVbml0UHJvZmlsZS5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE9yZ1VuaXRQcm9maWxlLnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcbk9yZ1VuaXRQcm9maWxlID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJvcmdfdW5pdF9wcm9maWxlc1wiKSxcbiAgICBtb2RlbCgpXG5dLCBPcmdVbml0UHJvZmlsZSk7XG5leHBvcnQgeyBPcmdVbml0UHJvZmlsZSB9O1xubGV0IE9yZ1VuaXRDbG9zdXJlID0gY2xhc3MgT3JnVW5pdENsb3N1cmUgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPcmdVbml0Q2xvc3VyZS5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV90ZW5hbnRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgT3JnVW5pdENsb3N1cmUucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV9hbmNlc3RvclwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBPcmdVbml0Q2xvc3VyZS5wcm90b3R5cGUsIFwiYW5jZXN0b3JcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX2Nsb3N1cmVfZGVzY2VuZGFudFwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBPcmdVbml0Q2xvc3VyZS5wcm90b3R5cGUsIFwiZGVzY2VuZGFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoTnVtYmVyKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgTnVtYmVyKVxuXSwgT3JnVW5pdENsb3N1cmUucHJvdG90eXBlLCBcImRlcHRoXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE9yZ1VuaXRDbG9zdXJlLnByb3RvdHlwZSwgXCJjcmVhdGVkQXRcIiwgdm9pZCAwKTtcbk9yZ1VuaXRDbG9zdXJlID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJvcmdfdW5pdF9jbG9zdXJlXCIpLFxuICAgIG1vZGVsKClcbl0sIE9yZ1VuaXRDbG9zdXJlKTtcbmV4cG9ydCB7IE9yZ1VuaXRDbG9zdXJlIH07XG5sZXQgVXNlciA9IGNsYXNzIFVzZXIgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBVc2VyLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdW5pcXVlKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFVzZXIucHJvdG90eXBlLCBcImVtYWlsXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1bmlxdWUoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgVXNlci5wcm90b3R5cGUsIFwicGhvbmVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFVzZXIucHJvdG90eXBlLCBcImRpc3BsYXlOYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gVGVuYW50TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgVXNlci5wcm90b3R5cGUsIFwidGVuYW50TWVtYmVyc2hpcHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBPcmdVbml0TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgVXNlci5wcm90b3R5cGUsIFwib3JnVW5pdE1lbWJlcnNoaXBzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFVzZXIucHJvdG90eXBlLCBcImNyZWF0ZWRBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdXBkYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBVc2VyLnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcblVzZXIgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcInVzZXJzXCIpLFxuICAgIG1vZGVsKClcbl0sIFVzZXIpO1xuZXhwb3J0IHsgVXNlciB9O1xubGV0IEdyb3VwID0gY2xhc3MgR3JvdXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBHcm91cC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEdyb3VwLnByb3RvdHlwZSwgXCJ0ZW5hbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfTlVMTElGWSwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfb3JnX3VuaXRcIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEdyb3VwLnByb3RvdHlwZSwgXCJvcmdVbml0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBHcm91cC5wcm90b3R5cGUsIFwibmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKE9iamVjdCksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEdyb3VwLnByb3RvdHlwZSwgXCJtZXRhZGF0YVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb25lVG9NYW55KCgpID0+IEdyb3VwTWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgR3JvdXAucHJvdG90eXBlLCBcIm1lbWJlcnNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgR3JvdXAucHJvdG90eXBlLCBcImNyZWF0ZWRBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdXBkYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBHcm91cC5wcm90b3R5cGUsIFwidXBkYXRlZEF0XCIsIHZvaWQgMCk7XG5Hcm91cCA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwiZ3JvdXBzXCIpLFxuICAgIG1vZGVsKClcbl0sIEdyb3VwKTtcbmV4cG9ydCB7IEdyb3VwIH07XG5sZXQgUHJpbmNpcGFsID0gY2xhc3MgUHJpbmNpcGFsIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUHJpbmNpcGFsLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX1JFU1RSSUNULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3ByaW5jaXBhbHNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFByaW5jaXBhbC5wcm90b3R5cGUsIFwidGVuYW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIG9wdGlvbihQcmluY2lwYWxLaW5kT3B0aW9ucyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFByaW5jaXBhbC5wcm90b3R5cGUsIFwia2luZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUHJpbmNpcGFsLnByb3RvdHlwZSwgXCJzdWJqZWN0SWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBSb2xlQXNzaWdubWVudCwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgUHJpbmNpcGFsLnByb3RvdHlwZSwgXCJyb2xlQXNzaWdubWVudHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBSZXNvdXJjZUdyYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBQcmluY2lwYWwucHJvdG90eXBlLCBcInJlc291cmNlR3JhbnRzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFByaW5jaXBhbC5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFByaW5jaXBhbC5wcm90b3R5cGUsIFwidXBkYXRlZEF0XCIsIHZvaWQgMCk7XG5QcmluY2lwYWwgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcInByaW5jaXBhbHNcIiksXG4gICAgbW9kZWwoKVxuXSwgUHJpbmNpcGFsKTtcbmV4cG9ydCB7IFByaW5jaXBhbCB9O1xubGV0IFRlbmFudE1lbWJlcnNoaXAgPSBjbGFzcyBUZW5hbnRNZW1iZXJzaGlwIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgVGVuYW50TWVtYmVyc2hpcC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma190ZW5hbnRfbWVtYmVyc2hpcHNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFRlbmFudE1lbWJlcnNoaXAucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFVzZXIsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma190ZW5hbnRfbWVtYmVyc2hpcHNfdXNlclwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBUZW5hbnRNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJ1c2VyXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIG9wdGlvbihNZW1iZXJzaGlwU3RhdHVzT3B0aW9ucyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFRlbmFudE1lbWJlcnNoaXAucHJvdG90eXBlLCBcInN0YXR1c1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY3JlYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBUZW5hbnRNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJjcmVhdGVkQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHVwZGF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgVGVuYW50TWVtYmVyc2hpcC5wcm90b3R5cGUsIFwidXBkYXRlZEF0XCIsIHZvaWQgMCk7XG5UZW5hbnRNZW1iZXJzaGlwID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJ0ZW5hbnRfbWVtYmVyc2hpcHNcIiksXG4gICAgbW9kZWwoKVxuXSwgVGVuYW50TWVtYmVyc2hpcCk7XG5leHBvcnQgeyBUZW5hbnRNZW1iZXJzaGlwIH07XG5sZXQgT3JnVW5pdE1lbWJlcnNoaXAgPSBjbGFzcyBPcmdVbml0TWVtYmVyc2hpcCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE9yZ1VuaXRNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ19tZW1iZXJzaGlwc190ZW5hbnRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgT3JnVW5pdE1lbWJlcnNoaXAucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfbWVtYmVyc2hpcHNfb3JnX3VuaXRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgT3JnVW5pdE1lbWJlcnNoaXAucHJvdG90eXBlLCBcIm9yZ1VuaXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBVc2VyLCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX21lbWJlcnNoaXBzX3VzZXJcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgT3JnVW5pdE1lbWJlcnNoaXAucHJvdG90eXBlLCBcInVzZXJcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgb3B0aW9uKE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3JnVW5pdE1lbWJlcnNoaXAucHJvdG90eXBlLCBcInN0YXR1c1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY3JlYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBPcmdVbml0TWVtYmVyc2hpcC5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE9yZ1VuaXRNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcbk9yZ1VuaXRNZW1iZXJzaGlwID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJvcmdfdW5pdF9tZW1iZXJzaGlwc1wiKSxcbiAgICBtb2RlbCgpXG5dLCBPcmdVbml0TWVtYmVyc2hpcCk7XG5leHBvcnQgeyBPcmdVbml0TWVtYmVyc2hpcCB9O1xubGV0IEdyb3VwTWVtYmVyc2hpcCA9IGNsYXNzIEdyb3VwTWVtYmVyc2hpcCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEdyb3VwTWVtYmVyc2hpcC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cF9tZW1iZXJzaGlwc190ZW5hbnRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgR3JvdXBNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJ0ZW5hbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBHcm91cCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2dyb3VwX21lbWJlcnNoaXBzX2dyb3VwXCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEdyb3VwTWVtYmVyc2hpcC5wcm90b3R5cGUsIFwiZ3JvdXBcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cF9tZW1iZXJzaGlwc19wcmluY2lwYWxcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgR3JvdXBNZW1iZXJzaGlwLnByb3RvdHlwZSwgXCJwcmluY2lwYWxcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHR5cGVPZihPYmplY3QpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBHcm91cE1lbWJlcnNoaXAucHJvdG90eXBlLCBcIm1ldGFkYXRhXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIEdyb3VwTWVtYmVyc2hpcC5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5Hcm91cE1lbWJlcnNoaXAgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcImdyb3VwX21lbWJlcnNoaXBzXCIpLFxuICAgIG1vZGVsKClcbl0sIEdyb3VwTWVtYmVyc2hpcCk7XG5leHBvcnQgeyBHcm91cE1lbWJlcnNoaXAgfTtcbmxldCBQZXJtaXNzaW9uID0gY2xhc3MgUGVybWlzc2lvbiBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFBlcm1pc3Npb24ucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1bmlxdWUoKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJrZXlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgb3B0aW9uKFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJjYXRlZ29yeVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFBlcm1pc3Npb24ucHJvdG90eXBlLCBcImRlc2NyaXB0aW9uXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gUm9sZVBlcm1pc3Npb24sIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIFBlcm1pc3Npb24ucHJvdG90eXBlLCBcInJvbGVQZXJtaXNzaW9uc1wiLCB2b2lkIDApO1xuUGVybWlzc2lvbiA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwicGVybWlzc2lvbnNcIiksXG4gICAgbW9kZWwoKVxuXSwgUGVybWlzc2lvbik7XG5leHBvcnQgeyBQZXJtaXNzaW9uIH07XG5sZXQgUm9sZSA9IGNsYXNzIFJvbGUgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSb2xlLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX05VTExJRlksIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZXNfdGVuYW50XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSb2xlLnByb3RvdHlwZSwgXCJ0ZW5hbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFJvbGUucHJvdG90eXBlLCBcImtleVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUm9sZS5wcm90b3R5cGUsIFwibmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFJvbGUucHJvdG90eXBlLCBcImRlc2NyaXB0aW9uXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB0eXBlT2YoT2JqZWN0KSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUm9sZS5wcm90b3R5cGUsIFwibWV0YWRhdGFcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG9uZVRvTWFueSgoKSA9PiBSb2xlUGVybWlzc2lvbiwgUkVMX1JFU1RSSUNULCBmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgUm9sZS5wcm90b3R5cGUsIFwicm9sZVBlcm1pc3Npb25zXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gUm9sZUFzc2lnbm1lbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIFJvbGUucHJvdG90eXBlLCBcImFzc2lnbm1lbnRzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFJvbGUucHJvdG90eXBlLCBcImNyZWF0ZWRBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdXBkYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBSb2xlLnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcblJvbGUgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcInJvbGVzXCIpLFxuICAgIG1vZGVsKClcbl0sIFJvbGUpO1xuZXhwb3J0IHsgUm9sZSB9O1xubGV0IFJvbGVQZXJtaXNzaW9uID0gY2xhc3MgUm9sZVBlcm1pc3Npb24gZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSb2xlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBSb2xlLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9wZXJtaXNzaW9uc19yb2xlXCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJvbGVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJyb2xlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gUGVybWlzc2lvbiwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVfcGVybWlzc2lvbnNfcGVybWlzc2lvblwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSb2xlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwicGVybWlzc2lvblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY3JlYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBSb2xlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5Sb2xlUGVybWlzc2lvbiA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwicm9sZV9wZXJtaXNzaW9uc1wiKSxcbiAgICBtb2RlbCgpXG5dLCBSb2xlUGVybWlzc2lvbik7XG5leHBvcnQgeyBSb2xlUGVybWlzc2lvbiB9O1xubGV0IFJvbGVBc3NpZ25tZW50ID0gY2xhc3MgUm9sZUFzc2lnbm1lbnQgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yb2xlX2Fzc2lnbm1lbnRzX3RlbmFudFwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwidGVuYW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9hc3NpZ25tZW50c19wcmluY2lwYWxcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUm9sZUFzc2lnbm1lbnQucHJvdG90eXBlLCBcInByaW5jaXBhbFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFJvbGUsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yb2xlX2Fzc2lnbm1lbnRzX3JvbGVcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUm9sZUFzc2lnbm1lbnQucHJvdG90eXBlLCBcInJvbGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgb3B0aW9uKFNjb3BlS2luZE9wdGlvbnMpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwic2NvcGVLaW5kXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwic2NvcGVJZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoQm9vbGVhbiksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEJvb2xlYW4pXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwiaW5oZXJpdERvd25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgUm9sZUFzc2lnbm1lbnQucHJvdG90eXBlLCBcInN0YXJ0c0F0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFJvbGVBc3NpZ25tZW50LnByb3RvdHlwZSwgXCJleHBpcmVzQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHR5cGVPZihPYmplY3QpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwiY29uZGl0aW9uc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY3JlYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBSb2xlQXNzaWdubWVudC5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFJvbGVBc3NpZ25tZW50LnByb3RvdHlwZSwgXCJ1cGRhdGVkQXRcIiwgdm9pZCAwKTtcblJvbGVBc3NpZ25tZW50ID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJyb2xlX2Fzc2lnbm1lbnRzXCIpLFxuICAgIG1vZGVsKClcbl0sIFJvbGVBc3NpZ25tZW50KTtcbmV4cG9ydCB7IFJvbGVBc3NpZ25tZW50IH07XG5sZXQgSW5oZXJpdGFuY2VCbG9jayA9IGNsYXNzIEluaGVyaXRhbmNlQmxvY2sgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBJbmhlcml0YW5jZUJsb2NrLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2luaGVyaXRhbmNlX2Jsb2Nrc190ZW5hbnRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgSW5oZXJpdGFuY2VCbG9jay5wcm90b3R5cGUsIFwidGVuYW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2luaGVyaXRhbmNlX2Jsb2Nrc19vcmdfdW5pdFwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJbmhlcml0YW5jZUJsb2NrLnByb3RvdHlwZSwgXCJvcmdVbml0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX05VTExJRlksIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfaW5oZXJpdGFuY2VfYmxvY2tzX2Jsb2NrZWRfYW5jZXN0b3JcIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEluaGVyaXRhbmNlQmxvY2sucHJvdG90eXBlLCBcImJsb2NrZWRGcm9tQW5jZXN0b3JcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgb3B0aW9uKFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBJbmhlcml0YW5jZUJsb2NrLnByb3RvdHlwZSwgXCJwZXJtaXNzaW9uQ2F0ZWdvcnlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBJbmhlcml0YW5jZUJsb2NrLnByb3RvdHlwZSwgXCJyZWFzb25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgSW5oZXJpdGFuY2VCbG9jay5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIEluaGVyaXRhbmNlQmxvY2sucHJvdG90eXBlLCBcInVwZGF0ZWRBdFwiLCB2b2lkIDApO1xuSW5oZXJpdGFuY2VCbG9jayA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwiaW5oZXJpdGFuY2VfYmxvY2tzXCIpLFxuICAgIG1vZGVsKClcbl0sIEluaGVyaXRhbmNlQmxvY2spO1xuZXhwb3J0IHsgSW5oZXJpdGFuY2VCbG9jayB9O1xubGV0IFByb3RlY3RlZFJlc291cmNlID0gY2xhc3MgUHJvdGVjdGVkUmVzb3VyY2UgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKHsgdHlwZTogU3RyaW5nIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBQcm90ZWN0ZWRSZXNvdXJjZS5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19wcm90ZWN0ZWRfcmVzb3VyY2VzX3RlbmFudFwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBQcm90ZWN0ZWRSZXNvdXJjZS5wcm90b3R5cGUsIFwidGVuYW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX1JFU1RSSUNULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Byb3RlY3RlZF9yZXNvdXJjZXNfb3JnX3VuaXRcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUHJvdGVjdGVkUmVzb3VyY2UucHJvdG90eXBlLCBcIm9yZ1VuaXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJyZXNvdXJjZVR5cGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJyZXNvdXJjZUlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIG9wdGlvbihSZXNvdXJjZVZpc2liaWxpdHlPcHRpb25zKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUHJvdGVjdGVkUmVzb3VyY2UucHJvdG90eXBlLCBcInZpc2liaWxpdHlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9OVUxMSUZZLCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Byb3RlY3RlZF9yZXNvdXJjZXNfb3duZXJcIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJvd25lclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJzZW5zaXRpdml0eVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdHlwZU9mKE9iamVjdCksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJtZXRhZGF0YVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb25lVG9NYW55KCgpID0+IFJlc291cmNlR3JhbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIFByb3RlY3RlZFJlc291cmNlLnByb3RvdHlwZSwgXCJncmFudHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgUHJvdGVjdGVkUmVzb3VyY2UucHJvdG90eXBlLCBcImNyZWF0ZWRBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgdXBkYXRlZEF0KCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBQcm90ZWN0ZWRSZXNvdXJjZS5wcm90b3R5cGUsIFwidXBkYXRlZEF0XCIsIHZvaWQgMCk7XG5Qcm90ZWN0ZWRSZXNvdXJjZSA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwicHJvdGVjdGVkX3Jlc291cmNlc1wiKSxcbiAgICBtb2RlbCgpXG5dLCBQcm90ZWN0ZWRSZXNvdXJjZSk7XG5leHBvcnQgeyBQcm90ZWN0ZWRSZXNvdXJjZSB9O1xubGV0IFJlc291cmNlR3JhbnQgPSBjbGFzcyBSZXNvdXJjZUdyYW50IGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgUmVzb3VyY2VHcmFudC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yZXNvdXJjZV9ncmFudHNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJlc291cmNlR3JhbnQucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFByb3RlY3RlZFJlc291cmNlLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcmVzb3VyY2VfZ3JhbnRzX3Jlc291cmNlXCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJlc291cmNlR3JhbnQucHJvdG90eXBlLCBcInJlc291cmNlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcmVzb3VyY2VfZ3JhbnRzX3ByaW5jaXBhbFwiKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSZXNvdXJjZUdyYW50LnByb3RvdHlwZSwgXCJwcmluY2lwYWxcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFJlc291cmNlR3JhbnQucHJvdG90eXBlLCBcInBlcm1pc3Npb25LZXlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgUmVzb3VyY2VHcmFudC5wcm90b3R5cGUsIFwic3RhcnRzQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgUmVzb3VyY2VHcmFudC5wcm90b3R5cGUsIFwiZXhwaXJlc0F0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB0eXBlT2YoT2JqZWN0KSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUmVzb3VyY2VHcmFudC5wcm90b3R5cGUsIFwiY29uZGl0aW9uc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX1JFU1RSSUNULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Jlc291cmNlX2dyYW50c19jcmVhdGVkX2J5XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSZXNvdXJjZUdyYW50LnByb3RvdHlwZSwgXCJjcmVhdGVkQnlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgUmVzb3VyY2VHcmFudC5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICB1cGRhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFJlc291cmNlR3JhbnQucHJvdG90eXBlLCBcInVwZGF0ZWRBdFwiLCB2b2lkIDApO1xuUmVzb3VyY2VHcmFudCA9IF9fZGVjb3JhdGUoW1xuICAgIHRhYmxlKFwicmVzb3VyY2VfZ3JhbnRzXCIpLFxuICAgIG1vZGVsKClcbl0sIFJlc291cmNlR3JhbnQpO1xuZXhwb3J0IHsgUmVzb3VyY2VHcmFudCB9O1xubGV0IEVmZmVjdGl2ZVBlcm1pc3Npb24gPSBjbGFzcyBFZmZlY3RpdmVQZXJtaXNzaW9uIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBwayh7IHR5cGU6IFN0cmluZyB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgRWZmZWN0aXZlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19lZmZlY3RpdmVfcGVybWlzc2lvbnNfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVmZmVjdGl2ZVBlcm1pc3Npb24ucHJvdG90eXBlLCBcInRlbmFudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2VmZmVjdGl2ZV9wZXJtaXNzaW9uc19wcmluY2lwYWxcIiksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRWZmZWN0aXZlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwicHJpbmNpcGFsXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJwZXJtaXNzaW9uS2V5XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIG9wdGlvbihTY29wZUtpbmRPcHRpb25zKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgRWZmZWN0aXZlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwic2NvcGVLaW5kXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJzY29wZUlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJzb3VyY2VLaW5kXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHR5cGVPZihTdHJpbmcpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJzb3VyY2VJZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJzdGFydHNBdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIERhdGUpXG5dLCBFZmZlY3RpdmVQZXJtaXNzaW9uLnByb3RvdHlwZSwgXCJleHBpcmVzQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNyZWF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgRWZmZWN0aXZlUGVybWlzc2lvbi5wcm90b3R5cGUsIFwiY3JlYXRlZEF0XCIsIHZvaWQgMCk7XG5FZmZlY3RpdmVQZXJtaXNzaW9uID0gX19kZWNvcmF0ZShbXG4gICAgdGFibGUoXCJlZmZlY3RpdmVfcGVybWlzc2lvbnNcIiksXG4gICAgbW9kZWwoKVxuXSwgRWZmZWN0aXZlUGVybWlzc2lvbik7XG5leHBvcnQgeyBFZmZlY3RpdmVQZXJtaXNzaW9uIH07XG5sZXQgU3RvcmFnZUJpbmRpbmcgPSBjbGFzcyBTdG9yYWdlQmluZGluZyBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3N0b3JhZ2VfYmluZGluZ3NfdGVuYW50XCIpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJ0ZW5hbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgb3B0aW9uKFN0b3JhZ2VLaW5kT3B0aW9ucyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJzdG9yYWdlS2luZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBvcHRpb24oU3RvcmFnZUJpbmRpbmdLaW5kT3B0aW9ucyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJiaW5kaW5nS2luZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB0eXBlT2YoU3RyaW5nKSxcbiAgICBjb2x1bW4oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgU3RvcmFnZUJpbmRpbmcucHJvdG90eXBlLCBcImJpbmRpbmdLZXlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdHlwZU9mKFN0cmluZyksXG4gICAgY29sdW1uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJyZWdpb25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHR5cGVPZihPYmplY3QpLFxuICAgIGNvbHVtbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBTdG9yYWdlQmluZGluZy5wcm90b3R5cGUsIFwiY29uZmlnXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjcmVhdGVkQXQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIFN0b3JhZ2VCaW5kaW5nLnByb3RvdHlwZSwgXCJjcmVhdGVkQXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHVwZGF0ZWRBdCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgU3RvcmFnZUJpbmRpbmcucHJvdG90eXBlLCBcInVwZGF0ZWRBdFwiLCB2b2lkIDApO1xuU3RvcmFnZUJpbmRpbmcgPSBfX2RlY29yYXRlKFtcbiAgICB0YWJsZShcInN0b3JhZ2VfYmluZGluZ3NcIiksXG4gICAgbW9kZWwoKVxuXSwgU3RvcmFnZUJpbmRpbmcpO1xuZXhwb3J0IHsgU3RvcmFnZUJpbmRpbmcgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWIzSm5MV0poYzJWa0xXRjFkR2h2Y21sNllYUnBiMjR0YzNsemRHVnRMbTF2WkdWc2N5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMMjl5WnkxaVlYTmxaQzFoZFhSb2IzSnBlbUYwYVc5dUxYTjVjM1JsYlM1dGIyUmxiSE11ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVTk1MRTFCUVUwc1JVRkRUaXhUUVVGVExFVkJRMVFzVTBGQlV5eEZRVU5VTEZOQlFWTXNSVUZEVkN4RlFVRkZMRVZCUTBZc1MwRkJTeXhGUVVOTUxFMUJRVTBzUlVGRFRpeFRRVUZUTEVkQlExWXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1NVRkJTU3hOUVVGTkxFVkJRVVVzVFVGQlRTeG5RMEZCWjBNc1EwRkJRenRCUVVOb1J5eFBRVUZQTEVWQlEwd3NZVUZCWVN4RlFVTmlMRzlDUVVGdlFpeEZRVU53UWl4blFrRkJaMElzUlVGRGFFSXNkVUpCUVhWQ0xFVkJRM1pDTEd0Q1FVRnJRaXhGUVVOc1FpeDVRa0ZCZVVJc1JVRkRla0lzWVVGQllTeEZRVU5pTEc5Q1FVRnZRaXhGUVVOd1FpeHhRa0ZCY1VJc1JVRkRja0lzVjBGQlZ5eEZRVU5ZTEZsQlFWa3NSVUZEV2l4clFrRkJhMElzUlVGRGJFSXNlVUpCUVhsQ0xFVkJRM3BDTEZOQlFWTXNSVUZEVkN4blFrRkJaMElzUlVGRGFFSXNhMEpCUVd0Q0xFVkJRMnhDTEhsQ1FVRjVRaXhGUVVONlFpeFhRVUZYTEVWQlExZ3NhMEpCUVd0Q0xFZEJRMjVDTERSRFFVRjVRenRCUVVVeFF5eE5RVUZOTEU5QlFVOHNhMEpCUVcxQ0xGTkJRVkVzUzBGQlN6dEpRVU16UXl4WlFVRlpMRWxCUVdNN1VVRkRlRUlzUzBGQlN5eERRVUZETEVsQlFXRXNRMEZCUXl4RFFVRkRPMGxCUTNaQ0xFTkJRVU03UTBGRFJqdEJRVWxOTEVsQlFVMHNUVUZCVFN4SFFVRmFMRTFCUVUwc1RVRkJUeXhUUVVGUkxHdENRVUZyUWp0RFFWYzNReXhEUVVGQk8wRkJWblZDTzBsQlFYSkNMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN2EwTkJRV0U3UVVGRFl6dEpRVUV2UXl4TlFVRk5MRVZCUVVVN1NVRkJSU3hSUVVGUkxFVkJRVVU3U1VGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96dHZRMEZCWlR0QlFVTjRRanRKUVVGeVF5eFJRVUZSTEVWQlFVVTdTVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRVVVzVFVGQlRTeEZRVUZGT3p0dlEwRkJaVHRCUVVOblFqdEpRVUZ1UlN4UlFVRlJMRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RFFVRkRMRzlDUVVGdlFpeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenMyUTBGQkswSTdRVUZEYmtRN1NVRkJPVU1zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTlCUVU4c1JVRkJSU3haUVVGWkxFVkJRVVVzUzBGQlN5eERRVUZET3p0M1EwRkJhVU03UVVGRGRrSTdTVUZCZGtRc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxGbEJRVmtzUlVGQlJTeExRVUZMTEVOQlFVTTdPekpEUVVFMlF6dEJRVU51UkR0SlFVRm9SQ3hUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFTkJRVU03T3pCRFFVRnhRenRCUVVNdlFqdEpRVUZ5UkN4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zWTBGQll5eEZRVUZGTEZsQlFWa3NSVUZCUlN4TFFVRkxMRU5CUVVNN095dERRVUVyUXp0QlFVTjJSanRKUVVGYUxGTkJRVk1zUlVGQlJUczRRa0ZCWVN4SlFVRkpPM2xEUVVGRE8wRkJRMnBDTzBsQlFWb3NVMEZCVXl4RlFVRkZPemhDUVVGaExFbEJRVWs3ZVVOQlFVTTdRVUZXYmtJc1RVRkJUVHRKUVVac1FpeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRPMGxCUTJoQ0xFdEJRVXNzUlVGQlJUdEhRVU5MTEUxQlFVMHNRMEZYYkVJN08wRkJTVTBzU1VGQlRTeGhRVUZoTEVkQlFXNUNMRTFCUVUwc1lVRkJZeXhUUVVGUkxHdENRVUZyUWp0RFFWTndSQ3hEUVVGQk8wRkJVblZDTzBsQlFYSkNMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN2VVTkJRV0U3UVVGSGJFTTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEhGQ1FVRnhRaXhGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNNa0pCUVRKQ0xFTkJRVU03U1VGRE4wWXNVVUZCVVN4RlFVRkZPenMyUTBGRFl6dEJRVU5oTzBsQlFYSkRMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08ybEVRVUZ4UWp0QlFVTm9RenRKUVVGNlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96c3JRMEZCYjBNN1FVRkRhRVE3U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHRuUkVGQlF6dEJRVU5xUWp0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKTzJkRVFVRkRPMEZCVW01Q0xHRkJRV0U3U1VGR2VrSXNTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeERRVUZETzBsQlEzaENMRXRCUVVzc1JVRkJSVHRIUVVOTExHRkJRV0VzUTBGVGVrSTdPMEZCU1Uwc1NVRkJUU3hQUVVGUExFZEJRV0lzVFVGQlRTeFBRVUZSTEZOQlFWRXNhMEpCUVd0Q08wTkJhMEk1UXl4RFFVRkJPMEZCYWtKMVFqdEpRVUZ5UWl4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTTdPMjFEUVVGaE8wRkJSMnhETzBsQlJrTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3h4UWtGQmNVSXNRMEZCUXp0SlFVTTVSU3hSUVVGUkxFVkJRVVU3TzNWRFFVTmpPMEZCUlhwQ08wbEJSRU1zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTlCUVU4c1JVRkJSU3haUVVGWkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZOQlFWTXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF6czdkVU5CUTNSRU8wRkJRM0ZDTzBsQlFUbERMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eFBRVUZQTEVWQlFVVXNXVUZCV1N4RlFVRkZMRXRCUVVzc1EwRkJRenM3ZVVOQlFXbERPMEZCUTNwRE8wbEJRWEpETEZGQlFWRXNSVUZCUlR0SlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGQlJTeE5RVUZOTEVWQlFVVTdPM0ZEUVVGbE8wRkJRMlE3U1VGQmNrTXNVVUZCVVN4RlFVRkZPMGxCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2NVTkJRV1U3UVVGRE1VSTdTVUZCZWtJc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2VVTkJRVzlETzBGQlEwbzdTVUZCZUVRc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEdsQ1FVRnBRaXhGUVVGRkxGbEJRVmtzUlVGQlJTeExRVUZMTEVOQlFVTTdPelJEUVVFNFF6dEJRVU0zUXp0SlFVRjRSQ3hUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzV1VGQldTeEZRVUZGTEV0QlFVc3NRMEZCUXpzN01FTkJRVFJETzBGQlF6VkRPMGxCUVhaRUxGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeFpRVUZaTEVWQlFVVXNTMEZCU3l4RFFVRkRPenRyUkVGQmJVUTdRVUZEY0VRN1NVRkJja1FzVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMR05CUVdNc1JVRkJSU3haUVVGWkxFVkJRVVVzUzBGQlN5eERRVUZET3pzNFEwRkJOa003UVVGRE5VTTdTVUZCY2tRc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEdOQlFXTXNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhEUVVGRE96dG5SRUZCSzBNN1FVRkRka1k3U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHN3UTBGQlF6dEJRVU5xUWp0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKT3pCRFFVRkRPMEZCYWtKdVFpeFBRVUZQTzBsQlJtNUNMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU03U1VGRGJFSXNTMEZCU3l4RlFVRkZPMGRCUTBzc1QwRkJUeXhEUVd0Q2JrSTdPMEZCU1Uwc1NVRkJUU3hqUVVGakxFZEJRWEJDTEUxQlFVMHNZMEZCWlN4VFFVRlJMR3RDUVVGclFqdERRVk55UkN4RFFVRkJPMEZCVW5WQ08wbEJRWEpDTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6czdNRU5CUVdFN1FVRkhiRU03U1VGR1F5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzSzBKQlFTdENMRU5CUVVNN1NVRkRiRWNzVVVGQlVTeEZRVUZGT3pzclEwRkRaMEk3UVVGRFZ6dEpRVUZ5UXl4UlFVRlJMRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenRyUkVGQmNVSTdRVUZEYUVNN1NVRkJla0lzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVRkZMRTFCUVUwc1JVRkJSVHM3WjBSQlFXOURPMEZCUTJoRU8wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2FVUkJRVU03UVVGRGFrSTdTVUZCV2l4VFFVRlRMRVZCUVVVN09FSkJRV0VzU1VGQlNUdHBSRUZCUXp0QlFWSnVRaXhqUVVGak8wbEJSakZDTEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF6dEpRVU14UWl4TFFVRkxMRVZCUVVVN1IwRkRTeXhqUVVGakxFTkJVekZDT3p0QlFVbE5MRWxCUVUwc1kwRkJZeXhIUVVGd1FpeE5RVUZOTEdOQlFXVXNVMEZCVVN4clFrRkJhMEk3UTBGaGNrUXNRMEZCUVR0QlFWcDFRanRKUVVGeVFpeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03T3pCRFFVRmhPMEZCUjJ4RE8wbEJSa01zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3h4UWtGQmNVSXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxIVkNRVUYxUWl4RFFVRkRPMGxCUTNwR0xGRkJRVkVzUlVGQlJUczdPRU5CUTJNN1FVRkhla0k3U1VGR1F5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzZVVKQlFYbENMRU5CUVVNN1NVRkROVVlzVVVGQlVTeEZRVUZGT3p0blJFRkRhVUk3UVVGSE5VSTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eEZRVUZGTEhGQ1FVRnhRaXhGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNNa0pCUVRKQ0xFTkJRVU03U1VGRE9VWXNVVUZCVVN4RlFVRkZPenRyUkVGRGJVSTdRVUZEVVR0SlFVRnlReXhSUVVGUkxFVkJRVVU3U1VGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96czJRMEZCWjBJN1FVRkRlRU03U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHRwUkVGQlF6dEJRVnB1UWl4alFVRmpPMGxCUmpGQ0xFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJRenRKUVVONlFpeExRVUZMTEVWQlFVVTdSMEZEU3l4alFVRmpMRU5CWVRGQ096dEJRVWxOTEVsQlFVMHNTVUZCU1N4SFFVRldMRTFCUVUwc1NVRkJTeXhUUVVGUkxHdENRVUZyUWp0RFFWTXpReXhEUVVGQk8wRkJVblZDTzBsQlFYSkNMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN1owTkJRV0U3UVVGRFJUdEpRVUZ1UXl4TlFVRk5MRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenR0UTBGQlowSTdRVUZEWmp0SlFVRnVReXhOUVVGTkxFVkJRVVU3U1VGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96dHRRMEZCWjBJN1FVRkRZanRKUVVGeVF5eFJRVUZSTEVWQlFVVTdTVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRVVVzVFVGQlRTeEZRVUZGT3p0NVEwRkJjMEk3UVVGRFNEdEpRVUYyUkN4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1dVRkJXU3hGUVVGRkxFdEJRVXNzUTBGQlF6czdLME5CUVcxRU8wRkJRMnBFTzBsQlFYaEVMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3haUVVGWkxFVkJRVVVzUzBGQlN5eERRVUZET3p0blJFRkJjVVE3UVVGRGFFYzdTVUZCV2l4VFFVRlRMRVZCUVVVN09FSkJRV0VzU1VGQlNUdDFRMEZCUXp0QlFVTnFRanRKUVVGYUxGTkJRVk1zUlVGQlJUczRRa0ZCWVN4SlFVRkpPM1ZEUVVGRE8wRkJVbTVDTEVsQlFVazdTVUZHYUVJc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF6dEpRVU5rTEV0QlFVc3NSVUZCUlR0SFFVTkxMRWxCUVVrc1EwRlRhRUk3TzBGQlNVMHNTVUZCVFN4TFFVRkxMRWRCUVZnc1RVRkJUU3hMUVVGTkxGTkJRVkVzYTBKQlFXdENPME5CV1RWRExFTkJRVUU3UVVGWWRVSTdTVUZCY2tJc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPenRwUTBGQllUdEJRVWRzUXp0SlFVWkRMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNXVUZCV1N4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzYTBKQlFXdENMRU5CUVVNN1NVRkRNMFVzVVVGQlVTeEZRVUZGT3p0eFEwRkRZenRCUVVWNlFqdEpRVVJETEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTTdPM05EUVVOdVJEdEJRVU5YTzBsQlFYSkRMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08yMURRVUZsTzBGQlF6RkNPMGxCUVhwQ0xFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08zVkRRVUZ2UXp0QlFVTk9PMGxCUVhSRUxGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4bFFVRmxMRVZCUVVVc1dVRkJXU3hGUVVGRkxFdEJRVXNzUTBGQlF6czdjME5CUVhkRE8wRkJRMnBHTzBsQlFWb3NVMEZCVXl4RlFVRkZPemhDUVVGaExFbEJRVWs3ZDBOQlFVTTdRVUZEYWtJN1NVRkJXaXhUUVVGVExFVkJRVVU3T0VKQlFXRXNTVUZCU1R0M1EwRkJRenRCUVZodVFpeExRVUZMTzBsQlJtcENMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU03U1VGRFppeExRVUZMTEVWQlFVVTdSMEZEU3l4TFFVRkxMRU5CV1dwQ096dEJRVWxOTEVsQlFVMHNVMEZCVXl4SFFVRm1MRTFCUVUwc1UwRkJWU3hUUVVGUkxHdENRVUZyUWp0RFFWZG9SQ3hEUVVGQk8wRkJWblZDTzBsQlFYSkNMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN2NVTkJRV0U3UVVGSGJFTTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZsQlFWa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxITkNRVUZ6UWl4RFFVRkRPMGxCUXk5RkxGRkJRVkVzUlVGQlJUczdlVU5CUTJNN1FVRkRNa003U1VGQmJrVXNVVUZCVVN4RlFVRkZPMGxCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNRMEZCUXl4dlFrRkJiMElzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2RVTkJRWE5DTzBGQlEyNUVPMGxCUVhKRExGRkJRVkVzUlVGQlJUdEpRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkJSU3hOUVVGTkxFVkJRVVU3T3pSRFFVRnZRanRCUVVOSU8wbEJRWEpFTEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhqUVVGakxFVkJRVVVzV1VGQldTeEZRVUZGTEV0QlFVc3NRMEZCUXpzN2EwUkJRU3RETzBGQlF5OURPMGxCUVhCRUxGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4aFFVRmhMRVZCUVVVc1dVRkJXU3hGUVVGRkxFdEJRVXNzUTBGQlF6czdhVVJCUVRaRE8wRkJRM0JHTzBsQlFWb3NVMEZCVXl4RlFVRkZPemhDUVVGaExFbEJRVWs3TkVOQlFVTTdRVUZEYWtJN1NVRkJXaXhUUVVGVExFVkJRVVU3T0VKQlFXRXNTVUZCU1RzMFEwRkJRenRCUVZadVFpeFRRVUZUTzBsQlJuSkNMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU03U1VGRGJrSXNTMEZCU3l4RlFVRkZPMGRCUTBzc1UwRkJVeXhEUVZkeVFqczdRVUZKVFN4SlFVRk5MR2RDUVVGblFpeEhRVUYwUWl4TlFVRk5MR2RDUVVGcFFpeFRRVUZSTEd0Q1FVRnJRanREUVZkMlJDeERRVUZCTzBGQlZuVkNPMGxCUVhKQ0xFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenM3TkVOQlFXRTdRVUZIYkVNN1NVRkdReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTTdTVUZEYUVjc1VVRkJVU3hGUVVGRk96dG5SRUZEWXp0QlFVZDZRanRKUVVaRExGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpMRVZCUVVVc2NVSkJRWEZDTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3cwUWtGQk5FSXNRMEZCUXp0SlFVTTFSaXhSUVVGUkxFVkJRVVU3T3poRFFVTlZPMEZCUTJ0RU8wbEJRWFJGTEZGQlFWRXNSVUZCUlR0SlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGQlJTeE5RVUZOTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU03U1VGQlJTeE5RVUZOTEVWQlFVVTdPMmRFUVVFeVFqdEJRVU53Ump0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKTzIxRVFVRkRPMEZCUTJwQ08wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2JVUkJRVU03UVVGV2JrSXNaMEpCUVdkQ08wbEJSalZDTEV0QlFVc3NRMEZCUXl4dlFrRkJiMElzUTBGQlF6dEpRVU16UWl4TFFVRkxMRVZCUVVVN1IwRkRTeXhuUWtGQlowSXNRMEZYTlVJN08wRkJTVTBzU1VGQlRTeHBRa0ZCYVVJc1IwRkJka0lzVFVGQlRTeHBRa0ZCYTBJc1UwRkJVU3hyUWtGQmEwSTdRMEZqZUVRc1EwRkJRVHRCUVdKMVFqdEpRVUZ5UWl4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTTdPelpEUVVGaE8wRkJSMnhETzBsQlJrTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTERKQ1FVRXlRaXhEUVVGRE8wbEJRemRHTEZGQlFWRXNSVUZCUlRzN2FVUkJRMk03UVVGSGVrSTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eEZRVUZGTEhGQ1FVRnhRaXhGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNOa0pCUVRaQ0xFTkJRVU03U1VGRGFFY3NVVUZCVVN4RlFVRkZPenRyUkVGRFowSTdRVUZITTBJN1NVRkdReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEhsQ1FVRjVRaXhEUVVGRE8wbEJRMmhHTEZGQlFWRXNSVUZCUlRzN0swTkJRMVU3UVVGRGEwUTdTVUZCZEVVc1VVRkJVU3hGUVVGRk8wbEJRVVVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVRkZMRTFCUVUwc1EwRkJReXgxUWtGQmRVSXNRMEZCUXp0SlFVRkZMRTFCUVUwc1JVRkJSVHM3YVVSQlFUSkNPMEZCUTNCR08wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2IwUkJRVU03UVVGRGFrSTdTVUZCV2l4VFFVRlRMRVZCUVVVN09FSkJRV0VzU1VGQlNUdHZSRUZCUXp0QlFXSnVRaXhwUWtGQmFVSTdTVUZHTjBJc1MwRkJTeXhEUVVGRExITkNRVUZ6UWl4RFFVRkRPMGxCUXpkQ0xFdEJRVXNzUlVGQlJUdEhRVU5MTEdsQ1FVRnBRaXhEUVdNM1FqczdRVUZKVFN4SlFVRk5MR1ZCUVdVc1IwRkJja0lzVFVGQlRTeGxRVUZuUWl4VFFVRlJMR3RDUVVGclFqdERRV0YwUkN4RFFVRkJPMEZCV25WQ08wbEJRWEpDTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6czdNa05CUVdFN1FVRkhiRU03U1VGR1F5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzTmtKQlFUWkNMRU5CUVVNN1NVRkRMMFlzVVVGQlVTeEZRVUZGT3pzclEwRkRZenRCUVVkNlFqdEpRVVpETEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhMUVVGTExFVkJRVVVzY1VKQlFYRkNMRVZCUVVVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJRenRKUVVNM1JpeFJRVUZSTEVWQlFVVTdPemhEUVVOWk8wRkJSM1pDTzBsQlJrTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExGTkJRVk1zUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEdkRFFVRm5ReXhEUVVGRE8wbEJRM0pITEZGQlFWRXNSVUZCUlRzN2EwUkJRMjlDTzBGQlEwdzdTVUZCZWtJc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2FVUkJRVzlETzBGQlEyaEVPMGxCUVZvc1UwRkJVeXhGUVVGRk96aENRVUZoTEVsQlFVazdhMFJCUVVNN1FVRmFia0lzWlVGQlpUdEpRVVl6UWl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTTdTVUZETVVJc1MwRkJTeXhGUVVGRk8wZEJRMHNzWlVGQlpTeERRV0V6UWpzN1FVRkpUU3hKUVVGTkxGVkJRVlVzUjBGQmFFSXNUVUZCVFN4VlFVRlhMRk5CUVZFc2EwSkJRV3RDTzBOQlRXcEVMRU5CUVVFN1FVRk1kVUk3U1VGQmNrSXNSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeERRVUZET3p0elEwRkJZVHRCUVVOak8wbEJRUzlETEUxQlFVMHNSVUZCUlR0SlFVRkZMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08zVkRRVUZqTzBGQlExazdTVUZCZUVVc1VVRkJVU3hGUVVGRk8wbEJRVVVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVRkZMRTFCUVUwc1EwRkJReXg1UWtGQmVVSXNRMEZCUXp0SlFVRkZMRTFCUVUwc1JVRkJSVHM3TkVOQlFTdENPMEZCUXpkRk8wbEJRWHBDTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkJSU3hOUVVGTkxFVkJRVVU3T3l0RFFVRnpRanRCUVVOUE8wbEJRWEpFTEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhqUVVGakxFVkJRVVVzV1VGQldTeEZRVUZGTEV0QlFVc3NRMEZCUXpzN2JVUkJRU3RETzBGQlRIcEdMRlZCUVZVN1NVRkdkRUlzUzBGQlN5eERRVUZETEdGQlFXRXNRMEZCUXp0SlFVTndRaXhMUVVGTExFVkJRVVU3UjBGRFN5eFZRVUZWTEVOQlRYUkNPenRCUVVsTkxFbEJRVTBzU1VGQlNTeEhRVUZXTEUxQlFVMHNTVUZCU3l4VFFVRlJMR3RDUVVGclFqdERRVmt6UXl4RFFVRkJPMEZCV0hWQ08wbEJRWEpDTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6czdaME5CUVdFN1FVRkZiRU03U1VGRVF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxGZEJRVmNzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMR2xDUVVGcFFpeERRVUZET3p0dlEwRkRha1E3UVVGRFlUdEpRVUZ5UXl4UlFVRlJMRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenRwUTBGQll6dEJRVU5pTzBsQlFYSkRMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08ydERRVUZsTzBGQlF6RkNPMGxCUVhwQ0xFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08zbERRVUZ6UWp0QlFVTnlRanRKUVVGNlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96dHpRMEZCYjBNN1FVRkRVRHRKUVVGeVJDeFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1kwRkJZeXhGUVVGRkxGbEJRVmtzUlVGQlJTeExRVUZMTEVOQlFVTTdPelpEUVVFclF6dEJRVU01UXp0SlFVRnlSQ3hUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNZMEZCWXl4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFTkJRVU03TzNsRFFVRXlRenRCUVVOdVJqdEpRVUZhTEZOQlFWTXNSVUZCUlRzNFFrRkJZU3hKUVVGSk8zVkRRVUZETzBGQlEycENPMGxCUVZvc1UwRkJVeXhGUVVGRk96aENRVUZoTEVsQlFVazdkVU5CUVVNN1FVRllia0lzU1VGQlNUdEpRVVpvUWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRE8wbEJRMlFzUzBGQlN5eEZRVUZGTzBkQlEwc3NTVUZCU1N4RFFWbG9RanM3UVVGSlRTeEpRVUZOTEdOQlFXTXNSMEZCY0VJc1RVRkJUU3hqUVVGbExGTkJRVkVzYTBKQlFXdENPME5CVTNKRUxFTkJRVUU3UVVGU2RVSTdTVUZCY2tJc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPenN3UTBGQllUdEJRVWRzUXp0SlFVWkRMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eEpRVUZKTEVWQlFVVXNjVUpCUVhGQ0xFVkJRVVVzUzBGQlN5eEZRVUZGTEZOQlFWTXNSVUZCUlN3d1FrRkJNRUlzUTBGQlF6dEpRVU14Uml4UlFVRlJMRVZCUVVVN096UkRRVU5WTzBGQlIzSkNPMGxCUmtNc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEZWQlFWVXNSVUZCUlN4eFFrRkJjVUlzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMR2REUVVGblF5eERRVUZETzBsQlEzUkhMRkZCUVZFc1JVRkJSVHM3YTBSQlEzTkNPMEZCUTNCQ08wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2FVUkJRVU03UVVGU2JrSXNZMEZCWXp0SlFVWXhRaXhMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUVVNN1NVRkRla0lzUzBGQlN5eEZRVUZGTzBkQlEwc3NZMEZCWXl4RFFWTXhRanM3UVVGSlRTeEpRVUZOTEdOQlFXTXNSMEZCY0VJc1RVRkJUU3hqUVVGbExGTkJRVkVzYTBKQlFXdENPME5CYlVKeVJDeERRVUZCTzBGQmJFSjFRanRKUVVGeVFpeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03T3pCRFFVRmhPMEZCUjJ4RE8wbEJSa01zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3h4UWtGQmNVSXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxEUkNRVUUwUWl4RFFVRkRPMGxCUXpsR0xGRkJRVkVzUlVGQlJUczdPRU5CUTJNN1FVRkhla0k3U1VGR1F5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1UwRkJVeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzSzBKQlFTdENMRU5CUVVNN1NVRkRjRWNzVVVGQlVTeEZRVUZGT3p0cFJFRkRiMEk3UVVGSEwwSTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEZsQlFWa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxEQkNRVUV3UWl4RFFVRkRPMGxCUTJwR0xGRkJRVkVzUlVGQlJUczdORU5CUTFVN1FVRkRNa003U1VGQkwwUXNVVUZCVVN4RlFVRkZPMGxCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2FVUkJRWFZDTzBGQlEyaEVPMGxCUVhKRExGRkJRVkVzUlVGQlJUdEpRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkJSU3hOUVVGTkxFVkJRVVU3T3l0RFFVRnJRanRCUVVOb1FqdEpRVUYwUXl4UlFVRlJMRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenR0UkVGQmRVSTdRVUZEYmtRN1NVRkJWQ3hOUVVGTkxFVkJRVVU3T0VKQlFWa3NTVUZCU1R0blJFRkJRenRCUVVOb1FqdEpRVUZVTEUxQlFVMHNSVUZCUlRzNFFrRkJZU3hKUVVGSk8ybEVRVUZETzBGQlEwUTdTVUZCZWtJc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2EwUkJRWE5ETzBGQlEyeEVPMGxCUVZvc1UwRkJVeXhGUVVGRk96aENRVUZoTEVsQlFVazdhVVJCUVVNN1FVRkRha0k3U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHRwUkVGQlF6dEJRV3hDYmtJc1kwRkJZenRKUVVZeFFpeExRVUZMTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU03U1VGRGVrSXNTMEZCU3l4RlFVRkZPMGRCUTBzc1kwRkJZeXhEUVcxQ01VSTdPMEZCU1Uwc1NVRkJUU3huUWtGQlowSXNSMEZCZEVJc1RVRkJUU3huUWtGQmFVSXNVMEZCVVN4clFrRkJhMEk3UTBGamRrUXNRMEZCUVR0QlFXSjFRanRKUVVGeVFpeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03T3pSRFFVRmhPMEZCUjJ4RE8wbEJSa01zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3h4UWtGQmNVSXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxEaENRVUU0UWl4RFFVRkRPMGxCUTJoSExGRkJRVkVzUlVGQlJUczdaMFJCUTJNN1FVRkhla0k3U1VGR1F5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzWjBOQlFXZERMRU5CUVVNN1NVRkRia2NzVVVGQlVTeEZRVUZGT3p0cFJFRkRaMEk3UVVGRk0wSTdTVUZFUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eEZRVUZGTEZkQlFWY3NSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxIZERRVUYzUXl4RFFVRkRPenMyUkVGRE0wUTdRVUZEYTBNN1NVRkJlRVVzVVVGQlVTeEZRVUZGTzBsQlFVVXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVGRkxFMUJRVTBzUTBGQlF5eDVRa0ZCZVVJc1EwRkJRenRKUVVGRkxFMUJRVTBzUlVGQlJUczdORVJCUVhsRE8wRkJRM1pHTzBsQlFYcENMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGQlJTeE5RVUZOTEVWQlFVVTdPMmRFUVVGcFFqdEJRVU0zUWp0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKTzIxRVFVRkRPMEZCUTJwQ08wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2JVUkJRVU03UVVGaWJrSXNaMEpCUVdkQ08wbEJSalZDTEV0QlFVc3NRMEZCUXl4dlFrRkJiMElzUTBGQlF6dEpRVU16UWl4TFFVRkxMRVZCUVVVN1IwRkRTeXhuUWtGQlowSXNRMEZqTlVJN08wRkJTVTBzU1VGQlRTeHBRa0ZCYVVJc1IwRkJka0lzVFVGQlRTeHBRa0ZCYTBJc1UwRkJVU3hyUWtGQmEwSTdRMEZyUW5oRUxFTkJRVUU3UVVGcVFuVkNPMGxCUVhKQ0xFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenM3TmtOQlFXRTdRVUZIYkVNN1NVRkdReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEN0Q1FVRXJRaXhEUVVGRE8wbEJRM2hHTEZGQlFWRXNSVUZCUlRzN2FVUkJRMk03UVVGSGVrSTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eEZRVUZGTEZsQlFWa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxHbERRVUZwUXl4RFFVRkRPMGxCUXpOR0xGRkJRVkVzUlVGQlJUczdhMFJCUTJkQ08wRkJRMWM3U1VGQmNrTXNVVUZCVVN4RlFVRkZPMGxCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVUZGTEUxQlFVMHNSVUZCUlRzN2RVUkJRWFZDTzBGQlEzUkNPMGxCUVhKRExGRkJRVkVzUlVGQlJUdEpRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkJSU3hOUVVGTkxFVkJRVVU3TzNGRVFVRnhRanRCUVVObE8wbEJRWGhGTEZGQlFWRXNSVUZCUlR0SlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGQlJTeE5RVUZOTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU03U1VGQlJTeE5RVUZOTEVWQlFVVTdPM0ZFUVVGcFF6dEJRVVY2Unp0SlFVUkRMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eFRRVUZUTEVWQlFVVXNWMEZCVnl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzT0VKQlFUaENMRU5CUVVNN08yZEVRVU12UkR0QlFVTkVPMGxCUVhwQ0xFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08zTkVRVUZ6UWp0QlFVTnlRanRKUVVGNlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96dHRSRUZCYjBNN1FVRkRVanRKUVVGd1JDeFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeExRVUZMTEVOQlFVTTdPMmxFUVVGeFF6dEJRVU0xUlR0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKTzI5RVFVRkRPMEZCUTJwQ08wbEJRVm9zVTBGQlV5eEZRVUZGT3poQ1FVRmhMRWxCUVVrN2IwUkJRVU03UVVGcVFtNUNMR2xDUVVGcFFqdEpRVVkzUWl4TFFVRkxMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTTdTVUZETlVJc1MwRkJTeXhGUVVGRk8wZEJRMHNzYVVKQlFXbENMRU5CYTBJM1FqczdRVUZKVFN4SlFVRk5MR0ZCUVdFc1IwRkJia0lzVFVGQlRTeGhRVUZqTEZOQlFWRXNhMEpCUVd0Q08wTkJiVUp3UkN4RFFVRkJPMEZCYkVKMVFqdEpRVUZ5UWl4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTTdPM2xEUVVGaE8wRkJSMnhETzBsQlJrTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTERKQ1FVRXlRaXhEUVVGRE8wbEJRemRHTEZGQlFWRXNSVUZCUlRzN05rTkJRMk03UVVGSGVrSTdTVUZHUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVc2NVSkJRWEZDTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3cyUWtGQk5rSXNRMEZCUXp0SlFVTXhSeXhSUVVGUkxFVkJRVVU3T3l0RFFVTXlRanRCUVVkMFF6dEpRVVpETEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhUUVVGVExFVkJRVVVzY1VKQlFYRkNMRVZCUVVVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUlVGQlJTdzRRa0ZCT0VJc1EwRkJRenRKUVVOdVJ5eFJRVUZSTEVWQlFVVTdPMmRFUVVOdlFqdEJRVU5QTzBsQlFYSkRMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08yOUVRVUYzUWp0QlFVTnVSRHRKUVVGVUxFMUJRVTBzUlVGQlJUczRRa0ZCV1N4SlFVRkpPeXREUVVGRE8wRkJRMmhDTzBsQlFWUXNUVUZCVFN4RlFVRkZPemhDUVVGaExFbEJRVWs3WjBSQlFVTTdRVUZEUkR0SlFVRjZRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenRwUkVGQmMwTTdRVUZGTDBRN1NVRkVReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEN0Q1FVRXJRaXhEUVVGRE96dG5SRUZETjBRN1FVRkRiRUk3U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHRuUkVGQlF6dEJRVU5xUWp0SlFVRmFMRk5CUVZNc1JVRkJSVHM0UWtGQllTeEpRVUZKTzJkRVFVRkRPMEZCYkVKdVFpeGhRVUZoTzBsQlJucENMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0SlFVTjRRaXhMUVVGTExFVkJRVVU3UjBGRFN5eGhRVUZoTEVOQmJVSjZRanM3UVVGSlRTeEpRVUZOTEcxQ1FVRnRRaXhIUVVGNlFpeE5RVUZOTEcxQ1FVRnZRaXhUUVVGUkxHdENRVUZyUWp0RFFXZENNVVFzUTBGQlFUdEJRV1oxUWp0SlFVRnlRaXhGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN095dERRVUZoTzBGQlIyeERPMGxCUmtNc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4eFFrRkJjVUlzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMR2xEUVVGcFF5eERRVUZETzBsQlEyNUhMRkZCUVZFc1JVRkJSVHM3YlVSQlEyTTdRVUZIZWtJN1NVRkdReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc2IwTkJRVzlETEVOQlFVTTdTVUZEZWtjc1VVRkJVU3hGUVVGRk96dHpSRUZEYjBJN1FVRkRUenRKUVVGeVF5eFJRVUZSTEVWQlFVVTdTVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRVVVzVFVGQlRTeEZRVUZGT3pzd1JFRkJkMEk3UVVGRFJ6dEpRVUV2UkN4UlFVRlJMRVZCUVVVN1NVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlFVVXNUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETzBsQlFVVXNUVUZCVFN4RlFVRkZPenR6UkVGQmRVSTdRVUZEYUVRN1NVRkJja01zVVVGQlVTeEZRVUZGTzBsQlFVVXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVGRkxFMUJRVTBzUlVGQlJUczdiMFJCUVd0Q08wRkJRMnBDTzBsQlFYSkRMRkZCUVZFc1JVRkJSVHRKUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZCUlN4TlFVRk5MRVZCUVVVN08zVkVRVUZ4UWp0QlFVTndRanRKUVVGeVF5eFJRVUZSTEVWQlFVVTdTVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRVVVzVFVGQlRTeEZRVUZGT3p0eFJFRkJiVUk3UVVGRE9VTTdTVUZCVkN4TlFVRk5MRVZCUVVVN09FSkJRVmtzU1VGQlNUdHhSRUZCUXp0QlFVTm9RanRKUVVGVUxFMUJRVTBzUlVGQlJUczRRa0ZCWVN4SlFVRkpPM05FUVVGRE8wRkJRMlE3U1VGQldpeFRRVUZUTEVWQlFVVTdPRUpCUVdFc1NVRkJTVHR6UkVGQlF6dEJRV1p1UWl4dFFrRkJiVUk3U1VGR0wwSXNTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeERRVUZETzBsQlF6bENMRXRCUVVzc1JVRkJSVHRIUVVOTExHMUNRVUZ0UWl4RFFXZENMMEk3TzBGQlNVMHNTVUZCVFN4alFVRmpMRWRCUVhCQ0xFMUJRVTBzWTBGQlpTeFRRVUZSTEd0Q1FVRnJRanREUVZseVJDeERRVUZCTzBGQldIVkNPMGxCUVhKQ0xFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenM3TUVOQlFXRTdRVUZIYkVNN1NVRkdReXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTTdTVUZET1VZc1VVRkJVU3hGUVVGRk96czRRMEZEWXp0QlFVTjVRenRKUVVGcVJTeFJRVUZSTEVWQlFVVTdTVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRVVVzVFVGQlRTeERRVUZETEd0Q1FVRnJRaXhEUVVGRE8wbEJRVVVzVFVGQlRTeEZRVUZGT3p0dFJFRkJNa0k3UVVGRGJrSTdTVUZCZUVVc1VVRkJVU3hGUVVGRk8wbEJRVVVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVRkZMRTFCUVUwc1EwRkJReXg1UWtGQmVVSXNRMEZCUXp0SlFVRkZMRTFCUVUwc1JVRkJSVHM3YlVSQlFXdERPMEZCUTNCRk8wbEJRWEpETEZGQlFWRXNSVUZCUlR0SlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGQlJTeE5RVUZOTEVWQlFVVTdPMnRFUVVGeFFqdEJRVU53UWp0SlFVRnlReXhSUVVGUkxFVkJRVVU3U1VGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUVVVc1RVRkJUU3hGUVVGRk96czRRMEZCYVVJN1FVRkROVUk3U1VGQmVrSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVGRkxFMUJRVTBzUlVGQlJUczdPRU5CUVd0RE8wRkJRemxETzBsQlFWb3NVMEZCVXl4RlFVRkZPemhDUVVGaExFbEJRVWs3YVVSQlFVTTdRVUZEYWtJN1NVRkJXaXhUUVVGVExFVkJRVVU3T0VKQlFXRXNTVUZCU1R0cFJFRkJRenRCUVZodVFpeGpRVUZqTzBsQlJqRkNMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNRMEZCUXp0SlFVTjZRaXhMUVVGTExFVkJRVVU3UjBGRFN5eGpRVUZqTEVOQldURkNJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRjYmlBZ1kyOXNkVzF1TEZ4dUlDQmpjbVZoZEdWa1FYUXNYRzRnSUcxaGJubFViMDl1WlN4Y2JpQWdiMjVsVkc5TllXNTVMRnh1SUNCd2F5eGNiaUFnZEdGaWJHVXNYRzRnSUhWdWFYRjFaU3hjYmlBZ2RYQmtZWFJsWkVGMExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRTF2WkdWc0xDQnRiMlJsYkN3Z2IzQjBhVzl1TENCeVpYRjFhWEpsWkN3Z2RIbHdaU0JoY3lCMGVYQmxUMllnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCSmMyOXNZWFJwYjI1VWFXVnlMRnh1SUNCSmMyOXNZWFJwYjI1VWFXVnlUM0IwYVc5dWN5eGNiaUFnVFdWdFltVnljMmhwY0ZOMFlYUjFjeXhjYmlBZ1RXVnRZbVZ5YzJocGNGTjBZWFIxYzA5d2RHbHZibk1zWEc0Z0lGQmxjbTFwYzNOcGIyNURZWFJsWjI5eWVTeGNiaUFnVUdWeWJXbHpjMmx2YmtOaGRHVm5iM0o1VDNCMGFXOXVjeXhjYmlBZ1VISnBibU5wY0dGc1MybHVaQ3hjYmlBZ1VISnBibU5wY0dGc1MybHVaRTl3ZEdsdmJuTXNYRzRnSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDeGNiaUFnVWtWTVgwNVZURXhKUmxrc1hHNGdJRkpGVEY5U1JWTlVVa2xEVkN4Y2JpQWdVbVZ6YjNWeVkyVldhWE5wWW1sc2FYUjVMRnh1SUNCU1pYTnZkWEpqWlZacGMybGlhV3hwZEhsUGNIUnBiMjV6TEZ4dUlDQlRZMjl3WlV0cGJtUXNYRzRnSUZOamIzQmxTMmx1WkU5d2RHbHZibk1zWEc0Z0lGTjBiM0poWjJWQ2FXNWthVzVuUzJsdVpDeGNiaUFnVTNSdmNtRm5aVUpwYm1ScGJtZExhVzVrVDNCMGFXOXVjeXhjYmlBZ1UzUnZjbUZuWlV0cGJtUXNYRzRnSUZOMGIzSmhaMlZMYVc1a1QzQjBhVzl1Y3l4Y2JuMGdabkp2YlNCY0lpNHZiM0puTFdKaGMyVmtMV0YxZEdodmNtbDZZWFJwYjI0dGMzbHpkR1Z0WENJN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRYUm9iM0pwZW1GMGFXOXVUVzlrWld3Z1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lHTnZibk4wY25WamRHOXlLR1JoZEdFL09pQjFibXR1YjNkdUtTQjdYRzRnSUNBZ2MzVndaWElvWkdGMFlTQmhjeUJ1WlhabGNpazdYRzRnSUgxY2JuMWNibHh1UUhSaFlteGxLRndpZEdWdVlXNTBjMXdpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJVWlc1aGJuUWdaWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQjFibWx4ZFdVb0tTQkFjbVZ4ZFdseVpXUW9LU0JBZEhsd1pVOW1LRk4wY21sdVp5a2dRR052YkhWdGJpZ3BJSE5zZFdjaE9pQnpkSEpwYm1jN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnYm1GdFpTRTZJSE4wY21sdVp6dGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCdmNIUnBiMjRvU1hOdmJHRjBhVzl1VkdsbGNrOXdkR2x2Ym5NcElFQmpiMngxYlc0b0tTQnBjMjlzWVhScGIyNVVhV1Z5SVRvZ1NYTnZiR0YwYVc5dVZHbGxjanRjYmlBZ1FHOXVaVlJ2VFdGdWVTZ29LU0E5UGlCUGNtZFZibWwwTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObEtTQnZjbWRWYm1sMGN6ODZJRTl5WjFWdWFYUmJYU0I4SUhOMGNtbHVaMXRkTzF4dUlDQkFiMjVsVkc5TllXNTVLQ2dwSUQwK0lGUmxibUZ1ZEUxbGJXSmxjbk5vYVhBc0lGSkZURjlTUlZOVVVrbERWQ3dnWm1Gc2MyVXBJRzFsYldKbGNuTm9hWEJ6UHpvZ1ZHVnVZVzUwVFdWdFltVnljMmhwY0Z0ZElId2djM1J5YVc1blcxMDdYRzRnSUVCdmJtVlViMDFoYm5rb0tDa2dQVDRnVUhKcGJtTnBjR0ZzTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObEtTQndjbWx1WTJsd1lXeHpQem9nVUhKcGJtTnBjR0ZzVzEwZ2ZDQnpkSEpwYm1kYlhUdGNiaUFnUUc5dVpWUnZUV0Z1ZVNnb0tTQTlQaUJUZEc5eVlXZGxRbWx1WkdsdVp5d2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnYzNSdmNtRm5aVUpwYm1ScGJtZHpQem9nVTNSdmNtRm5aVUpwYm1ScGJtZGJYU0I4SUhOMGNtbHVaMXRkTzF4dUlDQkFZM0psWVhSbFpFRjBLQ2tnWTNKbFlYUmxaRUYwSVRvZ1JHRjBaVHRjYmlBZ1FIVndaR0YwWldSQmRDZ3BJSFZ3WkdGMFpXUkJkQ0U2SUVSaGRHVTdYRzU5WEc1Y2JrQjBZV0pzWlNoY0luUmxibUZ1ZEY5d2NtOW1hV3hsYzF3aUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCVVpXNWhiblJRY205bWFXeGxJR1Y0ZEdWdVpITWdRWFYwYUc5eWFYcGhkR2x2YmsxdlpHVnNJSHRjYmlBZ1FIQnJLSHNnZEhsd1pUb2dVM1J5YVc1bklIMHBJR2xrSVRvZ2MzUnlhVzVuTzF4dUlDQkFiV0Z1ZVZSdlQyNWxLQ2dwSUQwK0lGUmxibUZ1ZEN3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzUmxibUZ1ZEY5d2NtOW1hV3hsYzE5MFpXNWhiblJjSWlsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ2RHVnVZVzUwSVRvZ1ZHVnVZVzUwSUh3Z2MzUnlhVzVuTzF4dUlDQkFjbVZ4ZFdseVpXUW9LU0JBZEhsd1pVOW1LRk4wY21sdVp5a2dRR052YkhWdGJpZ3BJSEJ5YjJacGJHVkxaWGtoT2lCemRISnBibWM3WEc0Z0lFQjBlWEJsVDJZb1QySnFaV04wS1NCQVkyOXNkVzF1S0NrZ2JXVjBZV1JoZEdFL09pQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGp0Y2JpQWdRR055WldGMFpXUkJkQ2dwSUdOeVpXRjBaV1JCZENFNklFUmhkR1U3WEc0Z0lFQjFjR1JoZEdWa1FYUW9LU0IxY0dSaGRHVmtRWFFoT2lCRVlYUmxPMXh1ZlZ4dVhHNUFkR0ZpYkdVb1hDSnZjbWRmZFc1cGRITmNJaWxjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdUM0puVlc1cGRDQmxlSFJsYm1SeklFRjFkR2h2Y21sNllYUnBiMjVOYjJSbGJDQjdYRzRnSUVCd2F5aDdJSFI1Y0dVNklGTjBjbWx1WnlCOUtTQnBaQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCVVpXNWhiblFzSUZKRlRGOVNSVk5VVWtsRFZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5dmNtZGZkVzVwZEhOZmRHVnVZVzUwWENJcFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lIUmxibUZ1ZENFNklGUmxibUZ1ZENCOElITjBjbWx1Wnp0Y2JpQWdRRzFoYm5sVWIwOXVaU2dvS1NBOVBpQlBjbWRWYm1sMExDQlNSVXhmVWtWVFZGSkpRMVFzSUdaaGJITmxMQ0IxYm1SbFptbHVaV1FzSUZ3aVptdGZiM0puWDNWdWFYUnpYM0JoY21WdWRGd2lLVnh1SUNCd1lYSmxiblEvT2lCUGNtZFZibWwwSUh3Z2MzUnlhVzVuTzF4dUlDQkFiMjVsVkc5TllXNTVLQ2dwSUQwK0lFOXlaMVZ1YVhRc0lGSkZURjlTUlZOVVVrbERWQ3dnWm1Gc2MyVXBJR05vYVd4a2NtVnVQem9nVDNKblZXNXBkRnRkSUh3Z2MzUnlhVzVuVzEwN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnYm1GdFpTRTZJSE4wY21sdVp6dGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCamIyeDFiVzRvS1NCd1lYUm9JVG9nYzNSeWFXNW5PMXh1SUNCQWRIbHdaVTltS0U5aWFtVmpkQ2tnUUdOdmJIVnRiaWdwSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc0Z0lFQnZibVZVYjAxaGJua29LQ2tnUFQ0Z1QzSm5WVzVwZEUxbGJXSmxjbk5vYVhBc0lGSkZURjlTUlZOVVVrbERWQ3dnWm1Gc2MyVXBJRzFsYldKbGNuTm9hWEJ6UHpvZ1QzSm5WVzVwZEUxbGJXSmxjbk5vYVhCYlhTQjhJSE4wY21sdVoxdGRPMXh1SUNCQWIyNWxWRzlOWVc1NUtDZ3BJRDArSUZCeWIzUmxZM1JsWkZKbGMyOTFjbU5sTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObEtTQnlaWE52ZFhKalpYTS9PaUJRY205MFpXTjBaV1JTWlhOdmRYSmpaVnRkSUh3Z2MzUnlhVzVuVzEwN1hHNGdJRUJ2Ym1WVWIwMWhibmtvS0NrZ1BUNGdTVzVvWlhKcGRHRnVZMlZDYkc5amF5d2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnYVc1b1pYSnBkR0Z1WTJWQ2JHOWphM00vT2lCSmJtaGxjbWwwWVc1alpVSnNiMk5yVzEwZ2ZDQnpkSEpwYm1kYlhUdGNiaUFnUUc5dVpWUnZUV0Z1ZVNnb0tTQTlQaUJQY21kVmJtbDBRMnh2YzNWeVpTd2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnWVc1alpYTjBiM0pNYVc1cmN6ODZJRTl5WjFWdWFYUkRiRzl6ZFhKbFcxMGdmQ0J6ZEhKcGJtZGJYVHRjYmlBZ1FHOXVaVlJ2VFdGdWVTZ29LU0E5UGlCUGNtZFZibWwwUTJ4dmMzVnlaU3dnVWtWTVgxSkZVMVJTU1VOVUxDQm1ZV3h6WlNrZ1pHVnpZMlZ1WkdGdWRFeHBibXR6UHpvZ1QzSm5WVzVwZEVOc2IzTjFjbVZiWFNCOElITjBjbWx1WjF0ZE8xeHVJQ0JBWTNKbFlYUmxaRUYwS0NrZ1kzSmxZWFJsWkVGMElUb2dSR0YwWlR0Y2JpQWdRSFZ3WkdGMFpXUkJkQ2dwSUhWd1pHRjBaV1JCZENFNklFUmhkR1U3WEc1OVhHNWNia0IwWVdKc1pTaGNJbTl5WjE5MWJtbDBYM0J5YjJacGJHVnpYQ0lwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRTl5WjFWdWFYUlFjbTltYVd4bElHVjRkR1Z1WkhNZ1FYVjBhRzl5YVhwaGRHbHZiazF2WkdWc0lIdGNiaUFnUUhCcktIc2dkSGx3WlRvZ1UzUnlhVzVuSUgwcElHbGtJVG9nYzNSeWFXNW5PMXh1SUNCQWJXRnVlVlJ2VDI1bEtDZ3BJRDArSUU5eVoxVnVhWFFzSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5dmNtZGZkVzVwZEY5d2NtOW1hV3hsYzE5dmNtZGZkVzVwZEZ3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQnZjbWRWYm1sMElUb2dUM0puVlc1cGRDQjhJSE4wY21sdVp6dGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCamIyeDFiVzRvS1NCd2NtOW1hV3hsUzJWNUlUb2djM1J5YVc1bk8xeHVJQ0JBZEhsd1pVOW1LRTlpYW1WamRDa2dRR052YkhWdGJpZ3BJRzFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzRnSUVCamNtVmhkR1ZrUVhRb0tTQmpjbVZoZEdWa1FYUWhPaUJFWVhSbE8xeHVJQ0JBZFhCa1lYUmxaRUYwS0NrZ2RYQmtZWFJsWkVGMElUb2dSR0YwWlR0Y2JuMWNibHh1UUhSaFlteGxLRndpYjNKblgzVnVhWFJmWTJ4dmMzVnlaVndpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJQY21kVmJtbDBRMnh2YzNWeVpTQmxlSFJsYm1SeklFRjFkR2h2Y21sNllYUnBiMjVOYjJSbGJDQjdYRzRnSUVCd2F5aDdJSFI1Y0dVNklGTjBjbWx1WnlCOUtTQnBaQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCVVpXNWhiblFzSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5dmNtZGZZMnh2YzNWeVpWOTBaVzVoYm5SY0lpbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdkR1Z1WVc1MElUb2dWR1Z1WVc1MElId2djM1J5YVc1bk8xeHVJQ0JBYldGdWVWUnZUMjVsS0NncElEMCtJRTl5WjFWdWFYUXNJRkpGVEY5RFFWTkRRVVJGWDBSRlVFVk9SRVZPVkN3Z1ptRnNjMlVzSUhWdVpHVm1hVzVsWkN3Z1hDSm1hMTl2Y21kZlkyeHZjM1Z5WlY5aGJtTmxjM1J2Y2x3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQmhibU5sYzNSdmNpRTZJRTl5WjFWdWFYUWdmQ0J6ZEhKcGJtYzdYRzRnSUVCdFlXNTVWRzlQYm1Vb0tDa2dQVDRnVDNKblZXNXBkQ3dnVWtWTVgwTkJVME5CUkVWZlJFVlFSVTVFUlU1VUxDQm1ZV3h6WlN3Z2RXNWtaV1pwYm1Wa0xDQmNJbVpyWDI5eVoxOWpiRzl6ZFhKbFgyUmxjMk5sYm1SaGJuUmNJaWxjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnWkdWelkyVnVaR0Z1ZENFNklFOXlaMVZ1YVhRZ2ZDQnpkSEpwYm1jN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvVG5WdFltVnlLU0JBWTI5c2RXMXVLQ2tnWkdWd2RHZ2hPaUJ1ZFcxaVpYSTdYRzRnSUVCamNtVmhkR1ZrUVhRb0tTQmpjbVZoZEdWa1FYUWhPaUJFWVhSbE8xeHVmVnh1WEc1QWRHRmliR1VvWENKMWMyVnljMXdpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJWYzJWeUlHVjRkR1Z1WkhNZ1FYVjBhRzl5YVhwaGRHbHZiazF2WkdWc0lIdGNiaUFnUUhCcktIc2dkSGx3WlRvZ1UzUnlhVzVuSUgwcElHbGtJVG9nYzNSeWFXNW5PMXh1SUNCQWRXNXBjWFZsS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCamIyeDFiVzRvS1NCbGJXRnBiRDg2SUhOMGNtbHVaenRjYmlBZ1FIVnVhWEYxWlNncElFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQVkyOXNkVzF1S0NrZ2NHaHZibVUvT2lCemRISnBibWM3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BJRUIwZVhCbFQyWW9VM1J5YVc1bktTQkFZMjlzZFcxdUtDa2daR2x6Y0d4aGVVNWhiV1VoT2lCemRISnBibWM3WEc0Z0lFQnZibVZVYjAxaGJua29LQ2tnUFQ0Z1ZHVnVZVzUwVFdWdFltVnljMmhwY0N3Z1VrVk1YMUpGVTFSU1NVTlVMQ0JtWVd4elpTa2dkR1Z1WVc1MFRXVnRZbVZ5YzJocGNITS9PaUJVWlc1aGJuUk5aVzFpWlhKemFHbHdXMTBnZkNCemRISnBibWRiWFR0Y2JpQWdRRzl1WlZSdlRXRnVlU2dvS1NBOVBpQlBjbWRWYm1sMFRXVnRZbVZ5YzJocGNDd2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnYjNKblZXNXBkRTFsYldKbGNuTm9hWEJ6UHpvZ1QzSm5WVzVwZEUxbGJXSmxjbk5vYVhCYlhTQjhJSE4wY21sdVoxdGRPMXh1SUNCQVkzSmxZWFJsWkVGMEtDa2dZM0psWVhSbFpFRjBJVG9nUkdGMFpUdGNiaUFnUUhWd1pHRjBaV1JCZENncElIVndaR0YwWldSQmRDRTZJRVJoZEdVN1hHNTlYRzVjYmtCMFlXSnNaU2hjSW1keWIzVndjMXdpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJIY205MWNDQmxlSFJsYm1SeklFRjFkR2h2Y21sNllYUnBiMjVOYjJSbGJDQjdYRzRnSUVCd2F5aDdJSFI1Y0dVNklGTjBjbWx1WnlCOUtTQnBaQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCVVpXNWhiblFzSUZKRlRGOVNSVk5VVWtsRFZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5bmNtOTFjSE5mZEdWdVlXNTBYQ0lwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUhSbGJtRnVkQ0U2SUZSbGJtRnVkQ0I4SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCUGNtZFZibWwwTENCU1JVeGZUbFZNVEVsR1dTd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5bmNtOTFjSE5mYjNKblgzVnVhWFJjSWlsY2JpQWdiM0puVlc1cGREODZJRTl5WjFWdWFYUWdmQ0J6ZEhKcGJtYzdYRzRnSUVCeVpYRjFhWEpsWkNncElFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQVkyOXNkVzF1S0NrZ2JtRnRaU0U2SUhOMGNtbHVaenRjYmlBZ1FIUjVjR1ZQWmloUFltcGxZM1FwSUVCamIyeDFiVzRvS1NCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dUlDQkFiMjVsVkc5TllXNTVLQ2dwSUQwK0lFZHliM1Z3VFdWdFltVnljMmhwY0N3Z1VrVk1YMUpGVTFSU1NVTlVMQ0JtWVd4elpTa2diV1Z0WW1WeWN6ODZJRWR5YjNWd1RXVnRZbVZ5YzJocGNGdGRJSHdnYzNSeWFXNW5XMTA3WEc0Z0lFQmpjbVZoZEdWa1FYUW9LU0JqY21WaGRHVmtRWFFoT2lCRVlYUmxPMXh1SUNCQWRYQmtZWFJsWkVGMEtDa2dkWEJrWVhSbFpFRjBJVG9nUkdGMFpUdGNibjFjYmx4dVFIUmhZbXhsS0Z3aWNISnBibU5wY0dGc2Mxd2lLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QlFjbWx1WTJsd1lXd2daWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1ZHVnVZVzUwTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObExDQjFibVJsWm1sdVpXUXNJRndpWm10ZmNISnBibU5wY0dGc2MxOTBaVzVoYm5SY0lpbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdkR1Z1WVc1MElUb2dWR1Z1WVc1MElId2djM1J5YVc1bk8xeHVJQ0JBY21WeGRXbHlaV1FvS1NCQWRIbHdaVTltS0ZOMGNtbHVaeWtnUUc5d2RHbHZiaWhRY21sdVkybHdZV3hMYVc1a1QzQjBhVzl1Y3lrZ1FHTnZiSFZ0YmlncElHdHBibVFoT2lCUWNtbHVZMmx3WVd4TGFXNWtPMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHTnZiSFZ0YmlncElITjFZbXBsWTNSSlpDRTZJSE4wY21sdVp6dGNiaUFnUUc5dVpWUnZUV0Z1ZVNnb0tTQTlQaUJTYjJ4bFFYTnphV2R1YldWdWRDd2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnY205c1pVRnpjMmxuYm0xbGJuUnpQem9nVW05c1pVRnpjMmxuYm0xbGJuUmJYU0I4SUhOMGNtbHVaMXRkTzF4dUlDQkFiMjVsVkc5TllXNTVLQ2dwSUQwK0lGSmxjMjkxY21ObFIzSmhiblFzSUZKRlRGOVNSVk5VVWtsRFZDd2dabUZzYzJVcElISmxjMjkxY21ObFIzSmhiblJ6UHpvZ1VtVnpiM1Z5WTJWSGNtRnVkRnRkSUh3Z2MzUnlhVzVuVzEwN1hHNGdJRUJqY21WaGRHVmtRWFFvS1NCamNtVmhkR1ZrUVhRaE9pQkVZWFJsTzF4dUlDQkFkWEJrWVhSbFpFRjBLQ2tnZFhCa1lYUmxaRUYwSVRvZ1JHRjBaVHRjYm4xY2JseHVRSFJoWW14bEtGd2lkR1Z1WVc1MFgyMWxiV0psY25Ob2FYQnpYQ0lwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRlJsYm1GdWRFMWxiV0psY25Ob2FYQWdaWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1ZHVnVZVzUwTENCU1JVeGZRMEZUUTBGRVJWOUVSVkJGVGtSRlRsUXNJR1poYkhObExDQjFibVJsWm1sdVpXUXNJRndpWm10ZmRHVnVZVzUwWDIxbGJXSmxjbk5vYVhCelgzUmxibUZ1ZEZ3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQjBaVzVoYm5RaE9pQlVaVzVoYm5RZ2ZDQnpkSEpwYm1jN1hHNGdJRUJ0WVc1NVZHOVBibVVvS0NrZ1BUNGdWWE5sY2l3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzUmxibUZ1ZEY5dFpXMWlaWEp6YUdsd2MxOTFjMlZ5WENJcFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lIVnpaWEloT2lCVmMyVnlJSHdnYzNSeWFXNW5PMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHOXdkR2x2YmloTlpXMWlaWEp6YUdsd1UzUmhkSFZ6VDNCMGFXOXVjeWtnUUdOdmJIVnRiaWdwSUhOMFlYUjFjeUU2SUUxbGJXSmxjbk5vYVhCVGRHRjBkWE03WEc0Z0lFQmpjbVZoZEdWa1FYUW9LU0JqY21WaGRHVmtRWFFoT2lCRVlYUmxPMXh1SUNCQWRYQmtZWFJsWkVGMEtDa2dkWEJrWVhSbFpFRjBJVG9nUkdGMFpUdGNibjFjYmx4dVFIUmhZbXhsS0Z3aWIzSm5YM1Z1YVhSZmJXVnRZbVZ5YzJocGNITmNJaWxjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdUM0puVlc1cGRFMWxiV0psY25Ob2FYQWdaWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1ZHVnVZVzUwTENCU1JVeGZRMEZUUTBGRVJWOUVSVkJGVGtSRlRsUXNJR1poYkhObExDQjFibVJsWm1sdVpXUXNJRndpWm10ZmIzSm5YMjFsYldKbGNuTm9hWEJ6WDNSbGJtRnVkRndpS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCMFpXNWhiblFoT2lCVVpXNWhiblFnZkNCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1QzSm5WVzVwZEN3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgyOXlaMTl0WlcxaVpYSnphR2x3YzE5dmNtZGZkVzVwZEZ3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQnZjbWRWYm1sMElUb2dUM0puVlc1cGRDQjhJSE4wY21sdVp6dGNiaUFnUUcxaGJubFViMDl1WlNnb0tTQTlQaUJWYzJWeUxDQlNSVXhmVWtWVFZGSkpRMVFzSUdaaGJITmxMQ0IxYm1SbFptbHVaV1FzSUZ3aVptdGZiM0puWDIxbGJXSmxjbk5vYVhCelgzVnpaWEpjSWlsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ2RYTmxjaUU2SUZWelpYSWdmQ0J6ZEhKcGJtYzdYRzRnSUVCeVpYRjFhWEpsWkNncElFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQWIzQjBhVzl1S0UxbGJXSmxjbk5vYVhCVGRHRjBkWE5QY0hScGIyNXpLU0JBWTI5c2RXMXVLQ2tnYzNSaGRIVnpJVG9nVFdWdFltVnljMmhwY0ZOMFlYUjFjenRjYmlBZ1FHTnlaV0YwWldSQmRDZ3BJR055WldGMFpXUkJkQ0U2SUVSaGRHVTdYRzRnSUVCMWNHUmhkR1ZrUVhRb0tTQjFjR1JoZEdWa1FYUWhPaUJFWVhSbE8xeHVmVnh1WEc1QWRHRmliR1VvWENKbmNtOTFjRjl0WlcxaVpYSnphR2x3YzF3aUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCSGNtOTFjRTFsYldKbGNuTm9hWEFnWlhoMFpXNWtjeUJCZFhSb2IzSnBlbUYwYVc5dVRXOWtaV3dnZTF4dUlDQkFjR3NvZXlCMGVYQmxPaUJUZEhKcGJtY2dmU2tnYVdRaE9pQnpkSEpwYm1jN1hHNGdJRUJ0WVc1NVZHOVBibVVvS0NrZ1BUNGdWR1Z1WVc1MExDQlNSVXhmUTBGVFEwRkVSVjlFUlZCRlRrUkZUbFFzSUdaaGJITmxMQ0IxYm1SbFptbHVaV1FzSUZ3aVptdGZaM0p2ZFhCZmJXVnRZbVZ5YzJocGNITmZkR1Z1WVc1MFhDSXBYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJSFJsYm1GdWRDRTZJRlJsYm1GdWRDQjhJSE4wY21sdVp6dGNiaUFnUUcxaGJubFViMDl1WlNnb0tTQTlQaUJIY205MWNDd2dVa1ZNWDBOQlUwTkJSRVZmUkVWUVJVNUVSVTVVTENCbVlXeHpaU3dnZFc1a1pXWnBibVZrTENCY0ltWnJYMmR5YjNWd1gyMWxiV0psY25Ob2FYQnpYMmR5YjNWd1hDSXBYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJR2R5YjNWd0lUb2dSM0p2ZFhBZ2ZDQnpkSEpwYm1jN1hHNGdJRUJ0WVc1NVZHOVBibVVvS0NrZ1BUNGdVSEpwYm1OcGNHRnNMQ0JTUlV4ZlEwRlRRMEZFUlY5RVJWQkZUa1JGVGxRc0lHWmhiSE5sTENCMWJtUmxabWx1WldRc0lGd2labXRmWjNKdmRYQmZiV1Z0WW1WeWMyaHBjSE5mY0hKcGJtTnBjR0ZzWENJcFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lIQnlhVzVqYVhCaGJDRTZJRkJ5YVc1amFYQmhiQ0I4SUhOMGNtbHVaenRjYmlBZ1FIUjVjR1ZQWmloUFltcGxZM1FwSUVCamIyeDFiVzRvS1NCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dUlDQkFZM0psWVhSbFpFRjBLQ2tnWTNKbFlYUmxaRUYwSVRvZ1JHRjBaVHRjYm4xY2JseHVRSFJoWW14bEtGd2ljR1Z5YldsemMybHZibk5jSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVUdWeWJXbHpjMmx2YmlCbGVIUmxibVJ6SUVGMWRHaHZjbWw2WVhScGIyNU5iMlJsYkNCN1hHNGdJRUJ3YXloN0lIUjVjR1U2SUZOMGNtbHVaeUI5S1NCcFpDRTZJSE4wY21sdVp6dGNiaUFnUUhWdWFYRjFaU2dwSUVCeVpYRjFhWEpsWkNncElFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQVkyOXNkVzF1S0NrZ2EyVjVJVG9nYzNSeWFXNW5PMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHOXdkR2x2YmloUVpYSnRhWE56YVc5dVEyRjBaV2R2Y25sUGNIUnBiMjV6S1NCQVkyOXNkVzF1S0NrZ1kyRjBaV2R2Y25raE9pQlFaWEp0YVhOemFXOXVRMkYwWldkdmNuazdYRzRnSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJRUJ2Ym1WVWIwMWhibmtvS0NrZ1BUNGdVbTlzWlZCbGNtMXBjM05wYjI0c0lGSkZURjlTUlZOVVVrbERWQ3dnWm1Gc2MyVXBJSEp2YkdWUVpYSnRhWE56YVc5dWN6ODZJRkp2YkdWUVpYSnRhWE56YVc5dVcxMGdmQ0J6ZEhKcGJtZGJYVHRjYm4xY2JseHVRSFJoWW14bEtGd2ljbTlzWlhOY0lpbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1VtOXNaU0JsZUhSbGJtUnpJRUYxZEdodmNtbDZZWFJwYjI1TmIyUmxiQ0I3WEc0Z0lFQndheWg3SUhSNWNHVTZJRk4wY21sdVp5QjlLU0JwWkNFNklITjBjbWx1Wnp0Y2JpQWdRRzFoYm5sVWIwOXVaU2dvS1NBOVBpQlVaVzVoYm5Rc0lGSkZURjlPVlV4TVNVWlpMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzSnZiR1Z6WDNSbGJtRnVkRndpS1Z4dUlDQjBaVzVoYm5RL09pQlVaVzVoYm5RZ2ZDQnpkSEpwYm1jN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnYTJWNUlUb2djM1J5YVc1bk8xeHVJQ0JBY21WeGRXbHlaV1FvS1NCQWRIbHdaVTltS0ZOMGNtbHVaeWtnUUdOdmJIVnRiaWdwSUc1aGJXVWhPaUJ6ZEhKcGJtYzdYRzRnSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJRUIwZVhCbFQyWW9UMkpxWldOMEtTQkFZMjlzZFcxdUtDa2diV1YwWVdSaGRHRS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnUUc5dVpWUnZUV0Z1ZVNnb0tTQTlQaUJTYjJ4bFVHVnliV2x6YzJsdmJpd2dVa1ZNWDFKRlUxUlNTVU5VTENCbVlXeHpaU2tnY205c1pWQmxjbTFwYzNOcGIyNXpQem9nVW05c1pWQmxjbTFwYzNOcGIyNWJYU0I4SUhOMGNtbHVaMXRkTzF4dUlDQkFiMjVsVkc5TllXNTVLQ2dwSUQwK0lGSnZiR1ZCYzNOcFoyNXRaVzUwTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObEtTQmhjM05wWjI1dFpXNTBjejg2SUZKdmJHVkJjM05wWjI1dFpXNTBXMTBnZkNCemRISnBibWRiWFR0Y2JpQWdRR055WldGMFpXUkJkQ2dwSUdOeVpXRjBaV1JCZENFNklFUmhkR1U3WEc0Z0lFQjFjR1JoZEdWa1FYUW9LU0IxY0dSaGRHVmtRWFFoT2lCRVlYUmxPMXh1ZlZ4dVhHNUFkR0ZpYkdVb1hDSnliMnhsWDNCbGNtMXBjM05wYjI1elhDSXBYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklGSnZiR1ZRWlhKdGFYTnphVzl1SUdWNGRHVnVaSE1nUVhWMGFHOXlhWHBoZEdsdmJrMXZaR1ZzSUh0Y2JpQWdRSEJyS0hzZ2RIbHdaVG9nVTNSeWFXNW5JSDBwSUdsa0lUb2djM1J5YVc1bk8xeHVJQ0JBYldGdWVWUnZUMjVsS0NncElEMCtJRkp2YkdVc0lGSkZURjlEUVZORFFVUkZYMFJGVUVWT1JFVk9WQ3dnWm1Gc2MyVXNJSFZ1WkdWbWFXNWxaQ3dnWENKbWExOXliMnhsWDNCbGNtMXBjM05wYjI1elgzSnZiR1ZjSWlsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ2NtOXNaU0U2SUZKdmJHVWdmQ0J6ZEhKcGJtYzdYRzRnSUVCdFlXNTVWRzlQYm1Vb0tDa2dQVDRnVUdWeWJXbHpjMmx2Yml3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzSnZiR1ZmY0dWeWJXbHpjMmx2Ym5OZmNHVnliV2x6YzJsdmJsd2lLVnh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0J3WlhKdGFYTnphVzl1SVRvZ1VHVnliV2x6YzJsdmJpQjhJSE4wY21sdVp6dGNiaUFnUUdOeVpXRjBaV1JCZENncElHTnlaV0YwWldSQmRDRTZJRVJoZEdVN1hHNTlYRzVjYmtCMFlXSnNaU2hjSW5KdmJHVmZZWE56YVdkdWJXVnVkSE5jSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVW05c1pVRnpjMmxuYm0xbGJuUWdaWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1ZHVnVZVzUwTENCU1JVeGZRMEZUUTBGRVJWOUVSVkJGVGtSRlRsUXNJR1poYkhObExDQjFibVJsWm1sdVpXUXNJRndpWm10ZmNtOXNaVjloYzNOcFoyNXRaVzUwYzE5MFpXNWhiblJjSWlsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ2RHVnVZVzUwSVRvZ1ZHVnVZVzUwSUh3Z2MzUnlhVzVuTzF4dUlDQkFiV0Z1ZVZSdlQyNWxLQ2dwSUQwK0lGQnlhVzVqYVhCaGJDd2dVa1ZNWDBOQlUwTkJSRVZmUkVWUVJVNUVSVTVVTENCbVlXeHpaU3dnZFc1a1pXWnBibVZrTENCY0ltWnJYM0p2YkdWZllYTnphV2R1YldWdWRITmZjSEpwYm1OcGNHRnNYQ0lwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUhCeWFXNWphWEJoYkNFNklGQnlhVzVqYVhCaGJDQjhJSE4wY21sdVp6dGNiaUFnUUcxaGJubFViMDl1WlNnb0tTQTlQaUJTYjJ4bExDQlNSVXhmVWtWVFZGSkpRMVFzSUdaaGJITmxMQ0IxYm1SbFptbHVaV1FzSUZ3aVptdGZjbTlzWlY5aGMzTnBaMjV0Wlc1MGMxOXliMnhsWENJcFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lISnZiR1VoT2lCU2IyeGxJSHdnYzNSeWFXNW5PMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHOXdkR2x2YmloVFkyOXdaVXRwYm1SUGNIUnBiMjV6S1NCQVkyOXNkVzF1S0NrZ2MyTnZjR1ZMYVc1a0lUb2dVMk52Y0dWTGFXNWtPMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHTnZiSFZ0YmlncElITmpiM0JsU1dRaE9pQnpkSEpwYm1jN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvUW05dmJHVmhiaWtnUUdOdmJIVnRiaWdwSUdsdWFHVnlhWFJFYjNkdUlUb2dZbTl2YkdWaGJqdGNiaUFnUUdOdmJIVnRiaWdwSUhOMFlYSjBjMEYwUHpvZ1JHRjBaVHRjYmlBZ1FHTnZiSFZ0YmlncElHVjRjR2x5WlhOQmREODZJRVJoZEdVN1hHNGdJRUIwZVhCbFQyWW9UMkpxWldOMEtTQkFZMjlzZFcxdUtDa2dZMjl1WkdsMGFXOXVjejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtPMXh1SUNCQVkzSmxZWFJsWkVGMEtDa2dZM0psWVhSbFpFRjBJVG9nUkdGMFpUdGNiaUFnUUhWd1pHRjBaV1JCZENncElIVndaR0YwWldSQmRDRTZJRVJoZEdVN1hHNTlYRzVjYmtCMFlXSnNaU2hjSW1sdWFHVnlhWFJoYm1ObFgySnNiMk5yYzF3aUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCSmJtaGxjbWwwWVc1alpVSnNiMk5ySUdWNGRHVnVaSE1nUVhWMGFHOXlhWHBoZEdsdmJrMXZaR1ZzSUh0Y2JpQWdRSEJyS0hzZ2RIbHdaVG9nVTNSeWFXNW5JSDBwSUdsa0lUb2djM1J5YVc1bk8xeHVJQ0JBYldGdWVWUnZUMjVsS0NncElEMCtJRlJsYm1GdWRDd2dVa1ZNWDBOQlUwTkJSRVZmUkVWUVJVNUVSVTVVTENCbVlXeHpaU3dnZFc1a1pXWnBibVZrTENCY0ltWnJYMmx1YUdWeWFYUmhibU5sWDJKc2IyTnJjMTkwWlc1aGJuUmNJaWxjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnZEdWdVlXNTBJVG9nVkdWdVlXNTBJSHdnYzNSeWFXNW5PMXh1SUNCQWJXRnVlVlJ2VDI1bEtDZ3BJRDArSUU5eVoxVnVhWFFzSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5cGJtaGxjbWwwWVc1alpWOWliRzlqYTNOZmIzSm5YM1Z1YVhSY0lpbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdiM0puVlc1cGRDRTZJRTl5WjFWdWFYUWdmQ0J6ZEhKcGJtYzdYRzRnSUVCdFlXNTVWRzlQYm1Vb0tDa2dQVDRnVDNKblZXNXBkQ3dnVWtWTVgwNVZURXhKUmxrc0lHWmhiSE5sTENCMWJtUmxabWx1WldRc0lGd2labXRmYVc1b1pYSnBkR0Z1WTJWZllteHZZMnR6WDJKc2IyTnJaV1JmWVc1alpYTjBiM0pjSWlsY2JpQWdZbXh2WTJ0bFpFWnliMjFCYm1ObGMzUnZjajg2SUU5eVoxVnVhWFFnZkNCemRISnBibWM3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BJRUIwZVhCbFQyWW9VM1J5YVc1bktTQkFiM0IwYVc5dUtGQmxjbTFwYzNOcGIyNURZWFJsWjI5eWVVOXdkR2x2Ym5NcElFQmpiMngxYlc0b0tTQndaWEp0YVhOemFXOXVRMkYwWldkdmNua2hPaUJRWlhKdGFYTnphVzl1UTJGMFpXZHZjbms3WEc0Z0lFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQVkyOXNkVzF1S0NrZ2NtVmhjMjl1UHpvZ2MzUnlhVzVuTzF4dUlDQkFZM0psWVhSbFpFRjBLQ2tnWTNKbFlYUmxaRUYwSVRvZ1JHRjBaVHRjYmlBZ1FIVndaR0YwWldSQmRDZ3BJSFZ3WkdGMFpXUkJkQ0U2SUVSaGRHVTdYRzU5WEc1Y2JrQjBZV0pzWlNoY0luQnliM1JsWTNSbFpGOXlaWE52ZFhKalpYTmNJaWxjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdVSEp2ZEdWamRHVmtVbVZ6YjNWeVkyVWdaWGgwWlc1a2N5QkJkWFJvYjNKcGVtRjBhVzl1VFc5a1pXd2dlMXh1SUNCQWNHc29leUIwZVhCbE9pQlRkSEpwYm1jZ2ZTa2dhV1FoT2lCemRISnBibWM3WEc0Z0lFQnRZVzU1Vkc5UGJtVW9LQ2tnUFQ0Z1ZHVnVZVzUwTENCU1JVeGZVa1ZUVkZKSlExUXNJR1poYkhObExDQjFibVJsWm1sdVpXUXNJRndpWm10ZmNISnZkR1ZqZEdWa1gzSmxjMjkxY21ObGMxOTBaVzVoYm5SY0lpbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdkR1Z1WVc1MElUb2dWR1Z1WVc1MElId2djM1J5YVc1bk8xeHVJQ0JBYldGdWVWUnZUMjVsS0NncElEMCtJRTl5WjFWdWFYUXNJRkpGVEY5U1JWTlVVa2xEVkN3Z1ptRnNjMlVzSUhWdVpHVm1hVzVsWkN3Z1hDSm1hMTl3Y205MFpXTjBaV1JmY21WemIzVnlZMlZ6WDI5eVoxOTFibWwwWENJcFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lHOXlaMVZ1YVhRaE9pQlBjbWRWYm1sMElId2djM1J5YVc1bk8xeHVJQ0JBY21WeGRXbHlaV1FvS1NCQWRIbHdaVTltS0ZOMGNtbHVaeWtnUUdOdmJIVnRiaWdwSUhKbGMyOTFjbU5sVkhsd1pTRTZJSE4wY21sdVp6dGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCamIyeDFiVzRvS1NCeVpYTnZkWEpqWlVsa0lUb2djM1J5YVc1bk8xeHVJQ0JBY21WeGRXbHlaV1FvS1NCQWRIbHdaVTltS0ZOMGNtbHVaeWtnUUc5d2RHbHZiaWhTWlhOdmRYSmpaVlpwYzJsaWFXeHBkSGxQY0hScGIyNXpLU0JBWTI5c2RXMXVLQ2tnZG1semFXSnBiR2wwZVNFNklGSmxjMjkxY21ObFZtbHphV0pwYkdsMGVUdGNiaUFnUUcxaGJubFViMDl1WlNnb0tTQTlQaUJRY21sdVkybHdZV3dzSUZKRlRGOU9WVXhNU1VaWkxDQm1ZV3h6WlN3Z2RXNWtaV1pwYm1Wa0xDQmNJbVpyWDNCeWIzUmxZM1JsWkY5eVpYTnZkWEpqWlhOZmIzZHVaWEpjSWlsY2JpQWdiM2R1WlhJL09pQlFjbWx1WTJsd1lXd2dmQ0J6ZEhKcGJtYzdYRzRnSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnYzJWdWMybDBhWFpwZEhrL09pQnpkSEpwYm1jN1hHNGdJRUIwZVhCbFQyWW9UMkpxWldOMEtTQkFZMjlzZFcxdUtDa2diV1YwWVdSaGRHRS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnUUc5dVpWUnZUV0Z1ZVNnb0tTQTlQaUJTWlhOdmRYSmpaVWR5WVc1MExDQlNSVXhmVWtWVFZGSkpRMVFzSUdaaGJITmxLU0JuY21GdWRITS9PaUJTWlhOdmRYSmpaVWR5WVc1MFcxMGdmQ0J6ZEhKcGJtZGJYVHRjYmlBZ1FHTnlaV0YwWldSQmRDZ3BJR055WldGMFpXUkJkQ0U2SUVSaGRHVTdYRzRnSUVCMWNHUmhkR1ZrUVhRb0tTQjFjR1JoZEdWa1FYUWhPaUJFWVhSbE8xeHVmVnh1WEc1QWRHRmliR1VvWENKeVpYTnZkWEpqWlY5bmNtRnVkSE5jSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVW1WemIzVnlZMlZIY21GdWRDQmxlSFJsYm1SeklFRjFkR2h2Y21sNllYUnBiMjVOYjJSbGJDQjdYRzRnSUVCd2F5aDdJSFI1Y0dVNklGTjBjbWx1WnlCOUtTQnBaQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCVVpXNWhiblFzSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5eVpYTnZkWEpqWlY5bmNtRnVkSE5mZEdWdVlXNTBYQ0lwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUhSbGJtRnVkQ0U2SUZSbGJtRnVkQ0I4SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCUWNtOTBaV04wWldSU1pYTnZkWEpqWlN3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzSmxjMjkxY21ObFgyZHlZVzUwYzE5eVpYTnZkWEpqWlZ3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQnlaWE52ZFhKalpTRTZJRkJ5YjNSbFkzUmxaRkpsYzI5MWNtTmxJSHdnYzNSeWFXNW5PMXh1SUNCQWJXRnVlVlJ2VDI1bEtDZ3BJRDArSUZCeWFXNWphWEJoYkN3Z1VrVk1YME5CVTBOQlJFVmZSRVZRUlU1RVJVNVVMQ0JtWVd4elpTd2dkVzVrWldacGJtVmtMQ0JjSW1aclgzSmxjMjkxY21ObFgyZHlZVzUwYzE5d2NtbHVZMmx3WVd4Y0lpbGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdjSEpwYm1OcGNHRnNJVG9nVUhKcGJtTnBjR0ZzSUh3Z2MzUnlhVzVuTzF4dUlDQkFjbVZ4ZFdseVpXUW9LU0JBZEhsd1pVOW1LRk4wY21sdVp5a2dRR052YkhWdGJpZ3BJSEJsY20xcGMzTnBiMjVMWlhraE9pQnpkSEpwYm1jN1hHNGdJRUJqYjJ4MWJXNG9LU0J6ZEdGeWRITkJkRDg2SUVSaGRHVTdYRzRnSUVCamIyeDFiVzRvS1NCbGVIQnBjbVZ6UVhRL09pQkVZWFJsTzF4dUlDQkFkSGx3WlU5bUtFOWlhbVZqZENrZ1FHTnZiSFZ0YmlncElHTnZibVJwZEdsdmJuTS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnUUcxaGJubFViMDl1WlNnb0tTQTlQaUJRY21sdVkybHdZV3dzSUZKRlRGOVNSVk5VVWtsRFZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5eVpYTnZkWEpqWlY5bmNtRnVkSE5mWTNKbFlYUmxaRjlpZVZ3aUtWeHVJQ0JqY21WaGRHVmtRbmsvT2lCUWNtbHVZMmx3WVd3Z2ZDQnpkSEpwYm1jN1hHNGdJRUJqY21WaGRHVmtRWFFvS1NCamNtVmhkR1ZrUVhRaE9pQkVZWFJsTzF4dUlDQkFkWEJrWVhSbFpFRjBLQ2tnZFhCa1lYUmxaRUYwSVRvZ1JHRjBaVHRjYm4xY2JseHVRSFJoWW14bEtGd2laV1ptWldOMGFYWmxYM0JsY20xcGMzTnBiMjV6WENJcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUVWbVptVmpkR2wyWlZCbGNtMXBjM05wYjI0Z1pYaDBaVzVrY3lCQmRYUm9iM0pwZW1GMGFXOXVUVzlrWld3Z2UxeHVJQ0JBY0dzb2V5QjBlWEJsT2lCVGRISnBibWNnZlNrZ2FXUWhPaUJ6ZEhKcGJtYzdYRzRnSUVCdFlXNTVWRzlQYm1Vb0tDa2dQVDRnVkdWdVlXNTBMQ0JTUlV4ZlEwRlRRMEZFUlY5RVJWQkZUa1JGVGxRc0lHWmhiSE5sTENCMWJtUmxabWx1WldRc0lGd2labXRmWldabVpXTjBhWFpsWDNCbGNtMXBjM05wYjI1elgzUmxibUZ1ZEZ3aUtWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQjBaVzVoYm5RaE9pQlVaVzVoYm5RZ2ZDQnpkSEpwYm1jN1hHNGdJRUJ0WVc1NVZHOVBibVVvS0NrZ1BUNGdVSEpwYm1OcGNHRnNMQ0JTUlV4ZlEwRlRRMEZFUlY5RVJWQkZUa1JGVGxRc0lHWmhiSE5sTENCMWJtUmxabWx1WldRc0lGd2labXRmWldabVpXTjBhWFpsWDNCbGNtMXBjM05wYjI1elgzQnlhVzVqYVhCaGJGd2lLVnh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0J3Y21sdVkybHdZV3doT2lCUWNtbHVZMmx3WVd3Z2ZDQnpkSEpwYm1jN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwSUVCMGVYQmxUMllvVTNSeWFXNW5LU0JBWTI5c2RXMXVLQ2tnY0dWeWJXbHpjMmx2Ymt0bGVTRTZJSE4wY21sdVp6dGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCdmNIUnBiMjRvVTJOdmNHVkxhVzVrVDNCMGFXOXVjeWtnUUdOdmJIVnRiaWdwSUhOamIzQmxTMmx1WkNFNklGTmpiM0JsUzJsdVpEdGNiaUFnUUhKbGNYVnBjbVZrS0NrZ1FIUjVjR1ZQWmloVGRISnBibWNwSUVCamIyeDFiVzRvS1NCelkyOXdaVWxrSVRvZ2MzUnlhVzVuTzF4dUlDQkFjbVZ4ZFdseVpXUW9LU0JBZEhsd1pVOW1LRk4wY21sdVp5a2dRR052YkhWdGJpZ3BJSE52ZFhKalpVdHBibVFoT2lCemRISnBibWM3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BJRUIwZVhCbFQyWW9VM1J5YVc1bktTQkFZMjlzZFcxdUtDa2djMjkxY21ObFNXUWhPaUJ6ZEhKcGJtYzdYRzRnSUVCamIyeDFiVzRvS1NCemRHRnlkSE5CZEQ4NklFUmhkR1U3WEc0Z0lFQmpiMngxYlc0b0tTQmxlSEJwY21WelFYUS9PaUJFWVhSbE8xeHVJQ0JBWTNKbFlYUmxaRUYwS0NrZ1kzSmxZWFJsWkVGMElUb2dSR0YwWlR0Y2JuMWNibHh1UUhSaFlteGxLRndpYzNSdmNtRm5aVjlpYVc1a2FXNW5jMXdpS1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJUZEc5eVlXZGxRbWx1WkdsdVp5QmxlSFJsYm1SeklFRjFkR2h2Y21sNllYUnBiMjVOYjJSbGJDQjdYRzRnSUVCd2F5aDdJSFI1Y0dVNklGTjBjbWx1WnlCOUtTQnBaQ0U2SUhOMGNtbHVaenRjYmlBZ1FHMWhibmxVYjA5dVpTZ29LU0E5UGlCVVpXNWhiblFzSUZKRlRGOURRVk5EUVVSRlgwUkZVRVZPUkVWT1ZDd2dabUZzYzJVc0lIVnVaR1ZtYVc1bFpDd2dYQ0ptYTE5emRHOXlZV2RsWDJKcGJtUnBibWR6WDNSbGJtRnVkRndpS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCMFpXNWhiblFoT2lCVVpXNWhiblFnZkNCemRISnBibWM3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BJRUIwZVhCbFQyWW9VM1J5YVc1bktTQkFiM0IwYVc5dUtGTjBiM0poWjJWTGFXNWtUM0IwYVc5dWN5a2dRR052YkhWdGJpZ3BJSE4wYjNKaFoyVkxhVzVrSVRvZ1UzUnZjbUZuWlV0cGJtUTdYRzRnSUVCeVpYRjFhWEpsWkNncElFQjBlWEJsVDJZb1UzUnlhVzVuS1NCQWIzQjBhVzl1S0ZOMGIzSmhaMlZDYVc1a2FXNW5TMmx1WkU5d2RHbHZibk1wSUVCamIyeDFiVzRvS1NCaWFXNWthVzVuUzJsdVpDRTZJRk4wYjNKaFoyVkNhVzVrYVc1blMybHVaRHRjYmlBZ1FISmxjWFZwY21Wa0tDa2dRSFI1Y0dWUFppaFRkSEpwYm1jcElFQmpiMngxYlc0b0tTQmlhVzVrYVc1blMyVjVJVG9nYzNSeWFXNW5PMXh1SUNCQWNtVnhkV2x5WldRb0tTQkFkSGx3WlU5bUtGTjBjbWx1WnlrZ1FHTnZiSFZ0YmlncElISmxaMmx2YmlFNklITjBjbWx1Wnp0Y2JpQWdRSFI1Y0dWUFppaFBZbXBsWTNRcElFQmpiMngxYlc0b0tTQmpiMjVtYVdjL09pQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGp0Y2JpQWdRR055WldGMFpXUkJkQ2dwSUdOeVpXRjBaV1JCZENFNklFUmhkR1U3WEc0Z0lFQjFjR1JoZEdWa1FYUW9LU0IxY0dSaGRHVmtRWFFoT2lCRVlYUmxPMXh1ZlZ4dUlsMTkiXX0=
967
+ //# sourceMappingURL=org-based-authorization-system.models.js.map
968
+ //# sourceMappingURL=org-based-authorization-system.models.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespaces/org-based-authorization-system.models.cjs","sourceRoot":"","sources":["namespaces/org-based-authorization-system.models.js"],"names":[],"mappings":"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"}