kepler.gl 3.1.0-alpha.6 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/src/actions/src/action-types.d.ts +2 -0
  2. package/dist/src/actions/src/ui-state-actions.d.ts +16 -0
  3. package/dist/src/ai-assistant/src/actions.d.ts +1 -1
  4. package/dist/src/ai-assistant/src/components/ai-assistant-component.d.ts +2 -1
  5. package/dist/src/ai-assistant/src/constants.d.ts +3 -3
  6. package/dist/src/ai-assistant/src/reducers/index.d.ts +1 -1
  7. package/dist/src/ai-assistant/src/tools/basemap-functions.d.ts +1 -1
  8. package/dist/src/ai-assistant/src/tools/filter-function.d.ts +1 -1
  9. package/dist/src/ai-assistant/src/tools/layer-creation-function.d.ts +1 -1
  10. package/dist/src/ai-assistant/src/tools/layer-style-function.d.ts +1 -1
  11. package/dist/src/ai-assistant/src/tools/loadurl-function.d.ts +1 -1
  12. package/dist/src/ai-assistant/src/tools/utils.d.ts +73 -0
  13. package/dist/src/components/src/common/data-table/index.d.ts +1 -1
  14. package/dist/src/components/src/common/data-table/option-dropdown.d.ts +3 -3
  15. package/dist/src/components/src/common/file-uploader/file-drop.d.ts +2 -2
  16. package/dist/src/components/src/kepler-gl.d.ts +5 -0
  17. package/dist/src/components/src/loading-indicator.d.ts +13 -0
  18. package/dist/src/components/src/map-container.d.ts +3 -0
  19. package/dist/src/constants/src/default-settings.d.ts +1 -0
  20. package/dist/src/duckdb/src/plugin.d.ts +1 -0
  21. package/dist/src/duckdb/src/table/duckdb-table-utils.d.ts +13 -0
  22. package/dist/src/duckdb/src/table/duckdb-table.d.ts +7 -2
  23. package/dist/src/reducers/src/ui-state-updaters.d.ts +10 -0
  24. package/dist/src/reducers/src/vis-state-updaters.d.ts +1 -0
  25. package/dist/src/reducers/src/vis-state.d.ts +4 -0
  26. package/dist/src/utils/src/application-config.d.ts +2 -0
  27. package/dist/src/utils/src/observe-dimensions.d.ts +2 -1
  28. package/package.json +5 -3
  29. package/src/actions/dist/action-types.d.ts +2 -0
  30. package/src/actions/dist/action-types.js +2 -1
  31. package/src/actions/dist/ui-state-actions.d.ts +16 -0
  32. package/src/actions/dist/ui-state-actions.js +17 -2
  33. package/src/actions/package.json +8 -8
  34. package/src/actions/src/action-types.ts +1 -0
  35. package/src/actions/src/ui-state-actions.ts +22 -0
  36. package/src/ai-assistant/README.md +76 -0
  37. package/src/ai-assistant/dist/actions.d.ts +1 -1
  38. package/src/ai-assistant/dist/actions.js +2 -2
  39. package/src/ai-assistant/dist/components/ai-assistant-component.d.ts +2 -1
  40. package/src/ai-assistant/dist/components/ai-assistant-component.js +64 -23
  41. package/src/ai-assistant/dist/components/ai-assistant-config.js +67 -54
  42. package/src/ai-assistant/dist/constants.d.ts +3 -3
  43. package/src/ai-assistant/dist/constants.js +4 -4
  44. package/src/ai-assistant/dist/reducers/index.d.ts +1 -1
  45. package/src/ai-assistant/dist/reducers/index.js +2 -2
  46. package/src/ai-assistant/dist/tools/basemap-functions.d.ts +1 -1
  47. package/src/ai-assistant/dist/tools/basemap-functions.js +1 -1
  48. package/src/ai-assistant/dist/tools/filter-function.d.ts +1 -1
  49. package/src/ai-assistant/dist/tools/filter-function.js +9 -6
  50. package/src/ai-assistant/dist/tools/layer-creation-function.d.ts +1 -1
  51. package/src/ai-assistant/dist/tools/layer-creation-function.js +1 -1
  52. package/src/ai-assistant/dist/tools/layer-style-function.d.ts +1 -1
  53. package/src/ai-assistant/dist/tools/layer-style-function.js +1 -1
  54. package/src/ai-assistant/dist/tools/loadurl-function.d.ts +1 -1
  55. package/src/ai-assistant/dist/tools/loadurl-function.js +1 -1
  56. package/src/ai-assistant/dist/tools/utils.d.ts +73 -0
  57. package/src/ai-assistant/dist/tools/utils.js +211 -3
  58. package/src/ai-assistant/package.json +13 -9
  59. package/src/ai-assistant/src/actions.ts +2 -2
  60. package/src/ai-assistant/src/components/ai-assistant-component.tsx +56 -23
  61. package/src/ai-assistant/src/components/ai-assistant-config.tsx +63 -46
  62. package/src/ai-assistant/src/config/models.json +32 -0
  63. package/src/ai-assistant/src/constants.ts +7 -2
  64. package/src/ai-assistant/src/reducers/index.ts +2 -2
  65. package/src/ai-assistant/src/tools/basemap-functions.tsx +1 -1
  66. package/src/ai-assistant/src/tools/filter-function.tsx +11 -7
  67. package/src/ai-assistant/src/tools/layer-creation-function.tsx +1 -1
  68. package/src/ai-assistant/src/tools/layer-style-function.tsx +1 -1
  69. package/src/ai-assistant/src/tools/loadurl-function.tsx +1 -1
  70. package/src/ai-assistant/src/tools/utils.ts +212 -2
  71. package/src/cloud-providers/package.json +2 -2
  72. package/src/common-utils/package.json +3 -3
  73. package/src/components/dist/common/data-table/header-cell.js +10 -10
  74. package/src/components/dist/common/data-table/index.d.ts +1 -1
  75. package/src/components/dist/common/data-table/index.js +1 -1
  76. package/src/components/dist/common/data-table/option-dropdown.d.ts +3 -3
  77. package/src/components/dist/common/data-table/option-dropdown.js +5 -5
  78. package/src/components/dist/common/file-uploader/file-drop.d.ts +2 -2
  79. package/src/components/dist/common/file-uploader/file-drop.js +1 -1
  80. package/src/components/dist/common/portaled.js +1 -1
  81. package/src/components/dist/editor/editor.js +1 -1
  82. package/src/components/dist/kepler-gl.d.ts +5 -0
  83. package/src/components/dist/kepler-gl.js +7 -2
  84. package/src/components/dist/loading-indicator.d.ts +13 -0
  85. package/src/components/dist/loading-indicator.js +40 -0
  86. package/src/components/dist/map-container.d.ts +3 -0
  87. package/src/components/dist/map-container.js +11 -3
  88. package/src/components/dist/modals/save-map-modal.js +4 -3
  89. package/src/components/package.json +15 -15
  90. package/src/components/src/common/data-table/header-cell.tsx +5 -3
  91. package/src/components/src/common/data-table/index.tsx +1 -1
  92. package/src/components/src/common/data-table/option-dropdown.tsx +7 -7
  93. package/src/components/src/common/file-uploader/file-drop.tsx +11 -11
  94. package/src/components/src/common/portaled.tsx +12 -12
  95. package/src/components/src/editor/editor.tsx +3 -3
  96. package/src/components/src/kepler-gl.tsx +7 -2
  97. package/src/components/src/loading-indicator.tsx +49 -0
  98. package/src/components/src/map-container.tsx +19 -1
  99. package/src/components/src/modals/save-map-modal.tsx +6 -2
  100. package/src/constants/dist/default-settings.d.ts +1 -0
  101. package/src/constants/dist/default-settings.js +13 -9
  102. package/src/constants/dist/keyevent.js +1 -1
  103. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/72/80/7a7c561d7985e92aab7b9683e7baf5a0286b353a8f2609c4c71099f668d012be027929e4bbac937f9aa0c9a61be3bd4405136f582895f05aa0313c8efa42 +1 -0
  104. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/8f/f6/b66955867599392dc69ff1db64419e83c087a82c2e3d4b6418d49ac6bc80e3200dd6c86cdfd4a2cf98ce573f71a5281b86ba3df8a7210e02544f63054191 +1 -0
  105. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/bd/ba/47ea8fcb11ecd5cd47ad867052e58b1f7e0c8dc5f8918a36fe90eaf45981 +2 -0
  106. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/f0/6e/aadf3c48345aa72e7b2fb92e8c9788d04986b55caf83daa3fbd749c37c44 +2 -0
  107. package/src/constants/package.json +2 -2
  108. package/src/constants/src/default-settings.ts +11 -5
  109. package/src/constants/src/keyevent.ts +2 -2
  110. package/src/constants/umd/keplergl.min.js +1 -1
  111. package/src/deckgl-arrow-layers/package.json +1 -1
  112. package/src/deckgl-layers/package.json +4 -4
  113. package/src/duckdb/dist/components/preview-data-panel.js +2 -11
  114. package/src/duckdb/dist/components/sql-panel.js +7 -3
  115. package/src/duckdb/dist/components/tree.js +5 -4
  116. package/src/duckdb/dist/plugin.d.ts +1 -0
  117. package/src/duckdb/dist/plugin.js +9 -2
  118. package/src/duckdb/dist/processors/data-processor.js +4 -5
  119. package/src/duckdb/dist/table/duckdb-table-utils.d.ts +13 -0
  120. package/src/duckdb/dist/table/duckdb-table-utils.js +110 -0
  121. package/src/duckdb/dist/table/duckdb-table.d.ts +7 -2
  122. package/src/duckdb/dist/table/duckdb-table.js +189 -44
  123. package/src/duckdb/package.json +6 -6
  124. package/src/duckdb/src/components/preview-data-panel.tsx +0 -5
  125. package/src/duckdb/src/components/sql-panel.tsx +4 -2
  126. package/src/duckdb/src/components/tree.tsx +5 -1
  127. package/src/duckdb/src/plugin.ts +8 -1
  128. package/src/duckdb/src/processors/data-processor.ts +3 -4
  129. package/src/duckdb/src/table/duckdb-table-utils.ts +106 -0
  130. package/src/duckdb/src/table/duckdb-table.ts +134 -33
  131. package/src/effects/package.json +5 -5
  132. package/src/layers/dist/icon-layer/icon-layer.js +1 -1
  133. package/src/layers/dist/index.d.ts +3 -0
  134. package/src/layers/dist/index.js +6 -7
  135. package/src/layers/dist/point-layer/point-layer.d.ts +1 -1
  136. package/src/layers/dist/point-layer/point-layer.js +8 -2
  137. package/src/layers/package.json +9 -9
  138. package/src/layers/src/icon-layer/icon-layer.ts +8 -10
  139. package/src/layers/src/index.ts +5 -5
  140. package/src/layers/src/point-layer/point-layer.ts +6 -1
  141. package/src/localization/package.json +1 -1
  142. package/src/processors/dist/data-processor.js +2 -4
  143. package/src/processors/package.json +7 -7
  144. package/src/processors/src/data-processor.ts +1 -3
  145. package/src/reducers/dist/ui-state-updaters.d.ts +10 -0
  146. package/src/reducers/dist/ui-state-updaters.js +22 -2
  147. package/src/reducers/dist/ui-state.js +2 -2
  148. package/src/reducers/dist/vis-state-updaters.d.ts +1 -0
  149. package/src/reducers/dist/vis-state-updaters.js +21 -5
  150. package/src/reducers/dist/vis-state.d.ts +4 -0
  151. package/src/reducers/package.json +16 -16
  152. package/src/reducers/src/ui-state-updaters.ts +24 -0
  153. package/src/reducers/src/ui-state.ts +3 -1
  154. package/src/reducers/src/vis-state-updaters.ts +24 -5
  155. package/src/schemas/dist/dataset-schema.js +38 -2
  156. package/src/schemas/package.json +8 -7
  157. package/src/schemas/src/dataset-schema.ts +43 -1
  158. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/5f/aa/96c67b383dbcd2b95625113a5389c6078fd8a53e6fc73a054229709f2dac1e0a409e7117049485a569fbebf8434a319451842671398904bfe1a7f7b5991c +1 -0
  159. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/af/aa/228fbff58007b23eea5eb6cc7d2da1f0af1d8a7024129a416ea88b4df0ad7afc7aec93b09f3dd42a98f1d6a6f4dce6b53204818da85ef5becc42f928a64d +1 -0
  160. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/40/72/cac221d8459e6b743bc62ecdb370ed854b21ec30d3f7f4c06c7d1d7ffde2 +2 -0
  161. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/c1/39/f7cd1d5947ec6e5d82bfa07041271344eb02f9e67bf5823acf2f22c2d01f +2 -0
  162. package/src/styles/package.json +2 -2
  163. package/src/styles/umd/keplergl.min.js +1 -1
  164. package/src/table/dist/dataset-utils.js +10 -4
  165. package/src/table/package.json +5 -5
  166. package/src/table/src/dataset-utils.ts +7 -1
  167. package/src/tasks/package.json +2 -2
  168. package/src/types/package.json +1 -1
  169. package/src/types/reducers.d.ts +2 -0
  170. package/src/utils/dist/application-config.d.ts +2 -0
  171. package/src/utils/dist/application-config.js +4 -2
  172. package/src/utils/dist/data-utils.js +14 -2
  173. package/src/utils/dist/dataset-utils.js +5 -3
  174. package/src/utils/dist/dom-to-image.js +1 -1
  175. package/src/utils/dist/dom-utils.js +1 -1
  176. package/src/utils/dist/map-style-utils/mapbox-gl-style-editor.js +7 -1
  177. package/src/utils/dist/observe-dimensions.d.ts +2 -1
  178. package/src/utils/dist/observe-dimensions.js +10 -4
  179. package/src/utils/dist/utils.js +1 -1
  180. package/src/utils/package.json +4 -4
  181. package/src/utils/src/application-config.ts +9 -1
  182. package/src/utils/src/data-utils.ts +13 -1
  183. package/src/utils/src/dataset-utils.ts +1 -1
  184. package/src/utils/src/dom-to-image.ts +5 -6
  185. package/src/utils/src/dom-utils.ts +15 -15
  186. package/src/utils/src/map-style-utils/mapbox-gl-style-editor.ts +6 -0
  187. package/src/utils/src/observe-dimensions.ts +9 -4
  188. package/src/utils/src/utils.ts +8 -8
  189. package/umd/keplergl.min.css +1 -1
  190. package/umd/keplergl.min.js +1499 -1428
@@ -101,15 +101,15 @@ var KEPLER_GL_NAME = exports.KEPLER_GL_NAME = 'kepler.gl';
101
101
  // Since we are injecting this during the build process with babel
102
102
  // while developing VERSION is not defined, we capture the exception and return
103
103
  // an empty string which will allow us to retrieve the latest umd version
104
- var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "3.1.0-alpha.6";
104
+ var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "3.1.0";
105
105
  var KEPLER_GL_WEBSITE = exports.KEPLER_GL_WEBSITE = 'http://kepler.gl/';
106
106
  var DIMENSIONS = exports.DIMENSIONS = {
107
107
  sidePanel: {
108
108
  width: 300,
109
109
  margin: {
110
- top: 20,
111
- left: 20,
112
- bottom: 30,
110
+ top: 12,
111
+ left: 12,
112
+ bottom: 12,
113
113
  right: 20
114
114
  },
115
115
  headerHeight: 96
@@ -442,14 +442,14 @@ var TABLE_OPTION_LIST = exports.TABLE_OPTION_LIST = [{
442
442
  display: 'Sort Ascending',
443
443
  icon: 'ArrowUp',
444
444
  condition: function condition(props) {
445
- return props.sortMode !== SORT_ORDER.ASCENDING;
445
+ return props.sortTableColumn && props.sortMode !== SORT_ORDER.ASCENDING;
446
446
  }
447
447
  }, {
448
448
  value: TABLE_OPTION.SORT_DES,
449
449
  display: 'Sort Descending',
450
450
  icon: 'ArrowDown',
451
451
  condition: function condition(props) {
452
- return props.sortMode !== SORT_ORDER.DESCENDING;
452
+ return props.sortTableColumn && props.sortMode !== SORT_ORDER.DESCENDING;
453
453
  }
454
454
  }, {
455
455
  value: TABLE_OPTION.UNSORT,
@@ -479,7 +479,10 @@ var TABLE_OPTION_LIST = exports.TABLE_OPTION_LIST = [{
479
479
  }, {
480
480
  value: TABLE_OPTION.FORMAT_COLUMN,
481
481
  display: 'Format Column',
482
- icon: 'Hash'
482
+ icon: 'Hash',
483
+ condition: function condition(props) {
484
+ return props.setDisplayFormat;
485
+ }
483
486
  }];
484
487
  var YELLOW = '248, 194, 28';
485
488
  var PINK = '242, 152, 163';
@@ -975,7 +978,8 @@ var DATASET_FORMATS = exports.DATASET_FORMATS = (0, _keymirror["default"])({
975
978
  geojson: null,
976
979
  csv: null,
977
980
  keplergl: null,
978
- arrow: null
981
+ arrow: null,
982
+ duckdb: null
979
983
  });
980
984
  var MAP_CONTROLS = exports.MAP_CONTROLS = (0, _keymirror["default"])({
981
985
  visibleLayers: null,
@@ -1310,4 +1314,4 @@ var SYNC_TIMELINE_MODES = exports.SYNC_TIMELINE_MODES = {
1310
1314
  start: 0,
1311
1315
  end: 1
1312
1316
  };
1313
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZDNTY2FsZSIsIl90b29sdGlwIiwiX0ZJRUxEX1RZUEVfRElTUExBWSIsIl9GSUVMRF9PUFRTIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJBQ1RJT05fUFJFRklYIiwiZXhwb3J0cyIsIktFUExFUl9VTkZPTERFRF9CVUNLRVQiLCJCQVNFTUFQX0lDT05fUFJFRklYIiwiY29uY2F0IiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJEQVRBX1RBQkxFX0lEIiwiREVMRVRFX0RBVEFfSUQiLCJBRERfREFUQV9JRCIsIkVYUE9SVF9JTUFHRV9JRCIsIkVYUE9SVF9EQVRBX0lEIiwiQUREX01BUF9TVFlMRV9JRCIsIkVYUE9SVF9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIk9WRVJXUklURV9NQVBfSUQiLCJTSEFSRV9NQVBfSUQiLCJLRVBMRVJfR0xfTkFNRSIsIktFUExFUl9HTF9WRVJTSU9OIiwiS0VQTEVSX0dMX1dFQlNJVEUiLCJESU1FTlNJT05TIiwic2lkZVBhbmVsIiwid2lkdGgiLCJtYXJnaW4iLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWFkZXJIZWlnaHQiLCJtYXBDb250cm9sIiwicGFkZGluZyIsIm1hcExlZ2VuZCIsInBpbm5lZCIsIlRIRU1FIiwia2V5TWlycm9yIiwibGlnaHQiLCJkYXJrIiwiYmFzZSIsIlNJREVCQVJfUEFORUxTIiwiaWQiLCJsYWJlbCIsIm9uQ2xpY2siLCJQQU5FTF9WSUVXX1RPR0dMRVMiLCJsaXN0IiwiYnlEYXRhc2V0IiwiUEFORUxTIiwiREVGQVVMVF9CTERHX0NPTE9SIiwiREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SIiwiQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMiLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUciLCJUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUciLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwiaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlIiwiaXNNb3ZlVG9Ub3BBdmFpbGFibGUiLCJpc0NvbG9yUGlja2VyQXZhaWxhYmxlIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJfcmVmIiwidHlwZSIsIm1hdGNoIiwiX3JlZjIiLCJfcmVmMyIsIl9yZWY0IiwiX3JlZjUiLCJfcmVmNiIsIkJBU0VfTUFQX0NPTE9SX01PREVTIiwiTk9ORSIsIkRBUksiLCJMSUdIVCIsIk5PX01BUF9JRCIsIkVNUFRZX01BUEJPWF9TVFlMRSIsInZlcnNpb24iLCJzb3VyY2VzIiwibGF5ZXJzIiwiTUFQX0xJQl9PUFRJT05TIiwiTUFQQk9YIiwiTUFQTElCUkUiLCJOT19CQVNFTUFQX0lDT04iLCJERUZBVUxUX0JBU0VfTUFQX1NUWUxFIiwiREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFIiwidXJsIiwiaWNvbiIsImxheWVyR3JvdXBzIiwiY29sb3JNb2RlIiwic3R5bGUiLCJERUZBVUxUX01BUEJPWF9TVFlMRVMiLCJjb21wbGltZW50YXJ5U3R5bGVJZCIsIkRFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUyIsIkRFRkFVTFRfTUFQTElCUkVfU1RZTEVTIiwiREVGQVVMVF9NQVBfU1RZTEVTIiwiR0VPSlNPTl9GSUVMRFMiLCJnZW9qc29uIiwiSUNPTl9GSUVMRFMiLCJUUklQX1BPSU5UX0ZJRUxEUyIsIkFMVElUVURFX0ZJRUxEUyIsIlRSSVBfQVJDX0ZJRUxEUyIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJGSUxURVJfVFlQRVMiLCJyYW5nZSIsInNlbGVjdCIsImlucHV0IiwidGltZVJhbmdlIiwibXVsdGlTZWxlY3QiLCJwb2x5Z29uIiwiRklMVEVSX1ZJRVdfVFlQRVMiLCJzaWRlIiwiZW5sYXJnZWQiLCJtaW5pZmllZCIsIkRFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwidGhyZXNob2xkIiwiY3VzdG9tIiwiY3VzdG9tT3JkaW5hbCIsInBvaW50IiwiU0NBTEVfVFlQRV9OQU1FUyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJhcnJheSIsIm9iamVjdCIsImdlb2Fycm93IiwiaDMiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJGT1JNQVRfQ09MVU1OIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRNb2RlIiwiaXNTb3J0ZWQiLCJpc1Bpbm5lZCIsIllFTExPVyIsIlBJTksiLCJQVVJQTEUiLCJCTFVFIiwiQkxVRTIiLCJCTFVFMyIsIkdSRUVOIiwiR1JFRU4yIiwiUkVEIiwiT1JBTkdFIiwiRklFTERfVFlQRV9ESVNQTEFZIiwiY29sb3IiLCJGSUVMRF9DT0xPUlMiLCJISUdITElHSF9DT0xPUl8zRCIsIkNIQU5ORUxfU0NBTEVTIiwicmFkaXVzIiwic2l6ZSIsImNvbG9yQWdnciIsInNpemVBZ2dyIiwiQUdHUkVHQVRJT05fVFlQRVMiLCJjb3VudCIsImF2ZXJhZ2UiLCJtYXhpbXVtIiwibWluaW11bSIsIm1lZGlhbiIsInN0ZGV2Iiwic3VtIiwidmFyaWFuY2UiLCJtb2RlIiwiY291bnRVbmlxdWUiLCJBR0dSRUdBVElPTl9UWVBFX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiX3JlZjciLCJfcmVmOCIsIl9zbGljZWRUb0FycmF5MiIsImtleSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwiREVGQVVMVF9BR0dSRUdBVElPTl9DT0xPUl9TQ0FMRVMiLCJsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsInJlZHVjZSIsInByZXYiLCJjdXIiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwic2NhbGUiLCJmb3JtYXQiLCJsZWdlbmQiLCJkIiwidG9vbHRpcCIsIlRPT0xUSVBfRk9STUFUX1RZUEVTIiwiREVDSU1BTCIsIlBFUkNFTlRBR0UiLCJEQVRFIiwiREFURV9USU1FIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIkJPT0xFQU4iLCJDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFMiLCJhY2N1IiwiZnQiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwidHJpcEFyYyIsImJlZ2ludHJpcF9sYXQiLCJkcm9wb2ZmX2xhdCIsInJlcXVlc3RfbGF0IiwiREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFIiwiREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTIiwiREVGQVVMVF9UT09MVElQX0ZJRUxEUyIsIk5PX1ZBTFVFX0NPTE9SIiwiREVGQVVMVF9QSUNLSU5HX1JBRElVUyIsIk9WRVJMQVlfQkxFTkRJTkdTIiwibm9ybWFsIiwic2NyZWVuIiwiZGFya2VuIiwiTEFZRVJfQkxFTkRJTkdTIiwiYWRkaXRpdmUiLCJibGVuZEZ1bmMiLCJibGVuZEVxdWF0aW9uIiwic3VidHJhY3RpdmUiLCJNQVhfREVGQVVMVF9UT09MVElQUyIsIlJFU09MVVRJT05TIiwiT05FX1giLCJUV09fWCIsIkVYUE9SVF9JTUdfUkFUSU9TIiwiU0NSRUVOIiwiRk9VUl9CWV9USFJFRSIsIlNJWFRFRU5fQllfTklORSIsIkNVU1RPTSIsIlNjcmVlblJhdGlvT3B0aW9uIiwiZ2V0U2l6ZSIsInNjcmVlblciLCJzY3JlZW5IIiwiaGVpZ2h0IiwiQ3VzdG9tUmF0aW9PcHRpb24iLCJoaWRkZW4iLCJtYXBXIiwibWFwSCIsIkZvdXJCeVRocmVlUmF0aW9PcHRpb24iLCJNYXRoIiwicm91bmQiLCJTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb24iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJPbmVYUmVzb2x1dGlvbk9wdGlvbiIsImF2YWlsYWJsZSIsIlR3b1hSZXNvbHV0aW9uT3B0aW9uIiwiRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMiLCJFWFBPUlRfREFUQV9UWVBFIiwiQ1NWIiwiRVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TIiwidG9Mb3dlckNhc2UiLCJFWFBPUlRfTUFQX0ZPUk1BVFMiLCJIVE1MIiwiSlNPTiIsIkVYUE9SVF9IVE1MX01BUF9NT0RFUyIsIlJFQUQiLCJFRElUIiwiRVhQT1JUX01BUF9GT1JNQVRfT1BUSU9OUyIsImVudHJ5IiwiZ2V0SFRNTE1hcE1vZGVUaWxlVXJsIiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsIkRFRkFVTFRfVVVJRF9DT1VOVCIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UiLCJERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiZmlsZSIsIlRIUk9UVExFX05PVElGSUNBVElPTl9USU1FIiwiQkFTRV9TUEVFRCIsIkZQUyIsIkFOSU1BVElPTl9XSU5ET1ciLCJmcmVlIiwiaW5jcmVtZW50YWwiLCJpbnRlcnZhbCIsIkRFRkFVTFRfVElNRV9GT1JNQVQiLCJTUEVFRF9DT05UUk9MX1JBTkdFIiwiU1BFRURfQ09OVFJPTF9TVEVQIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiR0VPQ09ERVJfSUNPTl9DT0xPUiIsIkdFT0NPREVSX0lDT05fU0laRSIsIkVESVRPUl9MQVlFUl9JRCIsIkVESVRPUl9MQVlFUl9QSUNLSU5HX1JBRElVUyIsIkVESVRPUl9NT0RFUyIsIkRSQVdfUE9MWUdPTiIsIkRSQVdfUkVDVEFOR0xFIiwiUExPVF9UWVBFUyIsImhpc3RvZ3JhbSIsImxpbmVDaGFydCIsIklOSVRfRklMVEVSX0lURU1TX0lOX0RST1BET1dOIiwiTUFYX0dQVV9GSUxURVJTIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJNQVBfSU5GT19DSEFSQUNURVIiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTE9BRElOR19NRVRIT0RTIiwidXBsb2FkIiwic3RvcmFnZSIsInRpbGVzZXQiLCJERUZBVUxUX0ZFQVRVUkVfRkxBR1MiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsImFycm93IiwiTUFQX0NPTlRST0xTIiwidmlzaWJsZUxheWVycyIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJtYXBEcmF3IiwibWFwTG9jYWxlIiwiZWZmZWN0IiwiYWlBc3Npc3RhbnQiLCJQUk9KRUNURURfUElYRUxfU0laRV9NVUxUSVBMSUVSIiwiVEVYVF9PVVRMSU5FX01VTFRJUExJRVIiLCJkYXRhVGVzdElkcyIsImluZm9JY29uIiwid2FybmluZ0ljb24iLCJlcnJvckljb24iLCJzdWNjZXNzSWNvbiIsImNoZWNrbWFya0ljb24iLCJzb3J0YWJsZUxheWVySXRlbSIsInN0YXRpY0xheWVySXRlbSIsImxheWVyVGl0bGVFZGl0b3IiLCJyZW1vdmVMYXllckFjdGlvbiIsImxheWVyUGFuZWwiLCJzb3J0YWJsZUVmZmVjdEl0ZW0iLCJzdGF0aWNFZmZlY3RJdGVtIiwicHJvdmlkZXJMb2FkaW5nIiwicHJvdmlkZXJNYXBJbmZvUGFuZWwiLCJwcm92aWRlclNlbGVjdCIsImNsb3VkSGVhZGVyIiwicHJvdmlkZXJTaGFyZU1hcCIsIkRFRkFVTFRfVElNRVpPTkUiLCJERUZBVUxUX1BPU1RfUFJPQ0VTU0lOR19FRkZFQ1RfVFlQRSIsIkRFRkFVTFRfTElHSFRfQ09MT1IiLCJERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSIsIkRFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWSIsIkRFRkFVTFRfU0hBRE9XX0NPTE9SIiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1RfVElNRV9NT0RFUyIsInBpY2siLCJjdXJyZW50IiwiYW5pbWF0aW9uIiwiREVGQVVMVF9MSUdIVF9BTkRfU0hBRE9XX1BST1BTIiwiRGF0ZSIsIm5vdyIsInRpbWVNb2RlIiwic2hhZG93SW50ZW5zaXR5Iiwic2hhZG93Q29sb3IiLCJzdW5MaWdodENvbG9yIiwic3VuTGlnaHRJbnRlbnNpdHkiLCJhbWJpZW50TGlnaHRDb2xvciIsImFtYmllbnRMaWdodEludGVuc2l0eSIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwibmFtZSIsInBhcmFtZXRlcnMiLCJtaW4iLCJtYXgiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwiZGVmYXVsdFZhbHVlIiwiUE9TVFBST0NFU1NJTkdfRUZGRUNUUyIsImluayIsImJyaWdodG5lc3NDb250cmFzdCIsImh1ZVNhdHVyYXRpb24iLCJ2aWJyYW5jZSIsInNlcGlhIiwiZG90U2NyZWVuIiwiUEkiLCJjb2xvckhhbGZ0b25lIiwibm9pc2UiLCJ0cmlhbmdsZUJsdXIiLCJ6b29tQmx1ciIsInRpbHRTaGlmdCIsImVkZ2VXb3JrIiwidmlnbmV0dGUiLCJtYWduaWZ5IiwiaGV4YWdvbmFsUGl4ZWxhdGUiLCJFRkZFQ1RfREVTQ1JJUFRJT05TIiwia2V5TmFtZSIsIlNZTkNfVElNRUxJTkVfTU9ERVMiLCJzdGFydCIsImVuZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0LXNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuaW1wb3J0IHtcbiAgQmFzZU1hcFN0eWxlLFxuICBFZmZlY3REZXNjcmlwdGlvbixcbiAgUkdCQUNvbG9yLFxuICBTeW5jVGltZWxpbmVNb2RlLFxuICBCYXNlTWFwQ29sb3JNb2RlcyxcbiAgTWVyZ2Vcbn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVMb2csXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVQb2ludCxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZVRocmVzaG9sZFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1RPT0xUSVBfRk9STUFUX1RZUEVTfSBmcm9tICcuL3Rvb2x0aXAnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9VTkZPTERFRF9CVUNLRVQgPSAnaHR0cHM6Ly9zdHVkaW8tcHVibGljLWRhdGEuZm91cnNxdWFyZS5jb20vc3RhdGljcy9rZXBsZXJnbCc7XG5leHBvcnQgY29uc3QgQkFTRU1BUF9JQ09OX1BSRUZJWCA9IGAke0tFUExFUl9VTkZPTERFRF9CVUNLRVR9L2dlb2R1ZGVgO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQQk9YX0FQSV9VUkwgPSAnaHR0cHM6Ly9hcGkubWFwYm94LmNvbSc7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDA7XG5cbi8vIE1vZGFsIElkc1xuLyoqXG4gKiBNb2RhbCBpZDogZGF0YSB0YWJsZVxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREFUQV9UQUJMRV9JRCA9ICdkYXRhVGFibGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZGVsZXRlIGRhdGFzZXQgY29uZmlybSBkaWFsb2dcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IERFTEVURV9EQVRBX0lEID0gJ2RlbGV0ZURhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9EQVRBX0lEID0gJ2FkZERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGltYWdlIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1BR0VfSUQgPSAnZXhwb3J0SW1hZ2UnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX0lEID0gJ2V4cG9ydERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGN1c3RvbSBtYXAgc3R5bGUgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9NQVBfU1RZTEVfSUQgPSAnYWRkTWFwU3R5bGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9JRCA9ICdleHBvcnRNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogc2F2ZSBtYXAgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNBVkVfTUFQX0lEID0gJ3NhdmVNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogY29uZmlybSB0byBvdmVyd3JpdGUgc2F2ZWQgbWFwXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBPVkVSV1JJVEVfTUFQX0lEID0gJ292ZXJ3cml0ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzaGFyZSBtYXAgdXJsIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBTSEFSRV9NQVBfSUQgPSAnc2hhcmVNYXAnO1xuXG5leHBvcnQgY29uc3QgS0VQTEVSX0dMX05BTUUgPSAna2VwbGVyLmdsJztcblxuLy8gX19QQUNLQUdFX1ZFUlNJT05fXyBpcyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIGJ5IEJhYmVsL0VzYnVpbGQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzXG4vLyBTaW5jZSB3ZSBhcmUgaW5qZWN0aW5nIHRoaXMgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzIHdpdGggYmFiZWxcbi8vIHdoaWxlIGRldmVsb3BpbmcgVkVSU0lPTiBpcyBub3QgZGVmaW5lZCwgd2UgY2FwdHVyZSB0aGUgZXhjZXB0aW9uIGFuZCByZXR1cm5cbi8vIGFuIGVtcHR5IHN0cmluZyB3aGljaCB3aWxsIGFsbG93IHVzIHRvIHJldHJpZXZlIHRoZSBsYXRlc3QgdW1kIHZlcnNpb25cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfVkVSU0lPTiA9ICdfX1BBQ0tBR0VfVkVSU0lPTl9fJztcbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfV0VCU0lURSA9ICdodHRwOi8va2VwbGVyLmdsLyc7XG5cbmV4cG9ydCBjb25zdCBESU1FTlNJT05TID0ge1xuICBzaWRlUGFuZWw6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIG1hcmdpbjoge3RvcDogMjAsIGxlZnQ6IDIwLCBib3R0b206IDMwLCByaWdodDogMjB9LFxuICAgIGhlYWRlckhlaWdodDogOTZcbiAgfSxcbiAgbWFwQ29udHJvbDoge1xuICAgIHdpZHRoOiAxODQsXG4gICAgcGFkZGluZzogMTIsXG4gICAgbWFwTGVnZW5kOiB7XG4gICAgICBwaW5uZWQ6IHtcbiAgICAgICAgYm90dG9tOiAyMixcbiAgICAgICAgcmlnaHQ6IDEyXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdpbnRlcmFjdGlvbicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5pbnRlcmFjdGlvbicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdtYXAnLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuYmFzZW1hcCcsXG4gICAgb25DbGljazogbnVsbFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgUEFORUxfVklFV19UT0dHTEVTID0ga2V5TWlycm9yKHtcbiAgbGlzdDogbnVsbCxcbiAgYnlEYXRhc2V0OiBudWxsXG59KTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JMREdfQ09MT1IgPSAnI0QxQ0VDNyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBQ0tHUk9VTkRfQ09MT1IgPSAnIzAwMDAwMCc7XG5cbi8vIGFzc2lzdHMgaW4gaWRlbnRpZnlpbmcgYmFzZW1hcCBiYWNrZ3JvdW5kIGxheWVycyB3aGVuIGF1dG8tZGV0ZXJtaW5pbmcgdGhlIGJhY2tncm91bmRDb2xvclxuZXhwb3J0IGNvbnN0IEJBU0VfTUFQX0JBQ0tHUk9VTkRfTEFZRVJfSURTID0gWydiYWNrZ3JvdW5kJywgJ2JnJywgJ2xhbmQnLCAnd2F0ZXInXTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyA9ICdCYWNrZ3JvdW5kJztcblxuZXhwb3J0IGNvbnN0IFRIUkVFX0RfQlVJTERJTkdfTEFZRVJfR1JPVVBfU0xVRyA9ICczZCBidWlsZGluZyc7XG5cbmV4cG9ydCB0eXBlIERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgZmlsdGVyOiAodmFsdWUpID0+IGJvb2xlYW47XG4gIGRlZmF1bHRWaXNpYmlsaXR5OiBib29sZWFuO1xuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU/OiBib29sZWFuO1xuICBpc01vdmVUb1RvcEF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVA6IERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyxcbiAgZmlsdGVyOiAoKSA9PiBmYWxzZSxcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IGZhbHNlLFxuICBpc01vdmVUb1RvcEF2YWlsYWJsZTogZmFsc2UsXG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IHRydWVcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0dST1VQUzogREVGQVVMVF9MQVlFUl9HUk9VUFtdID0gW1xuICB7XG4gICAgc2x1ZzogJ2xhYmVsJyxcbiAgICBmaWx0ZXI6ICh7aWQsIHR5cGV9KSA9PiBpZC5tYXRjaCgvKD89KGxhYmVsfHBsYWNlLXxwb2ktKSkvKSB8fCB0eXBlPy5tYXRjaCgvKD89KHN5bWJvbCkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYm9yZGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYm9yZGVyfGJvdW5kYXJpZXN8Ym91bmRhcnkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnbGFuZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShwYXJrc3xsYW5kY292ZXJ8aW5kdXN0cmlhbHxzYW5kfGhpbGxzaGFkZSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiBUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUcsXG4gICAgZmlsdGVyOiAoKSA9PiBmYWxzZSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IHRydWVcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IEJBU0VfTUFQX0NPTE9SX01PREVTID0ga2V5TWlycm9yKHtcbiAgTk9ORTogbnVsbCxcbiAgREFSSzogbnVsbCxcbiAgTElHSFQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTk9fTUFQX0lEID0gJ25vX21hcCc7XG5cbi8vIEZhbGxiYWNrIHN0eWxlIHRvIHVzZSB3aGVuIHN0eWxlcyBhcmUgYmVpbmcgZmV0Y2hlZCwgb3Igd2hlblxuLy8gYSBzdHlsZSBmYWlscyB0byBmZXRjaFxuZXhwb3J0IGNvbnN0IEVNUFRZX01BUEJPWF9TVFlMRSA9IHtcbiAgdmVyc2lvbjogOCxcbiAgc291cmNlczoge30sXG4gIGxheWVyczogW11cbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfTElCX09QVElPTlMgPSB7XG4gIE1BUEJPWDogJ21hcGJveCcgYXMgY29uc3QsXG4gIE1BUExJQlJFOiAnbWFwbGlicmUnIGFzIGNvbnN0XG59O1xuXG5leHBvcnQgdHlwZSBCYXNlTWFwTGlicmFyeVR5cGUgPSAnbWFwYm94JyB8ICdtYXBsaWJyZSc7XG5cbmV4cG9ydCBjb25zdCBOT19CQVNFTUFQX0lDT04gPSBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9OT19CQVNFTUFQLnBuZ2A7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VfTUFQX1NUWUxFID0gJ2RhcmstbWF0dGVyJztcblxudHlwZSBEZWZhdWx0QmFzZU1hcFN0eWxlID0gTWVyZ2U8XG4gIEJhc2VNYXBTdHlsZSxcbiAge1xuICAgIGNvbG9yTW9kZTogQmFzZU1hcENvbG9yTW9kZXM7XG4gIH1cbj47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PX0JBU0VNQVBfU1RZTEU6IERlZmF1bHRCYXNlTWFwU3R5bGUgPSB7XG4gIGlkOiBOT19NQVBfSUQsXG4gIGxhYmVsOiAnTm8gQmFzZW1hcCcsXG4gIHVybDogJycsXG4gIGljb246IE5PX0JBU0VNQVBfSUNPTixcbiAgbGF5ZXJHcm91cHM6IFtCQUNLR1JPVU5EX0xBWUVSX0dST1VQXSxcbiAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5OT05FLFxuICBzdHlsZTogRU1QVFlfTUFQQk9YX1NUWUxFXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfU1RZTEVTOiBEZWZhdWx0QmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfREFSS19WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkRBUkssXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdsaWdodCdcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX0xJR0hUX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrJ1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTElHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ211dGVkX25pZ2h0J1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnbXV0ZWQnXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUEJPWF9TQVRFTElURV9TVFlMRVM6IERlZmF1bHRCYXNlTWFwU3R5bGVbXSA9IFtcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZSB3aXRoIHN0cmVldHMnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXN0cmVldHMtdjExYCxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLk5PTkVcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQTElCUkVfU1RZTEVTOiBEZWZhdWx0QmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogJ2RhcmstbWF0dGVyJyxcbiAgICBsYWJlbDogJ0RhcmtNYXR0ZXInLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL2RhcmstbWF0dGVyLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L0RBUktNQVRURVIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAncG9zaXRyb24nXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bvc2l0cm9uJyxcbiAgICBsYWJlbDogJ1Bvc2l0cm9uJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9wb3NpdHJvbi1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9QT1NJVFJPTi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyay1tYXR0ZXInXG4gIH0sXG4gIHtcbiAgICBpZDogJ3ZveWFnZXInLFxuICAgIGxhYmVsOiAnVm95YWdlcicsXG4gICAgdXJsOiAnaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvdm95YWdlci1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9WT1lBR0VSLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrLW1hdHRlcidcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQX1NUWUxFUyA9IFtcbiAgREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFLFxuICAuLi5ERUZBVUxUX01BUExJQlJFX1NUWUxFUyxcbiAgLi4uREVGQVVMVF9NQVBCT1hfU0FURUxJVEVfU1RZTEVTLFxuICAuLi5ERUZBVUxUX01BUEJPWF9TVFlMRVNcbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXQnLCAnbG9uZyddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgQUxUSVRVREVfRklFTERTID0gWydhbHQnLCAnYWx0aXR1ZGUnXTtcbmV4cG9ydCBjb25zdCBUUklQX0FSQ19GSUVMRFMgPSB7XG4gIGxhdDA6ICdiZWdpbnRyaXAnLFxuICBsbmcwOiAnYmVnaW50cmlwJyxcbiAgbGF0MTogJ2Ryb3BvZmYnLFxuICBsbmcxOiAnZHJvcG9mZidcbn07XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICByYW5nZTogbnVsbCxcbiAgc2VsZWN0OiBudWxsLFxuICBpbnB1dDogbnVsbCxcbiAgdGltZVJhbmdlOiBudWxsLFxuICBtdWx0aVNlbGVjdDogbnVsbCxcbiAgcG9seWdvbjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVklFV19UWVBFUyA9IGtleU1pcnJvcih7XG4gIHNpZGU6IG51bGwsXG4gIGVubGFyZ2VkOiBudWxsLFxuICBtaW5pZmllZDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTFRFUl9WSUVXX1RZUEUgPSBGSUxURVJfVklFV19UWVBFUy5zaWRlO1xuXG5leHBvcnQgdHlwZSBTQ0FMRV9UWVBFU19ERUYgPSB7XG4gIG9yZGluYWw6ICdvcmRpbmFsJztcbiAgcXVhbnRpbGU6ICdxdWFudGlsZSc7XG4gIHF1YW50aXplOiAncXVhbnRpemUnO1xuICBsaW5lYXI6ICdsaW5lYXInO1xuICBzcXJ0OiAnc3FydCc7XG4gIGxvZzogJ2xvZyc7XG4gIHBvaW50OiAncG9pbnQnO1xuICB0aHJlc2hvbGQ6ICd0aHJlc2hvbGQnO1xuICBjdXN0b206ICdjdXN0b20nO1xuICBjdXN0b21PcmRpbmFsOiAnY3VzdG9tT3JkaW5hbCc7XG59O1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVM6IFNDQUxFX1RZUEVTX0RFRiA9IGtleU1pcnJvcih7XG4gIG9yZGluYWw6IG51bGwsXG4gIHF1YW50aWxlOiBudWxsLFxuICBxdWFudGl6ZTogbnVsbCxcbiAgbGluZWFyOiBudWxsLFxuICBzcXJ0OiBudWxsLFxuICBsb2c6IG51bGwsXG4gIHRocmVzaG9sZDogbnVsbCxcbiAgY3VzdG9tOiBudWxsLFxuICBjdXN0b21PcmRpbmFsOiBudWxsLFxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGxcbn0pO1xuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVfTkFNRVM6IHtba2V5IGluIGtleW9mIFNDQUxFX1RZUEVTX0RFRl06IHN0cmluZ30gPSB7XG4gIG9yZGluYWw6ICdPcmRpbmFsJyxcbiAgcXVhbnRpbGU6ICdRdWFudGlsZScsXG4gIHF1YW50aXplOiAnUXVhbnRpemUnLFxuICBsaW5lYXI6ICdMaW5lYXInLFxuICBzcXJ0OiAnU3FydCcsXG4gIGxvZzogJ0xvZycsXG4gIHRocmVzaG9sZDogJ1RocmVzaG9sZCcsXG4gIGN1c3RvbTogJ0N1c3RvbSBCcmVha3MnLFxuICBjdXN0b21PcmRpbmFsOiAnQ3VzdG9tIE9yZGluYWwnLFxuICBwb2ludDogJ1BvaW50J1xufTtcblxuZXhwb3J0IHR5cGUgU0NBTEVfRlVOQ19UWVBFID0ge1xuICBba2V5IGluIGtleW9mIFNDQUxFX1RZUEVTX0RFRl06ICgpID0+IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMudGhyZXNob2xkXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5jdXN0b21dOiBzY2FsZVRocmVzaG9sZCxcbiAgW1NDQUxFX1RZUEVTLmN1c3RvbU9yZGluYWxdOiBzY2FsZU9yZGluYWxcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGFycmF5OiBudWxsLFxuICBvYmplY3Q6IG51bGwsXG4gIGdlb2Fycm93OiBudWxsLFxuICBoMzogbnVsbFxufSk7XG5cbi8vIERhdGEgVGFibGVcbmV4cG9ydCBjb25zdCBTT1JUX09SREVSID0ga2V5TWlycm9yKHtcbiAgQVNDRU5ESU5HOiBudWxsLFxuICBERVNDRU5ESU5HOiBudWxsLFxuICBVTlNPUlQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OID0ga2V5TWlycm9yKHtcbiAgU09SVF9BU0M6IG51bGwsXG4gIFNPUlRfREVTOiBudWxsLFxuICBVTlNPUlQ6IG51bGwsXG4gIFBJTjogbnVsbCxcbiAgVU5QSU46IG51bGwsXG4gIENPUFk6IG51bGwsXG4gIEZPUk1BVF9DT0xVTU46IG51bGxcbn0pO1xuXG5leHBvcnQgdHlwZSBUYWJsZU9wdGlvbiA9IHtcbiAgdmFsdWU6ICdTT1JUX0FTQycgfCAnU09SVF9ERVMnIHwgJ1VOU09SVCcgfCAnUElOJyB8ICdVTlBJTicgfCAnQ09QWScgfCAnRk9STUFUX0NPTFVNTic7XG4gIGRpc3BsYXk6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBjb25kaXRpb24/OiAocHJvcHM6IGFueSkgPT4gYm9vbGVhbjtcbn07XG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OX0xJU1Q6IFRhYmxlT3B0aW9uW10gPSBbXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfQVNDLFxuICAgIGRpc3BsYXk6ICdTb3J0IEFzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93VXAnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuQVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfREVTLFxuICAgIGRpc3BsYXk6ICdTb3J0IERlc2NlbmRpbmcnLFxuICAgIGljb246ICdBcnJvd0Rvd24nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNTb3J0ZWRcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uUElOLFxuICAgIGRpc3BsYXk6ICdQaW4gQ29sdW1uJyxcbiAgICBpY29uOiAnUGluJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+ICFwcm9wcy5pc1Bpbm5lZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlBJTixcbiAgICBkaXNwbGF5OiAnVW5waW4gQ29sdW1uJyxcbiAgICBpY29uOiAnQ2FuY2VsJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLkNPUFksIGRpc3BsYXk6ICdDb3B5IENvbHVtbicsIGljb246ICdDbGlwYm9hcmQnfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uRk9STUFUX0NPTFVNTiwgZGlzcGxheTogJ0Zvcm1hdCBDb2x1bW4nLCBpY29uOiAnSGFzaCd9XG5dO1xuXG5jb25zdCBZRUxMT1cgPSAnMjQ4LCAxOTQsIDI4JztcbmNvbnN0IFBJTksgPSAnMjQyLCAxNTIsIDE2Myc7XG5jb25zdCBQVVJQTEUgPSAnMTYwLCAxMDYsIDIwNic7XG5jb25zdCBCTFVFID0gJzE0MCwgMjEwLCAyMDUnO1xuY29uc3QgQkxVRTIgPSAnMTA2LCAxNjAsIDIwNic7XG5jb25zdCBCTFVFMyA9ICcwLCAxNzIsIDIzNyc7XG5jb25zdCBHUkVFTiA9ICcxMDYsIDE2MCwgNTYnO1xuY29uc3QgR1JFRU4yID0gJzc0LCAxNjUsIDE1MCc7XG5jb25zdCBSRUQgPSAnMjM3LCA4OCwgMTA2JztcbmNvbnN0IE9SQU5HRSA9ICcyMzEsIDExMCwgNTgnO1xuXG5leHBvcnQgY29uc3QgRklFTERfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvYXJyb3ddOiB7XG4gICAgbGFiZWw6ICdnZW8nLFxuICAgIGNvbG9yOiBCTFVFMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB7XG4gICAgbGFiZWw6ICdpbnQnLFxuICAgIGNvbG9yOiBZRUxMT1dcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5yZWFsXToge1xuICAgIGxhYmVsOiAnZmxvYXQnLFxuICAgIGNvbG9yOiBZRUxMT1dcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYXJyYXldOiB7XG4gICAgbGFiZWw6ICdhcnJheScsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLm9iamVjdF06IHtcbiAgICBsYWJlbDogJ29iamVjdCcsXG4gICAgY29sb3I6IEdSRUVOMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmgzXToge1xuICAgIGxhYmVsOiAnaDMnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGNvbG9yQWdncjogbnVsbCxcbiAgc2l6ZUFnZ3I6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnO1xufSA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnXG59O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TOiB7aWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZ31bXSA9IE9iamVjdC5lbnRyaWVzKFxuICBBR0dSRUdBVElPTl9UWVBFU1xuKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgaWQ6IGtleSxcbiAgbGFiZWw6XG4gICAga2V5ID09PSAnc3RkZXYnXG4gICAgICA/ICdTdGQgRGV2aWF0aW9uJ1xuICAgICAgOiBrZXkgPT09ICdjb3VudFVuaXF1ZSdcbiAgICAgID8gJ0NvdW50IFVuaXF1ZSdcbiAgICAgIDogdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgPyB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpXG4gICAgICA6IHZhbHVlXG59KSk7XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW1NDQUxFX1RZUEVTLnNxcnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbn07XG5cbmNvbnN0IERFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTID0gW1xuICBTQ0FMRV9UWVBFUy5xdWFudGl6ZSxcbiAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gIFNDQUxFX1RZUEVTLmN1c3RvbVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbixcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5zdGRldixcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnRcbiAgXS5yZWR1Y2UoKHByZXYsIGN1cikgPT4ge1xuICAgIHByZXZbY3VyXSA9IERFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTO1xuICAgIHJldHVybiBwcmV2O1xuICB9LCB7fSksXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsLCBTQ0FMRV9UWVBFUy5jdXN0b21PcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLnBvaW50XVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgLy8gW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsLCBTQ0FMRV9UWVBFUy5saW5lYXJdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdXG4gIH0sXG5cbiAgLy8gQ3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCB5ZXRcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0ZWRTY2FsZU9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0QWdnck9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7fSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbi8qKlxuICogRGVmYXVsdCBhZ2dyZWdhdGlvbiBhcmUgYmFzZWQgb24gb2N1bnRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUdHUkVHQVRJT04gPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogREVGQVVMVF9BR0dSRUdBVElPTl9DT0xPUl9TQ0FMRVNcbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi57XG4gICAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAgIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtcbiAgICAgICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zW0NIQU5ORUxfU0NBTEVTLmNvbG9yXSxcbiAgICAgICAgICBTQ0FMRV9UWVBFUy5jdXN0b21PcmRpbmFsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAuLi5saW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREVDSU1BTCxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuUEVSQ0VOVEFHRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5ib29sZWFuXToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuQk9PTEVBTl1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2pzb25dOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9hcnJvd106IHtcbiAgICB0eXBlOiAnZ2VvbWV0cnknLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLm9iamVjdF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge30sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6ICgpID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYXJyYXldOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHt9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmgzXToge1xuICAgIHR5cGU6ICdoMycsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm5vdFN1cHBvcnRlZFNjYWxlT3B0cyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyA9IE9iamVjdC5rZXlzKENIQU5ORUxfU0NBTEVTKS5yZWR1Y2UoXG4gIChhY2N1LCBrZXkpID0+ICh7XG4gICAgLi4uYWNjdSxcbiAgICBba2V5XTogT2JqZWN0LmtleXMoRklFTERfT1BUUykuZmlsdGVyKFxuICAgICAgZnQgPT4gRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSAmJiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldKS5sZW5ndGhcbiAgICApXG4gIH0pLFxuICB7fSBhcyB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX1cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSA9ICdHbG9iYWwgV2FybWluZyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTID0gNjtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBSR0JBQ29sb3IgPSBbMCwgMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BJQ0tJTkdfUkFESVVTID0gMztcblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfQkxFTkRJTkdTID0ge1xuICBub3JtYWw6IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5ub3JtYWwnLFxuICAgIHZhbHVlOiAnbm9ybWFsJ1xuICB9LFxuICBzY3JlZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5zY3JlZW4nLFxuICAgIHZhbHVlOiAnc2NyZWVuJ1xuICB9LFxuICBkYXJrZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5kYXJrZW4nLFxuICAgIHZhbHVlOiAnZGFya2VuJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTEFZRVJfQkxFTkRJTkdTID0ge1xuICBhZGRpdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5hZGRpdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiAnRlVOQ19BREQnXG4gIH0sXG4gIG5vcm1hbDoge1xuICAgIC8vIHJlZmVyZW5jZSB0b1xuICAgIC8vIGh0dHBzOi8vbGltbnUuY29tL3dlYmdsLWJsZW5kaW5nLXlvdXJlLXByb2JhYmx5LXdyb25nL1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5ub3JtYWwnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnT05FX01JTlVTX1NSQ19BTFBIQScsICdPTkUnLCAnT05FX01JTlVTX1NSQ19BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19BREQnLCAnRlVOQ19BREQnXVxuICB9LFxuICBzdWJ0cmFjdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5zdWJ0cmFjdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ09ORScsICdPTkVfTUlOVVNfRFNUX0NPTE9SJywgJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfU1VCVFJBQ1QnLCAnRlVOQ19BREQnXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTUFYX0RFRkFVTFRfVE9PTFRJUFMgPSA1O1xuXG5leHBvcnQgY29uc3QgUkVTT0xVVElPTlMgPSBrZXlNaXJyb3Ioe1xuICBPTkVfWDogbnVsbCxcbiAgVFdPX1g6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT1MgPSBrZXlNaXJyb3Ioe1xuICBTQ1JFRU46IG51bGwsXG4gIEZPVVJfQllfVEhSRUU6IG51bGwsXG4gIFNJWFRFRU5fQllfTklORTogbnVsbCxcbiAgQ1VTVE9NOiBudWxsXG59KTtcblxuZXhwb3J0IHR5cGUgRXhwb3J0SW1hZ2UgPSB7XG4gIHJhdGlvOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIHJlc29sdXRpb246IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGVnZW5kOiBib29sZWFuO1xuICBtYXBIOiBudW1iZXI7XG4gIG1hcFc6IG51bWJlcjtcbiAgaW1hZ2VTaXplOiB7XG4gICAgem9vbU9mZnNldDogbnVtYmVyO1xuICAgIHNjYWxlOiBudW1iZXI7XG4gICAgaW1hZ2VXOiBudW1iZXI7XG4gICAgaW1hZ2VIOiBudW1iZXI7XG4gIH07XG4gIC8vIGV4cG9ydGluZyBzdGF0ZVxuICBpbWFnZURhdGFVcmk6IHN0cmluZztcbiAgZXhwb3J0aW5nOiBib29sZWFuO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuICBlcnJvcjogRXJyb3IgfCBmYWxzZTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcbiAgLy8gVGhpcyBmaWVsZCB3YXMgbm90IGluIHRoZSAuZC50cyBmaWxlXG4gIGNlbnRlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiBzY3JlZW5XID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBNYXRoLnJvdW5kKHNjcmVlblcgKiAwLjc1KVxuICB9KVxufTtcbmV4cG9ydCBjb25zdCBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW8xNl85JyxcbiAgZ2V0U2l6ZTogc2NyZWVuVyA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogTWF0aC5yb3VuZChzY3JlZW5XICogMC41NjI1KVxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJhdGlvT3B0aW9uPiA9IFtcbiAgU2NyZWVuUmF0aW9PcHRpb24sXG4gIEN1c3RvbVJhdGlvT3B0aW9uLFxuICBGb3VyQnlUaHJlZVJhdGlvT3B0aW9uLFxuICBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb25cbl07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGFiZWw6IHN0cmluZztcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xuICBzY2FsZTogbnVtYmVyO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgT25lWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLk9ORV9YLFxuICBsYWJlbDogJzF4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMSxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBzY3JlZW5IXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgVHdvWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICBsYWJlbDogJzJ4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMixcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcgKiAyLFxuICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJlc29sdXRpb25PcHRpb24+ID0gW1xuICBPbmVYUmVzb2x1dGlvbk9wdGlvbixcbiAgVHdvWFJlc29sdXRpb25PcHRpb25cbl07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9UWVBFID0ga2V5TWlycm9yKHtcbiAgQ1NWOiBudWxsXG4gIC8vIFNIQVBFRklMRTogbnVsbCxcbiAgLy8gSlNPTjogbnVsbCxcbiAgLy8gR0VPSlNPTjogbnVsbCxcbiAgLy8gVE9QT0pTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TID0gW1xuICB7XG4gICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuQ1NWLFxuICAgIGxhYmVsOiBFWFBPUlRfREFUQV9UWVBFLkNTVi50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9XG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5TSEFQRUZJTEUsXG4gIC8vICAgbGFiZWw6ICdzaGFwZWZpbGUnLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkpTT04sXG4gIC8vICAgbGFiZWw6ICdqc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5HRU9KU09OLFxuICAvLyAgIGxhYmVsOiAnZ2VvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuVE9QT0pTT04sXG4gIC8vICAgbGFiZWw6ICd0b3BvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9XG5dO1xuXG4vLyBFeHBvcnQgbWFwIHR5cGVzXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRTID0ga2V5TWlycm9yKHtcbiAgSFRNTDogbnVsbCxcbiAgSlNPTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERVMgPSBrZXlNaXJyb3Ioe1xuICBSRUFEOiBudWxsLFxuICBFRElUOiBudWxsXG59KTtcblxuLy8gRXhwb3J0IG1hcCBvcHRpb25zXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRfT1BUSU9OUyA9IE9iamVjdC5lbnRyaWVzKEVYUE9SVF9NQVBfRk9STUFUUykubWFwKFxuICAoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+ICh7XG4gICAgaWQ6IGVudHJ5WzBdLFxuICAgIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9KVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhUTUxNYXBNb2RlVGlsZVVybChtb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZDFhM2Y0c3BhenpycDQuY2xvdWRmcm9udC5uZXQva2VwbGVyLmdsL2RvY3VtZW50YXRpb24vbWFwLSR7bW9kZS50b0xvd2VyQ2FzZSgpfS1tb2RlLnBuZ2A7XG59XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMzMwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRTogW251bWJlciwgbnVtYmVyXSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMjU1LCAwLCAwXTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX1NJWkUgPSA4MDtcblxuLy8gRWRpdG9yXG5leHBvcnQgY29uc3QgRURJVE9SX0xBWUVSX0lEID0gJ2tlcGxlcl9lZGl0b3JfbGF5ZXInO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9MQVlFUl9QSUNLSU5HX1JBRElVUyA9IDY7XG5leHBvcnQgY29uc3QgRURJVE9SX01PREVTID0ge1xuICBEUkFXX1BPTFlHT046ICdEUkFXX1BPTFlHT04nLFxuICBEUkFXX1JFQ1RBTkdMRTogJ0RSQVdfUkVDVEFOR0xFJyxcbiAgRURJVDogJ0VESVRfVkVSVEVYJ1xufTtcblxuZXhwb3J0IGNvbnN0IFBMT1RfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBoaXN0b2dyYW06IG51bGwsXG4gIGxpbmVDaGFydDogbnVsbFxufSk7XG5cbi8vIEZpbHRlclxuZXhwb3J0IGNvbnN0IElOSVRfRklMVEVSX0lURU1TX0lOX0RST1BET1dOID0gMTAwO1xuXG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsLFxuICB0aWxlc2V0OiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVBVFVSRV9GTEFHUyA9IHt9O1xuXG5leHBvcnQgY29uc3QgREFUQVNFVF9GT1JNQVRTID0ga2V5TWlycm9yKHtcbiAgcm93OiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBjc3Y6IG51bGwsXG4gIGtlcGxlcmdsOiBudWxsLFxuICBhcnJvdzogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsLFxuICBlZmZlY3Q6IG51bGwsXG4gIGFpQXNzaXN0YW50OiBudWxsXG59KTtcblxuLyoqXG4gKiBBIG11bHRpcGxpZXIgZm9yIHNjcmVlbi1zcGFjZSB3aWR0aC9zY2FsZSBmb3IgQXJjLCBMaW5lLCBJY29uIGFuZCBUZXh0IGxheWVycy5cbiAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIG1haW50YWluIHRoZSBzYW1lIGFwcGVhcmFuY2UgYWZ0ZXIgdXBncmFkaW5nIHRvIGRlY2suZ2wgdjguNS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZS1ndWlkZS5tZFxuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiA9IDIgLyAzO1xuXG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRleHQgb3V0bGluZSB3aWR0aFxuICovXG5leHBvcnQgY29uc3QgVEVYVF9PVVRMSU5FX01VTFRJUExJRVIgPSA1O1xuXG5leHBvcnQgY29uc3QgZGF0YVRlc3RJZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGluZm9JY29uOiAnaW5mby1pY29uJyxcbiAgd2FybmluZ0ljb246ICd3YXJuaW5nLWljb24nLFxuICBlcnJvckljb246ICdlcnJvci1pY29uJyxcbiAgc3VjY2Vzc0ljb246ICdzdWNjZXNzLWljb24nLFxuICBjaGVja21hcmtJY29uOiAnY2hlY2ttYXJrLWljb24nLFxuICBzb3J0YWJsZUxheWVySXRlbTogJ3NvcnRhYmxlLWxheWVyLWl0ZW0nLFxuICBzdGF0aWNMYXllckl0ZW06ICdzdGF0aWMtbGF5ZXItaXRlbScsXG4gIGxheWVyVGl0bGVFZGl0b3I6ICdsYXllcl9fdGl0bGVfX2VkaXRvcicsXG4gIHJlbW92ZUxheWVyQWN0aW9uOiAncmVtb3ZlLWxheWVyLWFjdGlvbicsXG4gIGxheWVyUGFuZWw6ICdsYXllci1wYW5lbCcsXG4gIHNvcnRhYmxlRWZmZWN0SXRlbTogJ3NvcnRhYmxlLWVmZmVjdC1pdGVtJyxcbiAgc3RhdGljRWZmZWN0SXRlbTogJ3N0YXRpYy1lZmZlY3QtaXRlbScsXG4gIHByb3ZpZGVyTG9hZGluZzogJ3Byb3ZpZGVyLWxvYWRpbmcnLFxuICBwcm92aWRlck1hcEluZm9QYW5lbDogJ3Byb3ZpZGVyLW1hcC1pbmZvLXBhbmVsJyxcbiAgcHJvdmlkZXJTZWxlY3Q6ICdwcm92aWRlci1zZWxlY3QnLFxuICBjbG91ZEhlYWRlcjogJ2Nsb3VkLWhlYWRlcicsXG4gIHByb3ZpZGVyU2hhcmVNYXA6ICdwcm92aWRlci1zaGFyZS1tYXAnXG59O1xuXG4vLyBFZmZlY3RzXG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FWk9ORSA9ICdVVEMnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9TVF9QUk9DRVNTSU5HX0VGRkVDVF9UWVBFID0gJ2luayc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMjU1LCAyNTUsIDI1NV07XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9JTlRFTlNJVFkgPSAxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWSA9IDAuNTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NIQURPV19DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzAsIDAsIDBdO1xuXG5leHBvcnQgY29uc3QgTElHSFRfQU5EX1NIQURPV19FRkZFQ1RfVElNRV9NT0RFUyA9IHtcbiAgcGljazogJ3BpY2snIGFzIGNvbnN0LFxuICBjdXJyZW50OiAnY3VycmVudCcgYXMgY29uc3QsXG4gIGFuaW1hdGlvbjogJ2FuaW1hdGlvbicgYXMgY29uc3Rcbn07XG5leHBvcnQgdHlwZSBMaWdodEFuZFNoYWRvd0VmZmVjdFRpbWVNb2RlID0gJ3BpY2snIHwgJ2N1cnJlbnQnIHwgJ2FuaW1hdGlvbic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9BTkRfU0hBRE9XX1BST1BTOiB7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICB0aW1lTW9kZTogTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZTtcbiAgc2hhZG93SW50ZW5zaXR5OiBudW1iZXI7XG4gIHNoYWRvd0NvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHN1bkxpZ2h0Q29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgc3VuTGlnaHRJbnRlbnNpdHk6IG51bWJlcjtcbiAgYW1iaWVudExpZ2h0Q29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgYW1iaWVudExpZ2h0SW50ZW5zaXR5OiBudW1iZXI7XG59ID0ge1xuICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gIHRpbWVNb2RlOiBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTLnBpY2sgYXMgTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZSxcbiAgc2hhZG93SW50ZW5zaXR5OiBERUZBVUxUX1NIQURPV19JTlRFTlNJVFksXG4gIHNoYWRvd0NvbG9yOiBbLi4uREVGQVVMVF9TSEFET1dfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRJbnRlbnNpdHk6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZLFxuICBhbWJpZW50TGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYW1iaWVudExpZ2h0SW50ZW5zaXR5OiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWVxufTtcblxuZXhwb3J0IGNvbnN0IExJR0hUX0FORF9TSEFET1dfRUZGRUNUOiBFZmZlY3REZXNjcmlwdGlvbiA9IHtcbiAgdHlwZTogJ2xpZ2h0QW5kU2hhZG93JyxcbiAgbmFtZTogJ0xpZ2h0ICYgU2hhZG93JyxcbiAgcGFyYW1ldGVyczogW1xuICAgIHtuYW1lOiAndGltZXN0YW1wJywgbWluOiAwLCBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSfSxcbiAgICB7bmFtZTogJ3NoYWRvd0ludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdzdW5MaWdodEludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZfSxcbiAgICB7bmFtZTogJ2FtYmllbnRMaWdodEludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZfSxcbiAgICB7bmFtZTogJ3NoYWRvd0NvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1NIQURPV19DT0xPUn0sXG4gICAge25hbWU6ICdzdW5MaWdodENvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0NPTE9SfSxcbiAgICB7bmFtZTogJ2FtYmllbnRMaWdodENvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0NPTE9SfVxuICBdXG59O1xuXG5leHBvcnQgY29uc3QgUE9TVFBST0NFU1NJTkdfRUZGRUNUUzoge1trZXk6IHN0cmluZ106IEVmZmVjdERlc2NyaXB0aW9ufSA9IHtcbiAgaW5rOiB7XG4gICAgdHlwZTogJ2luaycsXG4gICAgbmFtZTogJ0luaycsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnc3RyZW5ndGgnLCBtaW46IDAsIG1heDogMX1dXG4gIH0sXG4gIGJyaWdodG5lc3NDb250cmFzdDoge1xuICAgIHR5cGU6ICdicmlnaHRuZXNzQ29udHJhc3QnLFxuICAgIG5hbWU6ICdCcmlnaHRuZXNzICYgQ29udHJhc3QnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtuYW1lOiAnYnJpZ2h0bmVzcycsIG1pbjogLTEsIG1heDogMX0sXG4gICAgICB7bmFtZTogJ2NvbnRyYXN0JywgbWluOiAtMSwgbWF4OiAxfVxuICAgIF1cbiAgfSxcbiAgaHVlU2F0dXJhdGlvbjoge1xuICAgIHR5cGU6ICdodWVTYXR1cmF0aW9uJyxcbiAgICBuYW1lOiAnSHVlICYgU2F0dXJhdGlvbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdodWUnLCBtaW46IC0xLCBtYXg6IDF9LFxuICAgICAge25hbWU6ICdzYXR1cmF0aW9uJywgZGVmYXVsdFZhbHVlOiAwLjI1LCBtaW46IC0xLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICB2aWJyYW5jZToge1xuICAgIHR5cGU6ICd2aWJyYW5jZScsXG4gICAgbmFtZTogJ1ZpYnJhbmNlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdhbW91bnQnLCBkZWZhdWx0VmFsdWU6IDAuNSwgbWluOiAtMSwgbWF4OiAxfV1cbiAgfSxcbiAgc2VwaWE6IHtcbiAgICB0eXBlOiAnc2VwaWEnLFxuICAgIG5hbWU6ICdTZXBpYScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnYW1vdW50JywgbWluOiAwLCBtYXg6IDF9XVxuICB9LFxuICBkb3RTY3JlZW46IHtcbiAgICB0eXBlOiAnZG90U2NyZWVuJyxcbiAgICBuYW1lOiAnRG90IFNjcmVlbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYW5nbGUnLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogTWF0aC5QSSAvIDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaXplJyxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDIwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2VudGVyJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnQ2VudGVyIFgnLCAnQ2VudGVyIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgY29sb3JIYWxmdG9uZToge1xuICAgIHR5cGU6ICdjb2xvckhhbGZ0b25lJyxcbiAgICBuYW1lOiAnQ29sb3IgSGFsZnRvbmUnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2FuZ2xlJyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IE1hdGguUEkgLyAyXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2l6ZScsXG4gICAgICAgIG1pbjogMSxcbiAgICAgICAgbWF4OiAyMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIG5vaXNlOiB7XG4gICAgdHlwZTogJ25vaXNlJyxcbiAgICBuYW1lOiAnTm9pc2UnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfV1cbiAgfSxcbiAgdHJpYW5nbGVCbHVyOiB7XG4gICAgdHlwZTogJ3RyaWFuZ2xlQmx1cicsXG4gICAgbmFtZTogJ0JsdXIgKFRyaWFuZ2xlKScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDEwMH1dXG4gIH0sXG4gIHpvb21CbHVyOiB7XG4gICAgdHlwZTogJ3pvb21CbHVyJyxcbiAgICBuYW1lOiAnQmx1ciAoWm9vbSknLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0cmVuZ3RoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAwLjA1LFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHRpbHRTaGlmdDoge1xuICAgIHR5cGU6ICd0aWx0U2hpZnQnLFxuICAgIG5hbWU6ICdCbHVyIChUaWx0IFNoaWZ0KScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYmx1clJhZGl1cycsXG4gICAgICAgIGxhYmVsOiAnQmx1cicsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA1MFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2dyYWRpZW50UmFkaXVzJyxcbiAgICAgICAgbGFiZWw6ICdHcmFkaWVudCcsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA0MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdGFydCcsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1N0YXJ0JywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjAsIDAuMF0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZW5kJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnRW5kJywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFsxLCAxXSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGVkZ2VXb3JrOiB7XG4gICAgdHlwZTogJ2VkZ2VXb3JrJyxcbiAgICBuYW1lOiAnRWRnZSB3b3JrJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdyYWRpdXMnLCBtaW46IDEsIG1heDogNTB9XVxuICB9LFxuICB2aWduZXR0ZToge1xuICAgIHR5cGU6ICd2aWduZXR0ZScsXG4gICAgbmFtZTogJ1ZpZ25ldHRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICBtYWduaWZ5OiB7XG4gICAgdHlwZTogJ21hZ25pZnknLFxuICAgIG5hbWU6ICdNYWduaWZ5JyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzY3JlZW5YWScsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1Bvc2l0aW9uIFgnLCAnUG9zaXRpb24gWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmFkaXVzUGl4ZWxzJyxcbiAgICAgICAgbGFiZWw6ICdTaXplJyxcbiAgICAgICAgbWluOiAxMCxcbiAgICAgICAgbWF4OiA1MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd6b29tJyxcbiAgICAgICAgbWluOiAwLjUsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdib3JkZXJXaWR0aFBpeGVscycsXG4gICAgICAgIGxhYmVsOiAnQm9yZGVyIFdpZHRoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAzLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGhleGFnb25hbFBpeGVsYXRlOiB7XG4gICAgdHlwZTogJ2hleGFnb25hbFBpeGVsYXRlJyxcbiAgICBuYW1lOiAnSGV4YWdvbmFsIFBpeGVsYXRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdzY2FsZScsIGRlZmF1bHRWYWx1ZTogMjAsIG1pbjogMSwgbWF4OiA1MH1dXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFRkZFQ1RfREVTQ1JJUFRJT05TOiBFZmZlY3REZXNjcmlwdGlvbltdID0gW1xuICBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCxcbiAgLi4uT2JqZWN0LmtleXMoUE9TVFBST0NFU1NJTkdfRUZGRUNUUykubWFwKGtleU5hbWUgPT4gUE9TVFBST0NFU1NJTkdfRUZGRUNUU1trZXlOYW1lXSlcbl07XG5cbmV4cG9ydCB0eXBlIEVmZmVjdFR5cGUgPVxuICB8ICdpbmsnXG4gIHwgJ2JyaWdodG5lc3NDb250cmFzdCdcbiAgfCAnaHVlU2F0dXJhdGlvbidcbiAgfCAndmlicmFuY2UnXG4gIHwgJ3NlcGlhJ1xuICB8ICdkb3RTY3JlZW4nXG4gIHwgJ2NvbG9ySGFsZnRvbmUnXG4gIHwgJ25vaXNlJ1xuICB8ICd0cmlhbmdsZUJsdXInXG4gIHwgJ3pvb21CbHVyJ1xuICB8ICd0aWx0U2hpZnQnXG4gIHwgJ2VkZ2VXb3JrJ1xuICB8ICd2aWduZXR0ZSdcbiAgfCAnbWFnbmlmeSdcbiAgfCAnaGV4YWdvbmFsUGl4ZWxhdGUnXG4gIHwgJ2xpZ2h0QW5kU2hhZG93JztcblxuZXhwb3J0IGNvbnN0IFNZTkNfVElNRUxJTkVfTU9ERVM6IFJlY29yZDxzdHJpbmcsIFN5bmNUaW1lbGluZU1vZGU+ID0ge1xuICBzdGFydDogMCxcbiAgZW5kOiAxXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBVUEsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBVUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQStDLElBQUFHLG1CQUFBLEVBQUFDLFdBQUEsRUF2Qi9DO0FBQ0E7QUFBQSxTQUFBQyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FB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QztFQUVwQyxDQUFDO0VBQ0RtQixPQUFPLEVBQUU7SUFDUC9WLElBQUksRUFBRSxTQUFTO0lBQ2Z5VSxJQUFJLEVBQUUsU0FBUztJQUNmQyxVQUFVLEVBQUUsQ0FDVjtNQUNFRCxJQUFJLEVBQUUsVUFBVTtNQUNoQnpVLElBQUksRUFBRSxPQUFPO01BQ2JuQixLQUFLLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO01BQ25Da1csWUFBWSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUN4QkosR0FBRyxFQUFFLENBQUM7TUFDTkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQyxFQUNEO01BQ0VILElBQUksRUFBRSxjQUFjO01BQ3BCNVYsS0FBSyxFQUFFLE1BQU07TUFDYjhWLEdBQUcsRUFBRSxFQUFFO01BQ1BDLEdBQUcsRUFBRTtJQUNQLENBQUMsRUFDRDtNQUNFSCxJQUFJLEVBQUUsTUFBTTtNQUNaRSxHQUFHLEVBQUUsR0FBRztNQUNSQyxHQUFHLEVBQUU7SUFDUCxDQUFDLEVBQ0Q7TUFDRUgsSUFBSSxFQUFFLG1CQUFtQjtNQUN6QjVWLEtBQUssRUFBRSxjQUFjO01BQ3JCa1csWUFBWSxFQUFFLENBQUM7TUFDZkosR0FBRyxFQUFFLENBQUM7TUFDTkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQztFQUVMLENBQUM7RUFDRG9CLGlCQUFpQixFQUFFO0lBQ2pCaFcsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QnlVLElBQUksRUFBRSxvQkFBb0I7SUFDMUJDLFVBQVUsRUFBRSxDQUFDO01BQUNELElBQUksRUFBRSxPQUFPO01BQUVNLFlBQVksRUFBRSxFQUFFO01BQUVKLEdBQUcsRUFBRSxDQUFDO01BQUVDLEdBQUcsRUFBRTtJQUFFLENBQUM7RUFDakU7QUFDRixDQUFDO0FBRU0sSUFBTXFCLG1CQUF3QyxHQUFBM1osT0FBQSxDQUFBMlosbUJBQUEsSUFDbkR6Qix1QkFBdUIsRUFBQS9YLE1BQUEsS0FBQTZOLG1CQUFBLGFBQ3BCbFAsTUFBTSxDQUFDQyxJQUFJLENBQUMyWixzQkFBc0IsQ0FBQyxDQUFDeE0sR0FBRyxDQUFDLFVBQUEwTixPQUFPO0VBQUEsT0FBSWxCLHNCQUFzQixDQUFDa0IsT0FBTyxDQUFDO0FBQUEsRUFBQyxFQUN2RjtBQW9CTSxJQUFNQyxtQkFBcUQsR0FBQTdaLE9BQUEsQ0FBQTZaLG1CQUFBLEdBQUc7RUFDbkVDLEtBQUssRUFBRSxDQUFDO0VBQ1JDLEdBQUcsRUFBRTtBQUNQLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
1317
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZDNTY2FsZSIsIl90b29sdGlwIiwiX0ZJRUxEX1RZUEVfRElTUExBWSIsIl9GSUVMRF9PUFRTIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJBQ1RJT05fUFJFRklYIiwiZXhwb3J0cyIsIktFUExFUl9VTkZPTERFRF9CVUNLRVQiLCJCQVNFTUFQX0lDT05fUFJFRklYIiwiY29uY2F0IiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJEQVRBX1RBQkxFX0lEIiwiREVMRVRFX0RBVEFfSUQiLCJBRERfREFUQV9JRCIsIkVYUE9SVF9JTUFHRV9JRCIsIkVYUE9SVF9EQVRBX0lEIiwiQUREX01BUF9TVFlMRV9JRCIsIkVYUE9SVF9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIk9WRVJXUklURV9NQVBfSUQiLCJTSEFSRV9NQVBfSUQiLCJLRVBMRVJfR0xfTkFNRSIsIktFUExFUl9HTF9WRVJTSU9OIiwiS0VQTEVSX0dMX1dFQlNJVEUiLCJESU1FTlNJT05TIiwic2lkZVBhbmVsIiwid2lkdGgiLCJtYXJnaW4iLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWFkZXJIZWlnaHQiLCJtYXBDb250cm9sIiwicGFkZGluZyIsIm1hcExlZ2VuZCIsInBpbm5lZCIsIlRIRU1FIiwia2V5TWlycm9yIiwibGlnaHQiLCJkYXJrIiwiYmFzZSIsIlNJREVCQVJfUEFORUxTIiwiaWQiLCJsYWJlbCIsIm9uQ2xpY2siLCJQQU5FTF9WSUVXX1RPR0dMRVMiLCJsaXN0IiwiYnlEYXRhc2V0IiwiUEFORUxTIiwiREVGQVVMVF9CTERHX0NPTE9SIiwiREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SIiwiQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMiLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUciLCJUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUciLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwiaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlIiwiaXNNb3ZlVG9Ub3BBdmFpbGFibGUiLCJpc0NvbG9yUGlja2VyQXZhaWxhYmxlIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJfcmVmIiwidHlwZSIsIm1hdGNoIiwiX3JlZjIiLCJfcmVmMyIsIl9yZWY0IiwiX3JlZjUiLCJfcmVmNiIsIkJBU0VfTUFQX0NPTE9SX01PREVTIiwiTk9ORSIsIkRBUksiLCJMSUdIVCIsIk5PX01BUF9JRCIsIkVNUFRZX01BUEJPWF9TVFlMRSIsInZlcnNpb24iLCJzb3VyY2VzIiwibGF5ZXJzIiwiTUFQX0xJQl9PUFRJT05TIiwiTUFQQk9YIiwiTUFQTElCUkUiLCJOT19CQVNFTUFQX0lDT04iLCJERUZBVUxUX0JBU0VfTUFQX1NUWUxFIiwiREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFIiwidXJsIiwiaWNvbiIsImxheWVyR3JvdXBzIiwiY29sb3JNb2RlIiwic3R5bGUiLCJERUZBVUxUX01BUEJPWF9TVFlMRVMiLCJjb21wbGltZW50YXJ5U3R5bGVJZCIsIkRFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUyIsIkRFRkFVTFRfTUFQTElCUkVfU1RZTEVTIiwiREVGQVVMVF9NQVBfU1RZTEVTIiwiR0VPSlNPTl9GSUVMRFMiLCJnZW9qc29uIiwiSUNPTl9GSUVMRFMiLCJUUklQX1BPSU5UX0ZJRUxEUyIsIkFMVElUVURFX0ZJRUxEUyIsIlRSSVBfQVJDX0ZJRUxEUyIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJGSUxURVJfVFlQRVMiLCJyYW5nZSIsInNlbGVjdCIsImlucHV0IiwidGltZVJhbmdlIiwibXVsdGlTZWxlY3QiLCJwb2x5Z29uIiwiRklMVEVSX1ZJRVdfVFlQRVMiLCJzaWRlIiwiZW5sYXJnZWQiLCJtaW5pZmllZCIsIkRFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwidGhyZXNob2xkIiwiY3VzdG9tIiwiY3VzdG9tT3JkaW5hbCIsInBvaW50IiwiU0NBTEVfVFlQRV9OQU1FUyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJhcnJheSIsIm9iamVjdCIsImdlb2Fycm93IiwiaDMiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJGT1JNQVRfQ09MVU1OIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRUYWJsZUNvbHVtbiIsInNvcnRNb2RlIiwiaXNTb3J0ZWQiLCJpc1Bpbm5lZCIsInNldERpc3BsYXlGb3JtYXQiLCJZRUxMT1ciLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIkdSRUVOMiIsIlJFRCIsIk9SQU5HRSIsIkZJRUxEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsIl9yZWY3IiwiX3JlZjgiLCJfc2xpY2VkVG9BcnJheTIiLCJrZXkiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsIkRFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIkRFQ0lNQUwiLCJQRVJDRU5UQUdFIiwiREFURSIsIkRBVEVfVElNRSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwiYWNjdSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQUyIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIkRFRkFVTFRfUElDS0lOR19SQURJVVMiLCJPVkVSTEFZX0JMRU5ESU5HUyIsIm5vcm1hbCIsInNjcmVlbiIsImRhcmtlbiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJTY3JlZW5SYXRpb09wdGlvbiIsImdldFNpemUiLCJzY3JlZW5XIiwic2NyZWVuSCIsImhlaWdodCIsIkN1c3RvbVJhdGlvT3B0aW9uIiwiaGlkZGVuIiwibWFwVyIsIm1hcEgiLCJGb3VyQnlUaHJlZVJhdGlvT3B0aW9uIiwiTWF0aCIsInJvdW5kIiwiU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uIiwiRVhQT1JUX0lNR19SQVRJT19PUFRJT05TIiwiT25lWFJlc29sdXRpb25PcHRpb24iLCJhdmFpbGFibGUiLCJUd29YUmVzb2x1dGlvbk9wdGlvbiIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyeSIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMiLCJERUZBVUxUX1VVSURfQ09VTlQiLCJERUZBVUxUX05PVElGSUNBVElPTl9NRVNTQUdFIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMiLCJpbmZvIiwiZXJyb3IiLCJ3YXJuaW5nIiwic3VjY2VzcyIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyIsImdsb2JhbCIsImZpbGUiLCJUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSIsIkJBU0VfU1BFRUQiLCJGUFMiLCJBTklNQVRJT05fV0lORE9XIiwiZnJlZSIsImluY3JlbWVudGFsIiwiaW50ZXJ2YWwiLCJERUZBVUxUX1RJTUVfRk9STUFUIiwiU1BFRURfQ09OVFJPTF9SQU5HRSIsIlNQRUVEX0NPTlRST0xfU1RFUCIsIkdFT0NPREVSX0RBVEFTRVRfTkFNRSIsIkdFT0NPREVSX0xBWUVSX0lEIiwiR0VPQ09ERVJfR0VPX09GRlNFVCIsIkdFT0NPREVSX0lDT05fQ09MT1IiLCJHRU9DT0RFUl9JQ09OX1NJWkUiLCJFRElUT1JfTEFZRVJfSUQiLCJFRElUT1JfTEFZRVJfUElDS0lOR19SQURJVVMiLCJFRElUT1JfTU9ERVMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIlBMT1RfVFlQRVMiLCJoaXN0b2dyYW0iLCJsaW5lQ2hhcnQiLCJJTklUX0ZJTFRFUl9JVEVNU19JTl9EUk9QRE9XTiIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJ0aWxlc2V0IiwiREVGQVVMVF9GRUFUVVJFX0ZMQUdTIiwiREFUQVNFVF9GT1JNQVRTIiwicm93IiwiY3N2Iiwia2VwbGVyZ2wiLCJhcnJvdyIsImR1Y2tkYiIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsImVmZmVjdCIsImFpQXNzaXN0YW50IiwiUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiIsIlRFWFRfT1VUTElORV9NVUxUSVBMSUVSIiwiZGF0YVRlc3RJZHMiLCJpbmZvSWNvbiIsIndhcm5pbmdJY29uIiwiZXJyb3JJY29uIiwic3VjY2Vzc0ljb24iLCJjaGVja21hcmtJY29uIiwic29ydGFibGVMYXllckl0ZW0iLCJzdGF0aWNMYXllckl0ZW0iLCJsYXllclRpdGxlRWRpdG9yIiwicmVtb3ZlTGF5ZXJBY3Rpb24iLCJsYXllclBhbmVsIiwic29ydGFibGVFZmZlY3RJdGVtIiwic3RhdGljRWZmZWN0SXRlbSIsInByb3ZpZGVyTG9hZGluZyIsInByb3ZpZGVyTWFwSW5mb1BhbmVsIiwicHJvdmlkZXJTZWxlY3QiLCJjbG91ZEhlYWRlciIsInByb3ZpZGVyU2hhcmVNYXAiLCJERUZBVUxUX1RJTUVaT05FIiwiREVGQVVMVF9QT1NUX1BST0NFU1NJTkdfRUZGRUNUX1RZUEUiLCJERUZBVUxUX0xJR0hUX0NPTE9SIiwiREVGQVVMVF9MSUdIVF9JTlRFTlNJVFkiLCJERUZBVUxUX1NIQURPV19JTlRFTlNJVFkiLCJERUZBVUxUX1NIQURPV19DT0xPUiIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUX1RJTUVfTU9ERVMiLCJwaWNrIiwiY3VycmVudCIsImFuaW1hdGlvbiIsIkRFRkFVTFRfTElHSFRfQU5EX1NIQURPV19QUk9QUyIsIkRhdGUiLCJub3ciLCJ0aW1lTW9kZSIsInNoYWRvd0ludGVuc2l0eSIsInNoYWRvd0NvbG9yIiwic3VuTGlnaHRDb2xvciIsInN1bkxpZ2h0SW50ZW5zaXR5IiwiYW1iaWVudExpZ2h0Q29sb3IiLCJhbWJpZW50TGlnaHRJbnRlbnNpdHkiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsIm5hbWUiLCJwYXJhbWV0ZXJzIiwibWluIiwibWF4IiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsImRlZmF1bHRWYWx1ZSIsIlBPU1RQUk9DRVNTSU5HX0VGRkVDVFMiLCJpbmsiLCJicmlnaHRuZXNzQ29udHJhc3QiLCJodWVTYXR1cmF0aW9uIiwidmlicmFuY2UiLCJzZXBpYSIsImRvdFNjcmVlbiIsIlBJIiwiY29sb3JIYWxmdG9uZSIsIm5vaXNlIiwidHJpYW5nbGVCbHVyIiwiem9vbUJsdXIiLCJ0aWx0U2hpZnQiLCJlZGdlV29yayIsInZpZ25ldHRlIiwibWFnbmlmeSIsImhleGFnb25hbFBpeGVsYXRlIiwiRUZGRUNUX0RFU0NSSVBUSU9OUyIsImtleU5hbWUiLCJTWU5DX1RJTUVMSU5FX01PREVTIiwic3RhcnQiLCJlbmQiXSwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5cbmltcG9ydCB7XG4gIEJhc2VNYXBTdHlsZSxcbiAgRWZmZWN0RGVzY3JpcHRpb24sXG4gIFJHQkFDb2xvcixcbiAgU3luY1RpbWVsaW5lTW9kZSxcbiAgQmFzZU1hcENvbG9yTW9kZXMsXG4gIE1lcmdlXG59IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlTG9nLFxuICBzY2FsZU9yZGluYWwsXG4gIHNjYWxlUG9pbnQsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlU3FydCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcblxuZXhwb3J0IGNvbnN0IEFDVElPTl9QUkVGSVggPSAnQEBrZXBsZXIuZ2wvJztcbmV4cG9ydCBjb25zdCBLRVBMRVJfVU5GT0xERURfQlVDS0VUID0gJ2h0dHBzOi8vc3R1ZGlvLXB1YmxpYy1kYXRhLmZvdXJzcXVhcmUuY29tL3N0YXRpY3Mva2VwbGVyZ2wnO1xuZXhwb3J0IGNvbnN0IEJBU0VNQVBfSUNPTl9QUkVGSVggPSBgJHtLRVBMRVJfVU5GT0xERURfQlVDS0VUfS9nZW9kdWRlYDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUEJPWF9BUElfVVJMID0gJ2h0dHBzOi8vYXBpLm1hcGJveC5jb20nO1xuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAwO1xuXG4vLyBNb2RhbCBJZHNcbi8qKlxuICogTW9kYWwgaWQ6IGRhdGEgdGFibGVcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IERBVEFfVEFCTEVfSUQgPSAnZGF0YVRhYmxlJztcbi8qKlxuICogTW9kYWwgaWQ6IGRlbGV0ZSBkYXRhc2V0IGNvbmZpcm0gZGlhbG9nXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBERUxFVEVfREFUQV9JRCA9ICdkZWxldGVEYXRhJztcbi8qKlxuICogTW9kYWwgaWQ6IGFkZCBkYXRhIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBBRERfREFUQV9JRCA9ICdhZGREYXRhJztcbi8qKlxuICogTW9kYWwgaWQ6IGV4cG9ydCBpbWFnZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNQUdFX0lEID0gJ2V4cG9ydEltYWdlJztcbi8qKlxuICogTW9kYWwgaWQ6IGV4cG9ydCBkYXRhIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9JRCA9ICdleHBvcnREYXRhJztcbi8qKlxuICogTW9kYWwgaWQ6IGFkZCBjdXN0b20gbWFwIHN0eWxlIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBBRERfTUFQX1NUWUxFX0lEID0gJ2FkZE1hcFN0eWxlJztcbi8qKlxuICogTW9kYWwgaWQ6IGV4cG9ydCBtYXAgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfSUQgPSAnZXhwb3J0TWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNhdmUgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBTQVZFX01BUF9JRCA9ICdzYXZlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IGNvbmZpcm0gdG8gb3ZlcndyaXRlIHNhdmVkIG1hcFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgT1ZFUldSSVRFX01BUF9JRCA9ICdvdmVyd3JpdGVNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogc2hhcmUgbWFwIHVybCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0hBUkVfTUFQX0lEID0gJ3NoYXJlTWFwJztcblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9OQU1FID0gJ2tlcGxlci5nbCc7XG5cbi8vIF9fUEFDS0FHRV9WRVJTSU9OX18gaXMgYXV0b21hdGljYWxseSBpbmplY3RlZCBieSBCYWJlbC9Fc2J1aWxkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzc1xuLy8gU2luY2Ugd2UgYXJlIGluamVjdGluZyB0aGlzIGR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcyB3aXRoIGJhYmVsXG4vLyB3aGlsZSBkZXZlbG9waW5nIFZFUlNJT04gaXMgbm90IGRlZmluZWQsIHdlIGNhcHR1cmUgdGhlIGV4Y2VwdGlvbiBhbmQgcmV0dXJuXG4vLyBhbiBlbXB0eSBzdHJpbmcgd2hpY2ggd2lsbCBhbGxvdyB1cyB0byByZXRyaWV2ZSB0aGUgbGF0ZXN0IHVtZCB2ZXJzaW9uXG5leHBvcnQgY29uc3QgS0VQTEVSX0dMX1ZFUlNJT04gPSAnX19QQUNLQUdFX1ZFUlNJT05fXyc7XG5leHBvcnQgY29uc3QgS0VQTEVSX0dMX1dFQlNJVEUgPSAnaHR0cDovL2tlcGxlci5nbC8nO1xuXG5leHBvcnQgY29uc3QgRElNRU5TSU9OUyA9IHtcbiAgc2lkZVBhbmVsOiB7XG4gICAgd2lkdGg6IDMwMCxcbiAgICBtYXJnaW46IHt0b3A6IDEyLCBsZWZ0OiAxMiwgYm90dG9tOiAxMiwgcmlnaHQ6IDIwfSxcbiAgICBoZWFkZXJIZWlnaHQ6IDk2XG4gIH0sXG4gIG1hcENvbnRyb2w6IHtcbiAgICB3aWR0aDogMTg0LFxuICAgIHBhZGRpbmc6IDEyLFxuICAgIG1hcExlZ2VuZDoge1xuICAgICAgcGlubmVkOiB7XG4gICAgICAgIGJvdHRvbTogMjIsXG4gICAgICAgIHJpZ2h0OiAxMlxuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBUaGVtZSBuYW1lIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBgS2VwbGVyR2xgIGBwcm9wLnRoZW1lYC5cbiAqIEF2YWlsYWJsZSB0aGVtZXMgYXJlIGBUSEVNRS5saWdodGAgYW5kIGBUSEVNRS5kYXJrYC4gRGVmYXVsdCB0aGVtZSBpcyBgVEhFTUUuZGFya2BcbiAqIEBjb25zdGFudFxuICogQHR5cGUge29iamVjdH1cbiAqIEBwdWJsaWNcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogY29uc3QgTWFwID0gKCkgPT4gPEtlcGxlckdsIHRoZW1lPXtUSEVNRS5saWdodH0gaWQ9XCJtYXBcIi8+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFRIRU1FID0ga2V5TWlycm9yKHtcbiAgbGlnaHQ6IG51bGwsXG4gIGRhcms6IG51bGwsXG4gIGJhc2U6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0lERUJBUl9QQU5FTFMgPSBbXG4gIHtcbiAgICBpZDogJ2xheWVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmxheWVyJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ZpbHRlcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5maWx0ZXInLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnaW50ZXJhY3Rpb24nLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuaW50ZXJhY3Rpb24nLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnbWFwJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmJhc2VtYXAnLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IFBBTkVMX1ZJRVdfVE9HR0xFUyA9IGtleU1pcnJvcih7XG4gIGxpc3Q6IG51bGwsXG4gIGJ5RGF0YXNldDogbnVsbFxufSk7XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9CTERHX0NPTE9SID0gJyNEMUNFQzcnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SID0gJyMwMDAwMDAnO1xuXG4vLyBhc3Npc3RzIGluIGlkZW50aWZ5aW5nIGJhc2VtYXAgYmFja2dyb3VuZCBsYXllcnMgd2hlbiBhdXRvLWRldGVybWluaW5nIHRoZSBiYWNrZ3JvdW5kQ29sb3JcbmV4cG9ydCBjb25zdCBCQVNFX01BUF9CQUNLR1JPVU5EX0xBWUVSX0lEUyA9IFsnYmFja2dyb3VuZCcsICdiZycsICdsYW5kJywgJ3dhdGVyJ107XG5cbmV4cG9ydCBjb25zdCBCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUcgPSAnQmFja2dyb3VuZCc7XG5cbmV4cG9ydCBjb25zdCBUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUcgPSAnM2QgYnVpbGRpbmcnO1xuXG5leHBvcnQgdHlwZSBERUZBVUxUX0xBWUVSX0dST1VQID0ge1xuICBzbHVnOiBzdHJpbmc7XG4gIGZpbHRlcjogKHZhbHVlKSA9PiBib29sZWFuO1xuICBkZWZhdWx0VmlzaWJpbGl0eTogYm9vbGVhbjtcbiAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlPzogYm9vbGVhbjtcbiAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU/OiBib29sZWFuO1xuICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBCQUNLR1JPVU5EX0xBWUVSX0dST1VQOiBERUZBVUxUX0xBWUVSX0dST1VQID0ge1xuICBzbHVnOiBCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUcsXG4gIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiBmYWxzZSxcbiAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IGZhbHNlLFxuICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiB0cnVlXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFM6IERFRkFVTFRfTEFZRVJfR1JPVVBbXSA9IFtcbiAge1xuICAgIHNsdWc6ICdsYWJlbCcsXG4gICAgZmlsdGVyOiAoe2lkLCB0eXBlfSkgPT4gaWQubWF0Y2goLyg/PShsYWJlbHxwbGFjZS18cG9pLSkpLykgfHwgdHlwZT8ubWF0Y2goLyg/PShzeW1ib2wpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3JvYWQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocm9hZHxyYWlsd2F5fHR1bm5lbHxzdHJlZXR8YnJpZGdlKSkoPyEuKmxhYmVsKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzfGJvdW5kYXJ5LyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICd3YXRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PSh3YXRlcnxzdHJlYW18ZmVycnkpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiB0cnVlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBCQVNFX01BUF9DT0xPUl9NT0RFUyA9IGtleU1pcnJvcih7XG4gIE5PTkU6IG51bGwsXG4gIERBUks6IG51bGwsXG4gIExJR0hUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE5PX01BUF9JRCA9ICdub19tYXAnO1xuXG4vLyBGYWxsYmFjayBzdHlsZSB0byB1c2Ugd2hlbiBzdHlsZXMgYXJlIGJlaW5nIGZldGNoZWQsIG9yIHdoZW5cbi8vIGEgc3R5bGUgZmFpbHMgdG8gZmV0Y2hcbmV4cG9ydCBjb25zdCBFTVBUWV9NQVBCT1hfU1RZTEUgPSB7XG4gIHZlcnNpb246IDgsXG4gIHNvdXJjZXM6IHt9LFxuICBsYXllcnM6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgTUFQX0xJQl9PUFRJT05TID0ge1xuICBNQVBCT1g6ICdtYXBib3gnIGFzIGNvbnN0LFxuICBNQVBMSUJSRTogJ21hcGxpYnJlJyBhcyBjb25zdFxufTtcblxuZXhwb3J0IHR5cGUgQmFzZU1hcExpYnJhcnlUeXBlID0gJ21hcGJveCcgfCAnbWFwbGlicmUnO1xuXG5leHBvcnQgY29uc3QgTk9fQkFTRU1BUF9JQ09OID0gYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vTk9fQkFTRU1BUC5wbmdgO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9CQVNFX01BUF9TVFlMRSA9ICdkYXJrLW1hdHRlcic7XG5cbnR5cGUgRGVmYXVsdEJhc2VNYXBTdHlsZSA9IE1lcmdlPFxuICBCYXNlTWFwU3R5bGUsXG4gIHtcbiAgICBjb2xvck1vZGU6IEJhc2VNYXBDb2xvck1vZGVzO1xuICB9XG4+O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFOiBEZWZhdWx0QmFzZU1hcFN0eWxlID0ge1xuICBpZDogTk9fTUFQX0lELFxuICBsYWJlbDogJ05vIEJhc2VtYXAnLFxuICB1cmw6ICcnLFxuICBpY29uOiBOT19CQVNFTUFQX0lDT04sXG4gIGxheWVyR3JvdXBzOiBbQkFDS0dST1VORF9MQVlFUl9HUk9VUF0sXG4gIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTk9ORSxcbiAgc3R5bGU6IEVNUFRZX01BUEJPWF9TVFlMRVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQQk9YX1NUWUxFUzogRGVmYXVsdEJhc2VNYXBTdHlsZVtdID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnbGlnaHQnXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyaydcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdtdXRlZF9uaWdodCdcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWRfbmlnaHQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTmlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ4aGxpa21hajFiMnNveXpldm55d2dzJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuREFSSyxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ211dGVkJ1xuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfU0FURUxJVEVfU1RZTEVTOiBEZWZhdWx0QmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUgd2l0aCBzdHJlZXRzJyxcbiAgICB1cmw6IGBtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS1zdHJlZXRzLXYxMWAsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5OT05FXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUExJQlJFX1NUWUxFUzogRGVmYXVsdEJhc2VNYXBTdHlsZVtdID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrLW1hdHRlcicsXG4gICAgbGFiZWw6ICdEYXJrTWF0dGVyJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9kYXJrLW1hdHRlci1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9EQVJLTUFUVEVSLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuREFSSyxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ3Bvc2l0cm9uJ1xuICB9LFxuICB7XG4gICAgaWQ6ICdwb3NpdHJvbicsXG4gICAgbGFiZWw6ICdQb3NpdHJvbicsXG4gICAgdXJsOiAnaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvcG9zaXRyb24tZ2wtc3R5bGUvc3R5bGUuanNvbicsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vUE9TSVRST04ucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ2RhcmstbWF0dGVyJ1xuICB9LFxuICB7XG4gICAgaWQ6ICd2b3lhZ2VyJyxcbiAgICBsYWJlbDogJ1ZveWFnZXInLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL3ZveWFnZXItZ2wtc3R5bGUvc3R5bGUuanNvbicsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVk9ZQUdFUi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyay1tYXR0ZXInXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUF9TVFlMRVMgPSBbXG4gIERFRkFVTFRfTk9fQkFTRU1BUF9TVFlMRSxcbiAgLi4uREVGQVVMVF9NQVBMSUJSRV9TVFlMRVMsXG4gIC4uLkRFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUyxcbiAgLi4uREVGQVVMVF9NQVBCT1hfU1RZTEVTXG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUzogW3N0cmluZywgc3RyaW5nXVtdID0gW1xuICBbJ2xhdCcsICdsbmcnXSxcbiAgWydsYXQnLCAnbG9uJ10sXG4gIFsnbGF0JywgJ2xvbmcnXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IEFMVElUVURFX0ZJRUxEUyA9IFsnYWx0JywgJ2FsdGl0dWRlJ107XG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1ZJRVdfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBzaWRlOiBudWxsLFxuICBlbmxhcmdlZDogbnVsbCxcbiAgbWluaWZpZWQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSUxURVJfVklFV19UWVBFID0gRklMVEVSX1ZJRVdfVFlQRVMuc2lkZTtcblxuZXhwb3J0IHR5cGUgU0NBTEVfVFlQRVNfREVGID0ge1xuICBvcmRpbmFsOiAnb3JkaW5hbCc7XG4gIHF1YW50aWxlOiAncXVhbnRpbGUnO1xuICBxdWFudGl6ZTogJ3F1YW50aXplJztcbiAgbGluZWFyOiAnbGluZWFyJztcbiAgc3FydDogJ3NxcnQnO1xuICBsb2c6ICdsb2cnO1xuICBwb2ludDogJ3BvaW50JztcbiAgdGhyZXNob2xkOiAndGhyZXNob2xkJztcbiAgY3VzdG9tOiAnY3VzdG9tJztcbiAgY3VzdG9tT3JkaW5hbDogJ2N1c3RvbU9yZGluYWwnO1xufTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVTOiBTQ0FMRV9UWVBFU19ERUYgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuICB0aHJlc2hvbGQ6IG51bGwsXG4gIGN1c3RvbTogbnVsbCxcbiAgY3VzdG9tT3JkaW5hbDogbnVsbCxcbiAgLy8gb3JkaW5hbCBkb21haW4gdG8gbGluZWFyIHJhbmdlXG4gIHBvaW50OiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBTQ0FMRV9UWVBFX05BTUVTOiB7W2tleSBpbiBrZXlvZiBTQ0FMRV9UWVBFU19ERUZdOiBzdHJpbmd9ID0ge1xuICBvcmRpbmFsOiAnT3JkaW5hbCcsXG4gIHF1YW50aWxlOiAnUXVhbnRpbGUnLFxuICBxdWFudGl6ZTogJ1F1YW50aXplJyxcbiAgbGluZWFyOiAnTGluZWFyJyxcbiAgc3FydDogJ1NxcnQnLFxuICBsb2c6ICdMb2cnLFxuICB0aHJlc2hvbGQ6ICdUaHJlc2hvbGQnLFxuICBjdXN0b206ICdDdXN0b20gQnJlYWtzJyxcbiAgY3VzdG9tT3JkaW5hbDogJ0N1c3RvbSBPcmRpbmFsJyxcbiAgcG9pbnQ6ICdQb2ludCdcbn07XG5cbmV4cG9ydCB0eXBlIFNDQUxFX0ZVTkNfVFlQRSA9IHtcbiAgW2tleSBpbiBrZXlvZiBTQ0FMRV9UWVBFU19ERUZdOiAoKSA9PiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgU0NBTEVfRlVOQyA9IHtcbiAgW1NDQUxFX1RZUEVTLmxpbmVhcl06IHNjYWxlTGluZWFyLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpemVdOiBzY2FsZVF1YW50aXplLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpbGVdOiBzY2FsZVF1YW50aWxlLFxuICBbU0NBTEVfVFlQRVMub3JkaW5hbF06IHNjYWxlT3JkaW5hbCxcbiAgW1NDQUxFX1RZUEVTLnNxcnRdOiBzY2FsZVNxcnQsXG4gIFtTQ0FMRV9UWVBFUy5sb2ddOiBzY2FsZUxvZyxcbiAgW1NDQUxFX1RZUEVTLnBvaW50XTogc2NhbGVQb2ludCxcbiAgW1NDQUxFX1RZUEVTLnRocmVzaG9sZF06IHNjYWxlVGhyZXNob2xkLFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5jdXN0b21PcmRpbmFsXTogc2NhbGVPcmRpbmFsXG59O1xuXG5leHBvcnQgY29uc3QgQUxMX0ZJRUxEX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgYm9vbGVhbjogbnVsbCxcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogbnVsbCxcbiAgcmVhbDogbnVsbCxcbiAgc3RyaW5nOiBudWxsLFxuICB0aW1lc3RhbXA6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBhcnJheTogbnVsbCxcbiAgb2JqZWN0OiBudWxsLFxuICBnZW9hcnJvdzogbnVsbCxcbiAgaDM6IG51bGxcbn0pO1xuXG4vLyBEYXRhIFRhYmxlXG5leHBvcnQgY29uc3QgU09SVF9PUkRFUiA9IGtleU1pcnJvcih7XG4gIEFTQ0VORElORzogbnVsbCxcbiAgREVTQ0VORElORzogbnVsbCxcbiAgVU5TT1JUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTiA9IGtleU1pcnJvcih7XG4gIFNPUlRfQVNDOiBudWxsLFxuICBTT1JUX0RFUzogbnVsbCxcbiAgVU5TT1JUOiBudWxsLFxuICBQSU46IG51bGwsXG4gIFVOUElOOiBudWxsLFxuICBDT1BZOiBudWxsLFxuICBGT1JNQVRfQ09MVU1OOiBudWxsXG59KTtcblxuZXhwb3J0IHR5cGUgVGFibGVPcHRpb24gPSB7XG4gIHZhbHVlOiAnU09SVF9BU0MnIHwgJ1NPUlRfREVTJyB8ICdVTlNPUlQnIHwgJ1BJTicgfCAnVU5QSU4nIHwgJ0NPUFknIHwgJ0ZPUk1BVF9DT0xVTU4nO1xuICBkaXNwbGF5OiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgY29uZGl0aW9uPzogKHByb3BzOiBhbnkpID0+IGJvb2xlYW47XG59O1xuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTl9MSVNUOiBUYWJsZU9wdGlvbltdID0gW1xuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0FTQyxcbiAgICBkaXNwbGF5OiAnU29ydCBBc2NlbmRpbmcnLFxuICAgIGljb246ICdBcnJvd1VwJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRUYWJsZUNvbHVtbiAmJiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93RG93bicsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0VGFibGVDb2x1bW4gJiYgcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNTb3J0ZWRcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uUElOLFxuICAgIGRpc3BsYXk6ICdQaW4gQ29sdW1uJyxcbiAgICBpY29uOiAnUGluJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+ICFwcm9wcy5pc1Bpbm5lZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlBJTixcbiAgICBkaXNwbGF5OiAnVW5waW4gQ29sdW1uJyxcbiAgICBpY29uOiAnQ2FuY2VsJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLkNPUFksIGRpc3BsYXk6ICdDb3B5IENvbHVtbicsIGljb246ICdDbGlwYm9hcmQnfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uRk9STUFUX0NPTFVNTixcbiAgICBkaXNwbGF5OiAnRm9ybWF0IENvbHVtbicsXG4gICAgaWNvbjogJ0hhc2gnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc2V0RGlzcGxheUZvcm1hdFxuICB9XG5dO1xuXG5jb25zdCBZRUxMT1cgPSAnMjQ4LCAxOTQsIDI4JztcbmNvbnN0IFBJTksgPSAnMjQyLCAxNTIsIDE2Myc7XG5jb25zdCBQVVJQTEUgPSAnMTYwLCAxMDYsIDIwNic7XG5jb25zdCBCTFVFID0gJzE0MCwgMjEwLCAyMDUnO1xuY29uc3QgQkxVRTIgPSAnMTA2LCAxNjAsIDIwNic7XG5jb25zdCBCTFVFMyA9ICcwLCAxNzIsIDIzNyc7XG5jb25zdCBHUkVFTiA9ICcxMDYsIDE2MCwgNTYnO1xuY29uc3QgR1JFRU4yID0gJzc0LCAxNjUsIDE1MCc7XG5jb25zdCBSRUQgPSAnMjM3LCA4OCwgMTA2JztcbmNvbnN0IE9SQU5HRSA9ICcyMzEsIDExMCwgNTgnO1xuXG5leHBvcnQgY29uc3QgRklFTERfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvYXJyb3ddOiB7XG4gICAgbGFiZWw6ICdnZW8nLFxuICAgIGNvbG9yOiBCTFVFMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB7XG4gICAgbGFiZWw6ICdpbnQnLFxuICAgIGNvbG9yOiBZRUxMT1dcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5yZWFsXToge1xuICAgIGxhYmVsOiAnZmxvYXQnLFxuICAgIGNvbG9yOiBZRUxMT1dcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYXJyYXldOiB7XG4gICAgbGFiZWw6ICdhcnJheScsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLm9iamVjdF06IHtcbiAgICBsYWJlbDogJ29iamVjdCcsXG4gICAgY29sb3I6IEdSRUVOMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmgzXToge1xuICAgIGxhYmVsOiAnaDMnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGNvbG9yQWdncjogbnVsbCxcbiAgc2l6ZUFnZ3I6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnO1xufSA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnXG59O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TOiB7aWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZ31bXSA9IE9iamVjdC5lbnRyaWVzKFxuICBBR0dSRUdBVElPTl9UWVBFU1xuKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgaWQ6IGtleSxcbiAgbGFiZWw6XG4gICAga2V5ID09PSAnc3RkZXYnXG4gICAgICA/ICdTdGQgRGV2aWF0aW9uJ1xuICAgICAgOiBrZXkgPT09ICdjb3VudFVuaXF1ZSdcbiAgICAgID8gJ0NvdW50IFVuaXF1ZSdcbiAgICAgIDogdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgPyB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpXG4gICAgICA6IHZhbHVlXG59KSk7XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW1NDQUxFX1RZUEVTLnNxcnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbn07XG5cbmNvbnN0IERFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTID0gW1xuICBTQ0FMRV9UWVBFUy5xdWFudGl6ZSxcbiAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gIFNDQUxFX1RZUEVTLmN1c3RvbVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbixcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5zdGRldixcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnRcbiAgXS5yZWR1Y2UoKHByZXYsIGN1cikgPT4ge1xuICAgIHByZXZbY3VyXSA9IERFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTO1xuICAgIHJldHVybiBwcmV2O1xuICB9LCB7fSksXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsLCBTQ0FMRV9UWVBFUy5jdXN0b21PcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLnBvaW50XVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgLy8gW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsLCBTQ0FMRV9UWVBFUy5saW5lYXJdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdXG4gIH0sXG5cbiAgLy8gQ3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCB5ZXRcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0ZWRTY2FsZU9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0QWdnck9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7fSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbi8qKlxuICogRGVmYXVsdCBhZ2dyZWdhdGlvbiBhcmUgYmFzZWQgb24gb2N1bnRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUdHUkVHQVRJT04gPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogREVGQVVMVF9BR0dSRUdBVElPTl9DT0xPUl9TQ0FMRVNcbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi57XG4gICAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAgIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtcbiAgICAgICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zW0NIQU5ORUxfU0NBTEVTLmNvbG9yXSxcbiAgICAgICAgICBTQ0FMRV9UWVBFUy5jdXN0b21PcmRpbmFsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAuLi5saW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREVDSU1BTCxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuUEVSQ0VOVEFHRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5ib29sZWFuXToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuQk9PTEVBTl1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2pzb25dOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9hcnJvd106IHtcbiAgICB0eXBlOiAnZ2VvbWV0cnknLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLm9iamVjdF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge30sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6ICgpID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYXJyYXldOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHt9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmgzXToge1xuICAgIHR5cGU6ICdoMycsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm5vdFN1cHBvcnRlZFNjYWxlT3B0cyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyA9IE9iamVjdC5rZXlzKENIQU5ORUxfU0NBTEVTKS5yZWR1Y2UoXG4gIChhY2N1LCBrZXkpID0+ICh7XG4gICAgLi4uYWNjdSxcbiAgICBba2V5XTogT2JqZWN0LmtleXMoRklFTERfT1BUUykuZmlsdGVyKFxuICAgICAgZnQgPT4gRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSAmJiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldKS5sZW5ndGhcbiAgICApXG4gIH0pLFxuICB7fSBhcyB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX1cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSA9ICdHbG9iYWwgV2FybWluZyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTID0gNjtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBSR0JBQ29sb3IgPSBbMCwgMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BJQ0tJTkdfUkFESVVTID0gMztcblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfQkxFTkRJTkdTID0ge1xuICBub3JtYWw6IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5ub3JtYWwnLFxuICAgIHZhbHVlOiAnbm9ybWFsJ1xuICB9LFxuICBzY3JlZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5zY3JlZW4nLFxuICAgIHZhbHVlOiAnc2NyZWVuJ1xuICB9LFxuICBkYXJrZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5kYXJrZW4nLFxuICAgIHZhbHVlOiAnZGFya2VuJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTEFZRVJfQkxFTkRJTkdTID0ge1xuICBhZGRpdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5hZGRpdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiAnRlVOQ19BREQnXG4gIH0sXG4gIG5vcm1hbDoge1xuICAgIC8vIHJlZmVyZW5jZSB0b1xuICAgIC8vIGh0dHBzOi8vbGltbnUuY29tL3dlYmdsLWJsZW5kaW5nLXlvdXJlLXByb2JhYmx5LXdyb25nL1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5ub3JtYWwnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnT05FX01JTlVTX1NSQ19BTFBIQScsICdPTkUnLCAnT05FX01JTlVTX1NSQ19BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19BREQnLCAnRlVOQ19BREQnXVxuICB9LFxuICBzdWJ0cmFjdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5zdWJ0cmFjdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ09ORScsICdPTkVfTUlOVVNfRFNUX0NPTE9SJywgJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfU1VCVFJBQ1QnLCAnRlVOQ19BREQnXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTUFYX0RFRkFVTFRfVE9PTFRJUFMgPSA1O1xuXG5leHBvcnQgY29uc3QgUkVTT0xVVElPTlMgPSBrZXlNaXJyb3Ioe1xuICBPTkVfWDogbnVsbCxcbiAgVFdPX1g6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT1MgPSBrZXlNaXJyb3Ioe1xuICBTQ1JFRU46IG51bGwsXG4gIEZPVVJfQllfVEhSRUU6IG51bGwsXG4gIFNJWFRFRU5fQllfTklORTogbnVsbCxcbiAgQ1VTVE9NOiBudWxsXG59KTtcblxuZXhwb3J0IHR5cGUgRXhwb3J0SW1hZ2UgPSB7XG4gIHJhdGlvOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIHJlc29sdXRpb246IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGVnZW5kOiBib29sZWFuO1xuICBtYXBIOiBudW1iZXI7XG4gIG1hcFc6IG51bWJlcjtcbiAgaW1hZ2VTaXplOiB7XG4gICAgem9vbU9mZnNldDogbnVtYmVyO1xuICAgIHNjYWxlOiBudW1iZXI7XG4gICAgaW1hZ2VXOiBudW1iZXI7XG4gICAgaW1hZ2VIOiBudW1iZXI7XG4gIH07XG4gIC8vIGV4cG9ydGluZyBzdGF0ZVxuICBpbWFnZURhdGFVcmk6IHN0cmluZztcbiAgZXhwb3J0aW5nOiBib29sZWFuO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuICBlcnJvcjogRXJyb3IgfCBmYWxzZTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcbiAgLy8gVGhpcyBmaWVsZCB3YXMgbm90IGluIHRoZSAuZC50cyBmaWxlXG4gIGNlbnRlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiBzY3JlZW5XID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBNYXRoLnJvdW5kKHNjcmVlblcgKiAwLjc1KVxuICB9KVxufTtcbmV4cG9ydCBjb25zdCBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW8xNl85JyxcbiAgZ2V0U2l6ZTogc2NyZWVuVyA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogTWF0aC5yb3VuZChzY3JlZW5XICogMC41NjI1KVxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJhdGlvT3B0aW9uPiA9IFtcbiAgU2NyZWVuUmF0aW9PcHRpb24sXG4gIEN1c3RvbVJhdGlvT3B0aW9uLFxuICBGb3VyQnlUaHJlZVJhdGlvT3B0aW9uLFxuICBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb25cbl07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGFiZWw6IHN0cmluZztcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xuICBzY2FsZTogbnVtYmVyO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgT25lWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLk9ORV9YLFxuICBsYWJlbDogJzF4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMSxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBzY3JlZW5IXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgVHdvWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICBsYWJlbDogJzJ4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMixcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcgKiAyLFxuICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJlc29sdXRpb25PcHRpb24+ID0gW1xuICBPbmVYUmVzb2x1dGlvbk9wdGlvbixcbiAgVHdvWFJlc29sdXRpb25PcHRpb25cbl07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9UWVBFID0ga2V5TWlycm9yKHtcbiAgQ1NWOiBudWxsXG4gIC8vIFNIQVBFRklMRTogbnVsbCxcbiAgLy8gSlNPTjogbnVsbCxcbiAgLy8gR0VPSlNPTjogbnVsbCxcbiAgLy8gVE9QT0pTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TID0gW1xuICB7XG4gICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuQ1NWLFxuICAgIGxhYmVsOiBFWFBPUlRfREFUQV9UWVBFLkNTVi50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9XG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5TSEFQRUZJTEUsXG4gIC8vICAgbGFiZWw6ICdzaGFwZWZpbGUnLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkpTT04sXG4gIC8vICAgbGFiZWw6ICdqc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5HRU9KU09OLFxuICAvLyAgIGxhYmVsOiAnZ2VvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuVE9QT0pTT04sXG4gIC8vICAgbGFiZWw6ICd0b3BvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9XG5dO1xuXG4vLyBFeHBvcnQgbWFwIHR5cGVzXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRTID0ga2V5TWlycm9yKHtcbiAgSFRNTDogbnVsbCxcbiAgSlNPTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERVMgPSBrZXlNaXJyb3Ioe1xuICBSRUFEOiBudWxsLFxuICBFRElUOiBudWxsXG59KTtcblxuLy8gRXhwb3J0IG1hcCBvcHRpb25zXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRfT1BUSU9OUyA9IE9iamVjdC5lbnRyaWVzKEVYUE9SVF9NQVBfRk9STUFUUykubWFwKFxuICAoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+ICh7XG4gICAgaWQ6IGVudHJ5WzBdLFxuICAgIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9KVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhUTUxNYXBNb2RlVGlsZVVybChtb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZDFhM2Y0c3BhenpycDQuY2xvdWRmcm9udC5uZXQva2VwbGVyLmdsL2RvY3VtZW50YXRpb24vbWFwLSR7bW9kZS50b0xvd2VyQ2FzZSgpfS1tb2RlLnBuZ2A7XG59XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMzMwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRTogW251bWJlciwgbnVtYmVyXSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMjU1LCAwLCAwXTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX1NJWkUgPSA4MDtcblxuLy8gRWRpdG9yXG5leHBvcnQgY29uc3QgRURJVE9SX0xBWUVSX0lEID0gJ2tlcGxlcl9lZGl0b3JfbGF5ZXInO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9MQVlFUl9QSUNLSU5HX1JBRElVUyA9IDY7XG5leHBvcnQgY29uc3QgRURJVE9SX01PREVTID0ge1xuICBEUkFXX1BPTFlHT046ICdEUkFXX1BPTFlHT04nLFxuICBEUkFXX1JFQ1RBTkdMRTogJ0RSQVdfUkVDVEFOR0xFJyxcbiAgRURJVDogJ0VESVRfVkVSVEVYJ1xufTtcblxuZXhwb3J0IGNvbnN0IFBMT1RfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBoaXN0b2dyYW06IG51bGwsXG4gIGxpbmVDaGFydDogbnVsbFxufSk7XG5cbi8vIEZpbHRlclxuZXhwb3J0IGNvbnN0IElOSVRfRklMVEVSX0lURU1TX0lOX0RST1BET1dOID0gMTAwO1xuXG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsLFxuICB0aWxlc2V0OiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVBVFVSRV9GTEFHUyA9IHt9O1xuXG5leHBvcnQgY29uc3QgREFUQVNFVF9GT1JNQVRTID0ga2V5TWlycm9yKHtcbiAgcm93OiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBjc3Y6IG51bGwsXG4gIGtlcGxlcmdsOiBudWxsLFxuICBhcnJvdzogbnVsbCxcbiAgZHVja2RiOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE1BUF9DT05UUk9MUyA9IGtleU1pcnJvcih7XG4gIHZpc2libGVMYXllcnM6IG51bGwsXG4gIG1hcExlZ2VuZDogbnVsbCxcbiAgdG9nZ2xlM2Q6IG51bGwsXG4gIHNwbGl0TWFwOiBudWxsLFxuICBtYXBEcmF3OiBudWxsLFxuICBtYXBMb2NhbGU6IG51bGwsXG4gIGVmZmVjdDogbnVsbCxcbiAgYWlBc3Npc3RhbnQ6IG51bGxcbn0pO1xuXG4vKipcbiAqIEEgbXVsdGlwbGllciBmb3Igc2NyZWVuLXNwYWNlIHdpZHRoL3NjYWxlIGZvciBBcmMsIExpbmUsIEljb24gYW5kIFRleHQgbGF5ZXJzLlxuICogUmVxdWlyZWQgaW4gb3JkZXIgdG8gbWFpbnRhaW4gdGhlIHNhbWUgYXBwZWFyYW5jZSBhZnRlciB1cGdyYWRpbmcgdG8gZGVjay5nbCB2OC41LlxuICogaHR0cHM6Ly9naXRodWIuY29tL3Zpc2dsL2RlY2suZ2wvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlLWd1aWRlLm1kXG4gKi9cbmV4cG9ydCBjb25zdCBQUk9KRUNURURfUElYRUxfU0laRV9NVUxUSVBMSUVSID0gMiAvIDM7XG5cbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgdGV4dCBvdXRsaW5lIHdpZHRoXG4gKi9cbmV4cG9ydCBjb25zdCBURVhUX09VVExJTkVfTVVMVElQTElFUiA9IDU7XG5cbmV4cG9ydCBjb25zdCBkYXRhVGVzdElkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgaW5mb0ljb246ICdpbmZvLWljb24nLFxuICB3YXJuaW5nSWNvbjogJ3dhcm5pbmctaWNvbicsXG4gIGVycm9ySWNvbjogJ2Vycm9yLWljb24nLFxuICBzdWNjZXNzSWNvbjogJ3N1Y2Nlc3MtaWNvbicsXG4gIGNoZWNrbWFya0ljb246ICdjaGVja21hcmstaWNvbicsXG4gIHNvcnRhYmxlTGF5ZXJJdGVtOiAnc29ydGFibGUtbGF5ZXItaXRlbScsXG4gIHN0YXRpY0xheWVySXRlbTogJ3N0YXRpYy1sYXllci1pdGVtJyxcbiAgbGF5ZXJUaXRsZUVkaXRvcjogJ2xheWVyX190aXRsZV9fZWRpdG9yJyxcbiAgcmVtb3ZlTGF5ZXJBY3Rpb246ICdyZW1vdmUtbGF5ZXItYWN0aW9uJyxcbiAgbGF5ZXJQYW5lbDogJ2xheWVyLXBhbmVsJyxcbiAgc29ydGFibGVFZmZlY3RJdGVtOiAnc29ydGFibGUtZWZmZWN0LWl0ZW0nLFxuICBzdGF0aWNFZmZlY3RJdGVtOiAnc3RhdGljLWVmZmVjdC1pdGVtJyxcbiAgcHJvdmlkZXJMb2FkaW5nOiAncHJvdmlkZXItbG9hZGluZycsXG4gIHByb3ZpZGVyTWFwSW5mb1BhbmVsOiAncHJvdmlkZXItbWFwLWluZm8tcGFuZWwnLFxuICBwcm92aWRlclNlbGVjdDogJ3Byb3ZpZGVyLXNlbGVjdCcsXG4gIGNsb3VkSGVhZGVyOiAnY2xvdWQtaGVhZGVyJyxcbiAgcHJvdmlkZXJTaGFyZU1hcDogJ3Byb3ZpZGVyLXNoYXJlLW1hcCdcbn07XG5cbi8vIEVmZmVjdHNcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVaT05FID0gJ1VUQyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9QT1NUX1BST0NFU1NJTkdfRUZGRUNUX1RZUEUgPSAnaW5rJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFsyNTUsIDI1NSwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSA9IDE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TSEFET1dfSU5URU5TSVRZID0gMC41O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBRE9XX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTID0ge1xuICBwaWNrOiAncGljaycgYXMgY29uc3QsXG4gIGN1cnJlbnQ6ICdjdXJyZW50JyBhcyBjb25zdCxcbiAgYW5pbWF0aW9uOiAnYW5pbWF0aW9uJyBhcyBjb25zdFxufTtcbmV4cG9ydCB0eXBlIExpZ2h0QW5kU2hhZG93RWZmZWN0VGltZU1vZGUgPSAncGljaycgfCAnY3VycmVudCcgfCAnYW5pbWF0aW9uJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0FORF9TSEFET1dfUFJPUFM6IHtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG4gIHRpbWVNb2RlOiBMaWdodEFuZFNoYWRvd0VmZmVjdFRpbWVNb2RlO1xuICBzaGFkb3dJbnRlbnNpdHk6IG51bWJlcjtcbiAgc2hhZG93Q29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgc3VuTGlnaHRDb2xvcjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzdW5MaWdodEludGVuc2l0eTogbnVtYmVyO1xuICBhbWJpZW50TGlnaHRDb2xvcjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBhbWJpZW50TGlnaHRJbnRlbnNpdHk6IG51bWJlcjtcbn0gPSB7XG4gIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgdGltZU1vZGU6IExJR0hUX0FORF9TSEFET1dfRUZGRUNUX1RJTUVfTU9ERVMucGljayBhcyBMaWdodEFuZFNoYWRvd0VmZmVjdFRpbWVNb2RlLFxuICBzaGFkb3dJbnRlbnNpdHk6IERFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWSxcbiAgc2hhZG93Q29sb3I6IFsuLi5ERUZBVUxUX1NIQURPV19DT0xPUl0gYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICBzdW5MaWdodENvbG9yOiBbLi4uREVGQVVMVF9MSUdIVF9DT0xPUl0gYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICBzdW5MaWdodEludGVuc2l0eTogREVGQVVMVF9MSUdIVF9JTlRFTlNJVFksXG4gIGFtYmllbnRMaWdodENvbG9yOiBbLi4uREVGQVVMVF9MSUdIVF9DT0xPUl0gYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICBhbWJpZW50TGlnaHRJbnRlbnNpdHk6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZXG59O1xuXG5leHBvcnQgY29uc3QgTElHSFRfQU5EX1NIQURPV19FRkZFQ1Q6IEVmZmVjdERlc2NyaXB0aW9uID0ge1xuICB0eXBlOiAnbGlnaHRBbmRTaGFkb3cnLFxuICBuYW1lOiAnTGlnaHQgJiBTaGFkb3cnLFxuICBwYXJhbWV0ZXJzOiBbXG4gICAge25hbWU6ICd0aW1lc3RhbXAnLCBtaW46IDAsIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ9LFxuICAgIHtuYW1lOiAnc2hhZG93SW50ZW5zaXR5JywgbWluOiAwLCBtYXg6IDEsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TSEFET1dfSU5URU5TSVRZfSxcbiAgICB7bmFtZTogJ3N1bkxpZ2h0SW50ZW5zaXR5JywgbWluOiAwLCBtYXg6IDEsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9JTlRFTlNJVFl9LFxuICAgIHtuYW1lOiAnYW1iaWVudExpZ2h0SW50ZW5zaXR5JywgbWluOiAwLCBtYXg6IDEsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9JTlRFTlNJVFl9LFxuICAgIHtuYW1lOiAnc2hhZG93Q29sb3InLCB0eXBlOiAnY29sb3InLCBtaW46IDAsIG1heDogMjU1LCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0hBRE9XX0NPTE9SfSxcbiAgICB7bmFtZTogJ3N1bkxpZ2h0Q29sb3InLCB0eXBlOiAnY29sb3InLCBtaW46IDAsIG1heDogMjU1LCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfQ09MT1J9LFxuICAgIHtuYW1lOiAnYW1iaWVudExpZ2h0Q29sb3InLCB0eXBlOiAnY29sb3InLCBtaW46IDAsIG1heDogMjU1LCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfQ09MT1J9XG4gIF1cbn07XG5cbmV4cG9ydCBjb25zdCBQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTOiB7W2tleTogc3RyaW5nXTogRWZmZWN0RGVzY3JpcHRpb259ID0ge1xuICBpbms6IHtcbiAgICB0eXBlOiAnaW5rJyxcbiAgICBuYW1lOiAnSW5rJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdzdHJlbmd0aCcsIG1pbjogMCwgbWF4OiAxfV1cbiAgfSxcbiAgYnJpZ2h0bmVzc0NvbnRyYXN0OiB7XG4gICAgdHlwZTogJ2JyaWdodG5lc3NDb250cmFzdCcsXG4gICAgbmFtZTogJ0JyaWdodG5lc3MgJiBDb250cmFzdCcsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdicmlnaHRuZXNzJywgbWluOiAtMSwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnY29udHJhc3QnLCBtaW46IC0xLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICBodWVTYXR1cmF0aW9uOiB7XG4gICAgdHlwZTogJ2h1ZVNhdHVyYXRpb24nLFxuICAgIG5hbWU6ICdIdWUgJiBTYXR1cmF0aW9uJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7bmFtZTogJ2h1ZScsIG1pbjogLTEsIG1heDogMX0sXG4gICAgICB7bmFtZTogJ3NhdHVyYXRpb24nLCBkZWZhdWx0VmFsdWU6IDAuMjUsIG1pbjogLTEsIG1heDogMX1cbiAgICBdXG4gIH0sXG4gIHZpYnJhbmNlOiB7XG4gICAgdHlwZTogJ3ZpYnJhbmNlJyxcbiAgICBuYW1lOiAnVmlicmFuY2UnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ2Ftb3VudCcsIGRlZmF1bHRWYWx1ZTogMC41LCBtaW46IC0xLCBtYXg6IDF9XVxuICB9LFxuICBzZXBpYToge1xuICAgIHR5cGU6ICdzZXBpYScsXG4gICAgbmFtZTogJ1NlcGlhJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdhbW91bnQnLCBtaW46IDAsIG1heDogMX1dXG4gIH0sXG4gIGRvdFNjcmVlbjoge1xuICAgIHR5cGU6ICdkb3RTY3JlZW4nLFxuICAgIG5hbWU6ICdEb3QgU2NyZWVuJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdhbmdsZScsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiBNYXRoLlBJIC8gMlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3NpemUnLFxuICAgICAgICBtaW46IDEsXG4gICAgICAgIG1heDogMjBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjZW50ZXInLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydDZW50ZXIgWCcsICdDZW50ZXIgWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBjb2xvckhhbGZ0b25lOiB7XG4gICAgdHlwZTogJ2NvbG9ySGFsZnRvbmUnLFxuICAgIG5hbWU6ICdDb2xvciBIYWxmdG9uZScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYW5nbGUnLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogTWF0aC5QSSAvIDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaXplJyxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDIwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2VudGVyJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnQ2VudGVyIFgnLCAnQ2VudGVyIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgbm9pc2U6IHtcbiAgICB0eXBlOiAnbm9pc2UnLFxuICAgIG5hbWU6ICdOb2lzZScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnYW1vdW50JywgbWluOiAwLCBtYXg6IDF9XVxuICB9LFxuICB0cmlhbmdsZUJsdXI6IHtcbiAgICB0eXBlOiAndHJpYW5nbGVCbHVyJyxcbiAgICBuYW1lOiAnQmx1ciAoVHJpYW5nbGUpJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdyYWRpdXMnLCBtaW46IDAsIG1heDogMTAwfV1cbiAgfSxcbiAgem9vbUJsdXI6IHtcbiAgICB0eXBlOiAnem9vbUJsdXInLFxuICAgIG5hbWU6ICdCbHVyIChab29tKScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnc3RyZW5ndGgnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IDAuMDUsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2VudGVyJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnQ2VudGVyIFgnLCAnQ2VudGVyIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgdGlsdFNoaWZ0OiB7XG4gICAgdHlwZTogJ3RpbHRTaGlmdCcsXG4gICAgbmFtZTogJ0JsdXIgKFRpbHQgU2hpZnQpJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdibHVyUmFkaXVzJyxcbiAgICAgICAgbGFiZWw6ICdCbHVyJyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDUwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZ3JhZGllbnRSYWRpdXMnLFxuICAgICAgICBsYWJlbDogJ0dyYWRpZW50JyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDQwMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0YXJ0JyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnU3RhcnQnLCBmYWxzZV0sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuMCwgMC4wXSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbmQnLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydFbmQnLCBmYWxzZV0sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzEsIDFdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgZWRnZVdvcms6IHtcbiAgICB0eXBlOiAnZWRnZVdvcmsnLFxuICAgIG5hbWU6ICdFZGdlIHdvcmsnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ3JhZGl1cycsIG1pbjogMSwgbWF4OiA1MH1dXG4gIH0sXG4gIHZpZ25ldHRlOiB7XG4gICAgdHlwZTogJ3ZpZ25ldHRlJyxcbiAgICBuYW1lOiAnVmlnbmV0dGUnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtuYW1lOiAnYW1vdW50JywgbWluOiAwLCBtYXg6IDF9LFxuICAgICAge25hbWU6ICdyYWRpdXMnLCBtaW46IDAsIG1heDogMX1cbiAgICBdXG4gIH0sXG4gIG1hZ25pZnk6IHtcbiAgICB0eXBlOiAnbWFnbmlmeScsXG4gICAgbmFtZTogJ01hZ25pZnknLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3NjcmVlblhZJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnUG9zaXRpb24gWCcsICdQb3NpdGlvbiBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyYWRpdXNQaXhlbHMnLFxuICAgICAgICBsYWJlbDogJ1NpemUnLFxuICAgICAgICBtaW46IDEwLFxuICAgICAgICBtYXg6IDUwMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3pvb20nLFxuICAgICAgICBtaW46IDAuNSxcbiAgICAgICAgbWF4OiA1MFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2JvcmRlcldpZHRoUGl4ZWxzJyxcbiAgICAgICAgbGFiZWw6ICdCb3JkZXIgV2lkdGgnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IDMsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA1MFxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgaGV4YWdvbmFsUGl4ZWxhdGU6IHtcbiAgICB0eXBlOiAnaGV4YWdvbmFsUGl4ZWxhdGUnLFxuICAgIG5hbWU6ICdIZXhhZ29uYWwgUGl4ZWxhdGUnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ3NjYWxlJywgZGVmYXVsdFZhbHVlOiAyMCwgbWluOiAxLCBtYXg6IDUwfV1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEVGRkVDVF9ERVNDUklQVElPTlM6IEVmZmVjdERlc2NyaXB0aW9uW10gPSBbXG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICAuLi5PYmplY3Qua2V5cyhQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTKS5tYXAoa2V5TmFtZSA9PiBQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTW2tleU5hbWVdKVxuXTtcblxuZXhwb3J0IHR5cGUgRWZmZWN0VHlwZSA9XG4gIHwgJ2luaydcbiAgfCAnYnJpZ2h0bmVzc0NvbnRyYXN0J1xuICB8ICdodWVTYXR1cmF0aW9uJ1xuICB8ICd2aWJyYW5jZSdcbiAgfCAnc2VwaWEnXG4gIHwgJ2RvdFNjcmVlbidcbiAgfCAnY29sb3JIYWxmdG9uZSdcbiAgfCAnbm9pc2UnXG4gIHwgJ3RyaWFuZ2xlQmx1cidcbiAgfCAnem9vbUJsdXInXG4gIHwgJ3RpbHRTaGlmdCdcbiAgfCAnZWRnZVdvcmsnXG4gIHwgJ3ZpZ25ldHRlJ1xuICB8ICdtYWduaWZ5J1xuICB8ICdoZXhhZ29uYWxQaXhlbGF0ZSdcbiAgfCAnbGlnaHRBbmRTaGFkb3cnO1xuXG5leHBvcnQgY29uc3QgU1lOQ19USU1FTElORV9NT0RFUzogUmVjb3JkPHN0cmluZywgU3luY1RpbWVsaW5lTW9kZT4gPSB7XG4gIHN0YXJ0OiAwLFxuICBlbmQ6IDFcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFVQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFVQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFBK0MsSUFBQUcsbUJBQUEsRUFBQUMsV0FBQSxFQXZCL0M7QUFDQTtBQUFBLFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFD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
@@ -23,4 +23,4 @@ KeyEvent.DOM_VK_ESCAPE = KeyEvent.DOM_VK_ESCAPE || 27;
23
23
  KeyEvent.DOM_VK_TAB = KeyEvent.DOM_VK_TAB || 9;
24
24
  KeyEvent.DOM_VK_DELETE = KeyEvent.DOM_VK_DELETE || 46;
25
25
  var _default = exports["default"] = KeyEvent;
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJLZXlFdmVudCIsIk9iamVjdCIsImFzc2lnbiIsIndpbmRvdyIsIkRPTV9WS19VUCIsIkRPTV9WS19ET1dOIiwiRE9NX1ZLX0JBQ0tfU1BBQ0UiLCJET01fVktfUkVUVVJOIiwiRE9NX1ZLX0VOVEVSIiwiRE9NX1ZLX0VTQ0FQRSIsIkRPTV9WS19UQUIiLCJET01fVktfREVMRVRFIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2tleWV2ZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB3aW5kb3cgZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuY29uc3QgS2V5RXZlbnQgPSBPYmplY3QuYXNzaWduKHt9LCB3aW5kb3cuS2V5RXZlbnQpO1xuLyogZXNsaW50LWVuYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuXG4vLyBldmVudCBldmVudC5rZXlDb2RlIGlzIGRlcHJlY2F0ZWQsIHNob3VsZCB1c2UgZXZlbnQua2V5IGluIHRoZSBmdXR1cmVcbktleUV2ZW50LkRPTV9WS19VUCA9IEtleUV2ZW50LkRPTV9WS19VUCB8fCAzODtcbktleUV2ZW50LkRPTV9WS19ET1dOID0gS2V5RXZlbnQuRE9NX1ZLX0RPV04gfHwgNDA7XG5LZXlFdmVudC5ET01fVktfQkFDS19TUEFDRSA9IEtleUV2ZW50LkRPTV9WS19CQUNLX1NQQUNFIHx8IDg7XG5LZXlFdmVudC5ET01fVktfUkVUVVJOID0gS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTiB8fCAxMztcbktleUV2ZW50LkRPTV9WS19FTlRFUiA9IEtleUV2ZW50LkRPTV9WS19FTlRFUiB8fCAxNDtcbktleUV2ZW50LkRPTV9WS19FU0NBUEUgPSBLZXlFdmVudC5ET01fVktfRVNDQVBFIHx8IDI3O1xuS2V5RXZlbnQuRE9NX1ZLX1RBQiA9IEtleUV2ZW50LkRPTV9WS19UQUIgfHwgOTtcbktleUV2ZW50LkRPTV9WS19ERUxFVEUgPSBLZXlFdmVudC5ET01fVktfREVMRVRFIHx8IDQ2O1xuXG5leHBvcnQgZGVmYXVsdCBLZXlFdmVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUhBO0FBQ0E7O0FBR0E7QUFDQSxJQUFNQyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxrQkFBTSxDQUFDSCxRQUFRLENBQUM7QUFDbkQ7O0FBRUE7QUFDQUEsUUFBUSxDQUFDSSxTQUFTLEdBQUdKLFFBQVEsQ0FBQ0ksU0FBUyxJQUFJLEVBQUU7QUFDN0NKLFFBQVEsQ0FBQ0ssV0FBVyxHQUFHTCxRQUFRLENBQUNLLFdBQVcsSUFBSSxFQUFFO0FBQ2pETCxRQUFRLENBQUNNLGlCQUFpQixHQUFHTixRQUFRLENBQUNNLGlCQUFpQixJQUFJLENBQUM7QUFDNUROLFFBQVEsQ0FBQ08sYUFBYSxHQUFHUCxRQUFRLENBQUNPLGFBQWEsSUFBSSxFQUFFO0FBQ3JEUCxRQUFRLENBQUNRLFlBQVksR0FBR1IsUUFBUSxDQUFDUSxZQUFZLElBQUksRUFBRTtBQUNuRFIsUUFBUSxDQUFDUyxhQUFhLEdBQUdULFFBQVEsQ0FBQ1MsYUFBYSxJQUFJLEVBQUU7QUFDckRULFFBQVEsQ0FBQ1UsVUFBVSxHQUFHVixRQUFRLENBQUNVLFVBQVUsSUFBSSxDQUFDO0FBQzlDVixRQUFRLENBQUNXLGFBQWEsR0FBR1gsUUFBUSxDQUFDVyxhQUFhLElBQUksRUFBRTtBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUV2Q2IsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJLZXlFdmVudCIsIk9iamVjdCIsImFzc2lnbiIsIldpbmRvdyIsIkRPTV9WS19VUCIsIkRPTV9WS19ET1dOIiwiRE9NX1ZLX0JBQ0tfU1BBQ0UiLCJET01fVktfUkVUVVJOIiwiRE9NX1ZLX0VOVEVSIiwiRE9NX1ZLX0VTQ0FQRSIsIkRPTV9WS19UQUIiLCJET01fVktfREVMRVRFIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2tleWV2ZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBXaW5kb3cgZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuY29uc3QgS2V5RXZlbnQgPSBPYmplY3QuYXNzaWduKHt9LCBXaW5kb3cuS2V5RXZlbnQpO1xuLyogZXNsaW50LWVuYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuXG4vLyBldmVudCBldmVudC5rZXlDb2RlIGlzIGRlcHJlY2F0ZWQsIHNob3VsZCB1c2UgZXZlbnQua2V5IGluIHRoZSBmdXR1cmVcbktleUV2ZW50LkRPTV9WS19VUCA9IEtleUV2ZW50LkRPTV9WS19VUCB8fCAzODtcbktleUV2ZW50LkRPTV9WS19ET1dOID0gS2V5RXZlbnQuRE9NX1ZLX0RPV04gfHwgNDA7XG5LZXlFdmVudC5ET01fVktfQkFDS19TUEFDRSA9IEtleUV2ZW50LkRPTV9WS19CQUNLX1NQQUNFIHx8IDg7XG5LZXlFdmVudC5ET01fVktfUkVUVVJOID0gS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTiB8fCAxMztcbktleUV2ZW50LkRPTV9WS19FTlRFUiA9IEtleUV2ZW50LkRPTV9WS19FTlRFUiB8fCAxNDtcbktleUV2ZW50LkRPTV9WS19FU0NBUEUgPSBLZXlFdmVudC5ET01fVktfRVNDQVBFIHx8IDI3O1xuS2V5RXZlbnQuRE9NX1ZLX1RBQiA9IEtleUV2ZW50LkRPTV9WS19UQUIgfHwgOTtcbktleUV2ZW50LkRPTV9WS19ERUxFVEUgPSBLZXlFdmVudC5ET01fVktfREVMRVRFIHx8IDQ2O1xuXG5leHBvcnQgZGVmYXVsdCBLZXlFdmVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUhBO0FBQ0E7O0FBR0E7QUFDQSxJQUFNQyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxrQkFBTSxDQUFDSCxRQUFRLENBQUM7QUFDbkQ7O0FBRUE7QUFDQUEsUUFBUSxDQUFDSSxTQUFTLEdBQUdKLFFBQVEsQ0FBQ0ksU0FBUyxJQUFJLEVBQUU7QUFDN0NKLFFBQVEsQ0FBQ0ssV0FBVyxHQUFHTCxRQUFRLENBQUNLLFdBQVcsSUFBSSxFQUFFO0FBQ2pETCxRQUFRLENBQUNNLGlCQUFpQixHQUFHTixRQUFRLENBQUNNLGlCQUFpQixJQUFJLENBQUM7QUFDNUROLFFBQVEsQ0FBQ08sYUFBYSxHQUFHUCxRQUFRLENBQUNPLGFBQWEsSUFBSSxFQUFFO0FBQ3JEUCxRQUFRLENBQUNRLFlBQVksR0FBR1IsUUFBUSxDQUFDUSxZQUFZLElBQUksRUFBRTtBQUNuRFIsUUFBUSxDQUFDUyxhQUFhLEdBQUdULFFBQVEsQ0FBQ1MsYUFBYSxJQUFJLEVBQUU7QUFDckRULFFBQVEsQ0FBQ1UsVUFBVSxHQUFHVixRQUFRLENBQUNVLFVBQVUsSUFBSSxDQUFDO0FBQzlDVixRQUFRLENBQUNXLGFBQWEsR0FBR1gsUUFBUSxDQUFDVyxhQUFhLElBQUksRUFBRTtBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUV2Q2IsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==