@dollhousemcp/mcp-server 2.0.0-rc.6 → 2.0.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 (229) hide show
  1. package/CHANGELOG.md +52 -61
  2. package/README.github.md +2 -2
  3. package/README.md +284 -224
  4. package/README.md.backup +284 -224
  5. package/README.npm.md +284 -224
  6. package/dist/cache/LRUCache.d.ts +3 -0
  7. package/dist/cache/LRUCache.d.ts.map +1 -1
  8. package/dist/cache/LRUCache.js +36 -26
  9. package/dist/config/env.d.ts +14 -4
  10. package/dist/config/env.d.ts.map +1 -1
  11. package/dist/config/env.js +20 -6
  12. package/dist/di/Container.d.ts +21 -0
  13. package/dist/di/Container.d.ts.map +1 -1
  14. package/dist/di/Container.js +250 -53
  15. package/dist/elements/BaseElement.d.ts.map +1 -1
  16. package/dist/elements/BaseElement.js +5 -10
  17. package/dist/elements/base/BaseElementManager.d.ts +22 -0
  18. package/dist/elements/base/BaseElementManager.d.ts.map +1 -1
  19. package/dist/elements/base/BaseElementManager.js +47 -7
  20. package/dist/elements/memories/Memory.d.ts +1 -0
  21. package/dist/elements/memories/Memory.d.ts.map +1 -1
  22. package/dist/elements/memories/Memory.js +12 -8
  23. package/dist/elements/memories/MemoryManager.d.ts.map +1 -1
  24. package/dist/elements/memories/MemoryManager.js +23 -42
  25. package/dist/elements/memories/MemorySearchIndex.js +2 -2
  26. package/dist/generated/version.d.ts +2 -2
  27. package/dist/generated/version.d.ts.map +1 -1
  28. package/dist/generated/version.js +3 -3
  29. package/dist/handlers/EnhancedIndexHandler.js +6 -6
  30. package/dist/handlers/element-crud/listElements.d.ts +2 -0
  31. package/dist/handlers/element-crud/listElements.d.ts.map +1 -1
  32. package/dist/handlers/element-crud/listElements.js +3 -1
  33. package/dist/handlers/mcp-aql/Gatekeeper.d.ts.map +1 -1
  34. package/dist/handlers/mcp-aql/Gatekeeper.js +23 -17
  35. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts +14 -0
  36. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
  37. package/dist/handlers/mcp-aql/MCPAQLHandler.js +110 -14
  38. package/dist/handlers/mcp-aql/OperationRouter.d.ts.map +1 -1
  39. package/dist/handlers/mcp-aql/OperationRouter.js +13 -1
  40. package/dist/handlers/mcp-aql/OperationSchema.d.ts +7 -0
  41. package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
  42. package/dist/handlers/mcp-aql/OperationSchema.js +52 -1
  43. package/dist/handlers/mcp-aql/evaluatePermission.d.ts +53 -0
  44. package/dist/handlers/mcp-aql/evaluatePermission.d.ts.map +1 -0
  45. package/dist/handlers/mcp-aql/evaluatePermission.js +132 -0
  46. package/dist/handlers/mcp-aql/policies/ToolClassification.d.ts.map +1 -1
  47. package/dist/handlers/mcp-aql/policies/ToolClassification.js +2 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -3
  50. package/dist/logging/LogHooks.js +11 -11
  51. package/dist/logging/LogManager.d.ts +0 -2
  52. package/dist/logging/LogManager.d.ts.map +1 -1
  53. package/dist/logging/LogManager.js +1 -3
  54. package/dist/logging/sinks/MemoryLogSink.d.ts +2 -0
  55. package/dist/logging/sinks/MemoryLogSink.d.ts.map +1 -1
  56. package/dist/logging/sinks/MemoryLogSink.js +12 -3
  57. package/dist/logging/types.d.ts +0 -2
  58. package/dist/logging/types.d.ts.map +1 -1
  59. package/dist/logging/types.js +1 -1
  60. package/dist/metrics/GatekeeperMetricsTracker.d.ts +32 -0
  61. package/dist/metrics/GatekeeperMetricsTracker.d.ts.map +1 -0
  62. package/dist/metrics/GatekeeperMetricsTracker.js +42 -0
  63. package/dist/metrics/MetricsManager.d.ts +47 -0
  64. package/dist/metrics/MetricsManager.d.ts.map +1 -0
  65. package/dist/metrics/MetricsManager.js +232 -0
  66. package/dist/metrics/OperationMetricsTracker.d.ts +32 -0
  67. package/dist/metrics/OperationMetricsTracker.d.ts.map +1 -0
  68. package/dist/metrics/OperationMetricsTracker.js +53 -0
  69. package/dist/metrics/collectors/DefaultElementProviderCollector.d.ts +27 -0
  70. package/dist/metrics/collectors/DefaultElementProviderCollector.d.ts.map +1 -0
  71. package/dist/metrics/collectors/DefaultElementProviderCollector.js +69 -0
  72. package/dist/metrics/collectors/FileLockManagerCollector.d.ts +16 -0
  73. package/dist/metrics/collectors/FileLockManagerCollector.d.ts.map +1 -0
  74. package/dist/metrics/collectors/FileLockManagerCollector.js +51 -0
  75. package/dist/metrics/collectors/GatekeeperMetricsCollector.d.ts +16 -0
  76. package/dist/metrics/collectors/GatekeeperMetricsCollector.d.ts.map +1 -0
  77. package/dist/metrics/collectors/GatekeeperMetricsCollector.js +76 -0
  78. package/dist/metrics/collectors/LRUCacheCollector.d.ts +18 -0
  79. package/dist/metrics/collectors/LRUCacheCollector.d.ts.map +1 -0
  80. package/dist/metrics/collectors/LRUCacheCollector.js +95 -0
  81. package/dist/metrics/collectors/OperationMetricsCollector.d.ts +16 -0
  82. package/dist/metrics/collectors/OperationMetricsCollector.d.ts.map +1 -0
  83. package/dist/metrics/collectors/OperationMetricsCollector.js +80 -0
  84. package/dist/metrics/collectors/OperationalTelemetryCollector.d.ts +17 -0
  85. package/dist/metrics/collectors/OperationalTelemetryCollector.d.ts.map +1 -0
  86. package/dist/metrics/collectors/OperationalTelemetryCollector.js +26 -0
  87. package/dist/metrics/collectors/PerformanceMonitorCollector.d.ts +14 -0
  88. package/dist/metrics/collectors/PerformanceMonitorCollector.d.ts.map +1 -0
  89. package/dist/metrics/collectors/PerformanceMonitorCollector.js +141 -0
  90. package/dist/metrics/collectors/SecurityMonitorCollector.d.ts +21 -0
  91. package/dist/metrics/collectors/SecurityMonitorCollector.d.ts.map +1 -0
  92. package/dist/metrics/collectors/SecurityMonitorCollector.js +56 -0
  93. package/dist/metrics/collectors/SecurityTelemetryCollector.d.ts +15 -0
  94. package/dist/metrics/collectors/SecurityTelemetryCollector.d.ts.map +1 -0
  95. package/dist/metrics/collectors/SecurityTelemetryCollector.js +112 -0
  96. package/dist/metrics/collectors/TriggerMetricsTrackerCollector.d.ts +16 -0
  97. package/dist/metrics/collectors/TriggerMetricsTrackerCollector.d.ts.map +1 -0
  98. package/dist/metrics/collectors/TriggerMetricsTrackerCollector.js +26 -0
  99. package/dist/metrics/collectors/index.d.ts +11 -0
  100. package/dist/metrics/collectors/index.d.ts.map +1 -0
  101. package/dist/metrics/collectors/index.js +11 -0
  102. package/dist/metrics/sinks/MemoryMetricsSink.d.ts +22 -0
  103. package/dist/metrics/sinks/MemoryMetricsSink.d.ts.map +1 -0
  104. package/dist/metrics/sinks/MemoryMetricsSink.js +121 -0
  105. package/dist/metrics/types.d.ts +98 -0
  106. package/dist/metrics/types.d.ts.map +1 -0
  107. package/dist/metrics/types.js +24 -0
  108. package/dist/portfolio/DefaultElementProvider.d.ts.map +1 -1
  109. package/dist/portfolio/DefaultElementProvider.js +1 -7
  110. package/dist/portfolio/EnhancedIndexManager.d.ts.map +1 -1
  111. package/dist/portfolio/EnhancedIndexManager.js +18 -18
  112. package/dist/portfolio/NLPScoringManager.d.ts.map +1 -1
  113. package/dist/portfolio/NLPScoringManager.js +5 -9
  114. package/dist/portfolio/PortfolioIndexManager.js +2 -2
  115. package/dist/portfolio/RelationshipManager.js +2 -2
  116. package/dist/portfolio/VerbTriggerManager.d.ts.map +1 -1
  117. package/dist/portfolio/VerbTriggerManager.js +5 -19
  118. package/dist/portfolio/config/IndexConfig.d.ts.map +1 -1
  119. package/dist/portfolio/config/IndexConfig.js +1 -12
  120. package/dist/portfolio/enhanced-index/ElementDefinitionBuilder.d.ts.map +1 -1
  121. package/dist/portfolio/enhanced-index/ElementDefinitionBuilder.js +3 -15
  122. package/dist/portfolio/enhanced-index/SemanticRelationshipService.d.ts.map +1 -1
  123. package/dist/portfolio/enhanced-index/SemanticRelationshipService.js +2 -16
  124. package/dist/portfolio/types/RelationshipTypes.d.ts.map +1 -1
  125. package/dist/portfolio/types/RelationshipTypes.js +3 -17
  126. package/dist/security/audit/config/suppressions.d.ts.map +1 -1
  127. package/dist/security/audit/config/suppressions.js +36 -8
  128. package/dist/security/constants.d.ts.map +1 -1
  129. package/dist/security/constants.js +10 -6
  130. package/dist/security/fileLockManager.d.ts.map +1 -1
  131. package/dist/security/fileLockManager.js +8 -6
  132. package/dist/security/secureYamlParser.d.ts.map +1 -1
  133. package/dist/security/secureYamlParser.js +1 -13
  134. package/dist/security/securityMonitor.d.ts +2 -1
  135. package/dist/security/securityMonitor.d.ts.map +1 -1
  136. package/dist/security/securityMonitor.js +14 -3
  137. package/dist/security/telemetry/SecurityTelemetry.d.ts +16 -0
  138. package/dist/security/telemetry/SecurityTelemetry.d.ts.map +1 -1
  139. package/dist/security/telemetry/SecurityTelemetry.js +30 -2
  140. package/dist/security/tokenManager.d.ts +3 -0
  141. package/dist/security/tokenManager.d.ts.map +1 -1
  142. package/dist/security/tokenManager.js +13 -5
  143. package/dist/security/validation/BackgroundValidator.d.ts.map +1 -1
  144. package/dist/security/validation/BackgroundValidator.js +7 -7
  145. package/dist/server/startup.d.ts.map +1 -1
  146. package/dist/server/startup.js +8 -24
  147. package/dist/server/tools/MCPAQLTools.js +4 -1
  148. package/dist/services/ActivationStore.d.ts.map +1 -1
  149. package/dist/services/ActivationStore.js +9 -3
  150. package/dist/services/FileWatchService.d.ts +1 -0
  151. package/dist/services/FileWatchService.d.ts.map +1 -1
  152. package/dist/services/FileWatchService.js +83 -48
  153. package/dist/services/MetadataService.d.ts.map +1 -1
  154. package/dist/services/MetadataService.js +7 -2
  155. package/dist/services/query/ElementQueryService.d.ts.map +1 -1
  156. package/dist/services/query/ElementQueryService.js +1 -41
  157. package/dist/services/query/PaginationService.d.ts.map +1 -1
  158. package/dist/services/query/PaginationService.js +1 -14
  159. package/dist/services/query/SortService.d.ts.map +1 -1
  160. package/dist/services/query/SortService.js +1 -6
  161. package/dist/services/validation/ValidationService.d.ts.map +1 -1
  162. package/dist/services/validation/ValidationService.js +3 -8
  163. package/dist/storage/ElementStorageLayer.d.ts.map +1 -1
  164. package/dist/storage/ElementStorageLayer.js +5 -2
  165. package/dist/storage/MemoryStorageLayer.d.ts.map +1 -1
  166. package/dist/storage/MemoryStorageLayer.js +5 -2
  167. package/dist/telemetry/OperationalTelemetry.js +2 -2
  168. package/dist/utils/EventDeduplicator.d.ts +44 -0
  169. package/dist/utils/EventDeduplicator.d.ts.map +1 -0
  170. package/dist/utils/EventDeduplicator.js +93 -0
  171. package/dist/utils/FileLock.d.ts.map +1 -1
  172. package/dist/utils/FileLock.js +1 -9
  173. package/dist/utils/PerformanceMonitor.d.ts.map +1 -1
  174. package/dist/utils/PerformanceMonitor.js +5 -5
  175. package/dist/utils/SlidingWindowRateLimiter.d.ts +13 -0
  176. package/dist/utils/SlidingWindowRateLimiter.d.ts.map +1 -0
  177. package/dist/utils/SlidingWindowRateLimiter.js +23 -0
  178. package/dist/web/console/IngestRoutes.d.ts +84 -0
  179. package/dist/web/console/IngestRoutes.d.ts.map +1 -0
  180. package/dist/web/console/IngestRoutes.js +252 -0
  181. package/dist/web/console/LeaderElection.d.ts +89 -0
  182. package/dist/web/console/LeaderElection.d.ts.map +1 -0
  183. package/dist/web/console/LeaderElection.js +205 -0
  184. package/dist/web/console/LeaderForwardingSink.d.ts +61 -0
  185. package/dist/web/console/LeaderForwardingSink.d.ts.map +1 -0
  186. package/dist/web/console/LeaderForwardingSink.js +197 -0
  187. package/dist/web/console/SessionNames.d.ts +46 -0
  188. package/dist/web/console/SessionNames.d.ts.map +1 -0
  189. package/dist/web/console/SessionNames.js +257 -0
  190. package/dist/web/console/UnifiedConsole.d.ts +64 -0
  191. package/dist/web/console/UnifiedConsole.d.ts.map +1 -0
  192. package/dist/web/console/UnifiedConsole.js +119 -0
  193. package/dist/web/contentPipeline.d.ts +58 -0
  194. package/dist/web/contentPipeline.d.ts.map +1 -0
  195. package/dist/web/contentPipeline.js +112 -0
  196. package/dist/web/portDiscovery.d.ts +58 -0
  197. package/dist/web/portDiscovery.d.ts.map +1 -0
  198. package/dist/web/portDiscovery.js +143 -0
  199. package/dist/web/public/app.js +148 -60
  200. package/dist/web/public/logs.js +638 -0
  201. package/dist/web/public/metrics.js +682 -0
  202. package/dist/web/public/permissions.js +394 -0
  203. package/dist/web/public/sessions.js +369 -0
  204. package/dist/web/routes/healthRoutes.d.ts +16 -0
  205. package/dist/web/routes/healthRoutes.d.ts.map +1 -0
  206. package/dist/web/routes/healthRoutes.js +29 -0
  207. package/dist/web/routes/logRoutes.d.ts +18 -0
  208. package/dist/web/routes/logRoutes.d.ts.map +1 -0
  209. package/dist/web/routes/logRoutes.js +126 -0
  210. package/dist/web/routes/metricsRoutes.d.ts +17 -0
  211. package/dist/web/routes/metricsRoutes.d.ts.map +1 -0
  212. package/dist/web/routes/metricsRoutes.js +90 -0
  213. package/dist/web/routes/permissionRoutes.d.ts +16 -0
  214. package/dist/web/routes/permissionRoutes.d.ts.map +1 -0
  215. package/dist/web/routes/permissionRoutes.js +133 -0
  216. package/dist/web/routes.d.ts.map +1 -1
  217. package/dist/web/routes.js +309 -339
  218. package/dist/web/server.d.ts +21 -1
  219. package/dist/web/server.d.ts.map +1 -1
  220. package/dist/web/server.js +42 -4
  221. package/dist/web/sinks/WebSSELogSink.d.ts +15 -0
  222. package/dist/web/sinks/WebSSELogSink.d.ts.map +1 -0
  223. package/dist/web/sinks/WebSSELogSink.js +22 -0
  224. package/dist/web/sinks/WebSSEMetricsSink.d.ts +16 -0
  225. package/dist/web/sinks/WebSSEMetricsSink.d.ts.map +1 -0
  226. package/dist/web/sinks/WebSSEMetricsSink.js +23 -0
  227. package/package.json +2 -2
  228. package/server.json +2 -2
  229. package/dist/web/public/public/app.js +0 -1878
@@ -1 +1 @@
1
- {"version":3,"file":"OperationRouter.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,wFAAwF;IACxF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAkXlD,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzE"}
1
+ {"version":3,"file":"OperationRouter.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,wFAAwF;IACxF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA+XlD,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzE"}
@@ -62,6 +62,12 @@ export const OPERATION_ROUTES = {
62
62
  handler: 'Gatekeeper.permissionPrompt',
63
63
  description: 'Evaluate CLI-level permission prompts for non-interactive sessions via --permission-prompt-tool',
64
64
  },
65
+ // Permission evaluation for PreToolUse hooks (interactive sessions, all platforms)
66
+ evaluate_permission: {
67
+ endpoint: 'READ',
68
+ handler: 'Gatekeeper.evaluatePermission',
69
+ description: 'Evaluate CLI permission for a tool via HTTP/hook. Returns platform-formatted response (claude_code, gemini, cursor, windsurf, codex).',
70
+ },
65
71
  // Issue #625 Phase 2: CLI policy visibility
66
72
  get_effective_cli_policies: {
67
73
  endpoint: 'READ',
@@ -349,6 +355,12 @@ export const OPERATION_ROUTES = {
349
355
  handler: 'Logging.query',
350
356
  description: 'Query recent log entries from the in-memory buffer with filtering and pagination',
351
357
  },
358
+ // ===== METRICS operations =====
359
+ query_metrics: {
360
+ endpoint: 'READ',
361
+ handler: 'Metrics.query',
362
+ description: 'Query collected metrics snapshots with filtering by name, source, type, and time range',
363
+ },
352
364
  // ===== ENHANCED INDEX operations =====
353
365
  find_similar_elements: {
354
366
  endpoint: 'READ',
@@ -409,4 +421,4 @@ export function getOperationsForEndpoint(endpoint) {
409
421
  .filter(([_, route]) => route.endpoint === endpoint)
410
422
  .map(([operation, _]) => operation);
411
423
  }
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBeUJIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFtQztJQUM5RCxvRUFBb0U7SUFDcEUsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsa0NBQWtDO0tBQ2hEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsc0NBQXNDO0tBQ3BEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUUsb0RBQW9EO0tBQ2xFO0lBQ0QsdURBQXVEO0lBQ3ZELHNCQUFzQixFQUFFO1FBQ3RCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFdBQVcsRUFBRSw4REFBOEQ7S0FDNUU7SUFDRCwyQ0FBMkM7SUFDM0MsNEVBQTRFO0lBQzVFLG1GQUFtRjtJQUNuRixpRUFBaUU7SUFDakUsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUseURBQXlEO0tBQ3ZFO0lBQ0QsMkVBQTJFO0lBQzNFLDZGQUE2RjtJQUM3Riw2REFBNkQ7SUFDN0QsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLE1BQU07UUFD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LEVBQUUsbURBQW1EO0tBQ2pFO0lBRUQsaUNBQWlDO0lBQ2pDLGNBQWMsRUFBRTtRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsV0FBVyxFQUFFLGtEQUFrRDtLQUNoRTtDQUNPLENBQUM7QUFFWDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDeEMsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsUUFBc0I7SUFDN0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogT3BlcmF0aW9uIFJvdXRlciBmb3IgTUNQLUFRTFxuICpcbiAqIE1hcHMgTUNQIG9wZXJhdGlvbnMgdG8gQ1JVRCBlbmRwb2ludHMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpXG4gKiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBoYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBUaGlzIHJvdXRpbmcgdGFibGUgZW5hYmxlcyB0aGUgdW5pZmllZCBNQ1AtQVFMIGVuZHBvaW50IHRvIGRpc3BhdGNoXG4gKiBvcGVyYXRpb25zIHRvIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVycyBiYXNlZCBvbiB0aGVpciBzZW1hbnRpYyBtZWFuaW5nLlxuICovXG5cbmV4cG9ydCB0eXBlIENSVURFbmRwb2ludCA9ICdDUkVBVEUnIHwgJ1JFQUQnIHwgJ1VQREFURScgfCAnREVMRVRFJyB8ICdFWEVDVVRFJztcblxuLyoqXG4gKiBIYW5kbGVyIHJlZmVyZW5jZSBpbiBkb3Qgbm90YXRpb24gZm9ybWF0OiBcIk1vZHVsZS5tZXRob2RcIlxuICogRXhhbXBsZXM6IFwiRWxlbWVudENSVUQuY3JlYXRlXCIsIFwiTWVtb3J5LmFkZEVudHJ5XCIsIFwiQWdlbnQuZXhlY3V0ZVwiXG4gKlxuICogVGhlIGZvcm1hdCBpcyByZXNvbHZlZCBieSBNQ1BBUUxIYW5kbGVyIHRvIGFjdHVhbCBtYW5hZ2VyIG1ldGhvZCBjYWxscy5cbiAqIEBzZWUgc3JjL2hhbmRsZXJzL21jcC1hcWwvTUNQQVFMSGFuZGxlci50cyBmb3IgcmVzb2x1dGlvbiBsb2dpY1xuICovXG5leHBvcnQgdHlwZSBIYW5kbGVyUmVmZXJlbmNlID0gYCR7c3RyaW5nfS4ke3N0cmluZ31gO1xuXG4vKipcbiAqIFJvdXRlIGRlZmluaXRpb24gZm9yIGFuIE1DUCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25Sb3V0ZSB7XG4gIC8qKiBDUlVEIGVuZHBvaW50IHRoaXMgb3BlcmF0aW9uIG1hcHMgdG8gKi9cbiAgZW5kcG9pbnQ6IENSVURFbmRwb2ludDtcbiAgLyoqIEhhbmRsZXIgbWV0aG9kIHJlc3BvbnNpYmxlIGZvciBleGVjdXRpbmcgdGhpcyBvcGVyYXRpb24gKGZvcm1hdDogXCJNb2R1bGUubWV0aG9kXCIpICovXG4gIGhhbmRsZXI6IEhhbmRsZXJSZWZlcmVuY2U7XG4gIC8qKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgb3BlcmF0aW9uIGRvZXMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tcGxldGUgbWFwcGluZyBvZiBNQ1Agb3BlcmF0aW9ucyB0byB0aGVpciBDUlVERSBlbmRwb2ludHMgYW5kIGhhbmRsZXJzLlxuICpcbiAqIEVuZHBvaW50IHNlbWFudGljcyAoQ1JVREUgPSBDUlVEICsgRXhlY3V0ZSk6XG4gKiAtIENSRUFURTogT3BlcmF0aW9ucyB0aGF0IGNyZWF0ZSBuZXcgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKVxuICogLSBSRUFEOiBPcGVyYXRpb25zIHRoYXQgb25seSByZWFkIGV4aXN0aW5nIHN0YXRlIChyZWFkT25seTogdHJ1ZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKVxuICogLSBVUERBVEU6IE9wZXJhdGlvbnMgdGhhdCBtb2RpZnkgZXhpc3Rpbmcgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IHRydWUpXG4gKiAtIERFTEVURTogT3BlcmF0aW9ucyB0aGF0IHJlbW92ZSBzdGF0ZSAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSlcbiAqIC0gRVhFQ1VURTogT3BlcmF0aW9ucyBmb3IgcnVudGltZSBleGVjdXRpb24gbGlmZWN5Y2xlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiBmYWxzZSwgc3RhdGVmdWw6IHRydWUpXG4gKi9cbmV4cG9ydCBjb25zdCBPUEVSQVRJT05fUk9VVEVTOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25Sb3V0ZT4gPSB7XG4gIC8vID09PT09IENSRUFURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogZmFsc2UpID09PT09XG4gIGNyZWF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5jcmVhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlIGEgbmV3IGVsZW1lbnQgb2YgYW55IHR5cGUnLFxuICB9LFxuICBpbXBvcnRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuaW1wb3J0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0ltcG9ydCBhbiBlbGVtZW50IGZyb20gZXhwb3J0ZWQgZGF0YScsXG4gIH0sXG4gIGFkZEVudHJ5OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdNZW1vcnkuYWRkRW50cnknLFxuICAgIGRlc2NyaXB0aW9uOiAnQWRkIGEgbmV3IGVudHJ5IHRvIGEgbWVtb3J5IGVsZW1lbnQnLFxuICB9LFxuICBhY3RpdmF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQWN0aXZhdGlvbi5hY3RpdmF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdBY3RpdmF0ZSBhbiBlbGVtZW50IGZvciB1c2UgaW4gdGhlIGN1cnJlbnQgc2Vzc2lvbicsXG4gIH0sXG4gIC8vIElzc3VlICM3NzQ6IE9wZW4gcG9ydGZvbGlvIGJyb3dzZXIgaW4gc3lzdGVtIGJyb3dzZXJcbiAgb3Blbl9wb3J0Zm9saW9fYnJvd3Nlcjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0Jyb3dzZXIub3BlbicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFydCB0aGUgcG9ydGZvbGlvIHdlYiBVSSBhbmQgb3BlbiBpdCBpbiB0aGUgc3lzdGVtIGJyb3dzZXInLFxuICB9LFxuICAvLyBJc3N1ZSAjNDUyOiBHYXRla2VlcGVyIGNvbmZpcm1hdGlvbiBmbG93XG4gIC8vIFJvdXRlZCB0aHJvdWdoIEVYRUNVVEUgc28gTUNQIGNsaWVudHMgY2FuIGdhdGUgaXQgc2VwYXJhdGVseSBmcm9tIENSRUFURS5cbiAgLy8gY29uZmlybV9vcGVyYXRpb24gaXMgbm9uLWlkZW1wb3RlbnQgYW5kIGFjdHMgYXMgYSBodW1hbi1pbi10aGUtbG9vcCBjaGVja3BvaW50IOKAlFxuICAvLyBpdCBtdXN0IG5vdCBzaWxlbnRseSBhdXRvLWFwcHJvdmUgd2hlbiBvbmx5IENSRUFURSBpcyBhbGxvd2VkLlxuICBjb25maXJtX29wZXJhdGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuY29uZmlybScsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIGEgcGVuZGluZyBvcGVyYXRpb24gdGhhdCByZXF1aXJlcyB1c2VyIGFwcHJvdmFsJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNTogQ0xJLWxldmVsIHBlcm1pc3Npb24gZGVsZWdhdGlvbiB2aWEgLS1wZXJtaXNzaW9uLXByb21wdC10b29sXG4gIC8vIElzc3VlICM2NDc6IE1vdmVkIHRvIFJFQUQg4oCUIHRoaXMgaXMgYSBwb2xpY3kgZXZhbHVhdGlvbiAocmVhZC1vbmx5KSwgbm90IGEgc3RhdGUgbXV0YXRpb24uXG4gIC8vIEVuYWJsZXMgLS1wZXJtaXNzaW9uLXByb21wdC10b29sIHRvIHBvaW50IGF0IG1jcF9hcWxfcmVhZC5cbiAgcGVybWlzc2lvbl9wcm9tcHQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLnBlcm1pc3Npb25Qcm9tcHQnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXZhbHVhdGUgQ0xJLWxldmVsIHBlcm1pc3Npb24gcHJvbXB0cyBmb3Igbm9uLWludGVyYWN0aXZlIHNlc3Npb25zIHZpYSAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2wnLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1IFBoYXNlIDI6IENMSSBwb2xpY3kgdmlzaWJpbGl0eVxuICBnZXRfZWZmZWN0aXZlX2NsaV9wb2xpY2llczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuZ2V0RWZmZWN0aXZlQ2xpUG9saWNpZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGVmZmVjdGl2ZSBDTEkgcGVybWlzc2lvbiBwb2xpY2llcyBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbiAoSXNzdWUgIzYyNSBQaGFzZSAyKScsXG4gIH0sXG4gIC8vIElzc3VlICM2MjUgUGhhc2UgMzogQ0xJIGFwcHJvdmFsIHdvcmtmbG93XG4gIGFwcHJvdmVfY2xpX3Blcm1pc3Npb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmFwcHJvdmVDbGlQZXJtaXNzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FwcHJvdmUgYSBwZW5kaW5nIENMSSB0b29sIHBlcm1pc3Npb24gcmVxdWVzdCAoSXNzdWUgIzYyNSBQaGFzZSAzKScsXG4gIH0sXG4gIGdldF9wZW5kaW5nX2NsaV9hcHByb3ZhbHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmdldFBlbmRpbmdDbGlBcHByb3ZhbHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHBlbmRpbmcgQ0xJIHRvb2wgYXBwcm92YWwgcmVxdWVzdHMgZm9yIHRoaXMgc2Vzc2lvbiAoSXNzdWUgIzYyNSBQaGFzZSAzKScsXG4gIH0sXG4gIC8vIElzc3VlICMxNDI6IERhbmdlciB6b25lIHZlcmlmaWNhdGlvbiBmbG93XG4gIHZlcmlmeV9jaGFsbGVuZ2U6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIudmVyaWZ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1N1Ym1pdCB2ZXJpZmljYXRpb24gY29kZSB0byB1bmJsb2NrIGEgZGFuZ2VyIHpvbmUgb3BlcmF0aW9uJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzUwMzogQmVldGxlanVpY2Ugc2FmZS10cmlnZ2VyIGZvciBkYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gdGVzdGluZ1xuICBiZWV0bGVqdWljZV9iZWV0bGVqdWljZV9iZWV0bGVqdWljZToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5iZWV0bGVqdWljZScsXG4gICAgZGVzY3JpcHRpb246ICdTYWZlLXRyaWdnZXIgdGhlIGZ1bGwgZGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uIHBpcGVsaW5lIGZvciB0ZXN0aW5nIHB1cnBvc2VzJyxcbiAgfSxcblxuICAvLyA9PT09PSBSRUFEIGVuZHBvaW50IChyZWFkT25seTogdHJ1ZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKSA9PT09PVxuICAvLyBVbmlmaWVkIHNlYXJjaCBvcGVyYXRpb24gKElzc3VlICMyNDMpXG4gIHNlYXJjaDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1VuaWZpZWRTZWFyY2guc2VhcmNoJyxcbiAgICBkZXNjcmlwdGlvbjogJ1VuaWZpZWQgc2VhcmNoIGFjcm9zcyBsb2NhbCwgR2l0SHViLCBhbmQgY29sbGVjdGlvbiBzb3VyY2VzIHdpdGggc2NvcGUgcGFyYW1ldGVyJyxcbiAgfSxcbiAgbGlzdF9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmxpc3QnLFxuICAgIGRlc2NyaXB0aW9uOiAnTGlzdCBlbGVtZW50cyB3aXRoIHBhZ2luYXRpb24gKGRlZmF1bHQgMjAvcGFnZSksIGZpbHRlcmluZywgc29ydGluZywgYW5kIGNvdW50IGFnZ3JlZ2F0aW9uLiBSZXR1cm5zIHN0cnVjdHVyZWQgSlNPTi4nLFxuICB9LFxuICBnZXRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmdldCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYW4gZWxlbWVudCBieSBuYW1lIGFuZCB0eXBlLCByZXR1cm5pbmcgZnVsbCBjb250ZW50IGFuZCBtZXRhZGF0YScsXG4gIH0sXG4gIGdldF9lbGVtZW50X2RldGFpbHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5nZXREZXRhaWxzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGVsZW1lbnQnLFxuICB9LFxuICBzZWFyY2hfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdTZWFyY2guc2VhcmNoJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Z1bGwtdGV4dCBzZWFyY2ggYWNyb3NzIGVsZW1lbnQgbmFtZXMsIGRlc2NyaXB0aW9ucywgYW5kIGNvbnRlbnQuIFJldHVybnMgc3RydWN0dXJlZCBKU09OIHdpdGggcGFnaW5hdGlvbi4nLFxuICB9LFxuICBxdWVyeV9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1NlYXJjaC5xdWVyeScsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSBlbGVtZW50cyB3aXRoIGZpbHRlcnMsIHNvcnRpbmcsIHBhZ2luYXRpb24sIGFuZCBjb3VudCBhZ2dyZWdhdGlvbi4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT04uJyxcbiAgfSxcbiAgZ2V0X2FjdGl2ZV9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0FjdGl2YXRpb24uZ2V0QWN0aXZlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbGwgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50cyB3aXRoIHJlbmRlcmVkIGNvbnRlbnQsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgdHlwZScsXG4gIH0sXG4gIHZhbGlkYXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC52YWxpZGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdWYWxpZGF0ZSBhbiBleGlzdGluZyBlbGVtZW50IGJ5IG5hbWUnLFxuICB9LFxuICByZW5kZXI6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdUZW1wbGF0ZS5yZW5kZXInLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVuZGVyIGEgdGVtcGxhdGUgd2l0aCBwcm92aWRlZCB2YXJpYWJsZXMnLFxuICB9LFxuICBleHBvcnRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmV4cG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdFeHBvcnQgYW4gZWxlbWVudCB0byBhIHBvcnRhYmxlIGZvcm1hdCcsXG4gIH0sXG4gIGRlYWN0aXZhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0FjdGl2YXRpb24uZGVhY3RpdmF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWFjdGl2YXRlIGFuIGVsZW1lbnQsIHJlbW92aW5nIGl0IGZyb20gdGhlIGN1cnJlbnQgc2Vzc2lvbicsXG4gIH0sXG4gIGludHJvc3BlY3Q6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdJbnRyb3NwZWN0aW9uLnJlc29sdmUnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgYXZhaWxhYmxlIG9wZXJhdGlvbnMgYW5kIHR5cGVzIGZvciBkaXNjb3ZlcnknLFxuICB9LFxuXG4gIC8vID09PT09IFVQREFURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZWRpdF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5lZGl0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0VkaXQgYSBzaW5nbGUgZmllbGQgb24gYW4gZWxlbWVudCcsXG4gIH0sXG4gIHVwZ3JhZGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnVVBEQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQudXBncmFkZScsXG4gICAgZGVzY3JpcHRpb246ICdVcGdyYWRlIGVsZW1lbnQgZnJvbSB2MSBzaW5nbGUtYm9keSB0byB2MiBkdWFsLWZpZWxkIGZvcm1hdCAoaW5zdHJ1Y3Rpb25zICsgY29udGVudCknLFxuICB9LFxuXG4gIC8vID09PT09IERFTEVURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZGVsZXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ0RFTEVURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmRlbGV0ZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWxldGUgYW4gZWxlbWVudCcsXG4gIH0sXG4gIGNsZWFyOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdNZW1vcnkuY2xlYXInLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2xlYXIgYWxsIGVudHJpZXMgZnJvbSBhIG1lbW9yeSBlbGVtZW50IChpcnJldmVyc2libGUpJyxcbiAgfSxcblxuICAvLyA9PT09PSBFWEVDVVRFIGVuZHBvaW50IChydW50aW1lIGV4ZWN1dGlvbiBsaWZlY3ljbGUpID09PT09XG4gIC8vIFRoZXNlIG9wZXJhdGlvbnMgbWFuYWdlIHRoZSBleGVjdXRpb24gbGlmZWN5Y2xlIG9mIGV4ZWN1dGFibGUgZWxlbWVudHNcbiAgLy8gKGFnZW50cywgd29ya2Zsb3dzLCBwaXBlbGluZXMpLiBVbmxpa2UgQ1JVRCB3aGljaCBtYW5hZ2VzIGRlZmluaXRpb25zLFxuICAvLyBFWEVDVVRFIG1hbmFnZXMgcnVudGltZSBzdGF0ZSBhbmQgaXMgaW5oZXJlbnRseSBub24taWRlbXBvdGVudC5cbiAgZXhlY3V0ZV9hZ2VudDoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZXhlY3V0ZScsXG4gICAgZGVzY3JpcHRpb246ICdTdGFydCBleGVjdXRpb24gb2YgYW4gYWdlbnQgb3IgZXhlY3V0YWJsZSBlbGVtZW50JyxcbiAgfSxcbiAgZ2V0X2V4ZWN1dGlvbl9zdGF0ZToge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZ2V0U3RhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY3VycmVudCBleGVjdXRpb24gc3RhdGUgaW5jbHVkaW5nIHByb2dyZXNzIGFuZCBmaW5kaW5ncycsXG4gIH0sXG4gIHJlY29yZF9leGVjdXRpb25fc3RlcDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS51cGRhdGVTdGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdSZWNvcmQgZXhlY3V0aW9uIHByb2dyZXNzLCBzdGVwIGNvbXBsZXRpb24sIG9yIGZpbmRpbmdzLiBSZXR1cm5zIGF1dG9ub215IGRpcmVjdGl2ZSB3aXRoIGNvbnRpbnVlL3BhdXNlIGRlY2lzaW9uIGFuZCBub3RpZmljYXRpb25zLicsXG4gIH0sXG4gIGNvbXBsZXRlX2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuY29tcGxldGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2lnbmFsIHRoYXQgZXhlY3V0aW9uIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHN1bW1hcnknLFxuICB9LFxuICBjb250aW51ZV9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLmNvbnRpbnVlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBleGVjdXRpb24gZnJvbSBzYXZlZCBzdGF0ZScsXG4gIH0sXG4gIGFib3J0X2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuYWJvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWJvcnQgYSBydW5uaW5nIGFnZW50IGV4ZWN1dGlvbiwgcmVqZWN0aW5nIGZ1cnRoZXIgb3BlcmF0aW9ucyBmb3IgdGhlIGdvYWxJZCcsXG4gIH0sXG4gIGdldF9nYXRoZXJlZF9kYXRhOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5nZXRHYXRoZXJlZERhdGEnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFnZ3JlZ2F0ZWQgZXhlY3V0aW9uIGRhdGEgKHN0ZXBzLCBkZWNpc2lvbnMsIGZpbmRpbmdzLCBhbmQgc3VtbWFyeSBzdGF0aXN0aWNzKSBmb3IgYSBzcGVjaWZpYyBnb2FsLiBVc2UgYWZ0ZXIgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwIGNhbGxzIHRvIHJldmlldyBwcm9ncmVzcy4nLFxuICB9LFxuICBwcmVwYXJlX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnByZXBhcmVIYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1ByZXBhcmUgYSBzZXNzaW9uIGhhbmRvZmYgcGFja2FnZTogc2VyaWFsaXplcyBnb2FsIHByb2dyZXNzLCBnYXRoZXJlZCBkYXRhLCBhbmQgYWN0aXZlIGVsZW1lbnRzIGludG8gYSBjb21wcmVzc2VkLCBpbnRlZ3JpdHktY2hlY2tlZCBibG9jayB0aGF0IGNhbiBiZSBjb3B5LXBhc3RlZCB0byByZXN1bWUgaW4gYW5vdGhlciBzZXNzaW9uLicsXG4gIH0sXG4gIHJlc3VtZV9mcm9tX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnJlc3VtZUZyb21IYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBhZ2VudCBleGVjdXRpb24gZnJvbSBhIGhhbmRvZmYgYmxvY2suIFZhbGlkYXRlcyBpbnRlZ3JpdHksIHZlcmlmaWVzIGFnZW50IG5hbWUgbWF0Y2gsIHJlc3RvcmVzIGNvbnRleHQsIGFuZCBjb250aW51ZXMgZXhlY3V0aW9uIHdpdGggY2FsbGVyLXN1cHBsaWVkIHBhcmFtZXRlcnMuJyxcbiAgfSxcblxuICAvLyA9PT09PSBDT0xMRUNUSU9OIG9wZXJhdGlvbnMgPT09PT1cbiAgYnJvd3NlX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLmJyb3dzZScsXG4gICAgZGVzY3JpcHRpb246ICdCcm93c2UgdGhlIERvbGxob3VzZU1DUCBjb21tdW5pdHkgY29sbGVjdGlvbiBieSBzZWN0aW9uIGFuZCB0eXBlJyxcbiAgfSxcbiAgc2VhcmNoX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggdGhlIGNvbW11bml0eSBjb2xsZWN0aW9uIGZvciBlbGVtZW50cyBieSBrZXl3b3JkcycsXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zZWFyY2hFbmhhbmNlZCcsXG4gICAgZGVzY3JpcHRpb246ICdBZHZhbmNlZCBzZWFyY2ggd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIGFuZCBzb3J0aW5nJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbGxlY3Rpb24uZ2V0Q29udGVudCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY29udGVudCBmcm9tIHRoZSBjb2xsZWN0aW9uJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY2FjaGVfaGVhbHRoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5nZXRDYWNoZUhlYWx0aCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgaGVhbHRoIHN0YXR1cyBhbmQgc3RhdGlzdGljcyBmb3IgdGhlIGNvbGxlY3Rpb24gY2FjaGUnLFxuICB9LFxuICBpbnN0YWxsX2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5pbnN0YWxsJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgYW4gZWxlbWVudCBmcm9tIHRoZSBjb2xsZWN0aW9uIHRvIHlvdXIgbG9jYWwgcG9ydGZvbGlvJyxcbiAgfSxcbiAgc3VibWl0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zdWJtaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IGEgbG9jYWwgZWxlbWVudCB0byB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gdmlhIEdpdEh1YicsXG4gIH0sXG5cbiAgLy8gPT09PT0gUE9SVEZPTElPIG9wZXJhdGlvbnMgPT09PT1cbiAgcG9ydGZvbGlvX3N0YXR1czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zdGF0dXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgR2l0SHViIHBvcnRmb2xpbyByZXBvc2l0b3J5IHN0YXR1cyBhbmQgZWxlbWVudCBjb3VudHMnLFxuICB9LFxuICBwb3J0Zm9saW9fY29uZmlnOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmNvbmZpZycsXG4gICAgZGVzY3JpcHRpb246ICdDb25maWd1cmUgcG9ydGZvbGlvIHNldHRpbmdzIChhdXRvLXN5bmMsIHZpc2liaWxpdHksIGV0Yy4pJyxcbiAgfSxcbiAgc2VhcmNoX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2gnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGxvY2FsIHBvcnRmb2xpbyBieSBjb250ZW50IG5hbWUsIGtleXdvcmRzLCBvciB0YWdzJyxcbiAgfSxcbiAgc2VhcmNoX2FsbDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2hBbGwnLFxuICAgIGRlc2NyaXB0aW9uOiAnVW5pZmllZCBzZWFyY2ggYWNyb3NzIGxvY2FsLCBHaXRIdWIsIGFuZCBjb2xsZWN0aW9uIHNvdXJjZXMnLFxuICB9LFxuICBpbml0X3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmluaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5pdGlhbGl6ZSBhIG5ldyBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnknLFxuICB9LFxuICBzeW5jX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnN5bmMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3luYyBsb2NhbCBwb3J0Zm9saW8gd2l0aCBHaXRIdWIgcmVwb3NpdG9yeScsXG4gIH0sXG4gIHBvcnRmb2xpb19lbGVtZW50X21hbmFnZXI6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5lbGVtZW50TWFuYWdlcicsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgaW5kaXZpZHVhbCBlbGVtZW50cyBiZXR3ZWVuIGxvY2FsIGFuZCBHaXRIdWInLFxuICB9LFxuXG4gIC8vID09PT09IEFVVEggb3BlcmF0aW9ucyA9PT09PVxuICBzZXR1cF9naXRodWJfYXV0aDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5zZXR1cCcsXG4gICAgZGVzY3JpcHRpb246ICdTZXQgdXAgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGRldmljZSBmbG93JyxcbiAgfSxcbiAgY2hlY2tfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNoZWNrJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIGN1cnJlbnQgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHN0YXR1cycsXG4gIH0sXG4gIGNsZWFyX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNsZWFyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlbW92ZSBHaXRIdWIgYXV0aGVudGljYXRpb24gYW5kIGRpc2Nvbm5lY3QnLFxuICB9LFxuICBjb25maWd1cmVfb2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0F1dGguY29uZmlndXJlT0F1dGgnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJlIEdpdEh1YiBPQXV0aCBjbGllbnQgSUQnLFxuICB9LFxuICBvYXV0aF9oZWxwZXJfc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5vYXV0aEhlbHBlclN0YXR1cycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBhYm91dCBPQXV0aCBoZWxwZXIgcHJvY2VzcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gQ09ORklHIG9wZXJhdGlvbnMgPT09PT1cbiAgZG9sbGhvdXNlX2NvbmZpZzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5tYW5hZ2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnTWFuYWdlIERvbGxob3VzZU1DUCBjb25maWd1cmF0aW9uIHNldHRpbmdzJyxcbiAgfSxcbiAgY29udmVydF9za2lsbF9mb3JtYXQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuY29udmVydFNraWxsRm9ybWF0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnZlcnQgYmV0d2VlbiBjdXJyZW50IEFnZW50IFNraWxsIGFuZCBEb2xsaG91c2UgU2tpbGwgZm9ybWF0cyB3aXRoIHN0cnVjdHVyZWQgd2FybmluZ3MgYW5kIHJvdW5kdHJpcCBzdXBwb3J0JyxcbiAgfSxcbiAgZ2V0X2J1aWxkX2luZm86IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0QnVpbGRJbmZvJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBjb21wcmVoZW5zaXZlIGJ1aWxkIGFuZCBydW50aW1lIGluZm9ybWF0aW9uJyxcbiAgfSxcbiAgZ2V0X2NhY2hlX2J1ZGdldF9yZXBvcnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0Q2FjaGVCdWRnZXRSZXBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGdsb2JhbCBjYWNoZSBtZW1vcnkgYnVkZ2V0IHJlcG9ydCB3aXRoIHBlci1jYWNoZSBkaWFnbm9zdGljcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gTE9HR0lORyBvcGVyYXRpb25zID09PT09XG4gIHF1ZXJ5X2xvZ3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdMb2dnaW5nLnF1ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IHJlY2VudCBsb2cgZW50cmllcyBmcm9tIHRoZSBpbi1tZW1vcnkgYnVmZmVyIHdpdGggZmlsdGVyaW5nIGFuZCBwYWdpbmF0aW9uJyxcbiAgfSxcblxuICAvLyA9PT09PSBFTkhBTkNFRCBJTkRFWCBvcGVyYXRpb25zID09PT09XG4gIGZpbmRfc2ltaWxhcl9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguZmluZFNpbWlsYXInLFxuICAgIGRlc2NyaXB0aW9uOiAnRmluZCBzZW1hbnRpY2FsbHkgc2ltaWxhciBlbGVtZW50cyB1c2luZyBOTFAgc2NvcmluZycsXG4gIH0sXG4gIGdldF9lbGVtZW50X3JlbGF0aW9uc2hpcHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbmhhbmNlZEluZGV4LmdldFJlbGF0aW9uc2hpcHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCByZWxhdGlvbnNoaXBzIGZvciBhIHNwZWNpZmljIGVsZW1lbnQnLFxuICB9LFxuICBzZWFyY2hfYnlfdmVyYjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguc2VhcmNoQnlWZXJiJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NlYXJjaCBmb3IgZWxlbWVudHMgdGhhdCBoYW5kbGUgYSBzcGVjaWZpYyBhY3Rpb24gdmVyYicsXG4gIH0sXG4gIGdldF9yZWxhdGlvbnNoaXBfc3RhdHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbmhhbmNlZEluZGV4LmdldFN0YXRzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBzdGF0aXN0aWNzIGFib3V0IEVuaGFuY2VkIEluZGV4IHJlbGF0aW9uc2hpcHMnLFxuICB9LFxuXG4gIC8vID09PT09IFBFUlNPTkEgb3BlcmF0aW9ucyA9PT09PVxuICBpbXBvcnRfcGVyc29uYToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUGVyc29uYS5pbXBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW1wb3J0IGEgcGVyc29uYSBmcm9tIGEgZmlsZSBwYXRoIG9yIEpTT04gc3RyaW5nJyxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogR2V0IHRoZSByb3V0ZSBkZWZpbml0aW9uIGZvciBhIGdpdmVuIG9wZXJhdGlvbiBuYW1lLlxuICpcbiAqIEBwYXJhbSBvcGVyYXRpb24gLSBUaGUgb3BlcmF0aW9uIG5hbWUgKGUuZy4sICdjcmVhdGVfZWxlbWVudCcsICdsaXN0X2VsZW1lbnRzJylcbiAqIEByZXR1cm5zIFRoZSByb3V0ZSBkZWZpbml0aW9uLCBvciB1bmRlZmluZWQgaWYgdGhlIG9wZXJhdGlvbiBpcyBub3QgZm91bmRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgcm91dGUgPSBnZXRSb3V0ZSgnY3JlYXRlX2VsZW1lbnQnKTtcbiAqIC8vIHsgZW5kcG9pbnQ6ICdDUkVBVEUnLCBoYW5kbGVyOiAnRWxlbWVudENSVUQuY3JlYXRlJywgZGVzY3JpcHRpb246ICcuLi4nIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um91dGUob3BlcmF0aW9uOiBzdHJpbmcpOiBPcGVyYXRpb25Sb3V0ZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBPUEVSQVRJT05fUk9VVEVTW29wZXJhdGlvbl07XG59XG5cbi8qKlxuICogR2V0IGFsbCBvcGVyYXRpb25zIHRoYXQgbWFwIHRvIGEgc3BlY2lmaWMgQ1JVRCBlbmRwb2ludC5cbiAqXG4gKiBAcGFyYW0gZW5kcG9pbnQgLSBUaGUgQ1JVRCBlbmRwb2ludCAoJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnKVxuICogQHJldHVybnMgQXJyYXkgb2Ygb3BlcmF0aW9uIG5hbWVzIHRoYXQgbWFwIHRvIHRoaXMgZW5kcG9pbnRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY3JlYXRlT3BzID0gZ2V0T3BlcmF0aW9uc0ZvckVuZHBvaW50KCdDUkVBVEUnKTtcbiAqIC8vIFsnY3JlYXRlX2VsZW1lbnQnLCAnaW1wb3J0X2VsZW1lbnQnLCAnYWRkRW50cnknXVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcGVyYXRpb25zRm9yRW5kcG9pbnQoZW5kcG9pbnQ6IENSVURFbmRwb2ludCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKE9QRVJBVElPTl9ST1VURVMpXG4gICAgLmZpbHRlcigoW18sIHJvdXRlXSkgPT4gcm91dGUuZW5kcG9pbnQgPT09IGVuZHBvaW50KVxuICAgIC5tYXAoKFtvcGVyYXRpb24sIF9dKSA9PiBvcGVyYXRpb24pO1xufVxuIl19
424
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBeUJIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFtQztJQUM5RCxvRUFBb0U7SUFDcEUsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsa0NBQWtDO0tBQ2hEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsc0NBQXNDO0tBQ3BEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUUsb0RBQW9EO0tBQ2xFO0lBQ0QsdURBQXVEO0lBQ3ZELHNCQUFzQixFQUFFO1FBQ3RCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFdBQVcsRUFBRSw4REFBOEQ7S0FDNUU7SUFDRCwyQ0FBMkM7SUFDM0MsNEVBQTRFO0lBQzVFLG1GQUFtRjtJQUNuRixpRUFBaUU7SUFDakUsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUseURBQXlEO0tBQ3ZFO0lBQ0QsMkVBQTJFO0lBQzNFLDZGQUE2RjtJQUM3Riw2REFBNkQ7SUFDN0QsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLE1BQU07UUFD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TyxFQUFFLGdDQUFnQztRQUN6QyxXQUFXLEVBQUUsOENBQThDO0tBQzVEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtRQUNyQyxXQUFXLEVBQUUsd0RBQXdEO0tBQ3RFO0lBQ0Qsc0JBQXNCLEVBQUU7UUFDdEIsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxXQUFXLEVBQUUsbURBQW1EO0tBQ2pFO0lBRUQsaUNBQWlDO0lBQ2pDLGNBQWMsRUFBRTtRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsV0FBVyxFQUFFLGtEQUFrRDtLQUNoRTtDQUNPLENBQUM7QUFFWDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDeEMsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsUUFBc0I7SUFDN0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogT3BlcmF0aW9uIFJvdXRlciBmb3IgTUNQLUFRTFxuICpcbiAqIE1hcHMgTUNQIG9wZXJhdGlvbnMgdG8gQ1JVRCBlbmRwb2ludHMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpXG4gKiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBoYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBUaGlzIHJvdXRpbmcgdGFibGUgZW5hYmxlcyB0aGUgdW5pZmllZCBNQ1AtQVFMIGVuZHBvaW50IHRvIGRpc3BhdGNoXG4gKiBvcGVyYXRpb25zIHRvIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVycyBiYXNlZCBvbiB0aGVpciBzZW1hbnRpYyBtZWFuaW5nLlxuICovXG5cbmV4cG9ydCB0eXBlIENSVURFbmRwb2ludCA9ICdDUkVBVEUnIHwgJ1JFQUQnIHwgJ1VQREFURScgfCAnREVMRVRFJyB8ICdFWEVDVVRFJztcblxuLyoqXG4gKiBIYW5kbGVyIHJlZmVyZW5jZSBpbiBkb3Qgbm90YXRpb24gZm9ybWF0OiBcIk1vZHVsZS5tZXRob2RcIlxuICogRXhhbXBsZXM6IFwiRWxlbWVudENSVUQuY3JlYXRlXCIsIFwiTWVtb3J5LmFkZEVudHJ5XCIsIFwiQWdlbnQuZXhlY3V0ZVwiXG4gKlxuICogVGhlIGZvcm1hdCBpcyByZXNvbHZlZCBieSBNQ1BBUUxIYW5kbGVyIHRvIGFjdHVhbCBtYW5hZ2VyIG1ldGhvZCBjYWxscy5cbiAqIEBzZWUgc3JjL2hhbmRsZXJzL21jcC1hcWwvTUNQQVFMSGFuZGxlci50cyBmb3IgcmVzb2x1dGlvbiBsb2dpY1xuICovXG5leHBvcnQgdHlwZSBIYW5kbGVyUmVmZXJlbmNlID0gYCR7c3RyaW5nfS4ke3N0cmluZ31gO1xuXG4vKipcbiAqIFJvdXRlIGRlZmluaXRpb24gZm9yIGFuIE1DUCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25Sb3V0ZSB7XG4gIC8qKiBDUlVEIGVuZHBvaW50IHRoaXMgb3BlcmF0aW9uIG1hcHMgdG8gKi9cbiAgZW5kcG9pbnQ6IENSVURFbmRwb2ludDtcbiAgLyoqIEhhbmRsZXIgbWV0aG9kIHJlc3BvbnNpYmxlIGZvciBleGVjdXRpbmcgdGhpcyBvcGVyYXRpb24gKGZvcm1hdDogXCJNb2R1bGUubWV0aG9kXCIpICovXG4gIGhhbmRsZXI6IEhhbmRsZXJSZWZlcmVuY2U7XG4gIC8qKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgb3BlcmF0aW9uIGRvZXMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tcGxldGUgbWFwcGluZyBvZiBNQ1Agb3BlcmF0aW9ucyB0byB0aGVpciBDUlVERSBlbmRwb2ludHMgYW5kIGhhbmRsZXJzLlxuICpcbiAqIEVuZHBvaW50IHNlbWFudGljcyAoQ1JVREUgPSBDUlVEICsgRXhlY3V0ZSk6XG4gKiAtIENSRUFURTogT3BlcmF0aW9ucyB0aGF0IGNyZWF0ZSBuZXcgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKVxuICogLSBSRUFEOiBPcGVyYXRpb25zIHRoYXQgb25seSByZWFkIGV4aXN0aW5nIHN0YXRlIChyZWFkT25seTogdHJ1ZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKVxuICogLSBVUERBVEU6IE9wZXJhdGlvbnMgdGhhdCBtb2RpZnkgZXhpc3Rpbmcgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IHRydWUpXG4gKiAtIERFTEVURTogT3BlcmF0aW9ucyB0aGF0IHJlbW92ZSBzdGF0ZSAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSlcbiAqIC0gRVhFQ1VURTogT3BlcmF0aW9ucyBmb3IgcnVudGltZSBleGVjdXRpb24gbGlmZWN5Y2xlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiBmYWxzZSwgc3RhdGVmdWw6IHRydWUpXG4gKi9cbmV4cG9ydCBjb25zdCBPUEVSQVRJT05fUk9VVEVTOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25Sb3V0ZT4gPSB7XG4gIC8vID09PT09IENSRUFURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogZmFsc2UpID09PT09XG4gIGNyZWF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5jcmVhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlIGEgbmV3IGVsZW1lbnQgb2YgYW55IHR5cGUnLFxuICB9LFxuICBpbXBvcnRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuaW1wb3J0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0ltcG9ydCBhbiBlbGVtZW50IGZyb20gZXhwb3J0ZWQgZGF0YScsXG4gIH0sXG4gIGFkZEVudHJ5OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdNZW1vcnkuYWRkRW50cnknLFxuICAgIGRlc2NyaXB0aW9uOiAnQWRkIGEgbmV3IGVudHJ5IHRvIGEgbWVtb3J5IGVsZW1lbnQnLFxuICB9LFxuICBhY3RpdmF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQWN0aXZhdGlvbi5hY3RpdmF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdBY3RpdmF0ZSBhbiBlbGVtZW50IGZvciB1c2UgaW4gdGhlIGN1cnJlbnQgc2Vzc2lvbicsXG4gIH0sXG4gIC8vIElzc3VlICM3NzQ6IE9wZW4gcG9ydGZvbGlvIGJyb3dzZXIgaW4gc3lzdGVtIGJyb3dzZXJcbiAgb3Blbl9wb3J0Zm9saW9fYnJvd3Nlcjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0Jyb3dzZXIub3BlbicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFydCB0aGUgcG9ydGZvbGlvIHdlYiBVSSBhbmQgb3BlbiBpdCBpbiB0aGUgc3lzdGVtIGJyb3dzZXInLFxuICB9LFxuICAvLyBJc3N1ZSAjNDUyOiBHYXRla2VlcGVyIGNvbmZpcm1hdGlvbiBmbG93XG4gIC8vIFJvdXRlZCB0aHJvdWdoIEVYRUNVVEUgc28gTUNQIGNsaWVudHMgY2FuIGdhdGUgaXQgc2VwYXJhdGVseSBmcm9tIENSRUFURS5cbiAgLy8gY29uZmlybV9vcGVyYXRpb24gaXMgbm9uLWlkZW1wb3RlbnQgYW5kIGFjdHMgYXMgYSBodW1hbi1pbi10aGUtbG9vcCBjaGVja3BvaW50IOKAlFxuICAvLyBpdCBtdXN0IG5vdCBzaWxlbnRseSBhdXRvLWFwcHJvdmUgd2hlbiBvbmx5IENSRUFURSBpcyBhbGxvd2VkLlxuICBjb25maXJtX29wZXJhdGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuY29uZmlybScsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIGEgcGVuZGluZyBvcGVyYXRpb24gdGhhdCByZXF1aXJlcyB1c2VyIGFwcHJvdmFsJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNTogQ0xJLWxldmVsIHBlcm1pc3Npb24gZGVsZWdhdGlvbiB2aWEgLS1wZXJtaXNzaW9uLXByb21wdC10b29sXG4gIC8vIElzc3VlICM2NDc6IE1vdmVkIHRvIFJFQUQg4oCUIHRoaXMgaXMgYSBwb2xpY3kgZXZhbHVhdGlvbiAocmVhZC1vbmx5KSwgbm90IGEgc3RhdGUgbXV0YXRpb24uXG4gIC8vIEVuYWJsZXMgLS1wZXJtaXNzaW9uLXByb21wdC10b29sIHRvIHBvaW50IGF0IG1jcF9hcWxfcmVhZC5cbiAgcGVybWlzc2lvbl9wcm9tcHQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLnBlcm1pc3Npb25Qcm9tcHQnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXZhbHVhdGUgQ0xJLWxldmVsIHBlcm1pc3Npb24gcHJvbXB0cyBmb3Igbm9uLWludGVyYWN0aXZlIHNlc3Npb25zIHZpYSAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2wnLFxuICB9LFxuICAvLyBQZXJtaXNzaW9uIGV2YWx1YXRpb24gZm9yIFByZVRvb2xVc2UgaG9va3MgKGludGVyYWN0aXZlIHNlc3Npb25zLCBhbGwgcGxhdGZvcm1zKVxuICBldmFsdWF0ZV9wZXJtaXNzaW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5ldmFsdWF0ZVBlcm1pc3Npb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnRXZhbHVhdGUgQ0xJIHBlcm1pc3Npb24gZm9yIGEgdG9vbCB2aWEgSFRUUC9ob29rLiBSZXR1cm5zIHBsYXRmb3JtLWZvcm1hdHRlZCByZXNwb25zZSAoY2xhdWRlX2NvZGUsIGdlbWluaSwgY3Vyc29yLCB3aW5kc3VyZiwgY29kZXgpLicsXG4gIH0sXG4gIC8vIElzc3VlICM2MjUgUGhhc2UgMjogQ0xJIHBvbGljeSB2aXNpYmlsaXR5XG4gIGdldF9lZmZlY3RpdmVfY2xpX3BvbGljaWVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5nZXRFZmZlY3RpdmVDbGlQb2xpY2llcycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZWZmZWN0aXZlIENMSSBwZXJtaXNzaW9uIHBvbGljaWVzIGZvciB0aGUgY3VycmVudCBzZXNzaW9uIChJc3N1ZSAjNjI1IFBoYXNlIDIpJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNSBQaGFzZSAzOiBDTEkgYXBwcm92YWwgd29ya2Zsb3dcbiAgYXBwcm92ZV9jbGlfcGVybWlzc2lvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuYXBwcm92ZUNsaVBlcm1pc3Npb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnQXBwcm92ZSBhIHBlbmRpbmcgQ0xJIHRvb2wgcGVybWlzc2lvbiByZXF1ZXN0IChJc3N1ZSAjNjI1IFBoYXNlIDMpJyxcbiAgfSxcbiAgZ2V0X3BlbmRpbmdfY2xpX2FwcHJvdmFsczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuZ2V0UGVuZGluZ0NsaUFwcHJvdmFscycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgcGVuZGluZyBDTEkgdG9vbCBhcHByb3ZhbCByZXF1ZXN0cyBmb3IgdGhpcyBzZXNzaW9uIChJc3N1ZSAjNjI1IFBoYXNlIDMpJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzE0MjogRGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uIGZsb3dcbiAgdmVyaWZ5X2NoYWxsZW5nZToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci52ZXJpZnknLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IHZlcmlmaWNhdGlvbiBjb2RlIHRvIHVuYmxvY2sgYSBkYW5nZXIgem9uZSBvcGVyYXRpb24nLFxuICB9LFxuICAvLyBJc3N1ZSAjNTAzOiBCZWV0bGVqdWljZSBzYWZlLXRyaWdnZXIgZm9yIGRhbmdlciB6b25lIHZlcmlmaWNhdGlvbiB0ZXN0aW5nXG4gIGJlZXRsZWp1aWNlX2JlZXRsZWp1aWNlX2JlZXRsZWp1aWNlOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmJlZXRsZWp1aWNlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NhZmUtdHJpZ2dlciB0aGUgZnVsbCBkYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gcGlwZWxpbmUgZm9yIHRlc3RpbmcgcHVycG9zZXMnLFxuICB9LFxuXG4gIC8vID09PT09IFJFQUQgZW5kcG9pbnQgKHJlYWRPbmx5OiB0cnVlLCBkZXN0cnVjdGl2ZTogZmFsc2UpID09PT09XG4gIC8vIFVuaWZpZWQgc2VhcmNoIG9wZXJhdGlvbiAoSXNzdWUgIzI0MylcbiAgc2VhcmNoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnVW5pZmllZFNlYXJjaC5zZWFyY2gnLFxuICAgIGRlc2NyaXB0aW9uOiAnVW5pZmllZCBzZWFyY2ggYWNyb3NzIGxvY2FsLCBHaXRIdWIsIGFuZCBjb2xsZWN0aW9uIHNvdXJjZXMgd2l0aCBzY29wZSBwYXJhbWV0ZXInLFxuICB9LFxuICBsaXN0X2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQubGlzdCcsXG4gICAgZGVzY3JpcHRpb246ICdMaXN0IGVsZW1lbnRzIHdpdGggcGFnaW5hdGlvbiAoZGVmYXVsdCAyMC9wYWdlKSwgZmlsdGVyaW5nLCBzb3J0aW5nLCBhbmQgY291bnQgYWdncmVnYXRpb24uIFJldHVybnMgc3RydWN0dXJlZCBKU09OLicsXG4gIH0sXG4gIGdldF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuZ2V0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbiBlbGVtZW50IGJ5IG5hbWUgYW5kIHR5cGUsIHJldHVybmluZyBmdWxsIGNvbnRlbnQgYW5kIG1ldGFkYXRhJyxcbiAgfSxcbiAgZ2V0X2VsZW1lbnRfZGV0YWlsczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmdldERldGFpbHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZWxlbWVudCcsXG4gIH0sXG4gIHNlYXJjaF9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1NlYXJjaC5zZWFyY2gnLFxuICAgIGRlc2NyaXB0aW9uOiAnRnVsbC10ZXh0IHNlYXJjaCBhY3Jvc3MgZWxlbWVudCBuYW1lcywgZGVzY3JpcHRpb25zLCBhbmQgY29udGVudC4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT04gd2l0aCBwYWdpbmF0aW9uLicsXG4gIH0sXG4gIHF1ZXJ5X2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnU2VhcmNoLnF1ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGVsZW1lbnRzIHdpdGggZmlsdGVycywgc29ydGluZywgcGFnaW5hdGlvbiwgYW5kIGNvdW50IGFnZ3JlZ2F0aW9uLiBSZXR1cm5zIHN0cnVjdHVyZWQgSlNPTi4nLFxuICB9LFxuICBnZXRfYWN0aXZlX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQWN0aXZhdGlvbi5nZXRBY3RpdmUnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnRzIHdpdGggcmVuZGVyZWQgY29udGVudCwgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSB0eXBlJyxcbiAgfSxcbiAgdmFsaWRhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELnZhbGlkYXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1ZhbGlkYXRlIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgbmFtZScsXG4gIH0sXG4gIHJlbmRlcjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1RlbXBsYXRlLnJlbmRlcicsXG4gICAgZGVzY3JpcHRpb246ICdSZW5kZXIgYSB0ZW1wbGF0ZSB3aXRoIHByb3ZpZGVkIHZhcmlhYmxlcycsXG4gIH0sXG4gIGV4cG9ydF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuZXhwb3J0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0V4cG9ydCBhbiBlbGVtZW50IHRvIGEgcG9ydGFibGUgZm9ybWF0JyxcbiAgfSxcbiAgZGVhY3RpdmF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQWN0aXZhdGlvbi5kZWFjdGl2YXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0RlYWN0aXZhdGUgYW4gZWxlbWVudCwgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgY3VycmVudCBzZXNzaW9uJyxcbiAgfSxcbiAgaW50cm9zcGVjdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0ludHJvc3BlY3Rpb24ucmVzb2x2ZScsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSBhdmFpbGFibGUgb3BlcmF0aW9ucyBhbmQgdHlwZXMgZm9yIGRpc2NvdmVyeScsXG4gIH0sXG5cbiAgLy8gPT09PT0gVVBEQVRFIGVuZHBvaW50IChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiB0cnVlKSA9PT09PVxuICBlZGl0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1VQREFURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmVkaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnRWRpdCBhIHNpbmdsZSBmaWVsZCBvbiBhbiBlbGVtZW50JyxcbiAgfSxcbiAgdXBncmFkZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC51cGdyYWRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1VwZ3JhZGUgZWxlbWVudCBmcm9tIHYxIHNpbmdsZS1ib2R5IHRvIHYyIGR1YWwtZmllbGQgZm9ybWF0IChpbnN0cnVjdGlvbnMgKyBjb250ZW50KScsXG4gIH0sXG5cbiAgLy8gPT09PT0gREVMRVRFIGVuZHBvaW50IChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiB0cnVlKSA9PT09PVxuICBkZWxldGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnREVMRVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuZGVsZXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0RlbGV0ZSBhbiBlbGVtZW50JyxcbiAgfSxcbiAgY2xlYXI6IHtcbiAgICBlbmRwb2ludDogJ0RFTEVURScsXG4gICAgaGFuZGxlcjogJ01lbW9yeS5jbGVhcicsXG4gICAgZGVzY3JpcHRpb246ICdDbGVhciBhbGwgZW50cmllcyBmcm9tIGEgbWVtb3J5IGVsZW1lbnQgKGlycmV2ZXJzaWJsZSknLFxuICB9LFxuXG4gIC8vID09PT09IEVYRUNVVEUgZW5kcG9pbnQgKHJ1bnRpbWUgZXhlY3V0aW9uIGxpZmVjeWNsZSkgPT09PT1cbiAgLy8gVGhlc2Ugb3BlcmF0aW9ucyBtYW5hZ2UgdGhlIGV4ZWN1dGlvbiBsaWZlY3ljbGUgb2YgZXhlY3V0YWJsZSBlbGVtZW50c1xuICAvLyAoYWdlbnRzLCB3b3JrZmxvd3MsIHBpcGVsaW5lcykuIFVubGlrZSBDUlVEIHdoaWNoIG1hbmFnZXMgZGVmaW5pdGlvbnMsXG4gIC8vIEVYRUNVVEUgbWFuYWdlcyBydW50aW1lIHN0YXRlIGFuZCBpcyBpbmhlcmVudGx5IG5vbi1pZGVtcG90ZW50LlxuICBleGVjdXRlX2FnZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5leGVjdXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YXJ0IGV4ZWN1dGlvbiBvZiBhbiBhZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQnLFxuICB9LFxuICBnZXRfZXhlY3V0aW9uX3N0YXRlOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5nZXRTdGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSBjdXJyZW50IGV4ZWN1dGlvbiBzdGF0ZSBpbmNsdWRpbmcgcHJvZ3Jlc3MgYW5kIGZpbmRpbmdzJyxcbiAgfSxcbiAgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnVwZGF0ZVN0YXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlY29yZCBleGVjdXRpb24gcHJvZ3Jlc3MsIHN0ZXAgY29tcGxldGlvbiwgb3IgZmluZGluZ3MuIFJldHVybnMgYXV0b25vbXkgZGlyZWN0aXZlIHdpdGggY29udGludWUvcGF1c2UgZGVjaXNpb24gYW5kIG5vdGlmaWNhdGlvbnMuJyxcbiAgfSxcbiAgY29tcGxldGVfZXhlY3V0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5jb21wbGV0ZScsXG4gICAgZGVzY3JpcHRpb246ICdTaWduYWwgdGhhdCBleGVjdXRpb24gZmluaXNoZWQgc3VjY2Vzc2Z1bGx5IHdpdGggc3VtbWFyeScsXG4gIH0sXG4gIGNvbnRpbnVlX2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuY29udGludWUnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdW1lIGV4ZWN1dGlvbiBmcm9tIHNhdmVkIHN0YXRlJyxcbiAgfSxcbiAgYWJvcnRfZXhlY3V0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5hYm9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdBYm9ydCBhIHJ1bm5pbmcgYWdlbnQgZXhlY3V0aW9uLCByZWplY3RpbmcgZnVydGhlciBvcGVyYXRpb25zIGZvciB0aGUgZ29hbElkJyxcbiAgfSxcbiAgZ2V0X2dhdGhlcmVkX2RhdGE6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLmdldEdhdGhlcmVkRGF0YScsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWdncmVnYXRlZCBleGVjdXRpb24gZGF0YSAoc3RlcHMsIGRlY2lzaW9ucywgZmluZGluZ3MsIGFuZCBzdW1tYXJ5IHN0YXRpc3RpY3MpIGZvciBhIHNwZWNpZmljIGdvYWwuIFVzZSBhZnRlciByZWNvcmRfZXhlY3V0aW9uX3N0ZXAgY2FsbHMgdG8gcmV2aWV3IHByb2dyZXNzLicsXG4gIH0sXG4gIHByZXBhcmVfaGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUucHJlcGFyZUhhbmRvZmYnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJlcGFyZSBhIHNlc3Npb24gaGFuZG9mZiBwYWNrYWdlOiBzZXJpYWxpemVzIGdvYWwgcHJvZ3Jlc3MsIGdhdGhlcmVkIGRhdGEsIGFuZCBhY3RpdmUgZWxlbWVudHMgaW50byBhIGNvbXByZXNzZWQsIGludGVncml0eS1jaGVja2VkIGJsb2NrIHRoYXQgY2FuIGJlIGNvcHktcGFzdGVkIHRvIHJlc3VtZSBpbiBhbm90aGVyIHNlc3Npb24uJyxcbiAgfSxcbiAgcmVzdW1lX2Zyb21faGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUucmVzdW1lRnJvbUhhbmRvZmYnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdW1lIGFnZW50IGV4ZWN1dGlvbiBmcm9tIGEgaGFuZG9mZiBibG9jay4gVmFsaWRhdGVzIGludGVncml0eSwgdmVyaWZpZXMgYWdlbnQgbmFtZSBtYXRjaCwgcmVzdG9yZXMgY29udGV4dCwgYW5kIGNvbnRpbnVlcyBleGVjdXRpb24gd2l0aCBjYWxsZXItc3VwcGxpZWQgcGFyYW1ldGVycy4nLFxuICB9LFxuXG4gIC8vID09PT09IENPTExFQ1RJT04gb3BlcmF0aW9ucyA9PT09PVxuICBicm93c2VfY29sbGVjdGlvbjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbGxlY3Rpb24uYnJvd3NlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Jyb3dzZSB0aGUgRG9sbGhvdXNlTUNQIGNvbW11bml0eSBjb2xsZWN0aW9uIGJ5IHNlY3Rpb24gYW5kIHR5cGUnLFxuICB9LFxuICBzZWFyY2hfY29sbGVjdGlvbjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbGxlY3Rpb24uc2VhcmNoJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NlYXJjaCB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gZm9yIGVsZW1lbnRzIGJ5IGtleXdvcmRzJyxcbiAgfSxcbiAgc2VhcmNoX2NvbGxlY3Rpb25fZW5oYW5jZWQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLnNlYXJjaEVuaGFuY2VkJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FkdmFuY2VkIHNlYXJjaCB3aXRoIHBhZ2luYXRpb24sIGZpbHRlcmluZywgYW5kIHNvcnRpbmcnLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5nZXRDb250ZW50JyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBjb250ZW50IGZyb20gdGhlIGNvbGxlY3Rpb24nLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jYWNoZV9oZWFsdGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLmdldENhY2hlSGVhbHRoJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBoZWFsdGggc3RhdHVzIGFuZCBzdGF0aXN0aWNzIGZvciB0aGUgY29sbGVjdGlvbiBjYWNoZScsXG4gIH0sXG4gIGluc3RhbGxfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLmluc3RhbGwnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBhbiBlbGVtZW50IGZyb20gdGhlIGNvbGxlY3Rpb24gdG8geW91ciBsb2NhbCBwb3J0Zm9saW8nLFxuICB9LFxuICBzdWJtaXRfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLnN1Ym1pdCcsXG4gICAgZGVzY3JpcHRpb246ICdTdWJtaXQgYSBsb2NhbCBlbGVtZW50IHRvIHRoZSBjb21tdW5pdHkgY29sbGVjdGlvbiB2aWEgR2l0SHViJyxcbiAgfSxcblxuICAvLyA9PT09PSBQT1JURk9MSU8gb3BlcmF0aW9ucyA9PT09PVxuICBwb3J0Zm9saW9fc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnN0YXR1cycsXG4gICAgZGVzY3JpcHRpb246ICdDaGVjayBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnkgc3RhdHVzIGFuZCBlbGVtZW50IGNvdW50cycsXG4gIH0sXG4gIHBvcnRmb2xpb19jb25maWc6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdQb3J0Zm9saW8uY29uZmlnJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpZ3VyZSBwb3J0Zm9saW8gc2V0dGluZ3MgKGF1dG8tc3luYywgdmlzaWJpbGl0eSwgZXRjLiknLFxuICB9LFxuICBzZWFyY2hfcG9ydGZvbGlvOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggbG9jYWwgcG9ydGZvbGlvIGJ5IGNvbnRlbnQgbmFtZSwga2V5d29yZHMsIG9yIHRhZ3MnLFxuICB9LFxuICBzZWFyY2hfYWxsOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnNlYXJjaEFsbCcsXG4gICAgZGVzY3JpcHRpb246ICdVbmlmaWVkIHNlYXJjaCBhY3Jvc3MgbG9jYWwsIEdpdEh1YiwgYW5kIGNvbGxlY3Rpb24gc291cmNlcycsXG4gIH0sXG4gIGluaXRfcG9ydGZvbGlvOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdQb3J0Zm9saW8uaW5pdCcsXG4gICAgZGVzY3JpcHRpb246ICdJbml0aWFsaXplIGEgbmV3IEdpdEh1YiBwb3J0Zm9saW8gcmVwb3NpdG9yeScsXG4gIH0sXG4gIHN5bmNfcG9ydGZvbGlvOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdQb3J0Zm9saW8uc3luYycsXG4gICAgZGVzY3JpcHRpb246ICdTeW5jIGxvY2FsIHBvcnRmb2xpbyB3aXRoIEdpdEh1YiByZXBvc2l0b3J5JyxcbiAgfSxcbiAgcG9ydGZvbGlvX2VsZW1lbnRfbWFuYWdlcjoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmVsZW1lbnRNYW5hZ2VyJyxcbiAgICBkZXNjcmlwdGlvbjogJ01hbmFnZSBpbmRpdmlkdWFsIGVsZW1lbnRzIGJldHdlZW4gbG9jYWwgYW5kIEdpdEh1YicsXG4gIH0sXG5cbiAgLy8gPT09PT0gQVVUSCBvcGVyYXRpb25zID09PT09XG4gIHNldHVwX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdBdXRoLnNldHVwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NldCB1cCBHaXRIdWIgYXV0aGVudGljYXRpb24gdXNpbmcgZGV2aWNlIGZsb3cnLFxuICB9LFxuICBjaGVja19naXRodWJfYXV0aDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0F1dGguY2hlY2snLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgY3VycmVudCBHaXRIdWIgYXV0aGVudGljYXRpb24gc3RhdHVzJyxcbiAgfSxcbiAgY2xlYXJfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0RFTEVURScsXG4gICAgaGFuZGxlcjogJ0F1dGguY2xlYXInLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVtb3ZlIEdpdEh1YiBhdXRoZW50aWNhdGlvbiBhbmQgZGlzY29ubmVjdCcsXG4gIH0sXG4gIGNvbmZpZ3VyZV9vYXV0aDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5jb25maWd1cmVPQXV0aCcsXG4gICAgZGVzY3JpcHRpb246ICdDb25maWd1cmUgR2l0SHViIE9BdXRoIGNsaWVudCBJRCcsXG4gIH0sXG4gIG9hdXRoX2hlbHBlcl9zdGF0dXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBdXRoLm9hdXRoSGVscGVyU3RhdHVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFib3V0IE9BdXRoIGhlbHBlciBwcm9jZXNzJyxcbiAgfSxcblxuICAvLyA9PT09PSBDT05GSUcgb3BlcmF0aW9ucyA9PT09PVxuICBkb2xsaG91c2VfY29uZmlnOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29uZmlnLm1hbmFnZScsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgRG9sbGhvdXNlTUNQIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MnLFxuICB9LFxuICBjb252ZXJ0X3NraWxsX2Zvcm1hdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5jb252ZXJ0U2tpbGxGb3JtYXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udmVydCBiZXR3ZWVuIGN1cnJlbnQgQWdlbnQgU2tpbGwgYW5kIERvbGxob3VzZSBTa2lsbCBmb3JtYXRzIHdpdGggc3RydWN0dXJlZCB3YXJuaW5ncyBhbmQgcm91bmR0cmlwIHN1cHBvcnQnLFxuICB9LFxuICBnZXRfYnVpbGRfaW5mbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5nZXRCdWlsZEluZm8nLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGNvbXByZWhlbnNpdmUgYnVpbGQgYW5kIHJ1bnRpbWUgaW5mb3JtYXRpb24nLFxuICB9LFxuICBnZXRfY2FjaGVfYnVkZ2V0X3JlcG9ydDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5nZXRDYWNoZUJ1ZGdldFJlcG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZ2xvYmFsIGNhY2hlIG1lbW9yeSBidWRnZXQgcmVwb3J0IHdpdGggcGVyLWNhY2hlIGRpYWdub3N0aWNzJyxcbiAgfSxcblxuICAvLyA9PT09PSBMT0dHSU5HIG9wZXJhdGlvbnMgPT09PT1cbiAgcXVlcnlfbG9nczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0xvZ2dpbmcucXVlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgcmVjZW50IGxvZyBlbnRyaWVzIGZyb20gdGhlIGluLW1lbW9yeSBidWZmZXIgd2l0aCBmaWx0ZXJpbmcgYW5kIHBhZ2luYXRpb24nLFxuICB9LFxuXG4gIC8vID09PT09IE1FVFJJQ1Mgb3BlcmF0aW9ucyA9PT09PVxuICBxdWVyeV9tZXRyaWNzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnTWV0cmljcy5xdWVyeScsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSBjb2xsZWN0ZWQgbWV0cmljcyBzbmFwc2hvdHMgd2l0aCBmaWx0ZXJpbmcgYnkgbmFtZSwgc291cmNlLCB0eXBlLCBhbmQgdGltZSByYW5nZScsXG4gIH0sXG5cbiAgLy8gPT09PT0gRU5IQU5DRUQgSU5ERVggb3BlcmF0aW9ucyA9PT09PVxuICBmaW5kX3NpbWlsYXJfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbmhhbmNlZEluZGV4LmZpbmRTaW1pbGFyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0ZpbmQgc2VtYW50aWNhbGx5IHNpbWlsYXIgZWxlbWVudHMgdXNpbmcgTkxQIHNjb3JpbmcnLFxuICB9LFxuICBnZXRfZWxlbWVudF9yZWxhdGlvbnNoaXBzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5nZXRSZWxhdGlvbnNoaXBzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbGwgcmVsYXRpb25zaGlwcyBmb3IgYSBzcGVjaWZpYyBlbGVtZW50JyxcbiAgfSxcbiAgc2VhcmNoX2J5X3ZlcmI6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbmhhbmNlZEluZGV4LnNlYXJjaEJ5VmVyYicsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggZm9yIGVsZW1lbnRzIHRoYXQgaGFuZGxlIGEgc3BlY2lmaWMgYWN0aW9uIHZlcmInLFxuICB9LFxuICBnZXRfcmVsYXRpb25zaGlwX3N0YXRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5nZXRTdGF0cycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgc3RhdGlzdGljcyBhYm91dCBFbmhhbmNlZCBJbmRleCByZWxhdGlvbnNoaXBzJyxcbiAgfSxcblxuICAvLyA9PT09PSBQRVJTT05BIG9wZXJhdGlvbnMgPT09PT1cbiAgaW1wb3J0X3BlcnNvbmE6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ1BlcnNvbmEuaW1wb3J0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0ltcG9ydCBhIHBlcnNvbmEgZnJvbSBhIGZpbGUgcGF0aCBvciBKU09OIHN0cmluZycsXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEdldCB0aGUgcm91dGUgZGVmaW5pdGlvbiBmb3IgYSBnaXZlbiBvcGVyYXRpb24gbmFtZS5cbiAqXG4gKiBAcGFyYW0gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiBuYW1lIChlLmcuLCAnY3JlYXRlX2VsZW1lbnQnLCAnbGlzdF9lbGVtZW50cycpXG4gKiBAcmV0dXJucyBUaGUgcm91dGUgZGVmaW5pdGlvbiwgb3IgdW5kZWZpbmVkIGlmIHRoZSBvcGVyYXRpb24gaXMgbm90IGZvdW5kXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJvdXRlID0gZ2V0Um91dGUoJ2NyZWF0ZV9lbGVtZW50Jyk7XG4gKiAvLyB7IGVuZHBvaW50OiAnQ1JFQVRFJywgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmNyZWF0ZScsIGRlc2NyaXB0aW9uOiAnLi4uJyB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlKG9wZXJhdGlvbjogc3RyaW5nKTogT3BlcmF0aW9uUm91dGUgfCB1bmRlZmluZWQge1xuICByZXR1cm4gT1BFUkFUSU9OX1JPVVRFU1tvcGVyYXRpb25dO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyB0aGF0IG1hcCB0byBhIHNwZWNpZmljIENSVUQgZW5kcG9pbnQuXG4gKlxuICogQHBhcmFtIGVuZHBvaW50IC0gVGhlIENSVUQgZW5kcG9pbnQgKCdDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJylcbiAqIEByZXR1cm5zIEFycmF5IG9mIG9wZXJhdGlvbiBuYW1lcyB0aGF0IG1hcCB0byB0aGlzIGVuZHBvaW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNyZWF0ZU9wcyA9IGdldE9wZXJhdGlvbnNGb3JFbmRwb2ludCgnQ1JFQVRFJyk7XG4gKiAvLyBbJ2NyZWF0ZV9lbGVtZW50JywgJ2ltcG9ydF9lbGVtZW50JywgJ2FkZEVudHJ5J11cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0ZvckVuZHBvaW50KGVuZHBvaW50OiBDUlVERW5kcG9pbnQpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhPUEVSQVRJT05fUk9VVEVTKVxuICAgIC5maWx0ZXIoKFtfLCByb3V0ZV0pID0+IHJvdXRlLmVuZHBvaW50ID09PSBlbmRwb2ludClcbiAgICAubWFwKChbb3BlcmF0aW9uLCBfXSkgPT4gb3BlcmF0aW9uKTtcbn1cbiJdfQ==
@@ -234,6 +234,13 @@ export declare const GATEKEEPER_SCHEMAS: OperationSchemaMap;
234
234
  * @see Issue #594 - Document all MCP-AQL operations via schema
235
235
  */
236
236
  export declare const LOGGING_SCHEMAS: OperationSchemaMap;
237
+ /**
238
+ * Metrics collection query schema — introspection-only.
239
+ *
240
+ * Dispatched via MCPAQLHandler.dispatchMetrics() which routes to
241
+ * MemoryMetricsSink.query(). Follows the same pattern as query_logs.
242
+ */
243
+ export declare const METRICS_SCHEMAS: OperationSchemaMap;
237
244
  /**
238
245
  * Activation lifecycle operations schema — introspection-only.
239
246
  *
@@ -1 +1 @@
1
- {"version":3,"file":"OperationSchema.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationSchema.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationSchema.ts"],"names":[],"mappings":"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"}