@dyanet/nestjs-config-aws 1.2.1 → 2.0.0

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 (230) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -43
  3. package/dist/cjs/aws-config-loader.js +57 -0
  4. package/dist/cjs/build-loaders.js +58 -0
  5. package/dist/cjs/config.module.js +138 -0
  6. package/dist/cjs/index.js +46 -0
  7. package/dist/cjs/interfaces/config-service.interface.js +11 -0
  8. package/dist/cjs/interfaces/default-schema.interface.js +63 -0
  9. package/dist/cjs/{nestjs-config-aws/src/interfaces → interfaces}/index.js +1 -1
  10. package/dist/cjs/interfaces/module-options.interface.js +3 -0
  11. package/dist/cjs/package.json +3 -0
  12. package/dist/cjs/services/config.service.js +142 -0
  13. package/dist/esm/aws-config-loader.js +54 -0
  14. package/dist/esm/build-loaders.js +55 -0
  15. package/dist/esm/config.module.js +135 -0
  16. package/dist/esm/index.js +18 -0
  17. package/dist/esm/interfaces/config-service.interface.js +7 -0
  18. package/dist/esm/interfaces/default-schema.interface.js +59 -0
  19. package/dist/esm/interfaces/index.js +8 -0
  20. package/dist/esm/interfaces/module-options.interface.js +2 -0
  21. package/dist/esm/package.json +3 -1
  22. package/dist/esm/services/config.service.js +139 -0
  23. package/dist/types/aws-config-loader.d.ts +74 -0
  24. package/dist/types/aws-config-loader.d.ts.map +1 -0
  25. package/dist/types/build-loaders.d.ts +30 -0
  26. package/dist/types/build-loaders.d.ts.map +1 -0
  27. package/dist/types/{nestjs-config-aws/src/config.module.d.ts → config.module.d.ts} +2 -8
  28. package/dist/types/config.module.d.ts.map +1 -0
  29. package/dist/types/index.d.ts +10 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/types/interfaces/config-service.interface.d.ts.map +1 -0
  32. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/default-schema.interface.d.ts +14 -14
  33. package/dist/types/interfaces/default-schema.interface.d.ts.map +1 -0
  34. package/dist/types/interfaces/index.d.ts.map +1 -0
  35. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/module-options.interface.d.ts +22 -3
  36. package/dist/types/interfaces/module-options.interface.d.ts.map +1 -0
  37. package/dist/types/services/config.service.d.ts.map +1 -0
  38. package/package.json +13 -7
  39. package/dist/cjs/config-aws/src/config-manager.js +0 -366
  40. package/dist/cjs/config-aws/src/errors/index.js +0 -77
  41. package/dist/cjs/config-aws/src/index.js +0 -37
  42. package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +0 -3
  43. package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +0 -3
  44. package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +0 -3
  45. package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +0 -3
  46. package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +0 -3
  47. package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -3
  48. package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -3
  49. package/dist/cjs/config-aws/src/loaders/env-file.loader.js +0 -169
  50. package/dist/cjs/config-aws/src/loaders/environment.loader.js +0 -85
  51. package/dist/cjs/config-aws/src/loaders/s3.loader.js +0 -145
  52. package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +0 -169
  53. package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -199
  54. package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +0 -98
  55. package/dist/cjs/config-aws/src/utils/validation.util.js +0 -116
  56. package/dist/cjs/nestjs-config-aws/src/config.module.js +0 -175
  57. package/dist/cjs/nestjs-config-aws/src/index.js +0 -61
  58. package/dist/cjs/nestjs-config-aws/src/integration/index.js +0 -23
  59. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -3
  60. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -3
  61. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/index.js +0 -26
  62. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -3
  63. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -3
  64. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
  65. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -3
  66. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -4
  67. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -52
  68. package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -124
  69. package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -592
  70. package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -385
  71. package/dist/cjs/nestjs-config-aws/src/integration/providers/index.js +0 -20
  72. package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -366
  73. package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -267
  74. package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -517
  75. package/dist/cjs/nestjs-config-aws/src/integration/services/index.js +0 -26
  76. package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -81
  77. package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -465
  78. package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -318
  79. package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -292
  80. package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -595
  81. package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -283
  82. package/dist/cjs/nestjs-config-aws/src/integration/utils/index.js +0 -19
  83. package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -11
  84. package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -63
  85. package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -3
  86. package/dist/cjs/nestjs-config-aws/src/services/config.service.js +0 -142
  87. package/dist/esm/config-aws/src/config-manager.js +0 -362
  88. package/dist/esm/config-aws/src/errors/index.js +0 -69
  89. package/dist/esm/config-aws/src/index.js +0 -21
  90. package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +0 -2
  91. package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +0 -2
  92. package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +0 -2
  93. package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +0 -2
  94. package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +0 -2
  95. package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -2
  96. package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -2
  97. package/dist/esm/config-aws/src/loaders/env-file.loader.js +0 -132
  98. package/dist/esm/config-aws/src/loaders/environment.loader.js +0 -81
  99. package/dist/esm/config-aws/src/loaders/s3.loader.js +0 -141
  100. package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +0 -165
  101. package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -195
  102. package/dist/esm/config-aws/src/utils/env-file-parser.util.js +0 -94
  103. package/dist/esm/config-aws/src/utils/validation.util.js +0 -112
  104. package/dist/esm/nestjs-config-aws/src/config.module.js +0 -172
  105. package/dist/esm/nestjs-config-aws/src/index.js +0 -23
  106. package/dist/esm/nestjs-config-aws/src/integration/index.js +0 -7
  107. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -2
  108. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -2
  109. package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +0 -10
  110. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -2
  111. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -2
  112. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
  113. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -2
  114. package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -3
  115. package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -44
  116. package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -121
  117. package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -589
  118. package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -382
  119. package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +0 -4
  120. package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -363
  121. package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -264
  122. package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -514
  123. package/dist/esm/nestjs-config-aws/src/integration/services/index.js +0 -10
  124. package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -78
  125. package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -462
  126. package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -315
  127. package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -289
  128. package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -589
  129. package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -240
  130. package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +0 -3
  131. package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -7
  132. package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -59
  133. package/dist/esm/nestjs-config-aws/src/interfaces/index.js +0 -8
  134. package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -2
  135. package/dist/esm/nestjs-config-aws/src/services/config.service.js +0 -139
  136. package/dist/types/config-aws/src/config-manager.d.ts +0 -119
  137. package/dist/types/config-aws/src/config-manager.d.ts.map +0 -1
  138. package/dist/types/config-aws/src/errors/index.d.ts +0 -43
  139. package/dist/types/config-aws/src/errors/index.d.ts.map +0 -1
  140. package/dist/types/config-aws/src/index.d.ts +0 -24
  141. package/dist/types/config-aws/src/index.d.ts.map +0 -1
  142. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +0 -33
  143. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +0 -1
  144. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +0 -86
  145. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +0 -1
  146. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +0 -12
  147. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +0 -1
  148. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +0 -10
  149. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +0 -1
  150. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +0 -14
  151. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +0 -1
  152. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +0 -12
  153. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +0 -1
  154. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +0 -14
  155. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +0 -1
  156. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +0 -69
  157. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +0 -1
  158. package/dist/types/config-aws/src/loaders/environment.loader.d.ts +0 -46
  159. package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +0 -1
  160. package/dist/types/config-aws/src/loaders/s3.loader.d.ts +0 -62
  161. package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +0 -1
  162. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +0 -68
  163. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +0 -1
  164. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +0 -78
  165. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
  166. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +0 -45
  167. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +0 -1
  168. package/dist/types/config-aws/src/utils/validation.util.d.ts +0 -53
  169. package/dist/types/config-aws/src/utils/validation.util.d.ts.map +0 -1
  170. package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +0 -1
  171. package/dist/types/nestjs-config-aws/src/index.d.ts +0 -11
  172. package/dist/types/nestjs-config-aws/src/index.d.ts.map +0 -1
  173. package/dist/types/nestjs-config-aws/src/integration/index.d.ts +0 -6
  174. package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +0 -1
  175. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts +0 -71
  176. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
  177. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts +0 -24
  178. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
  179. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts +0 -9
  180. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +0 -1
  181. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts +0 -66
  182. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +0 -1
  183. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts +0 -17
  184. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +0 -1
  185. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts +0 -332
  186. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
  187. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts +0 -259
  188. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
  189. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts +0 -209
  190. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
  191. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts +0 -249
  192. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +0 -1
  193. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts +0 -36
  194. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +0 -1
  195. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts +0 -134
  196. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
  197. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts +0 -119
  198. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +0 -1
  199. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts +0 -3
  200. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +0 -1
  201. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts +0 -84
  202. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +0 -1
  203. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts +0 -84
  204. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +0 -1
  205. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts +0 -158
  206. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +0 -1
  207. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts +0 -9
  208. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +0 -1
  209. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts +0 -41
  210. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +0 -1
  211. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts +0 -192
  212. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +0 -1
  213. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts +0 -87
  214. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
  215. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts +0 -103
  216. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +0 -1
  217. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts +0 -222
  218. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +0 -1
  219. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts +0 -81
  220. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +0 -1
  221. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts +0 -2
  222. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +0 -1
  223. package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +0 -1
  224. package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +0 -1
  225. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +0 -1
  226. package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +0 -1
  227. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +0 -1
  228. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/config-service.interface.d.ts +0 -0
  229. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/index.d.ts +0 -0
  230. /package/dist/types/{nestjs-config-aws/src/services → services}/config.service.d.ts +0 -0
@@ -1,52 +0,0 @@
1
- "use strict";
2
- /**
3
- * Utility types for enhanced TypeScript support in nest-config-aws integration.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isCacheEntry = exports.isValidationResult = exports.hasMetadata = exports.isLocalSource = exports.isAwsSource = void 0;
7
- /**
8
- * Type guard for AWS configuration sources.
9
- */
10
- const isAwsSource = (source) => {
11
- return source === 'secrets-manager' || source === 'ssm';
12
- };
13
- exports.isAwsSource = isAwsSource;
14
- /**
15
- * Type guard for local configuration sources.
16
- */
17
- const isLocalSource = (source) => {
18
- return source === 'environment' || source === 'local-file';
19
- };
20
- exports.isLocalSource = isLocalSource;
21
- /**
22
- * Type guard for configuration with metadata.
23
- */
24
- const hasMetadata = (config) => {
25
- return config && typeof config === 'object' && '__metadata' in config;
26
- };
27
- exports.hasMetadata = hasMetadata;
28
- /**
29
- * Type guard for validation result.
30
- */
31
- const isValidationResult = (result) => {
32
- return (result &&
33
- typeof result === 'object' &&
34
- 'isValid' in result &&
35
- typeof result.isValid === 'boolean' &&
36
- 'errors' in result &&
37
- Array.isArray(result.errors));
38
- };
39
- exports.isValidationResult = isValidationResult;
40
- /**
41
- * Type guard for cache entry.
42
- */
43
- const isCacheEntry = (entry) => {
44
- return (entry &&
45
- typeof entry === 'object' &&
46
- 'key' in entry &&
47
- 'value' in entry &&
48
- 'timestamp' in entry &&
49
- entry.timestamp instanceof Date);
50
- };
51
- exports.isCacheEntry = isCacheEntry;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS10eXBlcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy91dGlsaXR5LXR5cGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQW1TSDs7R0FFRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBdUIsRUFBNkIsRUFBRTtJQUNoRixPQUFPLE1BQU0sS0FBSyxpQkFBaUIsSUFBSSxNQUFNLEtBQUssS0FBSyxDQUFDO0FBQzFELENBQUMsQ0FBQztBQUZXLFFBQUEsV0FBVyxlQUV0QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUF1QixFQUErQixFQUFFO0lBQ3BGLE9BQU8sTUFBTSxLQUFLLGFBQWEsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUZXLFFBQUEsYUFBYSxpQkFFeEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQ3pCLE1BQVcsRUFDdUIsRUFBRTtJQUNwQyxPQUFPLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLE1BQU0sQ0FBQztBQUN4RSxDQUFDLENBQUM7QUFKVyxRQUFBLFdBQVcsZUFJdEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sa0JBQWtCLEdBQUcsQ0FBSSxNQUFXLEVBQWlDLEVBQUU7SUFDbEYsT0FBTyxDQUNMLE1BQU07UUFDTixPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLFNBQVMsSUFBSSxNQUFNO1FBQ25CLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTO1FBQ25DLFFBQVEsSUFBSSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSxrQkFBa0Isc0JBUzdCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFlBQVksR0FBRyxDQUFJLEtBQVUsRUFBMEIsRUFBRTtJQUNwRSxPQUFPLENBQ0wsS0FBSztRQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxJQUFJLEtBQUs7UUFDZCxPQUFPLElBQUksS0FBSztRQUNoQixXQUFXLElBQUksS0FBSztRQUNwQixLQUFLLENBQUMsU0FBUyxZQUFZLElBQUksQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVRXLFFBQUEsWUFBWSxnQkFTdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXRpbGl0eSB0eXBlcyBmb3IgZW5oYW5jZWQgVHlwZVNjcmlwdCBzdXBwb3J0IGluIG5lc3QtY29uZmlnLWF3cyBpbnRlZ3JhdGlvbi5cclxuICovXHJcblxyXG4vKipcclxuICogRGVlcCByZWFkb25seSB0eXBlIGZvciBjb25maWd1cmF0aW9uIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBEZWVwUmVhZG9ubHk8VD4gPSB7XHJcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF0gZXh0ZW5kcyAoaW5mZXIgVSlbXVxyXG4gICAgPyBEZWVwUmVhZG9ubHlBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IERlZXBSZWFkb25seTxUW1BdPlxyXG4gICAgOiBUW1BdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERlZXAgcmVhZG9ubHkgYXJyYXkgdHlwZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVlcFJlYWRvbmx5QXJyYXk8VD4gZXh0ZW5kcyBSZWFkb25seUFycmF5PERlZXBSZWFkb25seTxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBQYXJ0aWFsIGRlZXAgdHlwZSBmb3IgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUGFydGlhbERlZXA8VD4gPSB7XHJcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUGFydGlhbERlZXBBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IFBhcnRpYWxEZWVwPFRbUF0+XHJcbiAgICA6IFRbUF07XHJcbn07XHJcblxyXG4vKipcclxuICogUGFydGlhbCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxEZWVwQXJyYXk8VD4gZXh0ZW5kcyBBcnJheTxQYXJ0aWFsRGVlcDxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIHR5cGUgZm9yIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy5cclxuICovXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkRGVlcDxUPiA9IHtcclxuICBbUCBpbiBrZXlvZiBUXS0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUmVxdWlyZWREZWVwQXJyYXk8VT5cclxuICAgIDogVFtQXSBleHRlbmRzIG9iamVjdFxyXG4gICAgPyBSZXF1aXJlZERlZXA8VFtQXT5cclxuICAgIDogVFtQXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkRGVlcEFycmF5PFQ+IGV4dGVuZHMgQXJyYXk8UmVxdWlyZWREZWVwPFQ+PiB7fVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gcGF0aCB0eXBlIGZvciBkb3Qgbm90YXRpb24gYWNjZXNzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnUGF0aDxULCBLIGV4dGVuZHMga2V5b2YgVCA9IGtleW9mIFQ+ID0gSyBleHRlbmRzIHN0cmluZ1xyXG4gID8gVFtLXSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT5cclxuICAgID8gYCR7S31gIHwgYCR7S30uJHtDb25maWdQYXRoPFRbS10+fWBcclxuICAgIDogYCR7S31gXHJcbiAgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHZhbHVlIHR5cGUgZm9yIGEgZ2l2ZW4gcGF0aC5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlPFQsIFAgZXh0ZW5kcyBzdHJpbmc+ID0gUCBleHRlbmRzIGAke2luZmVyIEt9LiR7aW5mZXIgUmVzdH1gXHJcbiAgPyBLIGV4dGVuZHMga2V5b2YgVFxyXG4gICAgPyBDb25maWdWYWx1ZTxUW0tdLCBSZXN0PlxyXG4gICAgOiBuZXZlclxyXG4gIDogUCBleHRlbmRzIGtleW9mIFRcclxuICA/IFRbUF1cclxuICA6IG5ldmVyO1xyXG5cclxuLyoqXHJcbiAqIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQXdzQ29uZmlnU291cmNlID0gJ3NlY3JldHMtbWFuYWdlcicgfCAnc3NtJztcclxuXHJcbi8qKlxyXG4gKiBMb2NhbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTG9jYWxDb25maWdTb3VyY2UgPSAnZW52aXJvbm1lbnQnIHwgJ2xvY2FsLWZpbGUnO1xyXG5cclxuLyoqXHJcbiAqIEFsbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQWxsQ29uZmlnU291cmNlID0gQXdzQ29uZmlnU291cmNlIHwgTG9jYWxDb25maWdTb3VyY2U7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBzb3VyY2UgbWV0YWRhdGEuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdTb3VyY2VNZXRhZGF0YTxUIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IHtcclxuICBzb3VyY2U6IFQ7XHJcbiAgaXNBd3M6IFQgZXh0ZW5kcyBBd3NDb25maWdTb3VyY2UgPyB0cnVlIDogZmFsc2U7XHJcbiAgcHJpb3JpdHk6IG51bWJlcjtcclxuICBsb2FkZWRBdDogRGF0ZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHdpdGggc291cmNlIG1ldGFkYXRhLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2l0aFNvdXJjZTxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IFQgJiB7XHJcbiAgX19tZXRhZGF0YTogQ29uZmlnU291cmNlTWV0YWRhdGE8Uz47XHJcbn07XHJcblxyXG4vKipcclxuICogRXh0cmFjdCBjb25maWd1cmF0aW9uIHR5cGUgZnJvbSBhIGNvbmZpZ3VyYXRpb24gZmFjdG9yeS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWc8VD4gPSBUIGV4dGVuZHMgKCkgPT4gaW5mZXIgVSA/IFUgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZhY3RvcnkgbWFwIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdGYWN0b3J5TWFwID0gUmVjb3JkPHN0cmluZywgKCkgPT4gYW55PjtcclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0IGFsbCBjb25maWd1cmF0aW9uIHR5cGVzIGZyb20gYSBmYWN0b3J5IG1hcC5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWdNYXA8VCBleHRlbmRzIENvbmZpZ0ZhY3RvcnlNYXA+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBFeHRyYWN0Q29uZmlnPFRbS10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOYW1lc3BhY2VDb25maWc8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE11bHRpLW5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBNdWx0aU5hbWVzcGFjZUNvbmZpZzxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBOYW1lc3BhY2VDb25maWc8VFtLXT47XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIHJlc3VsdC5cclxuICovXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSB7XHJcbiAgaXNWYWxpZDogYm9vbGVhbjtcclxuICBkYXRhPzogVDtcclxuICBlcnJvcnM6IHN0cmluZ1tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiByZXN1bHQuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY1ZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSBQcm9taXNlPFZhbGlkYXRpb25SZXN1bHQ8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1RyYW5zZm9ybWVyRm48VElucHV0LCBUT3V0cHV0PiA9IChpbnB1dDogVElucHV0KSA9PiBUT3V0cHV0O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnVHJhbnNmb3JtZXJGbjxUSW5wdXQsIFRPdXRwdXQ+ID0gKGlucHV0OiBUSW5wdXQpID0+IFByb21pc2U8VE91dHB1dD47XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ByZWRpY2F0ZTxUPiA9IChjb25maWc6IFQpID0+IGJvb2xlYW47XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnUHJlZGljYXRlPFQ+ID0gKGNvbmZpZzogVCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGtleSBleHRyYWN0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0tleUV4dHJhY3RvcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZ1tdO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdmFsdWUgZXh0cmFjdG9yIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdWYWx1ZUV4dHJhY3RvcjxULCBVPiA9IChjb25maWc6IFQsIGtleTogc3RyaW5nKSA9PiBVIHwgdW5kZWZpbmVkO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gbWVyZ2VyIGZ1bmN0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdNZXJnZXI8VD4gPSAocHJpbWFyeTogVCwgc2Vjb25kYXJ5OiBUKSA9PiBUO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnU2VyaWFsaXplcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGRlc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRGVzZXJpYWxpemVyPFQ+ID0gKHNlcmlhbGl6ZWQ6IHN0cmluZykgPT4gVDtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIGtleSBnZW5lcmF0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlS2V5R2VuZXJhdG9yPFQ+ID0gKGNvbmZpZzogVCkgPT4gc3RyaW5nO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gY2FjaGUgZW50cnkgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlRW50cnk8VD4gPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IFQ7XHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG4gIHR0bD86IG51bWJlcjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdDYWNoZTxUPiA9IE1hcDxzdHJpbmcsIENhY2hlRW50cnk8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0V2ZW50VHlwZSA9ICdsb2FkZWQnIHwgJ3VwZGF0ZWQnIHwgJ2Vycm9yJyB8ICd2YWxpZGF0ZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgaGFuZGxlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRXZlbnRIYW5kbGVyPFQgPSBhbnk+ID0gKGV2ZW50OiBDb25maWdFdmVudFR5cGUsIGRhdGE6IFQpID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBldmVudCBoYW5kbGVyIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY0NvbmZpZ0V2ZW50SGFuZGxlcjxUID0gYW55PiA9IChldmVudDogQ29uZmlnRXZlbnRUeXBlLCBkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gd2F0Y2hlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2F0Y2hlcjxUPiA9IHtcclxuICB3YXRjaDogKGhhbmRsZXI6IENvbmZpZ0V2ZW50SGFuZGxlcjxUPikgPT4gdm9pZDtcclxuICB1bndhdGNoOiAoaGFuZGxlcjogQ29uZmlnRXZlbnRIYW5kbGVyPFQ+KSA9PiB2b2lkO1xyXG4gIHN0b3A6ICgpID0+IHZvaWQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBidWlsZGVyIHBhdHRlcm4gaW50ZXJmYWNlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWdCdWlsZGVyPFQ+IHtcclxuICAvKipcclxuICAgKiBBZGQgYSBjb25maWd1cmF0aW9uIHNvdXJjZS5cclxuICAgKi9cclxuICBhZGRTb3VyY2Uoc291cmNlOiBBbGxDb25maWdTb3VyY2UsIGNvbmZpZzogYW55KTogQ29uZmlnQnVpbGRlcjxUPjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHByZWNlZGVuY2UgcnVsZS5cclxuICAgKi9cclxuICBzZXRQcmVjZWRlbmNlKHJ1bGU6ICdhd3MtZmlyc3QnIHwgJ2xvY2FsLWZpcnN0JyB8ICdtZXJnZScpOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgbmFtZXNwYWNlLlxyXG4gICAqL1xyXG4gIGFkZE5hbWVzcGFjZShuYW1lc3BhY2U6IHN0cmluZyk6IENvbmZpZ0J1aWxkZXI8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB2YWxpZGF0aW9uLlxyXG4gICAqL1xyXG4gIGFkZFZhbGlkYXRpb24odmFsaWRhdG9yOiAoY29uZmlnOiBhbnkpID0+IGJvb2xlYW4pOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBCdWlsZCB0aGUgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBidWlsZCgpOiBUO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmbHVlbnQgQVBJIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRmx1ZW50QVBJPFQ+IHtcclxuICAvKipcclxuICAgKiBGaWx0ZXIgY29uZmlndXJhdGlvbiBieSBwcmVkaWNhdGUuXHJcbiAgICovXHJcbiAgZmlsdGVyKHByZWRpY2F0ZTogQ29uZmlnUHJlZGljYXRlPFQ+KTogQ29uZmlnRmx1ZW50QVBJPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBtYXA8VT4odHJhbnNmb3JtZXI6IENvbmZpZ1RyYW5zZm9ybWVyRm48VCwgVT4pOiBDb25maWdGbHVlbnRBUEk8VT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICovXHJcbiAgdmFsaWRhdGUodmFsaWRhdG9yOiBDb25maWdQcmVkaWNhdGU8VD4pOiBDb25maWdGbHVlbnRBUEk8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZmluYWwgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBnZXQoKTogVDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNBd3NTb3VyY2UgPSAoc291cmNlOiBBbGxDb25maWdTb3VyY2UpOiBzb3VyY2UgaXMgQXdzQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnc2VjcmV0cy1tYW5hZ2VyJyB8fCBzb3VyY2UgPT09ICdzc20nO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGxvY2FsIGNvbmZpZ3VyYXRpb24gc291cmNlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0xvY2FsU291cmNlID0gKHNvdXJjZTogQWxsQ29uZmlnU291cmNlKTogc291cmNlIGlzIExvY2FsQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnZW52aXJvbm1lbnQnIHx8IHNvdXJjZSA9PT0gJ2xvY2FsLWZpbGUnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGNvbmZpZ3VyYXRpb24gd2l0aCBtZXRhZGF0YS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBoYXNNZXRhZGF0YSA9IDxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPihcclxuICBjb25maWc6IGFueVxyXG4pOiBjb25maWcgaXMgQ29uZmlnV2l0aFNvdXJjZTxULCBTPiA9PiB7XHJcbiAgcmV0dXJuIGNvbmZpZyAmJiB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiAnX19tZXRhZGF0YScgaW4gY29uZmlnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIHZhbGlkYXRpb24gcmVzdWx0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRhdGlvblJlc3VsdCA9IDxUPihyZXN1bHQ6IGFueSk6IHJlc3VsdCBpcyBWYWxpZGF0aW9uUmVzdWx0PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgcmVzdWx0ICYmXHJcbiAgICB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJlxyXG4gICAgJ2lzVmFsaWQnIGluIHJlc3VsdCAmJlxyXG4gICAgdHlwZW9mIHJlc3VsdC5pc1ZhbGlkID09PSAnYm9vbGVhbicgJiZcclxuICAgICdlcnJvcnMnIGluIHJlc3VsdCAmJlxyXG4gICAgQXJyYXkuaXNBcnJheShyZXN1bHQuZXJyb3JzKVxyXG4gICk7XHJcbn07XHJcblxyXG4vKipcclxuICogVHlwZSBndWFyZCBmb3IgY2FjaGUgZW50cnkuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDYWNoZUVudHJ5ID0gPFQ+KGVudHJ5OiBhbnkpOiBlbnRyeSBpcyBDYWNoZUVudHJ5PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgZW50cnkgJiZcclxuICAgIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcgJiZcclxuICAgICdrZXknIGluIGVudHJ5ICYmXHJcbiAgICAndmFsdWUnIGluIGVudHJ5ICYmXHJcbiAgICAndGltZXN0YW1wJyBpbiBlbnRyeSAmJlxyXG4gICAgZW50cnkudGltZXN0YW1wIGluc3RhbmNlb2YgRGF0ZVxyXG4gICk7XHJcbn07Il19
@@ -1,124 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var NestConfigAwsIntegrationModule_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.NestConfigAwsIntegrationModule = exports.NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const configuration_factory_provider_1 = require("./providers/configuration-factory.provider");
13
- const aws_configuration_loader_service_1 = require("./providers/aws-configuration-loader.service");
14
- const integration_state_service_1 = require("./services/integration-state.service");
15
- const factory_registration_service_1 = require("./services/factory-registration.service");
16
- const nestjs_config_integration_service_1 = require("./services/nestjs-config-integration.service");
17
- const precedence_handler_service_1 = require("./services/precedence-handler.service");
18
- const async_config_helper_service_1 = require("./services/async-config-helper.service");
19
- const namespace_handler_service_1 = require("./services/namespace-handler.service");
20
- const validation_integration_service_1 = require("./services/validation-integration.service");
21
- /**
22
- * Token for injecting integration options
23
- */
24
- exports.NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS = 'NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS';
25
- /**
26
- * NestJS module for integrating nestjs-config-aws with @nestjs/config.
27
- * This module provides AWS-sourced configuration values to the standard @nestjs/config module.
28
- */
29
- let NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule_1 = class NestConfigAwsIntegrationModule {
30
- /**
31
- * Create a synchronous integration module with provided options.
32
- *
33
- * @param options - Integration options for the module
34
- * @returns Dynamic module configuration
35
- */
36
- static forRoot(options = {}) {
37
- const providers = this.createProviders(options);
38
- return {
39
- module: NestConfigAwsIntegrationModule_1,
40
- providers: [
41
- {
42
- provide: exports.NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS,
43
- useValue: options,
44
- },
45
- ...providers,
46
- ],
47
- exports: [
48
- configuration_factory_provider_1.ConfigurationFactoryProviderImpl,
49
- aws_configuration_loader_service_1.AwsConfigurationLoaderService,
50
- integration_state_service_1.IntegrationStateService,
51
- factory_registration_service_1.FactoryRegistrationService,
52
- nestjs_config_integration_service_1.NestjsConfigIntegrationService,
53
- async_config_helper_service_1.AsyncConfigHelperService,
54
- namespace_handler_service_1.NamespaceHandlerService,
55
- validation_integration_service_1.ValidationIntegrationService,
56
- ],
57
- global: options.registerGlobally !== false,
58
- };
59
- }
60
- /**
61
- * Create an asynchronous integration module with factory-based options.
62
- * Useful when integration options depend on other services or async operations.
63
- *
64
- * @param options - Async integration options with factory function
65
- * @returns Dynamic module configuration
66
- */
67
- static forRootAsync(options) {
68
- const asyncProviders = this.createAsyncProviders(options);
69
- const providers = this.createProviders();
70
- return {
71
- module: NestConfigAwsIntegrationModule_1,
72
- imports: options.imports || [],
73
- providers: [
74
- ...asyncProviders,
75
- ...providers,
76
- ],
77
- exports: [
78
- configuration_factory_provider_1.ConfigurationFactoryProviderImpl,
79
- aws_configuration_loader_service_1.AwsConfigurationLoaderService,
80
- integration_state_service_1.IntegrationStateService,
81
- factory_registration_service_1.FactoryRegistrationService,
82
- nestjs_config_integration_service_1.NestjsConfigIntegrationService,
83
- async_config_helper_service_1.AsyncConfigHelperService,
84
- namespace_handler_service_1.NamespaceHandlerService,
85
- validation_integration_service_1.ValidationIntegrationService,
86
- ],
87
- global: true, // Default to global for async modules
88
- };
89
- }
90
- /**
91
- * Create the standard providers for the integration module.
92
- */
93
- static createProviders(_options) {
94
- return [
95
- configuration_factory_provider_1.ConfigurationFactoryProviderImpl,
96
- aws_configuration_loader_service_1.AwsConfigurationLoaderService,
97
- integration_state_service_1.IntegrationStateService,
98
- precedence_handler_service_1.PrecedenceHandlerService,
99
- factory_registration_service_1.FactoryRegistrationService,
100
- nestjs_config_integration_service_1.NestjsConfigIntegrationService,
101
- async_config_helper_service_1.AsyncConfigHelperService,
102
- namespace_handler_service_1.NamespaceHandlerService,
103
- validation_integration_service_1.ValidationIntegrationService,
104
- ];
105
- }
106
- /**
107
- * Create providers for asynchronous module registration.
108
- */
109
- static createAsyncProviders(options) {
110
- return [
111
- {
112
- provide: exports.NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS,
113
- useFactory: options.useFactory,
114
- inject: options.inject || [],
115
- },
116
- ];
117
- }
118
- };
119
- exports.NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule;
120
- exports.NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule_1 = __decorate([
121
- (0, common_1.Global)(),
122
- (0, common_1.Module)({})
123
- ], NestConfigAwsIntegrationModule);
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vbmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUF5RTtBQUV6RSwrRkFBOEY7QUFDOUYsbUdBQTZGO0FBQzdGLG9GQUErRTtBQUMvRSwwRkFBcUY7QUFDckYsb0dBQThGO0FBQzlGLHNGQUFpRjtBQUNqRix3RkFBa0Y7QUFDbEYsb0ZBQStFO0FBQy9FLDhGQUF5RjtBQUV6Rjs7R0FFRztBQUNVLFFBQUEscUNBQXFDLEdBQUcsdUNBQXVDLENBQUM7QUFFN0Y7OztHQUdHO0FBR0ksSUFBTSw4QkFBOEIsc0NBQXBDLE1BQU0sOEJBQThCO0lBQ3pDOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUE4QixFQUFFO1FBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEQsT0FBTztZQUNMLE1BQU0sRUFBRSxnQ0FBOEI7WUFDdEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSw2Q0FBcUM7b0JBQzlDLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRCxHQUFHLFNBQVM7YUFDYjtZQUNELE9BQU8sRUFBRTtnQkFDUCxpRUFBZ0M7Z0JBQ2hDLGdFQUE2QjtnQkFDN0IsbURBQXVCO2dCQUN2Qix5REFBMEI7Z0JBQzFCLGtFQUE4QjtnQkFDOUIsc0RBQXdCO2dCQUN4QixtREFBdUI7Z0JBQ3ZCLDZEQUE0QjthQUM3QjtZQUNELE1BQU0sRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEtBQUssS0FBSztTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBZ0M7UUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QyxPQUFPO1lBQ0wsTUFBTSxFQUFFLGdDQUE4QjtZQUN0QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsU0FBUzthQUNiO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGlFQUFnQztnQkFDaEMsZ0VBQTZCO2dCQUM3QixtREFBdUI7Z0JBQ3ZCLHlEQUEwQjtnQkFDMUIsa0VBQThCO2dCQUM5QixzREFBd0I7Z0JBQ3hCLG1EQUF1QjtnQkFDdkIsNkRBQTRCO2FBQzdCO1lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxzQ0FBc0M7U0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBNkI7UUFDMUQsT0FBTztZQUNMLGlFQUFnQztZQUNoQyxnRUFBNkI7WUFDN0IsbURBQXVCO1lBQ3ZCLHFEQUF3QjtZQUN4Qix5REFBMEI7WUFDMUIsa0VBQThCO1lBQzlCLHNEQUF3QjtZQUN4QixtREFBdUI7WUFDdkIsNkRBQTRCO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBZ0M7UUFDbEUsT0FBTztZQUNMO2dCQUNFLE9BQU8sRUFBRSw2Q0FBcUM7Z0JBQzlDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtnQkFDOUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRTthQUM3QjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTlGWSx3RUFBOEI7eUNBQTlCLDhCQUE4QjtJQUYxQyxJQUFBLGVBQU0sR0FBRTtJQUNSLElBQUEsZUFBTSxFQUFDLEVBQUUsQ0FBQztHQUNFLDhCQUE4QixDQThGMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBHbG9iYWwsIE1vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcbmltcG9ydCB7IEludGVncmF0aW9uT3B0aW9ucywgQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvaW50ZWdyYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCB9IGZyb20gJy4vcHJvdmlkZXJzL2NvbmZpZ3VyYXRpb24tZmFjdG9yeS5wcm92aWRlcic7XHJcbmltcG9ydCB7IEF3c0NvbmZpZ3VyYXRpb25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvYXdzLWNvbmZpZ3VyYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnRlZ3JhdGlvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZWdyYXRpb24tc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mYWN0b3J5LXJlZ2lzdHJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmVjZWRlbmNlSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByZWNlZGVuY2UtaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc3luYy1jb25maWctaGVscGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbmFtZXNwYWNlLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ZhbGlkYXRpb24taW50ZWdyYXRpb24uc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVG9rZW4gZm9yIGluamVjdGluZyBpbnRlZ3JhdGlvbiBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTkVTVEpTX0NPTkZJR19BV1NfSU5URUdSQVRJT05fT1BUSU9OUyA9ICdORVNUSlNfQ09ORklHX0FXU19JTlRFR1JBVElPTl9PUFRJT05TJztcclxuXHJcbi8qKlxyXG4gKiBOZXN0SlMgbW9kdWxlIGZvciBpbnRlZ3JhdGluZyBuZXN0anMtY29uZmlnLWF3cyB3aXRoIEBuZXN0anMvY29uZmlnLlxyXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBBV1Mtc291cmNlZCBjb25maWd1cmF0aW9uIHZhbHVlcyB0byB0aGUgc3RhbmRhcmQgQG5lc3Rqcy9jb25maWcgbW9kdWxlLlxyXG4gKi9cclxuQEdsb2JhbCgpXHJcbkBNb2R1bGUoe30pXHJcbmV4cG9ydCBjbGFzcyBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN5bmNocm9ub3VzIGludGVncmF0aW9uIG1vZHVsZSB3aXRoIHByb3ZpZGVkIG9wdGlvbnMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBJbnRlZ3JhdGlvbiBvcHRpb25zIGZvciB0aGUgbW9kdWxlXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9ucyA9IHt9KTogRHluYW1pY01vZHVsZSB7XHJcbiAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLmNyZWF0ZVByb3ZpZGVycyhvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2R1bGU6IE5lc3RDb25maWdBd3NJbnRlZ3JhdGlvbk1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkVTVEpTX0NPTkZJR19BV1NfSU5URUdSQVRJT05fT1BUSU9OUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICBdLFxyXG4gICAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwsXHJcbiAgICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgSW50ZWdyYXRpb25TdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgICBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBWYWxpZGF0aW9uSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgICBnbG9iYWw6IG9wdGlvbnMucmVnaXN0ZXJHbG9iYWxseSAhPT0gZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIGFzeW5jaHJvbm91cyBpbnRlZ3JhdGlvbiBtb2R1bGUgd2l0aCBmYWN0b3J5LWJhc2VkIG9wdGlvbnMuXHJcbiAgICogVXNlZnVsIHdoZW4gaW50ZWdyYXRpb24gb3B0aW9ucyBkZXBlbmQgb24gb3RoZXIgc2VydmljZXMgb3IgYXN5bmMgb3BlcmF0aW9ucy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEFzeW5jIGludGVncmF0aW9uIG9wdGlvbnMgd2l0aCBmYWN0b3J5IGZ1bmN0aW9uXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290QXN5bmMob3B0aW9uczogQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMpOiBEeW5hbWljTW9kdWxlIHtcclxuICAgIGNvbnN0IGFzeW5jUHJvdmlkZXJzID0gdGhpcy5jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKTtcclxuICAgIGNvbnN0IHByb3ZpZGVycyA9IHRoaXMuY3JlYXRlUHJvdmlkZXJzKCk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbW9kdWxlOiBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICAgIGltcG9ydHM6IG9wdGlvbnMuaW1wb3J0cyB8fCBbXSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgLi4uYXN5bmNQcm92aWRlcnMsXHJcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICBdLFxyXG4gICAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwsXHJcbiAgICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgSW50ZWdyYXRpb25TdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgICBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBWYWxpZGF0aW9uSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgICBnbG9iYWw6IHRydWUsIC8vIERlZmF1bHQgdG8gZ2xvYmFsIGZvciBhc3luYyBtb2R1bGVzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBzdGFuZGFyZCBwcm92aWRlcnMgZm9yIHRoZSBpbnRlZ3JhdGlvbiBtb2R1bGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlUHJvdmlkZXJzKF9vcHRpb25zPzogSW50ZWdyYXRpb25PcHRpb25zKTogUHJvdmlkZXJbXSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCxcclxuICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgIEludGVncmF0aW9uU3RhdGVTZXJ2aWNlLFxyXG4gICAgICBQcmVjZWRlbmNlSGFuZGxlclNlcnZpY2UsXHJcbiAgICAgIEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBOZXN0anNDb25maWdJbnRlZ3JhdGlvblNlcnZpY2UsXHJcbiAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UsXHJcbiAgICAgIFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UsXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHByb3ZpZGVycyBmb3IgYXN5bmNocm9ub3VzIG1vZHVsZSByZWdpc3RyYXRpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9uczogQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMpOiBQcm92aWRlcltdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBORVNUSlNfQ09ORklHX0FXU19JTlRFR1JBVElPTl9PUFRJT05TLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IG9wdGlvbnMudXNlRmFjdG9yeSxcclxuICAgICAgICBpbmplY3Q6IG9wdGlvbnMuaW5qZWN0IHx8IFtdLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcbn0iXX0=