@ruvector/ruvllm 2.5.6 → 2.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +282 -282
  2. package/bin/cli.js +1020 -1020
  3. package/dist/cjs/benchmarks/embedding-benchmark.js +8 -8
  4. package/dist/cjs/benchmarks/index.js +5 -5
  5. package/dist/cjs/benchmarks/model-comparison.js +15 -25
  6. package/dist/cjs/benchmarks/routing-benchmark.js +5 -5
  7. package/dist/cjs/contrastive.js +78 -78
  8. package/dist/cjs/engine.js +13 -13
  9. package/dist/cjs/export.js +31 -31
  10. package/dist/cjs/federated.js +1 -1
  11. package/dist/cjs/index.js +1 -1
  12. package/dist/cjs/intelligence.js +8 -18
  13. package/dist/cjs/lora.js +1 -1
  14. package/dist/cjs/models.js +13 -23
  15. package/dist/cjs/native.js +5 -4
  16. package/dist/cjs/session.js +1 -1
  17. package/dist/cjs/simd.js +1 -1
  18. package/dist/cjs/sona.js +1 -1
  19. package/dist/cjs/streaming.d.ts +1 -0
  20. package/dist/cjs/streaming.d.ts.map +1 -1
  21. package/dist/cjs/streaming.js +3 -3
  22. package/dist/cjs/training.d.ts +32 -4
  23. package/dist/cjs/training.d.ts.map +1 -1
  24. package/dist/cjs/training.js +59 -9
  25. package/dist/cjs/types.js +1 -1
  26. package/dist/esm/benchmarks/embedding-benchmark.js +1 -1
  27. package/dist/esm/benchmarks/index.js +1 -1
  28. package/dist/esm/benchmarks/model-comparison.js +1 -1
  29. package/dist/esm/benchmarks/routing-benchmark.js +1 -1
  30. package/dist/esm/contrastive.js +70 -70
  31. package/dist/esm/engine.js +13 -13
  32. package/dist/esm/export.js +31 -31
  33. package/dist/esm/federated.js +1 -1
  34. package/dist/esm/index.js +1 -1
  35. package/dist/esm/intelligence.js +1 -1
  36. package/dist/esm/lora.js +1 -1
  37. package/dist/esm/models.js +1 -1
  38. package/dist/esm/native.js +1 -1
  39. package/dist/esm/session.js +1 -1
  40. package/dist/esm/simd.js +1 -1
  41. package/dist/esm/sona.js +1 -1
  42. package/dist/esm/streaming.d.ts +1 -0
  43. package/dist/esm/streaming.d.ts.map +1 -1
  44. package/dist/esm/streaming.js +1 -1
  45. package/dist/esm/training.d.ts +32 -4
  46. package/dist/esm/training.d.ts.map +1 -1
  47. package/dist/esm/training.js +59 -9
  48. package/dist/esm/types.js +1 -1
  49. package/package.json +133 -133
  50. package/scripts/ensemble-model-compare.js +287 -287
  51. package/scripts/huggingface/README.md +537 -537
  52. package/scripts/huggingface/publish.sh +112 -112
  53. package/scripts/hybrid-model-compare.js +373 -373
  54. package/scripts/improved-model-compare.js +288 -288
  55. package/scripts/optimized-model-compare.js +364 -364
  56. package/scripts/real-model-compare.js +280 -280
  57. package/scripts/training/agentic-flow-capabilities.json +329 -329
  58. package/scripts/training/claude-code-synth.js +505 -505
  59. package/scripts/training/claude-flow-capabilities.json +1322 -1322
  60. package/scripts/training/claude-hard-negatives.js +222 -222
  61. package/scripts/training/contrastive-finetune.js +517 -517
  62. package/scripts/training/ecosystem-triplets.jsonl +1466 -1466
  63. package/scripts/training/generate-ecosystem-triplets.js +1324 -1324
  64. package/scripts/training/routing-dataset.js +634 -634
  65. package/scripts/training/ruvector-capabilities.json +798 -798
  66. package/scripts/training/validate-ecosystem.js +381 -381
  67. package/scripts/training/validation-results.json +22 -22
@@ -6,10 +6,7 @@
6
6
  * This measures the actual value proposition for Claude Code workflows.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ROUTING_TEST_CASES = exports.AGENT_TYPES = void 0;
10
- exports.baselineKeywordRouter = baselineKeywordRouter;
11
- exports.runRoutingBenchmark = runRoutingBenchmark;
12
- exports.formatRoutingResults = formatRoutingResults;
9
+ exports.formatRoutingResults = exports.runRoutingBenchmark = exports.baselineKeywordRouter = exports.ROUTING_TEST_CASES = exports.AGENT_TYPES = void 0;
13
10
  /**
14
11
  * Agent types in Claude Code / claude-flow ecosystem
15
12
  */
@@ -181,6 +178,7 @@ function baselineKeywordRouter(task) {
181
178
  confidence: Math.min(bestMatch.score / 3, 1), // Normalize to 0-1
182
179
  };
183
180
  }
181
+ exports.baselineKeywordRouter = baselineKeywordRouter;
184
182
  /**
185
183
  * Run the routing benchmark
186
184
  */
@@ -236,6 +234,7 @@ function runRoutingBenchmark(router) {
236
234
  results,
237
235
  };
238
236
  }
237
+ exports.runRoutingBenchmark = runRoutingBenchmark;
239
238
  /**
240
239
  * Format benchmark results for display
241
240
  */
@@ -279,6 +278,7 @@ function formatRoutingResults(results) {
279
278
  }
280
279
  return lines.join('\n');
281
280
  }
281
+ exports.formatRoutingResults = formatRoutingResults;
282
282
  exports.default = {
283
283
  ROUTING_TEST_CASES: exports.ROUTING_TEST_CASES,
284
284
  AGENT_TYPES: exports.AGENT_TYPES,
@@ -286,4 +286,4 @@ exports.default = {
286
286
  runRoutingBenchmark,
287
287
  formatRoutingResults,
288
288
  };
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy1iZW5jaG1hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrcy9yb3V0aW5nLWJlbmNobWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQTBMSCxzREFxQ0M7QUFLRCxrREE2REM7QUFLRCxvREE4Q0M7QUFwVEQ7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRztJQUN6QixPQUFPO0lBQ1AsWUFBWTtJQUNaLFVBQVU7SUFDVixRQUFRO0lBQ1IsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsUUFBUTtJQUNSLFVBQVU7SUFDVixTQUFTO0NBQ0QsQ0FBQztBQUlYOzs7R0FHRztBQUNVLFFBQUEsa0JBQWtCLEdBQXNCO0lBQ25ELHVDQUF1QztJQUN2QyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGtEQUFrRCxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDaEosRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpREFBaUQsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQ2pKLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0RBQWtELEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUNsSixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlEQUFpRCxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDL0ksRUFBRSxFQUFFLEVBQUUs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QkFBa0IsRUFBbEIsMEJBQWtCO0lBQ2xCLFdBQVcsRUFBWCxtQkFBVztJQUNYLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsb0JBQW9CO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUm91dGluZyBCZW5jaG1hcmsgZm9yIFJ1dkxUUkEgTW9kZWxzXHJcbiAqXHJcbiAqIFRlc3RzIHdoZXRoZXIgdGhlIG1vZGVsIGNvcnJlY3RseSByb3V0ZXMgdGFza3MgdG8gYXBwcm9wcmlhdGUgYWdlbnRzLlxyXG4gKiBUaGlzIG1lYXN1cmVzIHRoZSBhY3R1YWwgdmFsdWUgcHJvcG9zaXRpb24gZm9yIENsYXVkZSBDb2RlIHdvcmtmbG93cy5cclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdUZXN0Q2FzZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0YXNrOiBzdHJpbmc7XHJcbiAgZXhwZWN0ZWRBZ2VudDogc3RyaW5nO1xyXG4gIGNhdGVnb3J5OiBzdHJpbmc7XHJcbiAgZGlmZmljdWx0eTogJ2Vhc3knIHwgJ21lZGl1bScgfCAnaGFyZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZ1Jlc3VsdCB7XHJcbiAgdGVzdElkOiBzdHJpbmc7XHJcbiAgdGFzazogc3RyaW5nO1xyXG4gIGV4cGVjdGVkQWdlbnQ6IHN0cmluZztcclxuICBwcmVkaWN0ZWRBZ2VudDogc3RyaW5nO1xyXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcclxuICBjb3JyZWN0OiBib29sZWFuO1xyXG4gIGxhdGVuY3lNczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdCZW5jaG1hcmtSZXN1bHRzIHtcclxuICBhY2N1cmFjeTogbnVtYmVyO1xyXG4gIGFjY3VyYWN5QnlDYXRlZ29yeTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcclxuICBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcclxuICBhdmdMYXRlbmN5TXM6IG51bWJlcjtcclxuICBwNTBMYXRlbmN5TXM6IG51bWJlcjtcclxuICBwOTVMYXRlbmN5TXM6IG51bWJlcjtcclxuICB0b3RhbFRlc3RzOiBudW1iZXI7XHJcbiAgY29ycmVjdDogbnVtYmVyO1xyXG4gIHJlc3VsdHM6IFJvdXRpbmdSZXN1bHRbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFnZW50IHR5cGVzIGluIENsYXVkZSBDb2RlIC8gY2xhdWRlLWZsb3cgZWNvc3lzdGVtXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQUdFTlRfVFlQRVMgPSBbXHJcbiAgJ2NvZGVyJyxcclxuICAncmVzZWFyY2hlcicsXHJcbiAgJ3Jldmlld2VyJyxcclxuICAndGVzdGVyJyxcclxuICAnYXJjaGl0ZWN0JyxcclxuICAnc2VjdXJpdHktYXJjaGl0ZWN0JyxcclxuICAnZGVidWdnZXInLFxyXG4gICdkb2N1bWVudGVyJyxcclxuICAncmVmYWN0b3JlcicsXHJcbiAgJ29wdGltaXplcicsXHJcbiAgJ2Rldm9wcycsXHJcbiAgJ2FwaS1kb2NzJyxcclxuICAncGxhbm5lcicsXHJcbl0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBBZ2VudFR5cGUgPSAodHlwZW9mIEFHRU5UX1RZUEVTKVtudW1iZXJdO1xyXG5cclxuLyoqXHJcbiAqIEdyb3VuZCB0cnV0aCB0ZXN0IGRhdGFzZXQgZm9yIHJvdXRpbmdcclxuICogMTAwIHRhc2tzIHdpdGggZXhwZWN0ZWQgYWdlbnQgYXNzaWdubWVudHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBST1VUSU5HX1RFU1RfQ0FTRVM6IFJvdXRpbmdUZXN0Q2FzZVtdID0gW1xyXG4gIC8vID09PSBDT0RFUiB0YXNrcyAod3JpdGUgbmV3IGNvZGUpID09PVxyXG4gIHsgaWQ6ICdDMDAxJywgdGFzazogJ0ltcGxlbWVudCBhIGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24gaW4gVHlwZVNjcmlwdCcsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnQzAwMicsIHRhc2s6ICdXcml0ZSBhIFJlYWN0IGNvbXBvbmVudCBmb3IgdXNlciBhdXRoZW50aWNhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdDMDAzJywgdGFzazogJ0NyZWF0ZSBhIFJFU1QgQVBJIGVuZHBvaW50IGZvciB1c2VyIHJlZ2lzdHJhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdDMDA0JywgdGFzazogJ0ltcGxlbWVudCBhIFdlYlNvY2tldCBzZXJ2ZXIgZm9yIHJlYWwtdGltZSBjaGF0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdDMDA1JywgdGFzazogJ1dyaXRlIGEgZnVuY3Rpb24gdG8gcGFyc2UgQ1NWIGZpbGVzJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdDMDA2JywgdGFzazogJ0NyZWF0ZSBhIG1pZGRsZXdhcmUgZm9yIHJlcXVlc3QgbG9nZ2luZycsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnQzAwNycsIHRhc2s6ICdJbXBsZW1lbnQgcGFnaW5hdGlvbiBmb3IgdGhlIEFQSSByZXNwb25zZXMnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnQzAwOCcsIHRhc2s6ICdXcml0ZSBhIGN1c3RvbSBSZWFjdCBob29rIGZvciBmb3JtIHZhbGlkYXRpb24nLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnQzAwOScsIHRhc2s6ICdDcmVhdGUgYSBkYXRhYmFzZSBtaWdyYXRpb24gc2NyaXB0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0MwMTAnLCB0YXNrOiAnSW1wbGVtZW50IGEgcmF0ZSBsaW1pdGVyIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBSRVNFQVJDSEVSIHRhc2tzIChpbnZlc3RpZ2F0ZSwgZXhwbG9yZSkgPT09XHJcbiAgeyBpZDogJ1IwMDEnLCB0YXNrOiAnUmVzZWFyY2ggYmVzdCBwcmFjdGljZXMgZm9yIEdyYXBoUUwgc2NoZW1hIGRlc2lnbicsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1IwMDInLCB0YXNrOiAnRmluZCBvdXQgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmbG93IHdvcmtzIGluIHRoaXMgY29kZWJhc2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnUjAwMycsIHRhc2s6ICdJbnZlc3RpZ2F0ZSB3aHkgdGhlIGJ1aWxkIGlzIGZhaWxpbmcgb24gQ0knLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdSMDA0JywgdGFzazogJ1Jlc2VhcmNoIGFsdGVybmF0aXZlcyB0byBSZWR1eCBmb3Igc3RhdGUgbWFuYWdlbWVudCcsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1IwMDUnLCB0YXNrOiAnRmluZCBhbGwgdXNhZ2VzIG9mIHRoZSBkZXByZWNhdGVkIEFQSSBpbiB0aGUgY29kZWJhc2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnUjAwNicsIHRhc2s6ICdBbmFseXplIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygb3VyIGRhdGFiYXNlIHF1ZXJpZXMnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUjAwNycsIHRhc2s6ICdSZXNlYXJjaCBHRFBSIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzIGZvciB1c2VyIGRhdGEnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdSMDA4JywgdGFzazogJ0ZpbmQgZXhhbXBsZXMgb2Ygc2ltaWxhciBpbXBsZW1lbnRhdGlvbnMgaW4gb3BlbiBzb3VyY2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuXHJcbiAgLy8gPT09IFJFVklFV0VSIHRhc2tzIChjb2RlIHJldmlldywgcXVhbGl0eSkgPT09XHJcbiAgeyBpZDogJ1YwMDEnLCB0YXNrOiAnUmV2aWV3IHRoaXMgcHVsbCByZXF1ZXN0IGZvciBjb2RlIHF1YWxpdHknLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1YwMDInLCB0YXNrOiAnQ2hlY2sgaWYgdGhpcyBjb2RlIGZvbGxvd3Mgb3VyIHN0eWxlIGd1aWRlbGluZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdWMDAzJywgdGFzazogJ1JldmlldyB0aGUgQVBJIGRlc2lnbiBmb3IgY29uc2lzdGVuY3knLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1YwMDQnLCB0YXNrOiAnRXZhbHVhdGUgdGhlIGVycm9yIGhhbmRsaW5nIGluIHRoaXMgbW9kdWxlJywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdWMDA1JywgdGFzazogJ1JldmlldyB0aGUgZGF0YWJhc2Ugc2NoZW1hIGNoYW5nZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdWMDA2JywgdGFzazogJ0NoZWNrIGZvciBwb3RlbnRpYWwgbWVtb3J5IGxlYWtzIGluIHRoaXMgY29kZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1YwMDcnLCB0YXNrOiAnUmV2aWV3IHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRoZSBVSSBjb21wb25lbnRzJywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG5cclxuICAvLyA9PT0gVEVTVEVSIHRhc2tzICh3cml0ZSB0ZXN0cywgUUEpID09PVxyXG4gIHsgaWQ6ICdUMDAxJywgdGFzazogJ1dyaXRlIHVuaXQgdGVzdHMgZm9yIHRoZSB1c2VyIHNlcnZpY2UnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwMicsIHRhc2s6ICdDcmVhdGUgaW50ZWdyYXRpb24gdGVzdHMgZm9yIHRoZSBjaGVja291dCBmbG93JywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdUMDAzJywgdGFzazogJ0FkZCB0ZXN0IGNvdmVyYWdlIGZvciBlZGdlIGNhc2VzIGluIHRoZSBwYXJzZXInLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwNCcsIHRhc2s6ICdXcml0ZSBFMkUgdGVzdHMgZm9yIHRoZSBsb2dpbiBwYWdlJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1QwMDUnLCB0YXNrOiAnQ3JlYXRlIHBlcmZvcm1hbmNlIHRlc3RzIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdUMDA2JywgdGFzazogJ0FkZCBzbmFwc2hvdCB0ZXN0cyBmb3IgUmVhY3QgY29tcG9uZW50cycsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnVDAwNycsIHRhc2s6ICdXcml0ZSB0ZXN0cyBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIG1pZGRsZXdhcmUnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwOCcsIHRhc2s6ICdDcmVhdGUgbW9jayBkYXRhIGZvciB0ZXN0aW5nJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG5cclxuICAvLyA9PT0gQVJDSElURUNUIHRhc2tzIChkZXNpZ24sIHN5c3RlbSkgPT09XHJcbiAgeyBpZDogJ0EwMDEnLCB0YXNrOiAnRGVzaWduIHRoZSBtaWNyb3NlcnZpY2VzIGFyY2hpdGVjdHVyZSBmb3IgdGhlIHBsYXRmb3JtJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0EwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3lzdGVtIGRlc2lnbiBmb3IgdGhlIG5vdGlmaWNhdGlvbiBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0EwMDMnLCB0YXNrOiAnUGxhbiB0aGUgZGF0YWJhc2Ugc2NoZW1hIGZvciB0aGUgbmV3IGZlYXR1cmUnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdBMDA0JywgdGFzazogJ0Rlc2lnbiB0aGUgQVBJIGNvbnRyYWN0IGZvciB0aGUgbW9iaWxlIGFwcCcsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0EwMDUnLCB0YXNrOiAnQ3JlYXRlIGFuIEFEUiBmb3IgdGhlIGNhY2hpbmcgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdBMDA2JywgdGFzazogJ0Rlc2lnbiB0aGUgZXZlbnQtZHJpdmVuIGFyY2hpdGVjdHVyZSBmb3Igb3JkZXIgcHJvY2Vzc2luZycsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdBMDA3JywgdGFzazogJ1BsYW4gdGhlIG1pZ3JhdGlvbiBzdHJhdGVneSBmcm9tIG1vbm9saXRoIHRvIG1pY3Jvc2VydmljZXMnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IFNFQ1VSSVRZIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdTMDAxJywgdGFzazogJ0F1ZGl0IHRoZSBhdXRoZW50aWNhdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUzAwMicsIHRhc2s6ICdSZXZpZXcgdGhlIGNvZGUgZm9yIFNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdTMDAzJywgdGFzazogJ0NoZWNrIGZvciBYU1MgdnVsbmVyYWJpbGl0aWVzIGluIHRoZSBmcm9udGVuZCcsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUzAwNCcsIHRhc2s6ICdJbXBsZW1lbnQgc2VjdXJlIHBhc3N3b3JkIGhhc2hpbmcnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1MwMDUnLCB0YXNrOiAnUmV2aWV3IHRoZSBBUEkgZm9yIGF1dGhvcml6YXRpb24gYnlwYXNzIGlzc3VlcycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1MwMDYnLCB0YXNrOiAnQXVkaXQgdGhpcmQtcGFydHkgZGVwZW5kZW5jaWVzIGZvciBrbm93biBDVkVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdTMDA3JywgdGFzazogJ0Rlc2lnbiB0aGUgc2VjcmV0cyBtYW5hZ2VtZW50IHN0cmF0ZWd5JywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IERFQlVHR0VSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdEMDAxJywgdGFzazogJ0ZpeCB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBpbiB0aGUgdXNlciBjb250cm9sbGVyJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnRDAwMicsIHRhc2s6ICdEZWJ1ZyB3aHkgdGhlIEFQSSByZXR1cm5zIDUwMCBpbnRlcm1pdHRlbnRseScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0QwMDMnLCB0YXNrOiAnRmluZCB0aGUgY2F1c2Ugb2YgdGhlIG1lbW9yeSBsZWFrJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRDAwNCcsIHRhc2s6ICdGaXggdGhlIHJhY2UgY29uZGl0aW9uIGluIHRoZSBjaGVja291dCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRDAwNScsIHRhc2s6ICdEZWJ1ZyB0aGUgZmFpbGluZyB0ZXN0IGluIENJJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdEMDA2JywgdGFzazogJ0ZpeCB0aGUgdGltZXpvbmUgaXNzdWUgaW4gZGF0ZSBoYW5kbGluZycsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRDAwNycsIHRhc2s6ICdSZXNvbHZlIHRoZSBjaXJjdWxhciBkZXBlbmRlbmN5IGVycm9yJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdEMDA4JywgdGFzazogJ0ZpeCB0aGUgYnJva2VuIGJ1aWxkIGFmdGVyIHRoZSBtZXJnZScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcblxyXG4gIC8vID09PSBET0NVTUVOVEVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdPMDAxJywgdGFzazogJ1dyaXRlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBBUEkgZW5kcG9pbnRzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdPMDAyJywgdGFzazogJ0NyZWF0ZSBhIFJFQURNRSBmb3IgdGhlIG5ldyBwYWNrYWdlJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnTzAwMycsIHRhc2s6ICdEb2N1bWVudCB0aGUgZGVwbG95bWVudCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdPMDA0JywgdGFzazogJ1dyaXRlIEpTRG9jIGNvbW1lbnRzIGZvciB0aGUgdXRpbGl0eSBmdW5jdGlvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdPMDA1JywgdGFzazogJ0NyZWF0ZSBhIG1pZ3JhdGlvbiBndWlkZSBmb3IgdjIgdG8gdjMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ08wMDYnLCB0YXNrOiAnRG9jdW1lbnQgdGhlIGFyY2hpdGVjdHVyZSBkZWNpc2lvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBSRUZBQ1RPUkVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdGMDAxJywgdGFzazogJ1JlZmFjdG9yIHRoZSB1c2VyIHNlcnZpY2UgdG8gdXNlIGRlcGVuZGVuY3kgaW5qZWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRjAwMicsIHRhc2s6ICdFeHRyYWN0IGNvbW1vbiBsb2dpYyBpbnRvIGEgc2hhcmVkIHV0aWxpdHknLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnRjAwMycsIHRhc2s6ICdTcGxpdCB0aGUgbGFyZ2UgY29tcG9uZW50IGludG8gc21hbGxlciBvbmVzJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRjAwNCcsIHRhc2s6ICdSZW5hbWUgdGhlIGFtYmlndW91cyB2YXJpYWJsZSBuYW1lcyBpbiB0aGlzIG1vZHVsZScsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdGMDA1JywgdGFzazogJ0NvbnZlcnQgdGhlIGNhbGxiYWNrcyB0byBhc3luYy9hd2FpdCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0YwMDYnLCB0YXNrOiAnUmVtb3ZlIGRlYWQgY29kZSBmcm9tIHRoZSBsZWdhY3kgbW9kdWxlJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcbiAgeyBpZDogJ0YwMDcnLCB0YXNrOiAnQ29uc29saWRhdGUgZHVwbGljYXRlIEFQSSBoYW5kbGVycycsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBPUFRJTUlaRVIgdGFza3MgPT09XHJcbiAgeyBpZDogJ1AwMDEnLCB0YXNrOiAnT3B0aW1pemUgdGhlIHNsb3cgZGF0YWJhc2UgcXVlcnknLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdQMDAyJywgdGFzazogJ1JlZHVjZSB0aGUgYnVuZGxlIHNpemUgb2YgdGhlIGZyb250ZW5kJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdQMDAzJywgdGFzazogJ0ltcHJvdmUgdGhlIEFQSSByZXNwb25zZSB0aW1lJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUDAwNCcsIHRhc2s6ICdBZGQgY2FjaGluZyB0byByZWR1Y2UgZGF0YWJhc2UgbG9hZCcsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUDAwNScsIHRhc2s6ICdPcHRpbWl6ZSB0aGUgaW1hZ2UgbG9hZGluZyBwZXJmb3JtYW5jZScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUDAwNicsIHRhc2s6ICdQcm9maWxlIGFuZCBvcHRpbWl6ZSBtZW1vcnkgdXNhZ2UnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdQMDA3JywgdGFzazogJ0ltcGxlbWVudCBsYXp5IGxvYWRpbmcgZm9yIHRoZSBkYXNoYm9hcmQnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBERVZPUFMgdGFza3MgPT09XHJcbiAgeyBpZDogJ0UwMDEnLCB0YXNrOiAnU2V0IHVwIHRoZSBDSS9DRCBwaXBlbGluZSBmb3IgdGhlIG5ldyBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwMicsIHRhc2s6ICdDb25maWd1cmUgS3ViZXJuZXRlcyBkZXBsb3ltZW50IGZvciBwcm9kdWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0UwMDMnLCB0YXNrOiAnU2V0IHVwIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwNCcsIHRhc2s6ICdDcmVhdGUgRG9ja2VyIGNvbnRhaW5lcnMgZm9yIHRoZSBtaWNyb3NlcnZpY2VzJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwNScsIHRhc2s6ICdDb25maWd1cmUgYXV0by1zY2FsaW5nIGZvciB0aGUgQVBJIHNlcnZlcnMnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRTAwNicsIHRhc2s6ICdTZXQgdXAgdGhlIHN0YWdpbmcgZW52aXJvbm1lbnQnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdFMDA3JywgdGFzazogJ0ltcGxlbWVudCBibHVlLWdyZWVuIGRlcGxveW1lbnQgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IEFQSS1ET0NTIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdJMDAxJywgdGFzazogJ0dlbmVyYXRlIE9wZW5BUEkgc3BlYyBmb3IgdGhlIFJFU1QgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2FwaS1kb2NzJywgY2F0ZWdvcnk6ICdhcGktZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0kwMDInLCB0YXNrOiAnQ3JlYXRlIFN3YWdnZXIgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVuZHBvaW50cycsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdJMDAzJywgdGFzazogJ0RvY3VtZW50IHRoZSBHcmFwaFFMIHNjaGVtYScsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdJMDA0JywgdGFzazogJ0FkZCBleGFtcGxlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMgdG8gQVBJIGRvY3MnLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcblxyXG4gIC8vID09PSBQTEFOTkVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdMMDAxJywgdGFzazogJ0JyZWFrIGRvd24gdGhlIGZlYXR1cmUgaW50byBpbXBsZW1lbnRhdGlvbiB0YXNrcycsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3ByaW50IHBsYW4gZm9yIHRoZSBuZXh0IG1pbGVzdG9uZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDMnLCB0YXNrOiAnRXN0aW1hdGUgZWZmb3J0IGZvciB0aGUgcmVmYWN0b3JpbmcgcHJvamVjdCcsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDQnLCB0YXNrOiAnUHJpb3JpdGl6ZSB0aGUgYnVnIGZpeGVzIGZvciB0aGUgcmVsZWFzZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdMMDA1JywgdGFzazogJ1BsYW4gdGhlIHRlY2huaWNhbCBkZWJ0IHJlZHVjdGlvbiByb2FkbWFwJywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcblxyXG4gIC8vID09PSBBTUJJR1VPVVMgLyBFREdFIENBU0VTID09PVxyXG4gIHsgaWQ6ICdYMDAxJywgdGFzazogJ1RoZSBsb2dpbiBpcyBicm9rZW4sIHVzZXJzIGNhbm5vdCBzaWduIGluJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdYMDAyJywgdGFzazogJ1dlIG5lZWQgYmV0dGVyIGVycm9yIG1lc3NhZ2VzJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnWDAwMycsIHRhc2s6ICdNYWtlIHRoZSBhcHAgZmFzdGVyJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1gwMDQnLCB0YXNrOiAnVGhlIGNvZGUgaXMgYSBtZXNzLCBjbGVhbiBpdCB1cCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdYMDA1JywgdGFzazogJ0lzIHRoaXMgaW1wbGVtZW50YXRpb24gc2VjdXJlPycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FtYmlndW91cycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbl07XHJcblxyXG4vKipcclxuICogU2ltcGxlIGtleXdvcmQtYmFzZWQgcm91dGluZyBmb3IgYmFzZWxpbmUgY29tcGFyaXNvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VsaW5lS2V5d29yZFJvdXRlcih0YXNrOiBzdHJpbmcpOiB7IGFnZW50OiBBZ2VudFR5cGU7IGNvbmZpZGVuY2U6IG51bWJlciB9IHtcclxuICBjb25zdCB0YXNrTG93ZXIgPSB0YXNrLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gIGNvbnN0IHBhdHRlcm5zOiB7IGtleXdvcmRzOiBzdHJpbmdbXTsgYWdlbnQ6IEFnZW50VHlwZTsgd2VpZ2h0OiBudW1iZXIgfVtdID0gW1xyXG4gICAgeyBrZXl3b3JkczogWydpbXBsZW1lbnQnLCAnY3JlYXRlJywgJ3dyaXRlJywgJ2FkZCcsICdidWlsZCddLCBhZ2VudDogJ2NvZGVyJywgd2VpZ2h0OiAxIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ3Jlc2VhcmNoJywgJ2ZpbmQnLCAnaW52ZXN0aWdhdGUnLCAnYW5hbHl6ZScsICdleHBsb3JlJ10sIGFnZW50OiAncmVzZWFyY2hlcicsIHdlaWdodDogMSB9LFxyXG4gICAgeyBrZXl3b3JkczogWydyZXZpZXcnLCAnY2hlY2snLCAnZXZhbHVhdGUnLCAnYXNzZXNzJ10sIGFnZW50OiAncmV2aWV3ZXInLCB3ZWlnaHQ6IDEgfSxcclxuICAgIHsga2V5d29yZHM6IFsndGVzdCcsICd1bml0IHRlc3QnLCAnaW50ZWdyYXRpb24gdGVzdCcsICdlMmUnLCAnY292ZXJhZ2UnXSwgYWdlbnQ6ICd0ZXN0ZXInLCB3ZWlnaHQ6IDEuMiB9LFxyXG4gICAgeyBrZXl3b3JkczogWydkZXNpZ24nLCAnYXJjaGl0ZWN0JywgJ3NjaGVtYScsICdhZHInLCAnc3lzdGVtIGRlc2lnbiddLCBhZ2VudDogJ2FyY2hpdGVjdCcsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ3NlY3VyaXR5JywgJ3Z1bG5lcmFiaWxpdHknLCAneHNzJywgJ3NxbCBpbmplY3Rpb24nLCAnYXVkaXQnLCAnY3ZlJ10sIGFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0Jywgd2VpZ2h0OiAxLjUgfSxcclxuICAgIHsga2V5d29yZHM6IFsnZGVidWcnLCAnZml4JywgJ2J1ZycsICdlcnJvcicsICdicm9rZW4nLCAnaXNzdWUnXSwgYWdlbnQ6ICdkZWJ1Z2dlcicsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ2RvY3VtZW50JywgJ3JlYWRtZScsICdqc2RvYycsICdjb21tZW50J10sIGFnZW50OiAnZG9jdW1lbnRlcicsIHdlaWdodDogMSB9LFxyXG4gICAgeyBrZXl3b3JkczogWydyZWZhY3RvcicsICdleHRyYWN0JywgJ3JlbmFtZScsICdjb25zb2xpZGF0ZScsICdzcGxpdCddLCBhZ2VudDogJ3JlZmFjdG9yZXInLCB3ZWlnaHQ6IDEuMiB9LFxyXG4gICAgeyBrZXl3b3JkczogWydvcHRpbWl6ZScsICdwZXJmb3JtYW5jZScsICdzbG93JywgJ2NhY2hlJywgJ2Zhc3RlciddLCBhZ2VudDogJ29wdGltaXplcicsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ2RlcGxveScsICdjaS9jZCcsICdrdWJlcm5ldGVzJywgJ2RvY2tlcicsICdwaXBlbGluZSddLCBhZ2VudDogJ2Rldm9wcycsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ29wZW5hcGknLCAnc3dhZ2dlcicsICdhcGkgZG9jJywgJ2dyYXBocWwgc2NoZW1hJ10sIGFnZW50OiAnYXBpLWRvY3MnLCB3ZWlnaHQ6IDEuMyB9LFxyXG4gICAgeyBrZXl3b3JkczogWydwbGFuJywgJ2VzdGltYXRlJywgJ3ByaW9yaXRpemUnLCAnc3ByaW50JywgJ3JvYWRtYXAnXSwgYWdlbnQ6ICdwbGFubmVyJywgd2VpZ2h0OiAxIH0sXHJcbiAgXTtcclxuXHJcbiAgbGV0IGJlc3RNYXRjaDogeyBhZ2VudDogQWdlbnRUeXBlOyBzY29yZTogbnVtYmVyIH0gPSB7IGFnZW50OiAnY29kZXInLCBzY29yZTogMCB9O1xyXG5cclxuICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcclxuICAgIGxldCBzY29yZSA9IDA7XHJcbiAgICBmb3IgKGNvbnN0IGtleXdvcmQgb2YgcGF0dGVybi5rZXl3b3Jkcykge1xyXG4gICAgICBpZiAodGFza0xvd2VyLmluY2x1ZGVzKGtleXdvcmQpKSB7XHJcbiAgICAgICAgc2NvcmUgKz0gcGF0dGVybi53ZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChzY29yZSA+IGJlc3RNYXRjaC5zY29yZSkge1xyXG4gICAgICBiZXN0TWF0Y2ggPSB7IGFnZW50OiBwYXR0ZXJuLmFnZW50LCBzY29yZSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGFnZW50OiBiZXN0TWF0Y2guYWdlbnQsXHJcbiAgICBjb25maWRlbmNlOiBNYXRoLm1pbihiZXN0TWF0Y2guc2NvcmUgLyAzLCAxKSwgLy8gTm9ybWFsaXplIHRvIDAtMVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSdW4gdGhlIHJvdXRpbmcgYmVuY2htYXJrXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcnVuUm91dGluZ0JlbmNobWFyayhcclxuICByb3V0ZXI6ICh0YXNrOiBzdHJpbmcpID0+IHsgYWdlbnQ6IHN0cmluZzsgY29uZmlkZW5jZTogbnVtYmVyIH1cclxuKTogUm91dGluZ0JlbmNobWFya1Jlc3VsdHMge1xyXG4gIGNvbnN0IHJlc3VsdHM6IFJvdXRpbmdSZXN1bHRbXSA9IFtdO1xyXG4gIGNvbnN0IGxhdGVuY2llczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCB0ZXN0Q2FzZSBvZiBST1VUSU5HX1RFU1RfQ0FTRVMpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBjb25zdCBwcmVkaWN0aW9uID0gcm91dGVyKHRlc3RDYXNlLnRhc2spO1xyXG4gICAgY29uc3QgbGF0ZW5jeU1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydDtcclxuXHJcbiAgICBsYXRlbmNpZXMucHVzaChsYXRlbmN5TXMpO1xyXG5cclxuICAgIHJlc3VsdHMucHVzaCh7XHJcbiAgICAgIHRlc3RJZDogdGVzdENhc2UuaWQsXHJcbiAgICAgIHRhc2s6IHRlc3RDYXNlLnRhc2ssXHJcbiAgICAgIGV4cGVjdGVkQWdlbnQ6IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXHJcbiAgICAgIHByZWRpY3RlZEFnZW50OiBwcmVkaWN0aW9uLmFnZW50LFxyXG4gICAgICBjb25maWRlbmNlOiBwcmVkaWN0aW9uLmNvbmZpZGVuY2UsXHJcbiAgICAgIGNvcnJlY3Q6IHByZWRpY3Rpb24uYWdlbnQgPT09IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXHJcbiAgICAgIGxhdGVuY3lNcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FsY3VsYXRlIG1ldHJpY3NcclxuICBjb25zdCBjb3JyZWN0ID0gcmVzdWx0cy5maWx0ZXIociA9PiByLmNvcnJlY3QpLmxlbmd0aDtcclxuICBjb25zdCBhY2N1cmFjeSA9IGNvcnJlY3QgLyByZXN1bHRzLmxlbmd0aDtcclxuXHJcbiAgLy8gQWNjdXJhY3kgYnkgY2F0ZWdvcnlcclxuICBjb25zdCBjYXRlZ29yaWVzID0gWy4uLm5ldyBTZXQoUk9VVElOR19URVNUX0NBU0VTLm1hcCh0ID0+IHQuY2F0ZWdvcnkpKV07XHJcbiAgY29uc3QgYWNjdXJhY3lCeUNhdGVnb3J5OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XHJcbiAgZm9yIChjb25zdCBjYXQgb2YgY2F0ZWdvcmllcykge1xyXG4gICAgY29uc3QgY2F0UmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKChyLCBpKSA9PiBST1VUSU5HX1RFU1RfQ0FTRVNbaV0uY2F0ZWdvcnkgPT09IGNhdCk7XHJcbiAgICBhY2N1cmFjeUJ5Q2F0ZWdvcnlbY2F0XSA9IGNhdFJlc3VsdHMuZmlsdGVyKHIgPT4gci5jb3JyZWN0KS5sZW5ndGggLyBjYXRSZXN1bHRzLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8vIEFjY3VyYWN5IGJ5IGRpZmZpY3VsdHlcclxuICBjb25zdCBkaWZmaWN1bHRpZXMgPSBbJ2Vhc3knLCAnbWVkaXVtJywgJ2hhcmQnXTtcclxuICBjb25zdCBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xyXG4gIGZvciAoY29uc3QgZGlmZiBvZiBkaWZmaWN1bHRpZXMpIHtcclxuICAgIGNvbnN0IGRpZmZSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHIsIGkpID0+IFJPVVRJTkdfVEVTVF9DQVNFU1tpXS5kaWZmaWN1bHR5ID09PSBkaWZmKTtcclxuICAgIGFjY3VyYWN5QnlEaWZmaWN1bHR5W2RpZmZdID0gZGlmZlJlc3VsdHMuZmlsdGVyKHIgPT4gci5jb3JyZWN0KS5sZW5ndGggLyBkaWZmUmVzdWx0cy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICAvLyBMYXRlbmN5IHBlcmNlbnRpbGVzXHJcbiAgY29uc3Qgc29ydGVkTGF0ZW5jaWVzID0gWy4uLmxhdGVuY2llc10uc29ydCgoYSwgYikgPT4gYSAtIGIpO1xyXG4gIGNvbnN0IHA1MCA9IHNvcnRlZExhdGVuY2llc1tNYXRoLmZsb29yKHNvcnRlZExhdGVuY2llcy5sZW5ndGggKiAwLjUpXTtcclxuICBjb25zdCBwOTUgPSBzb3J0ZWRMYXRlbmNpZXNbTWF0aC5mbG9vcihzb3J0ZWRMYXRlbmNpZXMubGVuZ3RoICogMC45NSldO1xyXG4gIGNvbnN0IGF2Z0xhdGVuY3kgPSBsYXRlbmNpZXMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkgLyBsYXRlbmNpZXMubGVuZ3RoO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYWNjdXJhY3ksXHJcbiAgICBhY2N1cmFjeUJ5Q2F0ZWdvcnksXHJcbiAgICBhY2N1cmFjeUJ5RGlmZmljdWx0eSxcclxuICAgIGF2Z0xhdGVuY3lNczogYXZnTGF0ZW5jeSxcclxuICAgIHA1MExhdGVuY3lNczogcDUwLFxyXG4gICAgcDk1TGF0ZW5jeU1zOiBwOTUsXHJcbiAgICB0b3RhbFRlc3RzOiByZXN1bHRzLmxlbmd0aCxcclxuICAgIGNvcnJlY3QsXHJcbiAgICByZXN1bHRzLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXQgYmVuY2htYXJrIHJlc3VsdHMgZm9yIGRpc3BsYXlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRSb3V0aW5nUmVzdWx0cyhyZXN1bHRzOiBSb3V0aW5nQmVuY2htYXJrUmVzdWx0cyk6IHN0cmluZyB7XHJcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGxpbmVzLnB1c2goJycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgICAgICAgICAgICAgUk9VVElORyBCRU5DSE1BUksgUkVTVUxUUyAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcbiAgbGluZXMucHVzaCgn4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjJyk7XHJcbiAgbGluZXMucHVzaChg4pWRICBPdmVyYWxsIEFjY3VyYWN5OiAkeyhyZXN1bHRzLmFjY3VyYWN5ICogMTAwKS50b0ZpeGVkKDEpfSUgKCR7cmVzdWx0cy5jb3JyZWN0fS8ke3Jlc3VsdHMudG90YWxUZXN0c30pYC5wYWRFbmQoNjMpICsgJ+KVkScpO1xyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgQnkgQ2F0ZWdvcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcblxyXG4gIGZvciAoY29uc3QgW2NhdCwgYWNjXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHRzLmFjY3VyYWN5QnlDYXRlZ29yeSkuc29ydCgoYSwgYikgPT4gYlsxXSAtIGFbMV0pKSB7XHJcbiAgICBjb25zdCBiYXIgPSAn4paIJy5yZXBlYXQoTWF0aC5mbG9vcihhY2MgKiAyMCkpICsgJ+KWkScucmVwZWF0KDIwIC0gTWF0aC5mbG9vcihhY2MgKiAyMCkpO1xyXG4gICAgbGluZXMucHVzaChg4pWRICAgICR7Y2F0LnBhZEVuZCgxOCl9IFske2Jhcn1dICR7KGFjYyAqIDEwMCkudG9GaXhlZCgwKS5wYWRTdGFydCgzKX0lICDilZFgKTtcclxuICB9XHJcblxyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgQnkgRGlmZmljdWx0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcblxyXG4gIGZvciAoY29uc3QgW2RpZmYsIGFjY10gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0cy5hY2N1cmFjeUJ5RGlmZmljdWx0eSkpIHtcclxuICAgIGNvbnN0IGJhciA9ICfilognLnJlcGVhdChNYXRoLmZsb29yKGFjYyAqIDIwKSkgKyAn4paRJy5yZXBlYXQoMjAgLSBNYXRoLmZsb29yKGFjYyAqIDIwKSk7XHJcbiAgICBsaW5lcy5wdXNoKGDilZEgICAgJHtkaWZmLnBhZEVuZCgxOCl9IFske2Jhcn1dICR7KGFjYyAqIDEwMCkudG9GaXhlZCgwKS5wYWRTdGFydCgzKX0lICDilZFgKTtcclxuICB9XHJcblxyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgTGF0ZW5jeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcbiAgbGluZXMucHVzaChg4pWRICAgIEF2ZXJhZ2U6ICR7cmVzdWx0cy5hdmdMYXRlbmN5TXMudG9GaXhlZCgyKX1tc2AucGFkRW5kKDYzKSArICfilZEnKTtcclxuICBsaW5lcy5wdXNoKGDilZEgICAgUDUwOiAgICAgJHtyZXN1bHRzLnA1MExhdGVuY3lNcy50b0ZpeGVkKDIpfW1zYC5wYWRFbmQoNjMpICsgJ+KVkScpO1xyXG4gIGxpbmVzLnB1c2goYOKVkSAgICBQOTU6ICAgICAke3Jlc3VsdHMucDk1TGF0ZW5jeU1zLnRvRml4ZWQoMil9bXNgLnBhZEVuZCg2MykgKyAn4pWRJyk7XHJcbiAgbGluZXMucHVzaCgn4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdJyk7XHJcblxyXG4gIC8vIFNob3cgZmFpbHVyZXNcclxuICBjb25zdCBmYWlsdXJlcyA9IHJlc3VsdHMucmVzdWx0cy5maWx0ZXIociA9PiAhci5jb3JyZWN0KTtcclxuICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMCAmJiBmYWlsdXJlcy5sZW5ndGggPD0gMjApIHtcclxuICAgIGxpbmVzLnB1c2goJycpO1xyXG4gICAgbGluZXMucHVzaCgnTWlzcm91dGVkIHRhc2tzOicpO1xyXG4gICAgZm9yIChjb25zdCBmIG9mIGZhaWx1cmVzLnNsaWNlKDAsIDEwKSkge1xyXG4gICAgICBsaW5lcy5wdXNoKGAgIFske2YudGVzdElkfV0gXCIke2YudGFzay5zbGljZSgwLCA1MCl9Li4uXCJgKTtcclxuICAgICAgbGluZXMucHVzaChgICAgICAgICAgRXhwZWN0ZWQ6ICR7Zi5leHBlY3RlZEFnZW50fSwgR290OiAke2YucHJlZGljdGVkQWdlbnR9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMTApIHtcclxuICAgICAgbGluZXMucHVzaChgICAuLi4gYW5kICR7ZmFpbHVyZXMubGVuZ3RoIC0gMTB9IG1vcmVgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIFJPVVRJTkdfVEVTVF9DQVNFUyxcclxuICBBR0VOVF9UWVBFUyxcclxuICBiYXNlbGluZUtleXdvcmRSb3V0ZXIsXHJcbiAgcnVuUm91dGluZ0JlbmNobWFyayxcclxuICBmb3JtYXRSb3V0aW5nUmVzdWx0cyxcclxufTtcclxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy1iZW5jaG1hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrcy9yb3V0aW5nLWJlbmNobWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQWdDSDs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLE9BQU87SUFDUCxZQUFZO0lBQ1osVUFBVTtJQUNWLFFBQVE7SUFDUixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLFVBQVU7SUFDVixZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxRQUFRO0lBQ1IsVUFBVTtJQUNWLFNBQVM7Q0FDRCxDQUFDO0FBSVg7OztHQUdHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBc0I7SUFDbkQsdUNBQXVDO0lBQ3ZDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0RBQWtELEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNoSixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlEQUFpRCxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7SUFDakosRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrREFBa0QsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQ2xKLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaURBQWlELEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUMvSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLHFDQUFxQyxFQUFFLGFBQWEs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LGtCQUFrQixFQUFsQiwwQkFBa0I7SUFDbEIsV0FBVyxFQUFYLG1CQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixvQkFBb0I7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUm91dGluZyBCZW5jaG1hcmsgZm9yIFJ1dkxUUkEgTW9kZWxzXG4gKlxuICogVGVzdHMgd2hldGhlciB0aGUgbW9kZWwgY29ycmVjdGx5IHJvdXRlcyB0YXNrcyB0byBhcHByb3ByaWF0ZSBhZ2VudHMuXG4gKiBUaGlzIG1lYXN1cmVzIHRoZSBhY3R1YWwgdmFsdWUgcHJvcG9zaXRpb24gZm9yIENsYXVkZSBDb2RlIHdvcmtmbG93cy5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdUZXN0Q2FzZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRhc2s6IHN0cmluZztcbiAgZXhwZWN0ZWRBZ2VudDogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBkaWZmaWN1bHR5OiAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5nUmVzdWx0IHtcbiAgdGVzdElkOiBzdHJpbmc7XG4gIHRhc2s6IHN0cmluZztcbiAgZXhwZWN0ZWRBZ2VudDogc3RyaW5nO1xuICBwcmVkaWN0ZWRBZ2VudDogc3RyaW5nO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIGNvcnJlY3Q6IGJvb2xlYW47XG4gIGxhdGVuY3lNczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdCZW5jaG1hcmtSZXN1bHRzIHtcbiAgYWNjdXJhY3k6IG51bWJlcjtcbiAgYWNjdXJhY3lCeUNhdGVnb3J5OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbiAgYXZnTGF0ZW5jeU1zOiBudW1iZXI7XG4gIHA1MExhdGVuY3lNczogbnVtYmVyO1xuICBwOTVMYXRlbmN5TXM6IG51bWJlcjtcbiAgdG90YWxUZXN0czogbnVtYmVyO1xuICBjb3JyZWN0OiBudW1iZXI7XG4gIHJlc3VsdHM6IFJvdXRpbmdSZXN1bHRbXTtcbn1cblxuLyoqXG4gKiBBZ2VudCB0eXBlcyBpbiBDbGF1ZGUgQ29kZSAvIGNsYXVkZS1mbG93IGVjb3N5c3RlbVxuICovXG5leHBvcnQgY29uc3QgQUdFTlRfVFlQRVMgPSBbXG4gICdjb2RlcicsXG4gICdyZXNlYXJjaGVyJyxcbiAgJ3Jldmlld2VyJyxcbiAgJ3Rlc3RlcicsXG4gICdhcmNoaXRlY3QnLFxuICAnc2VjdXJpdHktYXJjaGl0ZWN0JyxcbiAgJ2RlYnVnZ2VyJyxcbiAgJ2RvY3VtZW50ZXInLFxuICAncmVmYWN0b3JlcicsXG4gICdvcHRpbWl6ZXInLFxuICAnZGV2b3BzJyxcbiAgJ2FwaS1kb2NzJyxcbiAgJ3BsYW5uZXInLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQWdlbnRUeXBlID0gKHR5cGVvZiBBR0VOVF9UWVBFUylbbnVtYmVyXTtcblxuLyoqXG4gKiBHcm91bmQgdHJ1dGggdGVzdCBkYXRhc2V0IGZvciByb3V0aW5nXG4gKiAxMDAgdGFza3Mgd2l0aCBleHBlY3RlZCBhZ2VudCBhc3NpZ25tZW50c1xuICovXG5leHBvcnQgY29uc3QgUk9VVElOR19URVNUX0NBU0VTOiBSb3V0aW5nVGVzdENhc2VbXSA9IFtcbiAgLy8gPT09IENPREVSIHRhc2tzICh3cml0ZSBuZXcgY29kZSkgPT09XG4gIHsgaWQ6ICdDMDAxJywgdGFzazogJ0ltcGxlbWVudCBhIGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24gaW4gVHlwZVNjcmlwdCcsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0MwMDInLCB0YXNrOiAnV3JpdGUgYSBSZWFjdCBjb21wb25lbnQgZm9yIHVzZXIgYXV0aGVudGljYXRpb24nLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0MwMDMnLCB0YXNrOiAnQ3JlYXRlIGEgUkVTVCBBUEkgZW5kcG9pbnQgZm9yIHVzZXIgcmVnaXN0cmF0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdDMDA0JywgdGFzazogJ0ltcGxlbWVudCBhIFdlYlNvY2tldCBzZXJ2ZXIgZm9yIHJlYWwtdGltZSBjaGF0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnQzAwNScsIHRhc2s6ICdXcml0ZSBhIGZ1bmN0aW9uIHRvIHBhcnNlIENTViBmaWxlcycsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0MwMDYnLCB0YXNrOiAnQ3JlYXRlIGEgbWlkZGxld2FyZSBmb3IgcmVxdWVzdCBsb2dnaW5nJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnQzAwNycsIHRhc2s6ICdJbXBsZW1lbnQgcGFnaW5hdGlvbiBmb3IgdGhlIEFQSSByZXNwb25zZXMnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0MwMDgnLCB0YXNrOiAnV3JpdGUgYSBjdXN0b20gUmVhY3QgaG9vayBmb3IgZm9ybSB2YWxpZGF0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdDMDA5JywgdGFzazogJ0NyZWF0ZSBhIGRhdGFiYXNlIG1pZ3JhdGlvbiBzY3JpcHQnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0MwMTAnLCB0YXNrOiAnSW1wbGVtZW50IGEgcmF0ZSBsaW1pdGVyIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG5cbiAgLy8gPT09IFJFU0VBUkNIRVIgdGFza3MgKGludmVzdGlnYXRlLCBleHBsb3JlKSA9PT1cbiAgeyBpZDogJ1IwMDEnLCB0YXNrOiAnUmVzZWFyY2ggYmVzdCBwcmFjdGljZXMgZm9yIEdyYXBoUUwgc2NoZW1hIGRlc2lnbicsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdSMDAyJywgdGFzazogJ0ZpbmQgb3V0IGhvdyB0aGUgYXV0aGVudGljYXRpb24gZmxvdyB3b3JrcyBpbiB0aGlzIGNvZGViYXNlJywgZXhwZWN0ZWRBZ2VudDogJ3Jlc2VhcmNoZXInLCBjYXRlZ29yeTogJ3Jlc2VhcmNoJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdSMDAzJywgdGFzazogJ0ludmVzdGlnYXRlIHdoeSB0aGUgYnVpbGQgaXMgZmFpbGluZyBvbiBDSScsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdSMDA0JywgdGFzazogJ1Jlc2VhcmNoIGFsdGVybmF0aXZlcyB0byBSZWR1eCBmb3Igc3RhdGUgbWFuYWdlbWVudCcsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdSMDA1JywgdGFzazogJ0ZpbmQgYWxsIHVzYWdlcyBvZiB0aGUgZGVwcmVjYXRlZCBBUEkgaW4gdGhlIGNvZGViYXNlJywgZXhwZWN0ZWRBZ2VudDogJ3Jlc2VhcmNoZXInLCBjYXRlZ29yeTogJ3Jlc2VhcmNoJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdSMDA2JywgdGFzazogJ0FuYWx5emUgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBvdXIgZGF0YWJhc2UgcXVlcmllcycsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnUjAwNycsIHRhc2s6ICdSZXNlYXJjaCBHRFBSIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzIGZvciB1c2VyIGRhdGEnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUjAwOCcsIHRhc2s6ICdGaW5kIGV4YW1wbGVzIG9mIHNpbWlsYXIgaW1wbGVtZW50YXRpb25zIGluIG9wZW4gc291cmNlJywgZXhwZWN0ZWRBZ2VudDogJ3Jlc2VhcmNoZXInLCBjYXRlZ29yeTogJ3Jlc2VhcmNoJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG5cbiAgLy8gPT09IFJFVklFV0VSIHRhc2tzIChjb2RlIHJldmlldywgcXVhbGl0eSkgPT09XG4gIHsgaWQ6ICdWMDAxJywgdGFzazogJ1JldmlldyB0aGlzIHB1bGwgcmVxdWVzdCBmb3IgY29kZSBxdWFsaXR5JywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnVjAwMicsIHRhc2s6ICdDaGVjayBpZiB0aGlzIGNvZGUgZm9sbG93cyBvdXIgc3R5bGUgZ3VpZGVsaW5lcycsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdWMDAzJywgdGFzazogJ1JldmlldyB0aGUgQVBJIGRlc2lnbiBmb3IgY29uc2lzdGVuY3knLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdWMDA0JywgdGFzazogJ0V2YWx1YXRlIHRoZSBlcnJvciBoYW5kbGluZyBpbiB0aGlzIG1vZHVsZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1YwMDUnLCB0YXNrOiAnUmV2aWV3IHRoZSBkYXRhYmFzZSBzY2hlbWEgY2hhbmdlcycsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdWMDA2JywgdGFzazogJ0NoZWNrIGZvciBwb3RlbnRpYWwgbWVtb3J5IGxlYWtzIGluIHRoaXMgY29kZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdWMDA3JywgdGFzazogJ1JldmlldyB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGUgVUkgY29tcG9uZW50cycsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcblxuICAvLyA9PT0gVEVTVEVSIHRhc2tzICh3cml0ZSB0ZXN0cywgUUEpID09PVxuICB7IGlkOiAnVDAwMScsIHRhc2s6ICdXcml0ZSB1bml0IHRlc3RzIGZvciB0aGUgdXNlciBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdUMDAyJywgdGFzazogJ0NyZWF0ZSBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgdGhlIGNoZWNrb3V0IGZsb3cnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdUMDAzJywgdGFzazogJ0FkZCB0ZXN0IGNvdmVyYWdlIGZvciBlZGdlIGNhc2VzIGluIHRoZSBwYXJzZXInLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1QwMDQnLCB0YXNrOiAnV3JpdGUgRTJFIHRlc3RzIGZvciB0aGUgbG9naW4gcGFnZScsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnVDAwNScsIHRhc2s6ICdDcmVhdGUgcGVyZm9ybWFuY2UgdGVzdHMgZm9yIHRoZSBBUEknLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdUMDA2JywgdGFzazogJ0FkZCBzbmFwc2hvdCB0ZXN0cyBmb3IgUmVhY3QgY29tcG9uZW50cycsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ1QwMDcnLCB0YXNrOiAnV3JpdGUgdGVzdHMgZm9yIHRoZSBhdXRoZW50aWNhdGlvbiBtaWRkbGV3YXJlJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdUMDA4JywgdGFzazogJ0NyZWF0ZSBtb2NrIGRhdGEgZm9yIHRlc3RpbmcnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG5cbiAgLy8gPT09IEFSQ0hJVEVDVCB0YXNrcyAoZGVzaWduLCBzeXN0ZW0pID09PVxuICB7IGlkOiAnQTAwMScsIHRhc2s6ICdEZXNpZ24gdGhlIG1pY3Jvc2VydmljZXMgYXJjaGl0ZWN0dXJlIGZvciB0aGUgcGxhdGZvcm0nLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ0EwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3lzdGVtIGRlc2lnbiBmb3IgdGhlIG5vdGlmaWNhdGlvbiBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdBMDAzJywgdGFzazogJ1BsYW4gdGhlIGRhdGFiYXNlIHNjaGVtYSBmb3IgdGhlIG5ldyBmZWF0dXJlJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0EwMDQnLCB0YXNrOiAnRGVzaWduIHRoZSBBUEkgY29udHJhY3QgZm9yIHRoZSBtb2JpbGUgYXBwJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0EwMDUnLCB0YXNrOiAnQ3JlYXRlIGFuIEFEUiBmb3IgdGhlIGNhY2hpbmcgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnQTAwNicsIHRhc2s6ICdEZXNpZ24gdGhlIGV2ZW50LWRyaXZlbiBhcmNoaXRlY3R1cmUgZm9yIG9yZGVyIHByb2Nlc3NpbmcnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ0EwMDcnLCB0YXNrOiAnUGxhbiB0aGUgbWlncmF0aW9uIHN0cmF0ZWd5IGZyb20gbW9ub2xpdGggdG8gbWljcm9zZXJ2aWNlcycsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuXG4gIC8vID09PSBTRUNVUklUWSB0YXNrcyA9PT1cbiAgeyBpZDogJ1MwMDEnLCB0YXNrOiAnQXVkaXQgdGhlIGF1dGhlbnRpY2F0aW9uIGltcGxlbWVudGF0aW9uIGZvciB2dWxuZXJhYmlsaXRpZXMnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnUzAwMicsIHRhc2s6ICdSZXZpZXcgdGhlIGNvZGUgZm9yIFNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUzAwMycsIHRhc2s6ICdDaGVjayBmb3IgWFNTIHZ1bG5lcmFiaWxpdGllcyBpbiB0aGUgZnJvbnRlbmQnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdTMDA0JywgdGFzazogJ0ltcGxlbWVudCBzZWN1cmUgcGFzc3dvcmQgaGFzaGluZycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1MwMDUnLCB0YXNrOiAnUmV2aWV3IHRoZSBBUEkgZm9yIGF1dGhvcml6YXRpb24gYnlwYXNzIGlzc3VlcycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdTMDA2JywgdGFzazogJ0F1ZGl0IHRoaXJkLXBhcnR5IGRlcGVuZGVuY2llcyBmb3Iga25vd24gQ1ZFcycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1MwMDcnLCB0YXNrOiAnRGVzaWduIHRoZSBzZWNyZXRzIG1hbmFnZW1lbnQgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuXG4gIC8vID09PSBERUJVR0dFUiB0YXNrcyA9PT1cbiAgeyBpZDogJ0QwMDEnLCB0YXNrOiAnRml4IHRoZSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uIGluIHRoZSB1c2VyIGNvbnRyb2xsZXInLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnRDAwMicsIHRhc2s6ICdEZWJ1ZyB3aHkgdGhlIEFQSSByZXR1cm5zIDUwMCBpbnRlcm1pdHRlbnRseScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdEMDAzJywgdGFzazogJ0ZpbmQgdGhlIGNhdXNlIG9mIHRoZSBtZW1vcnkgbGVhaycsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdEMDA0JywgdGFzazogJ0ZpeCB0aGUgcmFjZSBjb25kaXRpb24gaW4gdGhlIGNoZWNrb3V0IHByb2Nlc3MnLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnRDAwNScsIHRhc2s6ICdEZWJ1ZyB0aGUgZmFpbGluZyB0ZXN0IGluIENJJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRDAwNicsIHRhc2s6ICdGaXggdGhlIHRpbWV6b25lIGlzc3VlIGluIGRhdGUgaGFuZGxpbmcnLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdEMDA3JywgdGFzazogJ1Jlc29sdmUgdGhlIGNpcmN1bGFyIGRlcGVuZGVuY3kgZXJyb3InLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdEMDA4JywgdGFzazogJ0ZpeCB0aGUgYnJva2VuIGJ1aWxkIGFmdGVyIHRoZSBtZXJnZScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG5cbiAgLy8gPT09IERPQ1VNRU5URVIgdGFza3MgPT09XG4gIHsgaWQ6ICdPMDAxJywgdGFzazogJ1dyaXRlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBBUEkgZW5kcG9pbnRzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnTzAwMicsIHRhc2s6ICdDcmVhdGUgYSBSRUFETUUgZm9yIHRoZSBuZXcgcGFja2FnZScsIGV4cGVjdGVkQWdlbnQ6ICdkb2N1bWVudGVyJywgY2F0ZWdvcnk6ICdkb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdPMDAzJywgdGFzazogJ0RvY3VtZW50IHRoZSBkZXBsb3ltZW50IHByb2Nlc3MnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdPMDA0JywgdGFzazogJ1dyaXRlIEpTRG9jIGNvbW1lbnRzIGZvciB0aGUgdXRpbGl0eSBmdW5jdGlvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnTzAwNScsIHRhc2s6ICdDcmVhdGUgYSBtaWdyYXRpb24gZ3VpZGUgZm9yIHYyIHRvIHYzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnTzAwNicsIHRhc2s6ICdEb2N1bWVudCB0aGUgYXJjaGl0ZWN0dXJlIGRlY2lzaW9ucycsIGV4cGVjdGVkQWdlbnQ6ICdkb2N1bWVudGVyJywgY2F0ZWdvcnk6ICdkb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcblxuICAvLyA9PT0gUkVGQUNUT1JFUiB0YXNrcyA9PT1cbiAgeyBpZDogJ0YwMDEnLCB0YXNrOiAnUmVmYWN0b3IgdGhlIHVzZXIgc2VydmljZSB0byB1c2UgZGVwZW5kZW5jeSBpbmplY3Rpb24nLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRjAwMicsIHRhc2s6ICdFeHRyYWN0IGNvbW1vbiBsb2dpYyBpbnRvIGEgc2hhcmVkIHV0aWxpdHknLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0YwMDMnLCB0YXNrOiAnU3BsaXQgdGhlIGxhcmdlIGNvbXBvbmVudCBpbnRvIHNtYWxsZXIgb25lcycsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdGMDA0JywgdGFzazogJ1JlbmFtZSB0aGUgYW1iaWd1b3VzIHZhcmlhYmxlIG5hbWVzIGluIHRoaXMgbW9kdWxlJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdGMDA1JywgdGFzazogJ0NvbnZlcnQgdGhlIGNhbGxiYWNrcyB0byBhc3luYy9hd2FpdCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdGMDA2JywgdGFzazogJ1JlbW92ZSBkZWFkIGNvZGUgZnJvbSB0aGUgbGVnYWN5IG1vZHVsZScsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnRjAwNycsIHRhc2s6ICdDb25zb2xpZGF0ZSBkdXBsaWNhdGUgQVBJIGhhbmRsZXJzJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcblxuICAvLyA9PT0gT1BUSU1JWkVSIHRhc2tzID09PVxuICB7IGlkOiAnUDAwMScsIHRhc2s6ICdPcHRpbWl6ZSB0aGUgc2xvdyBkYXRhYmFzZSBxdWVyeScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdQMDAyJywgdGFzazogJ1JlZHVjZSB0aGUgYnVuZGxlIHNpemUgb2YgdGhlIGZyb250ZW5kJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUDAwMycsIHRhc2s6ICdJbXByb3ZlIHRoZSBBUEkgcmVzcG9uc2UgdGltZScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdQMDA0JywgdGFzazogJ0FkZCBjYWNoaW5nIHRvIHJlZHVjZSBkYXRhYmFzZSBsb2FkJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUDAwNScsIHRhc2s6ICdPcHRpbWl6ZSB0aGUgaW1hZ2UgbG9hZGluZyBwZXJmb3JtYW5jZScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1AwMDYnLCB0YXNrOiAnUHJvZmlsZSBhbmQgb3B0aW1pemUgbWVtb3J5IHVzYWdlJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ1AwMDcnLCB0YXNrOiAnSW1wbGVtZW50IGxhenkgbG9hZGluZyBmb3IgdGhlIGRhc2hib2FyZCcsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcblxuICAvLyA9PT0gREVWT1BTIHRhc2tzID09PVxuICB7IGlkOiAnRTAwMScsIHRhc2s6ICdTZXQgdXAgdGhlIENJL0NEIHBpcGVsaW5lIGZvciB0aGUgbmV3IHNlcnZpY2UnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRTAwMicsIHRhc2s6ICdDb25maWd1cmUgS3ViZXJuZXRlcyBkZXBsb3ltZW50IGZvciBwcm9kdWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdFMDAzJywgdGFzazogJ1NldCB1cCBtb25pdG9yaW5nIGFuZCBhbGVydGluZycsIGV4cGVjdGVkQWdlbnQ6ICdkZXZvcHMnLCBjYXRlZ29yeTogJ2Rldm9wcycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdFMDA0JywgdGFzazogJ0NyZWF0ZSBEb2NrZXIgY29udGFpbmVycyBmb3IgdGhlIG1pY3Jvc2VydmljZXMnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRTAwNScsIHRhc2s6ICdDb25maWd1cmUgYXV0by1zY2FsaW5nIGZvciB0aGUgQVBJIHNlcnZlcnMnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ0UwMDYnLCB0YXNrOiAnU2V0IHVwIHRoZSBzdGFnaW5nIGVudmlyb25tZW50JywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0UwMDcnLCB0YXNrOiAnSW1wbGVtZW50IGJsdWUtZ3JlZW4gZGVwbG95bWVudCBzdHJhdGVneScsIGV4cGVjdGVkQWdlbnQ6ICdkZXZvcHMnLCBjYXRlZ29yeTogJ2Rldm9wcycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuXG4gIC8vID09PSBBUEktRE9DUyB0YXNrcyA9PT1cbiAgeyBpZDogJ0kwMDEnLCB0YXNrOiAnR2VuZXJhdGUgT3BlbkFQSSBzcGVjIGZvciB0aGUgUkVTVCBBUEknLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0kwMDInLCB0YXNrOiAnQ3JlYXRlIFN3YWdnZXIgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVuZHBvaW50cycsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnSTAwMycsIHRhc2s6ICdEb2N1bWVudCB0aGUgR3JhcGhRTCBzY2hlbWEnLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0kwMDQnLCB0YXNrOiAnQWRkIGV4YW1wbGUgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyB0byBBUEkgZG9jcycsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcblxuICAvLyA9PT0gUExBTk5FUiB0YXNrcyA9PT1cbiAgeyBpZDogJ0wwMDEnLCB0YXNrOiAnQnJlYWsgZG93biB0aGUgZmVhdHVyZSBpbnRvIGltcGxlbWVudGF0aW9uIHRhc2tzJywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0wwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3ByaW50IHBsYW4gZm9yIHRoZSBuZXh0IG1pbGVzdG9uZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdMMDAzJywgdGFzazogJ0VzdGltYXRlIGVmZm9ydCBmb3IgdGhlIHJlZmFjdG9yaW5nIHByb2plY3QnLCBleHBlY3RlZEFnZW50OiAncGxhbm5lcicsIGNhdGVnb3J5OiAncGxhbm5pbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnTDAwNCcsIHRhc2s6ICdQcmlvcml0aXplIHRoZSBidWcgZml4ZXMgZm9yIHRoZSByZWxlYXNlJywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdMMDA1JywgdGFzazogJ1BsYW4gdGhlIHRlY2huaWNhbCBkZWJ0IHJlZHVjdGlvbiByb2FkbWFwJywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG5cbiAgLy8gPT09IEFNQklHVU9VUyAvIEVER0UgQ0FTRVMgPT09XG4gIHsgaWQ6ICdYMDAxJywgdGFzazogJ1RoZSBsb2dpbiBpcyBicm9rZW4sIHVzZXJzIGNhbm5vdCBzaWduIGluJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnWDAwMicsIHRhc2s6ICdXZSBuZWVkIGJldHRlciBlcnJvciBtZXNzYWdlcycsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdYMDAzJywgdGFzazogJ01ha2UgdGhlIGFwcCBmYXN0ZXInLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ1gwMDQnLCB0YXNrOiAnVGhlIGNvZGUgaXMgYSBtZXNzLCBjbGVhbiBpdCB1cCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnWDAwNScsIHRhc2s6ICdJcyB0aGlzIGltcGxlbWVudGF0aW9uIHNlY3VyZT8nLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuXTtcblxuLyoqXG4gKiBTaW1wbGUga2V5d29yZC1iYXNlZCByb3V0aW5nIGZvciBiYXNlbGluZSBjb21wYXJpc29uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYXNlbGluZUtleXdvcmRSb3V0ZXIodGFzazogc3RyaW5nKTogeyBhZ2VudDogQWdlbnRUeXBlOyBjb25maWRlbmNlOiBudW1iZXIgfSB7XG4gIGNvbnN0IHRhc2tMb3dlciA9IHRhc2sudG9Mb3dlckNhc2UoKTtcblxuICBjb25zdCBwYXR0ZXJuczogeyBrZXl3b3Jkczogc3RyaW5nW107IGFnZW50OiBBZ2VudFR5cGU7IHdlaWdodDogbnVtYmVyIH1bXSA9IFtcbiAgICB7IGtleXdvcmRzOiBbJ2ltcGxlbWVudCcsICdjcmVhdGUnLCAnd3JpdGUnLCAnYWRkJywgJ2J1aWxkJ10sIGFnZW50OiAnY29kZXInLCB3ZWlnaHQ6IDEgfSxcbiAgICB7IGtleXdvcmRzOiBbJ3Jlc2VhcmNoJywgJ2ZpbmQnLCAnaW52ZXN0aWdhdGUnLCAnYW5hbHl6ZScsICdleHBsb3JlJ10sIGFnZW50OiAncmVzZWFyY2hlcicsIHdlaWdodDogMSB9LFxuICAgIHsga2V5d29yZHM6IFsncmV2aWV3JywgJ2NoZWNrJywgJ2V2YWx1YXRlJywgJ2Fzc2VzcyddLCBhZ2VudDogJ3Jldmlld2VyJywgd2VpZ2h0OiAxIH0sXG4gICAgeyBrZXl3b3JkczogWyd0ZXN0JywgJ3VuaXQgdGVzdCcsICdpbnRlZ3JhdGlvbiB0ZXN0JywgJ2UyZScsICdjb3ZlcmFnZSddLCBhZ2VudDogJ3Rlc3RlcicsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydkZXNpZ24nLCAnYXJjaGl0ZWN0JywgJ3NjaGVtYScsICdhZHInLCAnc3lzdGVtIGRlc2lnbiddLCBhZ2VudDogJ2FyY2hpdGVjdCcsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydzZWN1cml0eScsICd2dWxuZXJhYmlsaXR5JywgJ3hzcycsICdzcWwgaW5qZWN0aW9uJywgJ2F1ZGl0JywgJ2N2ZSddLCBhZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIHdlaWdodDogMS41IH0sXG4gICAgeyBrZXl3b3JkczogWydkZWJ1ZycsICdmaXgnLCAnYnVnJywgJ2Vycm9yJywgJ2Jyb2tlbicsICdpc3N1ZSddLCBhZ2VudDogJ2RlYnVnZ2VyJywgd2VpZ2h0OiAxLjIgfSxcbiAgICB7IGtleXdvcmRzOiBbJ2RvY3VtZW50JywgJ3JlYWRtZScsICdqc2RvYycsICdjb21tZW50J10sIGFnZW50OiAnZG9jdW1lbnRlcicsIHdlaWdodDogMSB9LFxuICAgIHsga2V5d29yZHM6IFsncmVmYWN0b3InLCAnZXh0cmFjdCcsICdyZW5hbWUnLCAnY29uc29saWRhdGUnLCAnc3BsaXQnXSwgYWdlbnQ6ICdyZWZhY3RvcmVyJywgd2VpZ2h0OiAxLjIgfSxcbiAgICB7IGtleXdvcmRzOiBbJ29wdGltaXplJywgJ3BlcmZvcm1hbmNlJywgJ3Nsb3cnLCAnY2FjaGUnLCAnZmFzdGVyJ10sIGFnZW50OiAnb3B0aW1pemVyJywgd2VpZ2h0OiAxLjIgfSxcbiAgICB7IGtleXdvcmRzOiBbJ2RlcGxveScsICdjaS9jZCcsICdrdWJlcm5ldGVzJywgJ2RvY2tlcicsICdwaXBlbGluZSddLCBhZ2VudDogJ2Rldm9wcycsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydvcGVuYXBpJywgJ3N3YWdnZXInLCAnYXBpIGRvYycsICdncmFwaHFsIHNjaGVtYSddLCBhZ2VudDogJ2FwaS1kb2NzJywgd2VpZ2h0OiAxLjMgfSxcbiAgICB7IGtleXdvcmRzOiBbJ3BsYW4nLCAnZXN0aW1hdGUnLCAncHJpb3JpdGl6ZScsICdzcHJpbnQnLCAncm9hZG1hcCddLCBhZ2VudDogJ3BsYW5uZXInLCB3ZWlnaHQ6IDEgfSxcbiAgXTtcblxuICBsZXQgYmVzdE1hdGNoOiB7IGFnZW50OiBBZ2VudFR5cGU7IHNjb3JlOiBudW1iZXIgfSA9IHsgYWdlbnQ6ICdjb2RlcicsIHNjb3JlOiAwIH07XG5cbiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG4gICAgbGV0IHNjb3JlID0gMDtcbiAgICBmb3IgKGNvbnN0IGtleXdvcmQgb2YgcGF0dGVybi5rZXl3b3Jkcykge1xuICAgICAgaWYgKHRhc2tMb3dlci5pbmNsdWRlcyhrZXl3b3JkKSkge1xuICAgICAgICBzY29yZSArPSBwYXR0ZXJuLndlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNjb3JlID4gYmVzdE1hdGNoLnNjb3JlKSB7XG4gICAgICBiZXN0TWF0Y2ggPSB7IGFnZW50OiBwYXR0ZXJuLmFnZW50LCBzY29yZSB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYWdlbnQ6IGJlc3RNYXRjaC5hZ2VudCxcbiAgICBjb25maWRlbmNlOiBNYXRoLm1pbihiZXN0TWF0Y2guc2NvcmUgLyAzLCAxKSwgLy8gTm9ybWFsaXplIHRvIDAtMVxuICB9O1xufVxuXG4vKipcbiAqIFJ1biB0aGUgcm91dGluZyBiZW5jaG1hcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1blJvdXRpbmdCZW5jaG1hcmsoXG4gIHJvdXRlcjogKHRhc2s6IHN0cmluZykgPT4geyBhZ2VudDogc3RyaW5nOyBjb25maWRlbmNlOiBudW1iZXIgfVxuKTogUm91dGluZ0JlbmNobWFya1Jlc3VsdHMge1xuICBjb25zdCByZXN1bHRzOiBSb3V0aW5nUmVzdWx0W10gPSBbXTtcbiAgY29uc3QgbGF0ZW5jaWVzOiBudW1iZXJbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgdGVzdENhc2Ugb2YgUk9VVElOR19URVNUX0NBU0VTKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICBjb25zdCBwcmVkaWN0aW9uID0gcm91dGVyKHRlc3RDYXNlLnRhc2spO1xuICAgIGNvbnN0IGxhdGVuY3lNcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnQ7XG5cbiAgICBsYXRlbmNpZXMucHVzaChsYXRlbmN5TXMpO1xuXG4gICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgIHRlc3RJZDogdGVzdENhc2UuaWQsXG4gICAgICB0YXNrOiB0ZXN0Q2FzZS50YXNrLFxuICAgICAgZXhwZWN0ZWRBZ2VudDogdGVzdENhc2UuZXhwZWN0ZWRBZ2VudCxcbiAgICAgIHByZWRpY3RlZEFnZW50OiBwcmVkaWN0aW9uLmFnZW50LFxuICAgICAgY29uZmlkZW5jZTogcHJlZGljdGlvbi5jb25maWRlbmNlLFxuICAgICAgY29ycmVjdDogcHJlZGljdGlvbi5hZ2VudCA9PT0gdGVzdENhc2UuZXhwZWN0ZWRBZ2VudCxcbiAgICAgIGxhdGVuY3lNcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSBtZXRyaWNzXG4gIGNvbnN0IGNvcnJlY3QgPSByZXN1bHRzLmZpbHRlcihyID0+IHIuY29ycmVjdCkubGVuZ3RoO1xuICBjb25zdCBhY2N1cmFjeSA9IGNvcnJlY3QgLyByZXN1bHRzLmxlbmd0aDtcblxuICAvLyBBY2N1cmFjeSBieSBjYXRlZ29yeVxuICBjb25zdCBjYXRlZ29yaWVzID0gWy4uLm5ldyBTZXQoUk9VVElOR19URVNUX0NBU0VTLm1hcCh0ID0+IHQuY2F0ZWdvcnkpKV07XG4gIGNvbnN0IGFjY3VyYWN5QnlDYXRlZ29yeTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICBmb3IgKGNvbnN0IGNhdCBvZiBjYXRlZ29yaWVzKSB7XG4gICAgY29uc3QgY2F0UmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKChyLCBpKSA9PiBST1VUSU5HX1RFU1RfQ0FTRVNbaV0uY2F0ZWdvcnkgPT09IGNhdCk7XG4gICAgYWNjdXJhY3lCeUNhdGVnb3J5W2NhdF0gPSBjYXRSZXN1bHRzLmZpbHRlcihyID0+IHIuY29ycmVjdCkubGVuZ3RoIC8gY2F0UmVzdWx0cy5sZW5ndGg7XG4gIH1cblxuICAvLyBBY2N1cmFjeSBieSBkaWZmaWN1bHR5XG4gIGNvbnN0IGRpZmZpY3VsdGllcyA9IFsnZWFzeScsICdtZWRpdW0nLCAnaGFyZCddO1xuICBjb25zdCBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICBmb3IgKGNvbnN0IGRpZmYgb2YgZGlmZmljdWx0aWVzKSB7XG4gICAgY29uc3QgZGlmZlJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigociwgaSkgPT4gUk9VVElOR19URVNUX0NBU0VTW2ldLmRpZmZpY3VsdHkgPT09IGRpZmYpO1xuICAgIGFjY3VyYWN5QnlEaWZmaWN1bHR5W2RpZmZdID0gZGlmZlJlc3VsdHMuZmlsdGVyKHIgPT4gci5jb3JyZWN0KS5sZW5ndGggLyBkaWZmUmVzdWx0cy5sZW5ndGg7XG4gIH1cblxuICAvLyBMYXRlbmN5IHBlcmNlbnRpbGVzXG4gIGNvbnN0IHNvcnRlZExhdGVuY2llcyA9IFsuLi5sYXRlbmNpZXNdLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgY29uc3QgcDUwID0gc29ydGVkTGF0ZW5jaWVzW01hdGguZmxvb3Ioc29ydGVkTGF0ZW5jaWVzLmxlbmd0aCAqIDAuNSldO1xuICBjb25zdCBwOTUgPSBzb3J0ZWRMYXRlbmNpZXNbTWF0aC5mbG9vcihzb3J0ZWRMYXRlbmNpZXMubGVuZ3RoICogMC45NSldO1xuICBjb25zdCBhdmdMYXRlbmN5ID0gbGF0ZW5jaWVzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gbGF0ZW5jaWVzLmxlbmd0aDtcblxuICByZXR1cm4ge1xuICAgIGFjY3VyYWN5LFxuICAgIGFjY3VyYWN5QnlDYXRlZ29yeSxcbiAgICBhY2N1cmFjeUJ5RGlmZmljdWx0eSxcbiAgICBhdmdMYXRlbmN5TXM6IGF2Z0xhdGVuY3ksXG4gICAgcDUwTGF0ZW5jeU1zOiBwNTAsXG4gICAgcDk1TGF0ZW5jeU1zOiBwOTUsXG4gICAgdG90YWxUZXN0czogcmVzdWx0cy5sZW5ndGgsXG4gICAgY29ycmVjdCxcbiAgICByZXN1bHRzLFxuICB9O1xufVxuXG4vKipcbiAqIEZvcm1hdCBiZW5jaG1hcmsgcmVzdWx0cyBmb3IgZGlzcGxheVxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Um91dGluZ1Jlc3VsdHMocmVzdWx0czogUm91dGluZ0JlbmNobWFya1Jlc3VsdHMpOiBzdHJpbmcge1xuICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXTtcblxuICBsaW5lcy5wdXNoKCcnKTtcbiAgbGluZXMucHVzaCgn4pWU4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWXJyk7XG4gIGxpbmVzLnB1c2goJ+KVkSAgICAgICAgICAgICAgUk9VVElORyBCRU5DSE1BUksgUkVTVUxUUyAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xuICBsaW5lcy5wdXNoKGDilZEgIE92ZXJhbGwgQWNjdXJhY3k6ICR7KHJlc3VsdHMuYWNjdXJhY3kgKiAxMDApLnRvRml4ZWQoMSl9JSAoJHtyZXN1bHRzLmNvcnJlY3R9LyR7cmVzdWx0cy50b3RhbFRlc3RzfSlgLnBhZEVuZCg2MykgKyAn4pWRJyk7XG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xuICBsaW5lcy5wdXNoKCfilZEgIEJ5IENhdGVnb3J5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkScpO1xuXG4gIGZvciAoY29uc3QgW2NhdCwgYWNjXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHRzLmFjY3VyYWN5QnlDYXRlZ29yeSkuc29ydCgoYSwgYikgPT4gYlsxXSAtIGFbMV0pKSB7XG4gICAgY29uc3QgYmFyID0gJ+KWiCcucmVwZWF0KE1hdGguZmxvb3IoYWNjICogMjApKSArICfilpEnLnJlcGVhdCgyMCAtIE1hdGguZmxvb3IoYWNjICogMjApKTtcbiAgICBsaW5lcy5wdXNoKGDilZEgICAgJHtjYXQucGFkRW5kKDE4KX0gWyR7YmFyfV0gJHsoYWNjICogMTAwKS50b0ZpeGVkKDApLnBhZFN0YXJ0KDMpfSUgIOKVkWApO1xuICB9XG5cbiAgbGluZXMucHVzaCgn4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjJyk7XG4gIGxpbmVzLnB1c2goJ+KVkSAgQnkgRGlmZmljdWx0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XG5cbiAgZm9yIChjb25zdCBbZGlmZiwgYWNjXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHRzLmFjY3VyYWN5QnlEaWZmaWN1bHR5KSkge1xuICAgIGNvbnN0IGJhciA9ICfilognLnJlcGVhdChNYXRoLmZsb29yKGFjYyAqIDIwKSkgKyAn4paRJy5yZXBlYXQoMjAgLSBNYXRoLmZsb29yKGFjYyAqIDIwKSk7XG4gICAgbGluZXMucHVzaChg4pWRICAgICR7ZGlmZi5wYWRFbmQoMTgpfSBbJHtiYXJ9XSAkeyhhY2MgKiAxMDApLnRvRml4ZWQoMCkucGFkU3RhcnQoMyl9JSAg4pWRYCk7XG4gIH1cblxuICBsaW5lcy5wdXNoKCfilaDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilaMnKTtcbiAgbGluZXMucHVzaCgn4pWRICBMYXRlbmN5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEnKTtcbiAgbGluZXMucHVzaChg4pWRICAgIEF2ZXJhZ2U6ICR7cmVzdWx0cy5hdmdMYXRlbmN5TXMudG9GaXhlZCgyKX1tc2AucGFkRW5kKDYzKSArICfilZEnKTtcbiAgbGluZXMucHVzaChg4pWRICAgIFA1MDogICAgICR7cmVzdWx0cy5wNTBMYXRlbmN5TXMudG9GaXhlZCgyKX1tc2AucGFkRW5kKDYzKSArICfilZEnKTtcbiAgbGluZXMucHVzaChg4pWRICAgIFA5NTogICAgICR7cmVzdWx0cy5wOTVMYXRlbmN5TXMudG9GaXhlZCgyKX1tc2AucGFkRW5kKDYzKSArICfilZEnKTtcbiAgbGluZXMucHVzaCgn4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdJyk7XG5cbiAgLy8gU2hvdyBmYWlsdXJlc1xuICBjb25zdCBmYWlsdXJlcyA9IHJlc3VsdHMucmVzdWx0cy5maWx0ZXIociA9PiAhci5jb3JyZWN0KTtcbiAgaWYgKGZhaWx1cmVzLmxlbmd0aCA+IDAgJiYgZmFpbHVyZXMubGVuZ3RoIDw9IDIwKSB7XG4gICAgbGluZXMucHVzaCgnJyk7XG4gICAgbGluZXMucHVzaCgnTWlzcm91dGVkIHRhc2tzOicpO1xuICAgIGZvciAoY29uc3QgZiBvZiBmYWlsdXJlcy5zbGljZSgwLCAxMCkpIHtcbiAgICAgIGxpbmVzLnB1c2goYCAgWyR7Zi50ZXN0SWR9XSBcIiR7Zi50YXNrLnNsaWNlKDAsIDUwKX0uLi5cImApO1xuICAgICAgbGluZXMucHVzaChgICAgICAgICAgRXhwZWN0ZWQ6ICR7Zi5leHBlY3RlZEFnZW50fSwgR290OiAke2YucHJlZGljdGVkQWdlbnR9YCk7XG4gICAgfVxuICAgIGlmIChmYWlsdXJlcy5sZW5ndGggPiAxMCkge1xuICAgICAgbGluZXMucHVzaChgICAuLi4gYW5kICR7ZmFpbHVyZXMubGVuZ3RoIC0gMTB9IG1vcmVgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgUk9VVElOR19URVNUX0NBU0VTLFxuICBBR0VOVF9UWVBFUyxcbiAgYmFzZWxpbmVLZXl3b3JkUm91dGVyLFxuICBydW5Sb3V0aW5nQmVuY2htYXJrLFxuICBmb3JtYXRSb3V0aW5nUmVzdWx0cyxcbn07XG4iXX0=