appium 2.0.0-beta.25 → 2.0.0-beta.26
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.
- package/build/lib/appium-config.schema.json +278 -0
- package/build/lib/appium.js +45 -66
- package/build/lib/cli/args.js +19 -39
- package/build/lib/cli/driver-command.js +5 -9
- package/build/lib/cli/extension-command.js +73 -64
- package/build/lib/cli/extension.js +10 -23
- package/build/lib/cli/parser.js +9 -19
- package/build/lib/cli/plugin-command.js +5 -9
- package/build/lib/cli/utils.js +2 -4
- package/build/lib/config-file.js +2 -4
- package/build/lib/config.js +7 -6
- package/build/lib/constants.js +60 -0
- package/build/lib/extension/driver-config.js +190 -0
- package/build/lib/extension/extension-config.js +297 -0
- package/build/lib/extension/index.js +77 -0
- package/build/lib/extension/manifest.js +246 -0
- package/build/lib/extension/package-changed.js +68 -0
- package/build/lib/extension/plugin-config.js +87 -0
- package/build/lib/grid-register.js +2 -4
- package/build/lib/logger.js +2 -4
- package/build/lib/logsink.js +2 -4
- package/build/lib/main.js +40 -68
- package/build/lib/schema/appium-config-schema.js +2 -4
- package/build/lib/schema/arg-spec.js +11 -14
- package/build/lib/schema/cli-args.js +2 -4
- package/build/lib/schema/cli-transformers.js +2 -4
- package/build/lib/schema/index.js +2 -4
- package/build/lib/schema/keywords.js +2 -4
- package/build/lib/schema/schema.js +55 -37
- package/build/lib/utils.js +1 -32
- package/lib/appium.js +50 -68
- package/lib/cli/args.js +19 -23
- package/lib/cli/driver-command.js +10 -2
- package/lib/cli/extension-command.js +216 -135
- package/lib/cli/extension.js +7 -15
- package/lib/cli/parser.js +6 -14
- package/lib/cli/plugin-command.js +1 -2
- package/lib/config-file.js +3 -3
- package/lib/config.js +5 -4
- package/lib/constants.js +79 -0
- package/lib/extension/driver-config.js +230 -0
- package/lib/extension/extension-config.js +459 -0
- package/lib/extension/index.js +103 -0
- package/lib/extension/manifest.js +590 -0
- package/lib/extension/package-changed.js +64 -0
- package/lib/extension/plugin-config.js +111 -0
- package/lib/grid-register.js +4 -4
- package/lib/main.js +51 -88
- package/lib/schema/arg-spec.js +2 -2
- package/lib/schema/cli-args.js +1 -0
- package/lib/schema/keywords.js +1 -1
- package/lib/schema/schema.js +60 -28
- package/lib/utils.js +2 -32
- package/package.json +29 -21
- package/{postinstall.js → scripts/postinstall.js} +1 -1
- package/types/types.d.ts +70 -31
- package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
- package/build/check-npm-pack-files.js +0 -23
- package/build/commands-yml/parse.js +0 -319
- package/build/commands-yml/validator.js +0 -130
- package/build/index.js +0 -19
- package/build/lib/cli/npm.js +0 -220
- package/build/lib/driver-config.js +0 -100
- package/build/lib/drivers.js +0 -100
- package/build/lib/ext-config-io.js +0 -165
- package/build/lib/extension-config.js +0 -320
- package/build/lib/plugin-config.js +0 -69
- package/build/lib/plugins.js +0 -18
- package/build/postinstall.js +0 -90
- package/build/test/cli/cli-e2e-specs.js +0 -221
- package/build/test/cli/cli-helpers.js +0 -86
- package/build/test/cli/cli-specs.js +0 -71
- package/build/test/cli/fixtures/test-driver/package.json +0 -27
- package/build/test/cli/schema-args-specs.js +0 -48
- package/build/test/cli/schema-e2e-specs.js +0 -47
- package/build/test/config-e2e-specs.js +0 -112
- package/build/test/config-file-e2e-specs.js +0 -191
- package/build/test/config-file-specs.js +0 -281
- package/build/test/config-specs.js +0 -258
- package/build/test/driver-e2e-specs.js +0 -435
- package/build/test/driver-specs.js +0 -386
- package/build/test/ext-config-io-specs.js +0 -181
- package/build/test/extension-config-specs.js +0 -365
- package/build/test/fixtures/allow-feat.txt +0 -5
- package/build/test/fixtures/caps.json +0 -3
- package/build/test/fixtures/config/allow-insecure.txt +0 -3
- package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +0 -5
- package/build/test/fixtures/config/appium.config.bad.json +0 -32
- package/build/test/fixtures/config/appium.config.ext-good.json +0 -9
- package/build/test/fixtures/config/appium.config.ext-unknown-props.json +0 -10
- package/build/test/fixtures/config/appium.config.good.js +0 -40
- package/build/test/fixtures/config/appium.config.good.json +0 -33
- package/build/test/fixtures/config/appium.config.good.yaml +0 -30
- package/build/test/fixtures/config/appium.config.invalid.json +0 -31
- package/build/test/fixtures/config/appium.config.security-array.json +0 -5
- package/build/test/fixtures/config/appium.config.security-delimited.json +0 -5
- package/build/test/fixtures/config/appium.config.security-path.json +0 -5
- package/build/test/fixtures/config/driver-fake.config.json +0 -8
- package/build/test/fixtures/config/nodeconfig.json +0 -3
- package/build/test/fixtures/config/plugin-fake.config.json +0 -0
- package/build/test/fixtures/default-args.js +0 -35
- package/build/test/fixtures/deny-feat.txt +0 -5
- package/build/test/fixtures/driver.schema.js +0 -20
- package/build/test/fixtures/extensions.yaml +0 -27
- package/build/test/fixtures/flattened-schema.js +0 -532
- package/build/test/fixtures/plugin.schema.js +0 -20
- package/build/test/fixtures/schema-with-extensions.js +0 -28
- package/build/test/grid-register-specs.js +0 -74
- package/build/test/helpers.js +0 -75
- package/build/test/logger-specs.js +0 -76
- package/build/test/npm-specs.js +0 -20
- package/build/test/parser-specs.js +0 -319
- package/build/test/plugin-e2e-specs.js +0 -316
- package/build/test/schema/arg-spec-specs.js +0 -70
- package/build/test/schema/cli-args-specs.js +0 -408
- package/build/test/schema/schema-specs.js +0 -407
- package/build/test/utils-specs.js +0 -288
- package/lib/cli/npm.js +0 -251
- package/lib/driver-config.js +0 -101
- package/lib/drivers.js +0 -84
- package/lib/ext-config-io.js +0 -287
- package/lib/extension-config.js +0 -366
- package/lib/plugin-config.js +0 -63
- package/lib/plugins.js +0 -13
package/build/lib/logsink.js
CHANGED
|
@@ -205,7 +205,5 @@ function clear() {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
var _default = init;
|
|
208
|
-
exports.default = _default;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ1c2VMb2NhbFRpbWVab25lIiwidGltZXN0YW1wRm9ybWF0IiwiZm9ybWF0IiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJ2YWx1ZU9mIiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0cmltIiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJjcmVhdGVDb25zb2xlVHJhbnNwb3J0IiwiYXJncyIsImxvZ0x2bCIsInRyYW5zcG9ydHMiLCJDb25zb2xlIiwibmFtZSIsImhhbmRsZUV4Y2VwdGlvbnMiLCJleGl0T25FcnJvciIsImpzb24iLCJzdGRlcnJMZXZlbHMiLCJjb21iaW5lIiwiYWRqdXN0RGVidWciLCJsb2dOb0NvbG9ycyIsInByaW50ZiIsInByaW50SW5mbyIsImxvZ1RpbWVzdGFtcCIsImNyZWF0ZUZpbGVUcmFuc3BvcnQiLCJGaWxlIiwiZmlsZW5hbWUiLCJsb2dGaWxlIiwibWF4RmlsZXMiLCJjcmVhdGVIdHRwVHJhbnNwb3J0IiwiaG9zdCIsInBvcnQiLCJ3ZWJob29rIiwibWF0Y2giLCJob3N0QW5kUG9ydCIsInNwbGl0IiwicGFyc2VJbnQiLCJIdHRwIiwicGF0aCIsImNyZWF0ZVRyYW5zcG9ydHMiLCJjb25zb2xlTG9nTGV2ZWwiLCJmaWxlTG9nTGV2ZWwiLCJsb2dsZXZlbCIsImx2bFBhaXIiLCJwdXNoIiwiZnMiLCJleGlzdHMiLCJ1bmxpbmsiLCJlIiwiY29uc29sZSIsImluaXQiLCJsb2NhbFRpbWV6b25lIiwiY2xlYXIiLCJvbiIsImxvZ09iaiIsIndpbnN0b25MZXZlbCIsIm1zZyIsInByZWZpeCIsIm1hZ2VudGEiLCJsb2dIYW5kbGVyIiwiXyIsImlzRnVuY3Rpb24iLCJ0cmFuc3BvcnQiLCJrZXlzIiwicmVtb3ZlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLGdCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYkMsRUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsRUFBQUEsSUFBSSxFQUFFLENBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztBQUNiSCxFQUFBQSxJQUFJLEVBQUUsTUFETztBQUViRCxFQUFBQSxLQUFLLEVBQUUsTUFGTTtBQUdiRSxFQUFBQSxJQUFJLEVBQUUsUUFITztBQUliQyxFQUFBQSxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLEtBQUssRUFBRSxPQURrQjtBQUV6QkMsRUFBQUEsT0FBTyxFQUFFLE9BRmdCO0FBR3pCUCxFQUFBQSxLQUFLLEVBQUUsT0FIa0I7QUFJekJDLEVBQUFBLElBQUksRUFBRSxNQUptQjtBQUt6Qk8sRUFBQUEsSUFBSSxFQUFFLE1BTG1CO0FBTXpCTixFQUFBQSxJQUFJLEVBQUUsTUFObUI7QUFPekJDLEVBQUFBLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxnQkFBT0MsU0FBUCxDQUFpQjtBQUN2Q0QsRUFBQUEsTUFBTSxHQUFJO0FBQ1IsUUFBSUUsSUFBSSxHQUFHLElBQUlDLElBQUosRUFBWDs7QUFDQSxRQUFJTCxnQkFBSixFQUFzQjtBQUNwQkksTUFBQUEsSUFBSSxHQUFHLElBQUlDLElBQUosQ0FBU0QsSUFBSSxDQUFDRSxPQUFMLEtBQWlCRixJQUFJLENBQUNHLGlCQUFMLEtBQTJCLEtBQXJELENBQVA7QUFDRDs7QUFFRCxXQUFPSCxJQUFJLENBQUNJLFdBQUwsR0FDSkMsT0FESSxDQUNJLE9BREosRUFDYSxHQURiLEVBRUpBLE9BRkksQ0FFSSxLQUZKLEVBRVcsR0FGWCxFQUdKQyxJQUhJLEVBQVA7QUFJRDs7QUFYc0MsQ0FBakIsQ0FBeEI7O0FBZUEsTUFBTUMsY0FBYyxHQUFHVCxnQkFBT1UsUUFBUCxDQUFnQjtBQUNyQ2xCLEVBQUFBO0FBRHFDLENBQWhCLENBQXZCOztBQUtBLE1BQU1tQixnQkFBZ0IsR0FBRyxxQkFBTyxTQUFTQyxVQUFULENBQXFCdkIsSUFBckIsRUFBMkI7QUFDekQsUUFBTXdCLElBQUksR0FBRyx5QkFBYjtBQUNBeEIsRUFBQUEsSUFBSSxDQUFDeUIsT0FBTCxHQUFlekIsSUFBSSxDQUFDeUIsT0FBTCxDQUFhUCxPQUFiLENBQXFCTSxJQUFyQixFQUEyQixFQUEzQixDQUFmO0FBQ0EsU0FBT3hCLElBQVA7QUFDRCxDQUp3QixHQUF6Qjs7QUFNQSxTQUFTMEIsc0JBQVQsQ0FBaUNDLElBQWpDLEVBQXVDQyxNQUF2QyxFQUErQztBQUM3QyxTQUFPLElBQUtDLG9CQUFXQyxPQUFoQixDQUF5QjtBQUM5QkMsSUFBQUEsSUFBSSxFQUFFLFNBRHdCO0FBRTlCQyxJQUFBQSxnQkFBZ0IsRUFBRSxJQUZZO0FBRzlCQyxJQUFBQSxXQUFXLEVBQUUsS0FIaUI7QUFJOUJDLElBQUFBLElBQUksRUFBRSxLQUp3QjtBQUs5QnJDLElBQUFBLEtBQUssRUFBRStCLE1BTHVCO0FBTTlCTyxJQUFBQSxZQUFZLEVBQUUsQ0FBQyxPQUFELENBTmdCO0FBTzlCeEIsSUFBQUEsTUFBTSxFQUFFQSxnQkFBT3lCLE9BQVAsQ0FDTixxQkFBTyxTQUFTQyxXQUFULENBQXNCckMsSUFBdEIsRUFBNEI7QUFFakMsVUFBSUEsSUFBSSxDQUFDSCxLQUFMLEtBQWUsT0FBbkIsRUFBNEI7QUFDMUJHLFFBQUFBLElBQUksQ0FBQ0gsS0FBTCxHQUFhLE1BQWI7QUFDQUcsUUFBQUEsSUFBSSxDQUFDeUIsT0FBTCxHQUFnQixXQUFVekIsSUFBSSxDQUFDeUIsT0FBUSxFQUF2QztBQUNEOztBQUNELGFBQU96QixJQUFQO0FBQ0QsS0FQRCxHQURNLEVBU05VLGVBVE0sRUFVTmlCLElBQUksQ0FBQ1csV0FBTCxHQUFtQmhCLGdCQUFuQixHQUFzQ0YsY0FWaEMsRUFXTlQsZ0JBQU80QixNQUFQLENBQWMsU0FBU0MsU0FBVCxDQUFvQnhDLElBQXBCLEVBQTBCO0FBQ3RDLGFBQVEsR0FBRTJCLElBQUksQ0FBQ2MsWUFBTCxHQUFxQixHQUFFekMsSUFBSSxDQUFDWSxTQUFVLEtBQXRDLEdBQTZDLEVBQUcsR0FBRVosSUFBSSxDQUFDeUIsT0FBUSxFQUF6RTtBQUNELEtBRkQsQ0FYTTtBQVBzQixHQUF6QixDQUFQO0FBdUJEOztBQUVELFNBQVNpQixtQkFBVCxDQUE4QmYsSUFBOUIsRUFBb0NDLE1BQXBDLEVBQTRDO0FBQzFDLFNBQU8sSUFBS0Msb0JBQVdjLElBQWhCLENBQXNCO0FBQzNCWixJQUFBQSxJQUFJLEVBQUUsTUFEcUI7QUFFM0JhLElBQUFBLFFBQVEsRUFBRWpCLElBQUksQ0FBQ2tCLE9BRlk7QUFHM0JDLElBQUFBLFFBQVEsRUFBRSxDQUhpQjtBQUkzQmQsSUFBQUEsZ0JBQWdCLEVBQUUsSUFKUztBQUszQkMsSUFBQUEsV0FBVyxFQUFFLEtBTGM7QUFNM0JDLElBQUFBLElBQUksRUFBRSxLQU5xQjtBQU8zQnJDLElBQUFBLEtBQUssRUFBRStCLE1BUG9CO0FBUTNCakIsSUFBQUEsTUFBTSxFQUFFQSxnQkFBT3lCLE9BQVAsQ0FDTmQsZ0JBRE0sRUFFTlosZUFGTSxFQUdOQyxnQkFBTzRCLE1BQVAsQ0FBYyxTQUFTQyxTQUFULENBQW9CeEMsSUFBcEIsRUFBMEI7QUFDdEMsYUFBUSxHQUFFQSxJQUFJLENBQUNZLFNBQVUsSUFBR1osSUFBSSxDQUFDeUIsT0FBUSxFQUF6QztBQUNELEtBRkQsQ0FITTtBQVJtQixHQUF0QixDQUFQO0FBZ0JEOztBQUVELFNBQVNzQixtQkFBVCxDQUE4QnBCLElBQTlCLEVBQW9DQyxNQUFwQyxFQUE0QztBQUMxQyxNQUFJb0IsSUFBSSxHQUFHLFdBQVg7QUFDQSxNQUFJQyxJQUFJLEdBQUcsSUFBWDs7QUFFQSxNQUFJdEIsSUFBSSxDQUFDdUIsT0FBTCxDQUFhQyxLQUFiLENBQW1CLEdBQW5CLENBQUosRUFBNkI7QUFDM0IsVUFBTUMsV0FBVyxHQUFHekIsSUFBSSxDQUFDdUIsT0FBTCxDQUFhRyxLQUFiLENBQW1CLEdBQW5CLENBQXBCO0FBQ0FMLElBQUFBLElBQUksR0FBR0ksV0FBVyxDQUFDLENBQUQsQ0FBbEI7QUFDQUgsSUFBQUEsSUFBSSxHQUFHSyxRQUFRLENBQUNGLFdBQVcsQ0FBQyxDQUFELENBQVosRUFBaUIsRUFBakIsQ0FBZjtBQUNEOztBQUVELFNBQU8sSUFBS3ZCLG9CQUFXMEIsSUFBaEIsQ0FBc0I7QUFDM0J4QixJQUFBQSxJQUFJLEVBQUUsTUFEcUI7QUFFM0JpQixJQUFBQSxJQUYyQjtBQUczQkMsSUFBQUEsSUFIMkI7QUFJM0JPLElBQUFBLElBQUksRUFBRSxHQUpxQjtBQUszQnhCLElBQUFBLGdCQUFnQixFQUFFLElBTFM7QUFNM0JDLElBQUFBLFdBQVcsRUFBRSxLQU5jO0FBTzNCQyxJQUFBQSxJQUFJLEVBQUUsS0FQcUI7QUFRM0JyQyxJQUFBQSxLQUFLLEVBQUUrQixNQVJvQjtBQVMzQmpCLElBQUFBLE1BQU0sRUFBRUEsZ0JBQU95QixPQUFQLENBQ05kLGdCQURNLEVBRU5YLGdCQUFPNEIsTUFBUCxDQUFjLFNBQVNDLFNBQVQsQ0FBb0J4QyxJQUFwQixFQUEwQjtBQUN0QyxhQUFRLEdBQUVBLElBQUksQ0FBQ1ksU0FBVSxJQUFHWixJQUFJLENBQUN5QixPQUFRLEVBQXpDO0FBQ0QsS0FGRCxDQUZNO0FBVG1CLEdBQXRCLENBQVA7QUFnQkQ7O0FBRUQsZUFBZWdDLGdCQUFmLENBQWlDOUIsSUFBakMsRUFBdUM7QUFDckMsTUFBSUUsVUFBVSxHQUFHLEVBQWpCO0FBQ0EsTUFBSTZCLGVBQWUsR0FBRyxJQUF0QjtBQUNBLE1BQUlDLFlBQVksR0FBRyxJQUFuQjs7QUFFQSxNQUFJaEMsSUFBSSxDQUFDaUMsUUFBTCxJQUFpQmpDLElBQUksQ0FBQ2lDLFFBQUwsQ0FBY1QsS0FBZCxDQUFvQixHQUFwQixDQUFyQixFQUErQztBQUU3QyxVQUFNVSxPQUFPLEdBQUdsQyxJQUFJLENBQUNpQyxRQUFMLENBQWNQLEtBQWQsQ0FBb0IsR0FBcEIsQ0FBaEI7QUFDQUssSUFBQUEsZUFBZSxHQUFHRyxPQUFPLENBQUMsQ0FBRCxDQUFQLElBQWNILGVBQWhDO0FBQ0FDLElBQUFBLFlBQVksR0FBR0UsT0FBTyxDQUFDLENBQUQsQ0FBUCxJQUFjRixZQUE3QjtBQUNELEdBTEQsTUFLTztBQUNMRCxJQUFBQSxlQUFlLEdBQUdDLFlBQVksR0FBR2hDLElBQUksQ0FBQ2lDLFFBQXRDO0FBQ0Q7O0FBRUQvQixFQUFBQSxVQUFVLENBQUNpQyxJQUFYLENBQWdCcEMsc0JBQXNCLENBQUNDLElBQUQsRUFBTytCLGVBQVAsQ0FBdEM7O0FBRUEsTUFBSS9CLElBQUksQ0FBQ2tCLE9BQVQsRUFBa0I7QUFDaEIsUUFBSTtBQUlGLFVBQUksTUFBTWtCLFlBQUdDLE1BQUgsQ0FBVXJDLElBQUksQ0FBQ2tCLE9BQWYsQ0FBVixFQUFtQztBQUNqQyxjQUFNa0IsWUFBR0UsTUFBSCxDQUFVdEMsSUFBSSxDQUFDa0IsT0FBZixDQUFOO0FBQ0Q7O0FBRURoQixNQUFBQSxVQUFVLENBQUNpQyxJQUFYLENBQWdCcEIsbUJBQW1CLENBQUNmLElBQUQsRUFBT2dDLFlBQVAsQ0FBbkM7QUFDRCxLQVRELENBU0UsT0FBT08sQ0FBUCxFQUFVO0FBRVZDLE1BQUFBLE9BQU8sQ0FBQzNELEdBQVIsQ0FBYSxvQ0FBbUNtQixJQUFJLENBQUNrQixPQUFRLGlCQUFqRCxHQUNDLGFBQVlxQixDQUFDLENBQUN6QyxPQUFRLEVBRG5DO0FBRUQ7QUFDRjs7QUFFRCxNQUFJRSxJQUFJLENBQUN1QixPQUFULEVBQWtCO0FBQ2hCLFFBQUk7QUFDRnJCLE1BQUFBLFVBQVUsQ0FBQ2lDLElBQVgsQ0FBZ0JmLG1CQUFtQixDQUFDcEIsSUFBRCxFQUFPZ0MsWUFBUCxDQUFuQztBQUNELEtBRkQsQ0FFRSxPQUFPTyxDQUFQLEVBQVU7QUFFVkMsTUFBQUEsT0FBTyxDQUFDM0QsR0FBUixDQUFhLHNDQUFxQ21CLElBQUksQ0FBQ3VCLE9BQVEsT0FBbkQsR0FDQyxzQkFBcUJnQixDQUFDLENBQUN6QyxPQUFRLEVBRDVDO0FBRUQ7QUFDRjs7QUFFRCxTQUFPSSxVQUFQO0FBQ0Q7O0FBRUQsZUFBZXVDLElBQWYsQ0FBcUJ6QyxJQUFyQixFQUEyQjtBQUV6QmxCLEVBQUFBLGdCQUFnQixHQUFHa0IsSUFBSSxDQUFDMEMsYUFBeEI7QUFHQUMsRUFBQUEsS0FBSztBQUVMOUQsRUFBQUEsR0FBRyxHQUFHLDJCQUFhO0FBQ2pCcUIsSUFBQUEsVUFBVSxFQUFFLE1BQU00QixnQkFBZ0IsQ0FBQzlCLElBQUQsQ0FEakI7QUFFakI3QixJQUFBQTtBQUZpQixHQUFiLENBQU47O0FBTUFKLGtCQUFPNkUsRUFBUCxDQUFVLEtBQVYsRUFBa0JDLE1BQUQsSUFBWTtBQUMzQixVQUFNQyxZQUFZLEdBQUdyRSxrQkFBa0IsQ0FBQ29FLE1BQU0sQ0FBQzNFLEtBQVIsQ0FBbEIsSUFBb0MsTUFBekQ7QUFDQSxRQUFJNkUsR0FBRyxHQUFHRixNQUFNLENBQUMvQyxPQUFqQjs7QUFDQSxRQUFJK0MsTUFBTSxDQUFDRyxNQUFYLEVBQW1CO0FBQ2pCLFlBQU1BLE1BQU0sR0FBSSxJQUFHSCxNQUFNLENBQUNHLE1BQU8sR0FBakM7QUFDQUQsTUFBQUEsR0FBRyxHQUFJLEdBQUUvQyxJQUFJLENBQUNXLFdBQUwsR0FBbUJxQyxNQUFuQixHQUE0QkEsTUFBTSxDQUFDQyxPQUFRLElBQUdGLEdBQUksRUFBM0Q7QUFDRDs7QUFDRGxFLElBQUFBLEdBQUcsQ0FBQ2lFLFlBQUQsQ0FBSCxDQUFrQkMsR0FBbEI7O0FBQ0EsUUFBSS9DLElBQUksQ0FBQ2tELFVBQUwsSUFBbUJDLGdCQUFFQyxVQUFGLENBQWFwRCxJQUFJLENBQUNrRCxVQUFsQixDQUF2QixFQUFzRDtBQUNwRGxELE1BQUFBLElBQUksQ0FBQ2tELFVBQUwsQ0FBZ0JMLE1BQU0sQ0FBQzNFLEtBQXZCLEVBQThCNkUsR0FBOUI7QUFDRDtBQUVGLEdBWkQ7QUFhRDs7QUFFRCxTQUFTSixLQUFULEdBQWtCO0FBQ2hCLE1BQUk5RCxHQUFKLEVBQVM7QUFDUCxTQUFLLElBQUl3RSxTQUFULElBQXNCRixnQkFBRUcsSUFBRixDQUFPekUsR0FBRyxDQUFDcUIsVUFBWCxDQUF0QixFQUE4QztBQUM1Q3JCLE1BQUFBLEdBQUcsQ0FBQzBFLE1BQUosQ0FBV0YsU0FBWDtBQUNEO0FBQ0Y7O0FBQ0R0RixrQkFBT3lGLGtCQUFQLENBQTBCLEtBQTFCO0FBQ0Q7O2VBSWNmLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbnBtbG9nIGZyb20gJ25wbWxvZyc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgZnMsIGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbi8vIHNldCB1cCBkaXN0cmlidXRlZCBsb2dnaW5nIGJlZm9yZSBldmVyeXRoaW5nIGVsc2VcbmxvZ2dlci5wYXRjaExvZ2dlcihucG1sb2cpO1xuZ2xvYmFsLl9nbG9iYWxfbnBtbG9nID0gbnBtbG9nO1xuXG4vLyBucG1sb2cgaXMgdXNlZCBvbmx5IGZvciBlbWl0dGluZywgd2UgdXNlIHdpbnN0b24gZm9yIG91dHB1dFxubnBtbG9nLmxldmVsID0gJ3NpbGVudCc7XG5jb25zdCBsZXZlbHMgPSB7XG4gIGRlYnVnOiA0LFxuICBpbmZvOiAzLFxuICB3YXJuOiAyLFxuICBlcnJvcjogMSxcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHtcbiAgaW5mbzogJ2N5YW4nLFxuICBkZWJ1ZzogJ2dyZXknLFxuICB3YXJuOiAneWVsbG93JyxcbiAgZXJyb3I6ICdyZWQnLFxufTtcblxuY29uc3QgbnBtVG9XaW5zdG9uTGV2ZWxzID0ge1xuICBzaWxseTogJ2RlYnVnJyxcbiAgdmVyYm9zZTogJ2RlYnVnJyxcbiAgZGVidWc6ICdkZWJ1ZycsXG4gIGluZm86ICdpbmZvJyxcbiAgaHR0cDogJ2luZm8nLFxuICB3YXJuOiAnd2FybicsXG4gIGVycm9yOiAnZXJyb3InLFxufTtcblxubGV0IGxvZyA9IG51bGw7XG5sZXQgdXNlTG9jYWxUaW1lWm9uZSA9IGZhbHNlO1xuXG4vLyBhZGQgdGhlIHRpbWVzdGFtcCBpbiB0aGUgY29ycmVjdCBmb3JtYXQgdG8gdGhlIGxvZyBpbmZvIG9iamVjdFxuY29uc3QgdGltZXN0YW1wRm9ybWF0ID0gZm9ybWF0LnRpbWVzdGFtcCh7XG4gIGZvcm1hdCAoKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGlmICh1c2VMb2NhbFRpbWVab25lKSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gICAgfVxuICAgIC8vICcyMDEyLTExLTA0VDE0OjUxOjA2LjE1N1onIC0+ICcyMDEyLTExLTA0IDE0OjUxOjA2OjE1NydcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpXG4gICAgICAucmVwbGFjZSgvW1RaXS9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwuL2csICc6JylcbiAgICAgIC50cmltKCk7XG4gIH0sXG59KTtcblxuLy8gc2V0IHRoZSBjdXN0b20gY29sb3JzXG5jb25zdCBjb2xvcml6ZUZvcm1hdCA9IGZvcm1hdC5jb2xvcml6ZSh7XG4gIGNvbG9ycyxcbn0pO1xuXG4vLyBTdHJpcCB0aGUgY29sb3IgbWFya2luZyB3aXRoaW4gbWVzc2FnZXNcbmNvbnN0IHN0cmlwQ29sb3JGb3JtYXQgPSBmb3JtYXQoZnVuY3Rpb24gc3RyaXBDb2xvciAoaW5mbykge1xuICBjb25zdCBjb2RlID0gL1xcdTAwMWJcXFsoXFxkKyg7XFxkKykqKT9tL2c7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udHJvbC1yZWdleFxuICBpbmZvLm1lc3NhZ2UgPSBpbmZvLm1lc3NhZ2UucmVwbGFjZShjb2RlLCAnJyk7XG4gIHJldHVybiBpbmZvO1xufSkoKTtcblxuZnVuY3Rpb24gY3JlYXRlQ29uc29sZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuQ29uc29sZSkoe1xuICAgIG5hbWU6ICdjb25zb2xlJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIHN0ZGVyckxldmVsczogWydlcnJvciddLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBmb3JtYXQoZnVuY3Rpb24gYWRqdXN0RGVidWcgKGluZm8pIHtcbiAgICAgICAgLy8gcHJlcGVuZCBkZWJ1ZyBtYXJrZXIsIGFuZCBzaGlmdCB0byBgaW5mb2AgbG9nIGxldmVsXG4gICAgICAgIGlmIChpbmZvLmxldmVsID09PSAnZGVidWcnKSB7XG4gICAgICAgICAgaW5mby5sZXZlbCA9ICdpbmZvJztcbiAgICAgICAgICBpbmZvLm1lc3NhZ2UgPSBgW2RlYnVnXSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmZvO1xuICAgICAgfSkoKSxcbiAgICAgIHRpbWVzdGFtcEZvcm1hdCxcbiAgICAgIGFyZ3MubG9nTm9Db2xvcnMgPyBzdHJpcENvbG9yRm9ybWF0IDogY29sb3JpemVGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7YXJncy5sb2dUaW1lc3RhbXAgPyBgJHtpbmZvLnRpbWVzdGFtcH0gLSBgIDogJyd9JHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkZpbGUpKHtcbiAgICBuYW1lOiAnZmlsZScsXG4gICAgZmlsZW5hbWU6IGFyZ3MubG9nRmlsZSxcbiAgICBtYXhGaWxlczogMSxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIdHRwVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgbGV0IGhvc3QgPSAnMTI3LjAuMC4xJztcbiAgbGV0IHBvcnQgPSA5MDAzO1xuXG4gIGlmIChhcmdzLndlYmhvb2subWF0Y2goJzonKSkge1xuICAgIGNvbnN0IGhvc3RBbmRQb3J0ID0gYXJncy53ZWJob29rLnNwbGl0KCc6Jyk7XG4gICAgaG9zdCA9IGhvc3RBbmRQb3J0WzBdO1xuICAgIHBvcnQgPSBwYXJzZUludChob3N0QW5kUG9ydFsxXSwgMTApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5IdHRwKSh7XG4gICAgbmFtZTogJ2h0dHAnLFxuICAgIGhvc3QsXG4gICAgcG9ydCxcbiAgICBwYXRoOiAnLycsXG4gICAgaGFuZGxlRXhjZXB0aW9uczogdHJ1ZSxcbiAgICBleGl0T25FcnJvcjogZmFsc2UsXG4gICAganNvbjogZmFsc2UsXG4gICAgbGV2ZWw6IGxvZ0x2bCxcbiAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKFxuICAgICAgc3RyaXBDb2xvckZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHtpbmZvLnRpbWVzdGFtcH0gJHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKSxcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRyYW5zcG9ydHMgKGFyZ3MpIHtcbiAgbGV0IHRyYW5zcG9ydHMgPSBbXTtcbiAgbGV0IGNvbnNvbGVMb2dMZXZlbCA9IG51bGw7XG4gIGxldCBmaWxlTG9nTGV2ZWwgPSBudWxsO1xuXG4gIGlmIChhcmdzLmxvZ2xldmVsICYmIGFyZ3MubG9nbGV2ZWwubWF0Y2goJzonKSkge1xuICAgIC8vIC0tbG9nLWxldmVsIGFyZyBjYW4gb3B0aW9uYWxseSBwcm92aWRlIGRpZmYgbG9nZ2luZyBsZXZlbHMgZm9yIGNvbnNvbGUgYW5kIGZpbGUsIHNlcGFyYXRlZCBieSBhIGNvbG9uXG4gICAgY29uc3QgbHZsUGFpciA9IGFyZ3MubG9nbGV2ZWwuc3BsaXQoJzonKTtcbiAgICBjb25zb2xlTG9nTGV2ZWwgPSBsdmxQYWlyWzBdIHx8IGNvbnNvbGVMb2dMZXZlbDtcbiAgICBmaWxlTG9nTGV2ZWwgPSBsdmxQYWlyWzFdIHx8IGZpbGVMb2dMZXZlbDtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlTG9nTGV2ZWwgPSBmaWxlTG9nTGV2ZWwgPSBhcmdzLmxvZ2xldmVsO1xuICB9XG5cbiAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUNvbnNvbGVUcmFuc3BvcnQoYXJncywgY29uc29sZUxvZ0xldmVsKSk7XG5cbiAgaWYgKGFyZ3MubG9nRmlsZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBpZiB3ZSBkb24ndCBkZWxldGUgdGhlIGxvZyBmaWxlLCB3aW5zdG9uIHdpbGwgYWx3YXlzIGFwcGVuZCBhbmQgaXQgd2lsbCBncm93IGluZmluaXRlbHkgbGFyZ2U7XG4gICAgICAvLyB3aW5zdG9uIGFsbG93cyBmb3IgbGltaXRpbmcgbG9nIGZpbGUgc2l6ZSwgYnV0IGFzIG9mIDkuMi4xNCB0aGVyZSdzIGEgc2VyaW91cyBidWcgd2hlbiB1c2luZ1xuICAgICAgLy8gbWF4RmlsZXMgYW5kIG1heFNpemUgdG9nZXRoZXIuIGh0dHBzOi8vZ2l0aHViLmNvbS9mbGF0aXJvbi93aW5zdG9uL2lzc3Vlcy8zOTdcbiAgICAgIGlmIChhd2FpdCBmcy5leGlzdHMoYXJncy5sb2dGaWxlKSkge1xuICAgICAgICBhd2FpdCBmcy51bmxpbmsoYXJncy5sb2dGaWxlKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUZpbGVUcmFuc3BvcnQoYXJncywgZmlsZUxvZ0xldmVsKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBUcmllZCB0byBhdHRhY2ggbG9nZ2luZyB0byBmaWxlICcke2FyZ3MubG9nRmlsZX0nIGJ1dCBhbiBlcnJvciBgICtcbiAgICAgICAgICAgICAgICAgIGBvY2N1cnJlZDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGFyZ3Mud2ViaG9vaykge1xuICAgIHRyeSB7XG4gICAgICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlSHR0cFRyYW5zcG9ydChhcmdzLCBmaWxlTG9nTGV2ZWwpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFRyaWVkIHRvIGF0dGFjaCBsb2dnaW5nIHRvIEh0dHAgYXQgJHthcmdzLndlYmhvb2t9IGJ1dCBgICtcbiAgICAgICAgICAgICAgICAgIGBhbiBlcnJvciBvY2N1cnJlZDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRyYW5zcG9ydHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXQgKGFyZ3MpIHtcbiAgLy8gc2V0IGRlIGZhY3RvIHBhcmFtIHBhc3NlZCB0byB0aW1lc3RhbXAgZnVuY3Rpb25cbiAgdXNlTG9jYWxUaW1lWm9uZSA9IGFyZ3MubG9jYWxUaW1lem9uZTtcblxuICAvLyBjbGVhbiB1cCBpbiBjYXNlIHdlIGhhdmUgaW5pdGlhdGVkIGJlZm9yZSBzaW5jZSBucG1sb2cgaXMgYSBnbG9iYWwgb2JqZWN0XG4gIGNsZWFyKCk7XG5cbiAgbG9nID0gY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBhd2FpdCBjcmVhdGVUcmFuc3BvcnRzKGFyZ3MpLFxuICAgIGxldmVscyxcbiAgfSk7XG5cbiAgLy8gQ2FwdHVyZSBsb2dzIGVtaXR0ZWQgdmlhIG5wbWxvZyBhbmQgcGFzcyB0aGVtIHRocm91Z2ggd2luc3RvblxuICBucG1sb2cub24oJ2xvZycsIChsb2dPYmopID0+IHtcbiAgICBjb25zdCB3aW5zdG9uTGV2ZWwgPSBucG1Ub1dpbnN0b25MZXZlbHNbbG9nT2JqLmxldmVsXSB8fCAnaW5mbyc7XG4gICAgbGV0IG1zZyA9IGxvZ09iai5tZXNzYWdlO1xuICAgIGlmIChsb2dPYmoucHJlZml4KSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBgWyR7bG9nT2JqLnByZWZpeH1dYDtcbiAgICAgIG1zZyA9IGAke2FyZ3MubG9nTm9Db2xvcnMgPyBwcmVmaXggOiBwcmVmaXgubWFnZW50YX0gJHttc2d9YDtcbiAgICB9XG4gICAgbG9nW3dpbnN0b25MZXZlbF0obXNnKTtcbiAgICBpZiAoYXJncy5sb2dIYW5kbGVyICYmIF8uaXNGdW5jdGlvbihhcmdzLmxvZ0hhbmRsZXIpKSB7XG4gICAgICBhcmdzLmxvZ0hhbmRsZXIobG9nT2JqLmxldmVsLCBtc2cpO1xuICAgIH1cblxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xlYXIgKCkge1xuICBpZiAobG9nKSB7XG4gICAgZm9yIChsZXQgdHJhbnNwb3J0IG9mIF8ua2V5cyhsb2cudHJhbnNwb3J0cykpIHtcbiAgICAgIGxvZy5yZW1vdmUodHJhbnNwb3J0KTtcbiAgICB9XG4gIH1cbiAgbnBtbG9nLnJlbW92ZUFsbExpc3RlbmVycygnbG9nJyk7XG59XG5cblxuZXhwb3J0IHsgaW5pdCwgY2xlYXIgfTtcbmV4cG9ydCBkZWZhdWx0IGluaXQ7XG4iXSwiZmlsZSI6ImxpYi9sb2dzaW5rLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
208
|
+
exports.default = _default;
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ1c2VMb2NhbFRpbWVab25lIiwidGltZXN0YW1wRm9ybWF0IiwiZm9ybWF0IiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJ2YWx1ZU9mIiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0cmltIiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJjcmVhdGVDb25zb2xlVHJhbnNwb3J0IiwiYXJncyIsImxvZ0x2bCIsInRyYW5zcG9ydHMiLCJDb25zb2xlIiwibmFtZSIsImhhbmRsZUV4Y2VwdGlvbnMiLCJleGl0T25FcnJvciIsImpzb24iLCJzdGRlcnJMZXZlbHMiLCJjb21iaW5lIiwiYWRqdXN0RGVidWciLCJsb2dOb0NvbG9ycyIsInByaW50ZiIsInByaW50SW5mbyIsImxvZ1RpbWVzdGFtcCIsImNyZWF0ZUZpbGVUcmFuc3BvcnQiLCJGaWxlIiwiZmlsZW5hbWUiLCJsb2dGaWxlIiwibWF4RmlsZXMiLCJjcmVhdGVIdHRwVHJhbnNwb3J0IiwiaG9zdCIsInBvcnQiLCJ3ZWJob29rIiwibWF0Y2giLCJob3N0QW5kUG9ydCIsInNwbGl0IiwicGFyc2VJbnQiLCJIdHRwIiwicGF0aCIsImNyZWF0ZVRyYW5zcG9ydHMiLCJjb25zb2xlTG9nTGV2ZWwiLCJmaWxlTG9nTGV2ZWwiLCJsb2dsZXZlbCIsImx2bFBhaXIiLCJwdXNoIiwiZnMiLCJleGlzdHMiLCJ1bmxpbmsiLCJlIiwiY29uc29sZSIsImluaXQiLCJsb2NhbFRpbWV6b25lIiwiY2xlYXIiLCJvbiIsImxvZ09iaiIsIndpbnN0b25MZXZlbCIsIm1zZyIsInByZWZpeCIsIm1hZ2VudGEiLCJsb2dIYW5kbGVyIiwiXyIsImlzRnVuY3Rpb24iLCJ0cmFuc3BvcnQiLCJrZXlzIiwicmVtb3ZlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLGdCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYkMsRUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsRUFBQUEsSUFBSSxFQUFFLENBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztBQUNiSCxFQUFBQSxJQUFJLEVBQUUsTUFETztBQUViRCxFQUFBQSxLQUFLLEVBQUUsTUFGTTtBQUdiRSxFQUFBQSxJQUFJLEVBQUUsUUFITztBQUliQyxFQUFBQSxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLEtBQUssRUFBRSxPQURrQjtBQUV6QkMsRUFBQUEsT0FBTyxFQUFFLE9BRmdCO0FBR3pCUCxFQUFBQSxLQUFLLEVBQUUsT0FIa0I7QUFJekJDLEVBQUFBLElBQUksRUFBRSxNQUptQjtBQUt6Qk8sRUFBQUEsSUFBSSxFQUFFLE1BTG1CO0FBTXpCTixFQUFBQSxJQUFJLEVBQUUsTUFObUI7QUFPekJDLEVBQUFBLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxn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QyxNQUFuQixHQUE0QkEsTUFBTSxDQUFDQyxPQUFRLElBQUdGLEdBQUksRUFBM0Q7QUFDRDs7QUFDRGxFLElBQUFBLEdBQUcsQ0FBQ2lFLFlBQUQsQ0FBSCxDQUFrQkMsR0FBbEI7O0FBQ0EsUUFBSS9DLElBQUksQ0FBQ2tELFVBQUwsSUFBbUJDLGdCQUFFQyxVQUFGLENBQWFwRCxJQUFJLENBQUNrRCxVQUFsQixDQUF2QixFQUFzRDtBQUNwRGxELE1BQUFBLElBQUksQ0FBQ2tELFVBQUwsQ0FBZ0JMLE1BQU0sQ0FBQzNFLEtBQXZCLEVBQThCNkUsR0FBOUI7QUFDRDtBQUVGLEdBWkQ7QUFhRDs7QUFFRCxTQUFTSixLQUFULEdBQWtCO0FBQ2hCLE1BQUk5RCxHQUFKLEVBQVM7QUFDUCxTQUFLLElBQUl3RSxTQUFULElBQXNCRixnQkFBRUcsSUFBRixDQUFPekUsR0FBRyxDQUFDcUIsVUFBWCxDQUF0QixFQUE4QztBQUM1Q3JCLE1BQUFBLEdBQUcsQ0FBQzBFLE1BQUosQ0FBV0YsU0FBWDtBQUNEO0FBQ0Y7O0FBQ0R0RixrQkFBT3lGLGtCQUFQLENBQTBCLEtBQTFCO0FBQ0Q7O2VBSWNmLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbnBtbG9nIGZyb20gJ25wbWxvZyc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgZnMsIGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbi8vIHNldCB1cCBkaXN0cmlidXRlZCBsb2dnaW5nIGJlZm9yZSBldmVyeXRoaW5nIGVsc2VcbmxvZ2dlci5wYXRjaExvZ2dlcihucG1sb2cpO1xuZ2xvYmFsLl9nbG9iYWxfbnBtbG9nID0gbnBtbG9nO1xuXG4vLyBucG1sb2cgaXMgdXNlZCBvbmx5IGZvciBlbWl0dGluZywgd2UgdXNlIHdpbnN0b24gZm9yIG91dHB1dFxubnBtbG9nLmxldmVsID0gJ3NpbGVudCc7XG5jb25zdCBsZXZlbHMgPSB7XG4gIGRlYnVnOiA0LFxuICBpbmZvOiAzLFxuICB3YXJuOiAyLFxuICBlcnJvcjogMSxcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHtcbiAgaW5mbzogJ2N5YW4nLFxuICBkZWJ1ZzogJ2dyZXknLFxuICB3YXJuOiAneWVsbG93JyxcbiAgZXJyb3I6ICdyZWQnLFxufTtcblxuY29uc3QgbnBtVG9XaW5zdG9uTGV2ZWxzID0ge1xuICBzaWxseTogJ2RlYnVnJyxcbiAgdmVyYm9zZTogJ2RlYnVnJyxcbiAgZGVidWc6ICdkZWJ1ZycsXG4gIGluZm86ICdpbmZvJyxcbiAgaHR0cDogJ2luZm8nLFxuICB3YXJuOiAnd2FybicsXG4gIGVycm9yOiAnZXJyb3InLFxufTtcblxubGV0IGxvZyA9IG51bGw7XG5sZXQgdXNlTG9jYWxUaW1lWm9uZSA9IGZhbHNlO1xuXG4vLyBhZGQgdGhlIHRpbWVzdGFtcCBpbiB0aGUgY29ycmVjdCBmb3JtYXQgdG8gdGhlIGxvZyBpbmZvIG9iamVjdFxuY29uc3QgdGltZXN0YW1wRm9ybWF0ID0gZm9ybWF0LnRpbWVzdGFtcCh7XG4gIGZvcm1hdCAoKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGlmICh1c2VMb2NhbFRpbWVab25lKSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gICAgfVxuICAgIC8vICcyMDEyLTExLTA0VDE0OjUxOjA2LjE1N1onIC0+ICcyMDEyLTExLTA0IDE0OjUxOjA2OjE1NydcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpXG4gICAgICAucmVwbGFjZSgvW1RaXS9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwuL2csICc6JylcbiAgICAgIC50cmltKCk7XG4gIH0sXG59KTtcblxuLy8gc2V0IHRoZSBjdXN0b20gY29sb3JzXG5jb25zdCBjb2xvcml6ZUZvcm1hdCA9IGZvcm1hdC5jb2xvcml6ZSh7XG4gIGNvbG9ycyxcbn0pO1xuXG4vLyBTdHJpcCB0aGUgY29sb3IgbWFya2luZyB3aXRoaW4gbWVzc2FnZXNcbmNvbnN0IHN0cmlwQ29sb3JGb3JtYXQgPSBmb3JtYXQoZnVuY3Rpb24gc3RyaXBDb2xvciAoaW5mbykge1xuICBjb25zdCBjb2RlID0gL1xcdTAwMWJcXFsoXFxkKyg7XFxkKykqKT9tL2c7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udHJvbC1yZWdleFxuICBpbmZvLm1lc3NhZ2UgPSBpbmZvLm1lc3NhZ2UucmVwbGFjZShjb2RlLCAnJyk7XG4gIHJldHVybiBpbmZvO1xufSkoKTtcblxuZnVuY3Rpb24gY3JlYXRlQ29uc29sZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuQ29uc29sZSkoe1xuICAgIG5hbWU6ICdjb25zb2xlJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIHN0ZGVyckxldmVsczogWydlcnJvciddLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBmb3JtYXQoZnVuY3Rpb24gYWRqdXN0RGVidWcgKGluZm8pIHtcbiAgICAgICAgLy8gcHJlcGVuZCBkZWJ1ZyBtYXJrZXIsIGFuZCBzaGlmdCB0byBgaW5mb2AgbG9nIGxldmVsXG4gICAgICAgIGlmIChpbmZvLmxldmVsID09PSAnZGVidWcnKSB7XG4gICAgICAgICAgaW5mby5sZXZlbCA9ICdpbmZvJztcbiAgICAgICAgICBpbmZvLm1lc3NhZ2UgPSBgW2RlYnVnXSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmZvO1xuICAgICAgfSkoKSxcbiAgICAgIHRpbWVzdGFtcEZvcm1hdCxcbiAgICAgIGFyZ3MubG9nTm9Db2xvcnMgPyBzdHJpcENvbG9yRm9ybWF0IDogY29sb3JpemVGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7YXJncy5sb2dUaW1lc3RhbXAgPyBgJHtpbmZvLnRpbWVzdGFtcH0gLSBgIDogJyd9JHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkZpbGUpKHtcbiAgICBuYW1lOiAnZmlsZScsXG4gICAgZmlsZW5hbWU6IGFyZ3MubG9nRmlsZSxcbiAgICBtYXhGaWxlczogMSxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIdHRwVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgbGV0IGhvc3QgPSAnMTI3LjAuMC4xJztcbiAgbGV0IHBvcnQgPSA5MDAzO1xuXG4gIGlmIChhcmdzLndlYmhvb2subWF0Y2goJzonKSkge1xuICAgIGNvbnN0IGhvc3RBbmRQb3J0ID0gYXJncy53ZWJob29rLnNwbGl0KCc6Jyk7XG4gICAgaG9zdCA9IGhvc3RBbmRQb3J0WzBdO1xuICAgIHBvcnQgPSBwYXJzZUludChob3N0QW5kUG9ydFsxXSwgMTApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5IdHRwKSh7XG4gICAgbmFtZTogJ2h0dHAnLFxuICAgIGhvc3QsXG4gICAgcG9ydCxcbiAgICBwYXRoOiAnLycsXG4gICAgaGFuZGxlRXhjZXB0aW9uczogdHJ1ZSxcbiAgICBleGl0T25FcnJvcjogZmFsc2UsXG4gICAganNvbjogZmFsc2UsXG4gICAgbGV2ZWw6IGxvZ0x2bCxcbiAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKFxuICAgICAgc3RyaXBDb2xvckZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHtpbmZvLnRpbWVzdGFtcH0gJHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKSxcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRyYW5zcG9ydHMgKGFyZ3MpIHtcbiAgbGV0IHRyYW5zcG9ydHMgPSBbXTtcbiAgbGV0IGNvbnNvbGVMb2dMZXZlbCA9IG51bGw7XG4gIGxldCBmaWxlTG9nTGV2ZWwgPSBudWxsO1xuXG4gIGlmIChhcmdzLmxvZ2xldmVsICYmIGFyZ3MubG9nbGV2ZWwubWF0Y2goJzonKSkge1xuICAgIC8vIC0tbG9nLWxldmVsIGFyZyBjYW4gb3B0aW9uYWxseSBwcm92aWRlIGRpZmYgbG9nZ2luZyBsZXZlbHMgZm9yIGNvbnNvbGUgYW5kIGZpbGUsIHNlcGFyYXRlZCBieSBhIGNvbG9uXG4gICAgY29uc3QgbHZsUGFpciA9IGFyZ3MubG9nbGV2ZWwuc3BsaXQoJzonKTtcbiAgICBjb25zb2xlTG9nTGV2ZWwgPSBsdmxQYWlyWzBdIHx8IGNvbnNvbGVMb2dMZXZlbDtcbiAgICBmaWxlTG9nTGV2ZWwgPSBsdmxQYWlyWzFdIHx8IGZpbGVMb2dMZXZlbDtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlTG9nTGV2ZWwgPSBmaWxlTG9nTGV2ZWwgPSBhcmdzLmxvZ2xldmVsO1xuICB9XG5cbiAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUNvbnNvbGVUcmFuc3BvcnQoYXJncywgY29uc29sZUxvZ0xldmVsKSk7XG5cbiAgaWYgKGFyZ3MubG9nRmlsZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBpZiB3ZSBkb24ndCBkZWxldGUgdGhlIGxvZyBmaWxlLCB3aW5zdG9uIHdpbGwgYWx3YXlzIGFwcGVuZCBhbmQgaXQgd2lsbCBncm93IGluZmluaXRlbHkgbGFyZ2U7XG4gICAgICAvLyB3aW5zdG9uIGFsbG93cyBmb3IgbGltaXRpbmcgbG9nIGZpbGUgc2l6ZSwgYnV0IGFzIG9mIDkuMi4xNCB0aGVyZSdzIGEgc2VyaW91cyBidWcgd2hlbiB1c2luZ1xuICAgICAgLy8gbWF4RmlsZXMgYW5kIG1heFNpemUgdG9nZXRoZXIuIGh0dHBzOi8vZ2l0aHViLmNvbS9mbGF0aXJvbi93aW5zdG9uL2lzc3Vlcy8zOTdcbiAgICAgIGlmIChhd2FpdCBmcy5leGlzdHMoYXJncy5sb2dGaWxlKSkge1xuICAgICAgICBhd2FpdCBmcy51bmxpbmsoYXJncy5sb2dGaWxlKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUZpbGVUcmFuc3BvcnQoYXJncywgZmlsZUxvZ0xldmVsKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBUcmllZCB0byBhdHRhY2ggbG9nZ2luZyB0byBmaWxlICcke2FyZ3MubG9nRmlsZX0nIGJ1dCBhbiBlcnJvciBgICtcbiAgICAgICAgICAgICAgICAgIGBvY2N1cnJlZDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGFyZ3Mud2ViaG9vaykge1xuICAgIHRyeSB7XG4gICAgICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlSHR0cFRyYW5zcG9ydChhcmdzLCBmaWxlTG9nTGV2ZWwpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFRyaWVkIHRvIGF0dGFjaCBsb2dnaW5nIHRvIEh0dHAgYXQgJHthcmdzLndlYmhvb2t9IGJ1dCBgICtcbiAgICAgICAgICAgICAgICAgIGBhbiBlcnJvciBvY2N1cnJlZDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRyYW5zcG9ydHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXQgKGFyZ3MpIHtcbiAgLy8gc2V0IGRlIGZhY3RvIHBhcmFtIHBhc3NlZCB0byB0aW1lc3RhbXAgZnVuY3Rpb25cbiAgdXNlTG9jYWxUaW1lWm9uZSA9IGFyZ3MubG9jYWxUaW1lem9uZTtcblxuICAvLyBjbGVhbiB1cCBpbiBjYXNlIHdlIGhhdmUgaW5pdGlhdGVkIGJlZm9yZSBzaW5jZSBucG1sb2cgaXMgYSBnbG9iYWwgb2JqZWN0XG4gIGNsZWFyKCk7XG5cbiAgbG9nID0gY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBhd2FpdCBjcmVhdGVUcmFuc3BvcnRzKGFyZ3MpLFxuICAgIGxldmVscyxcbiAgfSk7XG5cbiAgLy8gQ2FwdHVyZSBsb2dzIGVtaXR0ZWQgdmlhIG5wbWxvZyBhbmQgcGFzcyB0aGVtIHRocm91Z2ggd2luc3RvblxuICBucG1sb2cub24oJ2xvZycsIChsb2dPYmopID0+IHtcbiAgICBjb25zdCB3aW5zdG9uTGV2ZWwgPSBucG1Ub1dpbnN0b25MZXZlbHNbbG9nT2JqLmxldmVsXSB8fCAnaW5mbyc7XG4gICAgbGV0IG1zZyA9IGxvZ09iai5tZXNzYWdlO1xuICAgIGlmIChsb2dPYmoucHJlZml4KSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBgWyR7bG9nT2JqLnByZWZpeH1dYDtcbiAgICAgIG1zZyA9IGAke2FyZ3MubG9nTm9Db2xvcnMgPyBwcmVmaXggOiBwcmVmaXgubWFnZW50YX0gJHttc2d9YDtcbiAgICB9XG4gICAgbG9nW3dpbnN0b25MZXZlbF0obXNnKTtcbiAgICBpZiAoYXJncy5sb2dIYW5kbGVyICYmIF8uaXNGdW5jdGlvbihhcmdzLmxvZ0hhbmRsZXIpKSB7XG4gICAgICBhcmdzLmxvZ0hhbmRsZXIobG9nT2JqLmxldmVsLCBtc2cpO1xuICAgIH1cblxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xlYXIgKCkge1xuICBpZiAobG9nKSB7XG4gICAgZm9yIChsZXQgdHJhbnNwb3J0IG9mIF8ua2V5cyhsb2cudHJhbnNwb3J0cykpIHtcbiAgICAgIGxvZy5yZW1vdmUodHJhbnNwb3J0KTtcbiAgICB9XG4gIH1cbiAgbnBtbG9nLnJlbW92ZUFsbExpc3RlbmVycygnbG9nJyk7XG59XG5cblxuZXhwb3J0IHsgaW5pdCwgY2xlYXIgfTtcbmV4cG9ydCBkZWZhdWx0IGluaXQ7XG4iXX0=
|
package/build/lib/main.js
CHANGED
|
@@ -6,12 +6,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
Object.defineProperty(exports, "APPIUM_HOME", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function () {
|
|
12
|
-
return _extensionConfig.APPIUM_HOME;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
9
|
Object.defineProperty(exports, "finalizeSchema", {
|
|
16
10
|
enumerable: true,
|
|
17
11
|
get: function () {
|
|
@@ -32,6 +26,7 @@ Object.defineProperty(exports, "readConfigFile", {
|
|
|
32
26
|
return _configFile.readConfigFile;
|
|
33
27
|
}
|
|
34
28
|
});
|
|
29
|
+
exports.resolveAppiumHome = void 0;
|
|
35
30
|
Object.defineProperty(exports, "validate", {
|
|
36
31
|
enumerable: true,
|
|
37
32
|
get: function () {
|
|
@@ -41,6 +36,8 @@ Object.defineProperty(exports, "validate", {
|
|
|
41
36
|
|
|
42
37
|
require("source-map-support/register");
|
|
43
38
|
|
|
39
|
+
var _logsink = require("./logsink");
|
|
40
|
+
|
|
44
41
|
var _logger = _interopRequireDefault(require("./logger"));
|
|
45
42
|
|
|
46
43
|
var _baseDriver = require("@appium/base-driver");
|
|
@@ -53,29 +50,28 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
53
50
|
|
|
54
51
|
var _appium = require("./appium");
|
|
55
52
|
|
|
56
|
-
var _args = require("./cli/args");
|
|
57
|
-
|
|
58
53
|
var _extension = require("./cli/extension");
|
|
59
54
|
|
|
60
|
-
var _parser =
|
|
55
|
+
var _parser = require("./cli/parser");
|
|
61
56
|
|
|
62
57
|
var _config = require("./config");
|
|
63
58
|
|
|
64
59
|
var _configFile = require("./config-file");
|
|
65
60
|
|
|
66
|
-
var
|
|
61
|
+
var _extension2 = require("./extension");
|
|
67
62
|
|
|
68
|
-
var
|
|
63
|
+
var _constants = require("./constants");
|
|
69
64
|
|
|
70
|
-
var
|
|
65
|
+
var _gridRegister = _interopRequireDefault(require("./grid-register"));
|
|
71
66
|
|
|
72
67
|
var _schema = require("./schema/schema");
|
|
73
68
|
|
|
74
69
|
var _utils = require("./utils");
|
|
75
70
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
const {
|
|
72
|
+
resolveAppiumHome
|
|
73
|
+
} = _support.env;
|
|
74
|
+
exports.resolveAppiumHome = resolveAppiumHome;
|
|
79
75
|
|
|
80
76
|
async function preflightChecks(args, throwInsteadOfExit = false) {
|
|
81
77
|
try {
|
|
@@ -91,6 +87,7 @@ async function preflightChecks(args, throwInsteadOfExit = false) {
|
|
|
91
87
|
}
|
|
92
88
|
|
|
93
89
|
(0, _config.warnNodeDeprecations)();
|
|
90
|
+
(0, _schema.validate)(args);
|
|
94
91
|
|
|
95
92
|
if (args.tmpDir) {
|
|
96
93
|
await (0, _config.validateTmpDir)(args.tmpDir);
|
|
@@ -145,37 +142,6 @@ function logServerPort(address, port) {
|
|
|
145
142
|
_logger.default.info(logMessage);
|
|
146
143
|
}
|
|
147
144
|
|
|
148
|
-
function getActivePlugins(args, pluginConfig) {
|
|
149
|
-
return _lodash.default.compact(Object.keys(pluginConfig.installedExtensions).filter(pluginName => _lodash.default.includes(args.usePlugins, pluginName) || args.usePlugins.length === 1 && args.usePlugins[0] === _args.USE_ALL_PLUGINS).map(pluginName => {
|
|
150
|
-
try {
|
|
151
|
-
_logger.default.info(`Attempting to load plugin ${pluginName}...`);
|
|
152
|
-
|
|
153
|
-
const PluginClass = pluginConfig.require(pluginName);
|
|
154
|
-
|
|
155
|
-
PluginClass.pluginName = pluginName;
|
|
156
|
-
return PluginClass;
|
|
157
|
-
} catch (err) {
|
|
158
|
-
_logger.default.error(`Could not load plugin '${pluginName}', so it will not be available. Error ` + `in loading the plugin was: ${err.message}`);
|
|
159
|
-
|
|
160
|
-
_logger.default.debug(err.stack);
|
|
161
|
-
}
|
|
162
|
-
}));
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function getActiveDrivers(args, driverConfig) {
|
|
166
|
-
return _lodash.default.compact(Object.keys(driverConfig.installedExtensions).filter(driverName => _lodash.default.includes(args.useDrivers, driverName) || args.useDrivers.length === 0).map(driverName => {
|
|
167
|
-
try {
|
|
168
|
-
_logger.default.info(`Attempting to load driver ${driverName}...`);
|
|
169
|
-
|
|
170
|
-
return driverConfig.require(driverName);
|
|
171
|
-
} catch (err) {
|
|
172
|
-
_logger.default.error(`Could not load driver '${driverName}', so it will not be available. Error ` + `in loading the driver was: ${err.message}`);
|
|
173
|
-
|
|
174
|
-
_logger.default.debug(err.stack);
|
|
175
|
-
}
|
|
176
|
-
}));
|
|
177
|
-
}
|
|
178
|
-
|
|
179
145
|
function getServerUpdaters(driverClasses, pluginClasses) {
|
|
180
146
|
return _lodash.default.compact(_lodash.default.map([...driverClasses, ...pluginClasses], 'updateServer'));
|
|
181
147
|
}
|
|
@@ -187,7 +153,14 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
|
187
153
|
}
|
|
188
154
|
|
|
189
155
|
async function init(args) {
|
|
190
|
-
|
|
156
|
+
var _args$appiumHome;
|
|
157
|
+
|
|
158
|
+
const appiumHome = (_args$appiumHome = args === null || args === void 0 ? void 0 : args.appiumHome) !== null && _args$appiumHome !== void 0 ? _args$appiumHome : await resolveAppiumHome();
|
|
159
|
+
const {
|
|
160
|
+
driverConfig,
|
|
161
|
+
pluginConfig
|
|
162
|
+
} = await (0, _extension2.loadExtensions)(appiumHome);
|
|
163
|
+
const parser = (0, _parser.getParser)();
|
|
191
164
|
let throwInsteadOfExit = false;
|
|
192
165
|
let preConfigParsedArgs;
|
|
193
166
|
let parsedArgs;
|
|
@@ -202,7 +175,7 @@ async function init(args) {
|
|
|
202
175
|
}
|
|
203
176
|
|
|
204
177
|
preConfigParsedArgs = { ...args,
|
|
205
|
-
subcommand: (_args$subcommand = args.subcommand) !== null && _args$subcommand !== void 0 ? _args$subcommand :
|
|
178
|
+
subcommand: (_args$subcommand = args.subcommand) !== null && _args$subcommand !== void 0 ? _args$subcommand : _constants.SERVER_SUBCOMMAND
|
|
206
179
|
};
|
|
207
180
|
} else {
|
|
208
181
|
preConfigParsedArgs = parser.parseArgs();
|
|
@@ -216,7 +189,7 @@ async function init(args) {
|
|
|
216
189
|
throw new Error(`Errors in config file ${configResult.filepath}:\n ${(_configResult$reason = configResult.reason) !== null && _configResult$reason !== void 0 ? _configResult$reason : configResult.errors}`);
|
|
217
190
|
}
|
|
218
191
|
|
|
219
|
-
if (preConfigParsedArgs.subcommand ===
|
|
192
|
+
if (preConfigParsedArgs.subcommand === _constants.SERVER_SUBCOMMAND) {
|
|
220
193
|
var _configResult$config;
|
|
221
194
|
|
|
222
195
|
defaults = (0, _schema.getDefaultsForSchema)(false);
|
|
@@ -232,13 +205,13 @@ async function init(args) {
|
|
|
232
205
|
|
|
233
206
|
await (0, _logsink.init)(parsedArgs);
|
|
234
207
|
|
|
235
|
-
if (parsedArgs.subcommand ===
|
|
236
|
-
await (0, _extension.runExtensionCommand)(parsedArgs,
|
|
208
|
+
if (parsedArgs.subcommand === _constants.DRIVER_TYPE) {
|
|
209
|
+
await (0, _extension.runExtensionCommand)(parsedArgs, driverConfig);
|
|
237
210
|
return {};
|
|
238
211
|
}
|
|
239
212
|
|
|
240
|
-
if (parsedArgs.subcommand ===
|
|
241
|
-
await (0, _extension.runExtensionCommand)(parsedArgs,
|
|
213
|
+
if (parsedArgs.subcommand === _constants.PLUGIN_TYPE) {
|
|
214
|
+
await (0, _extension.runExtensionCommand)(parsedArgs, pluginConfig);
|
|
242
215
|
return {};
|
|
243
216
|
}
|
|
244
217
|
|
|
@@ -260,29 +233,33 @@ async function init(args) {
|
|
|
260
233
|
}
|
|
261
234
|
|
|
262
235
|
const appiumDriver = new _appium.AppiumDriver(parsedArgs);
|
|
263
|
-
appiumDriver.driverConfig =
|
|
236
|
+
appiumDriver.driverConfig = driverConfig;
|
|
264
237
|
await preflightChecks(parsedArgs, throwInsteadOfExit);
|
|
265
238
|
return {
|
|
266
239
|
appiumDriver,
|
|
267
|
-
parsedArgs
|
|
240
|
+
parsedArgs,
|
|
241
|
+
driverConfig,
|
|
242
|
+
pluginConfig
|
|
268
243
|
};
|
|
269
244
|
}
|
|
270
245
|
|
|
271
246
|
async function main(args) {
|
|
272
247
|
const {
|
|
273
248
|
appiumDriver,
|
|
274
|
-
parsedArgs
|
|
249
|
+
parsedArgs,
|
|
250
|
+
pluginConfig,
|
|
251
|
+
driverConfig
|
|
275
252
|
} = await init(args);
|
|
276
253
|
|
|
277
|
-
if (!appiumDriver || !parsedArgs) {
|
|
254
|
+
if (!appiumDriver || !parsedArgs || !pluginConfig || !driverConfig) {
|
|
278
255
|
return;
|
|
279
256
|
}
|
|
280
257
|
|
|
281
|
-
const pluginClasses = getActivePlugins(
|
|
258
|
+
const pluginClasses = (0, _extension2.getActivePlugins)(pluginConfig, parsedArgs.usePlugins);
|
|
282
259
|
appiumDriver.pluginClasses = pluginClasses;
|
|
283
260
|
await logStartupInfo(parsedArgs);
|
|
284
261
|
let routeConfiguringFunction = (0, _baseDriver.routeConfiguringFunction)(appiumDriver);
|
|
285
|
-
const driverClasses = getActiveDrivers(
|
|
262
|
+
const driverClasses = (0, _extension2.getActiveDrivers)(driverConfig, parsedArgs.useDrivers);
|
|
286
263
|
const serverUpdaters = getServerUpdaters(driverClasses, pluginClasses);
|
|
287
264
|
const extraMethodMap = getExtraMethodMap(driverClasses, pluginClasses);
|
|
288
265
|
const serverOpts = {
|
|
@@ -346,17 +323,12 @@ async function main(args) {
|
|
|
346
323
|
}
|
|
347
324
|
|
|
348
325
|
logServerPort(parsedArgs.address, parsedArgs.port);
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
_args.pluginConfig.print(pluginClasses.map(p => p.pluginName));
|
|
353
|
-
|
|
326
|
+
driverConfig.print();
|
|
327
|
+
pluginConfig.print(pluginClasses.map(p => p.pluginName));
|
|
354
328
|
return server;
|
|
355
329
|
}
|
|
356
330
|
|
|
357
331
|
if (require.main === module) {
|
|
358
332
|
(0, _asyncbox.asyncify)(main);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9tYWluLmpzIl0sIm5hbWVzIjpbInByZWZsaWdodENoZWNrcyIsImFyZ3MiLCJ0aHJvd0luc3RlYWRPZkV4aXQiLCJsb25nU3RhY2t0cmFjZSIsInJlcXVpcmUiLCJhc3luY190cmFjZV9saW1pdCIsInNob3dCdWlsZEluZm8iLCJwcm9jZXNzIiwiZXhpdCIsInRtcERpciIsImVyciIsImxvZ2dlciIsImVycm9yIiwibWVzc2FnZSIsInJlZCIsImxvZ05vbkRlZmF1bHRBcmdzV2FybmluZyIsImluZm8iLCJsb2dEZWZhdWx0Q2FwYWJpbGl0aWVzV2FybmluZyIsImNhcHMiLCJsb2dTdGFydHVwSW5mbyIsIndlbGNvbWUiLCJBUFBJVU1fVkVSIiwiYXBwaXVtUmV2Iiwic2hvd0FyZ3MiLCJfIiwic2l6ZSIsImlzRW1wdHkiLCJkZWZhdWx0Q2FwYWJpbGl0aWVzIiwibG9nU2VydmVyUG9ydCIsImFkZHJlc3MiLCJwb3J0IiwibG9nTWVzc2FnZSIsImdldEFjdGl2ZVBsdWdpbnMiLCJwbHVnaW5Db25maWciLCJjb21wYWN0IiwiT2JqZWN0Iiwia2V5cyIsImluc3RhbGxlZEV4dGVuc2lvbnMiLCJmaWx0ZXIiLCJwbHVnaW5OYW1lIiwiaW5jbHVkZXMiLCJ1c2VQbHVnaW5zIiwibGVuZ3RoIiwiVVNFX0FMTF9QTFVHSU5TIiwibWFwIiwiUGx1Z2luQ2xhc3MiLCJkZWJ1ZyIsInN0YWNrIiwiZ2V0QWN0aXZlRHJpdmVycyIsImRyaXZlckNvbmZpZyIsImRyaXZlck5hbWUiLCJ1c2VEcml2ZXJzIiwiZ2V0U2VydmVyVXBkYXRlcnMiLCJkcml2ZXJDbGFzc2VzIiwicGx1Z2luQ2xhc3NlcyIsImdldEV4dHJhTWV0aG9kTWFwIiwicmVkdWNlIiwia2xhc3MiLCJuZXdNZXRob2RNYXAiLCJpbml0IiwicGFyc2VyIiwicHJlQ29uZmlnUGFyc2VkQXJncyIsInBhcnNlZEFyZ3MiLCJkZWZhdWx0cyIsInN1YmNvbW1hbmQiLCJTRVJWRVJfU1VCQ09NTUFORCIsInBhcnNlQXJncyIsImNvbmZpZ1Jlc3VsdCIsImNvbmZpZ0ZpbGUiLCJlcnJvcnMiLCJFcnJvciIsImZpbGVwYXRoIiwicmVhc29uIiwiZGVmYXVsdHNEZWVwIiwiY29uZmlnIiwic2VydmVyIiwic2hvd0NvbmZpZyIsIkRSSVZFUl9UWVBFIiwiUExVR0lOX1RZUEUiLCJsb2dGaWx0ZXJzIiwiaXNzdWVzIiwicnVsZXMiLCJsb2dGYWN0b3J5IiwibG9hZFNlY3VyZVZhbHVlc1ByZXByb2Nlc3NpbmdSdWxlcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ3YXJuIiwidXRpbCIsInBsdXJhbGl6ZSIsImFwcGl1bURyaXZlciIsIkFwcGl1bURyaXZlciIsIm1haW4iLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJzZXJ2ZXJVcGRhdGVycyIsImV4dHJhTWV0aG9kTWFwIiwic2VydmVyT3B0cyIsImhvc3RuYW1lIiwiYWxsb3dDb3JzIiwiYmFzZVBhdGgiLCJrZWVwQWxpdmVUaW1lb3V0Iiwibm9kZWNvbmZpZyIsImNsb3NlIiwic2lnbmFsIiwib25jZSIsIm9uU2lnbmFsIiwiZGVsZXRlQWxsU2Vzc2lvbnMiLCJmb3JjZSIsImUiLCJwcmludCIsInAiLCJtb2R1bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQU9BLGVBQWVBLGVBQWYsQ0FBZ0NDLElBQWhDLEVBQXNDQyxrQkFBa0IsR0FBRyxLQUEzRCxFQUFrRTtBQUNoRSxNQUFJO0FBQ0Y7O0FBQ0EsUUFBSUQsSUFBSSxDQUFDRSxjQUFULEVBQXlCO0FBQ3ZCQyxNQUFBQSxPQUFPLENBQUMsVUFBRCxDQUFQLENBQW9CQyxpQkFBcEIsR0FBd0MsQ0FBQyxDQUF6QztBQUNEOztBQUNELFFBQUlKLElBQUksQ0FBQ0ss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QixDQUFuQjs7QUFFQSxTQUFPb0MsTUFBUDtBQUNEOztBQUtELElBQUl2RSxPQUFPLENBQUN1RixJQUFSLEtBQWlCbUIsTUFBckIsRUFBNkI7QUFDM0IsMEJBQVNuQixJQUFUO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbi8vIHRyYW5zcGlsZTptYWluXG4vLyBAdHMtY2hlY2tcblxuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7IC8vIGxvZ2dlciBuZWVkcyB0byByZW1haW4gZmlyc3Qgb2YgaW1wb3J0c1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIGFzIG1ha2VSb3V0ZXIsIHNlcnZlciBhcyBiYXNlU2VydmVyIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlcic7XG5pbXBvcnQgeyBsb2dnZXIgYXMgbG9nRmFjdG9yeSwgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBhc3luY2lmeSB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBcHBpdW1Ecml2ZXIgfSBmcm9tICcuL2FwcGl1bSc7XG5pbXBvcnQgeyBkcml2ZXJDb25maWcsIHBsdWdpbkNvbmZpZywgVVNFX0FMTF9QTFVHSU5TIH0gZnJvbSAnLi9jbGkvYXJncyc7XG5pbXBvcnQgeyBydW5FeHRlbnNpb25Db21tYW5kIH0gZnJvbSAnLi9jbGkvZXh0ZW5zaW9uJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgZ2V0UGFyc2VyLCBTRVJWRVJfU1VCQ09NTUFORCB9IGZyb20gJy4vY2xpL3BhcnNlcic7XG5pbXBvcnQgeyBBUFBJVU1fVkVSLCBjaGVja05vZGVPaywgZ2V0R2l0UmV2LCBnZXROb25EZWZhdWx0U2VydmVyQXJncywgc2hvd0J1aWxkSW5mbywgdmFsaWRhdGVUbXBEaXIsIHdhcm5Ob2RlRGVwcmVjYXRpb25zLCBzaG93Q29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgcmVhZENvbmZpZ0ZpbGUgfSBmcm9tICcuL2NvbmZpZy1maWxlJztcbmltcG9ydCB7IERSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRSB9IGZyb20gJy4vZXh0ZW5zaW9uLWNvbmZpZyc7XG5pbXBvcnQgcmVnaXN0ZXJOb2RlIGZyb20gJy4vZ3JpZC1yZWdpc3Rlcic7XG5pbXBvcnQgeyBpbml0IGFzIGxvZ3NpbmtJbml0IH0gZnJvbSAnLi9sb2dzaW5rJztcbmltcG9ydCB7IGdldERlZmF1bHRzRm9yU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEvc2NoZW1hJztcbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKlxuICogQHBhcmFtIHtQYXJzZWRBcmdzfSBhcmdzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFt0aHJvd0luc3RlYWRPZkV4aXRdXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHByZWZsaWdodENoZWNrcyAoYXJncywgdGhyb3dJbnN0ZWFkT2ZFeGl0ID0gZmFsc2UpIHtcbiAgdHJ5IHtcbiAgICBjaGVja05vZGVPaygpO1xuICAgIGlmIChhcmdzLmxvbmdTdGFja3RyYWNlKSB7XG4gICAgICByZXF1aXJlKCdsb25nam9obicpLmFzeW5jX3RyYWNlX2xpbWl0ID0gLTE7XG4gICAgfVxuICAgIGlmIChhcmdzLnNob3dCdWlsZEluZm8pIHtcbiAgICAgIGF3YWl0IHNob3dCdWlsZEluZm8oKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICB9XG4gICAgd2Fybk5vZGVEZXByZWNhdGlvbnMoKTtcblxuICAgIGlmIChhcmdzLnRtcERpcikge1xuICAgICAgYXdhaXQgdmFsaWRhdGVUbXBEaXIoYXJncy50bXBEaXIpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmVycm9yKGVyci5tZXNzYWdlLnJlZCk7XG4gICAgaWYgKHRocm93SW5zdGVhZE9mRXhpdCkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cblxuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7UGFydGlhbDxQYXJzZWRBcmdzPn0gYXJnc1xuICovXG5mdW5jdGlvbiBsb2dOb25EZWZhdWx0QXJnc1dhcm5pbmcgKGFyZ3MpIHtcbiAgbG9nZ2VyLmluZm8oJ05vbi1kZWZhdWx0IHNlcnZlciBhcmdzOicpO1xuICBpbnNwZWN0KGFyZ3MpO1xufVxuXG5mdW5jdGlvbiBsb2dEZWZhdWx0Q2FwYWJpbGl0aWVzV2FybmluZyAoY2Fwcykge1xuICBsb2dnZXIuaW5mbygnRGVmYXVsdCBjYXBhYmlsaXRpZXMsIHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gZWFjaCByZXF1ZXN0ICcgK1xuICAgICAgICAgICAgICAndW5sZXNzIG92ZXJyaWRkZW4gYnkgZGVzaXJlZCBjYXBhYmlsaXRpZXM6Jyk7XG4gIGluc3BlY3QoY2Fwcyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtQYXJzZWRBcmdzfSBhcmdzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvZ1N0YXJ0dXBJbmZvIChhcmdzKSB7XG4gIGxldCB3ZWxjb21lID0gYFdlbGNvbWUgdG8gQXBwaXVtIHYke0FQUElVTV9WRVJ9YDtcbiAgbGV0IGFwcGl1bVJldiA9IGF3YWl0IGdldEdpdFJldigpO1xuICBpZiAoYXBwaXVtUmV2KSB7XG4gICAgd2VsY29tZSArPSBgIChSRVYgJHthcHBpdW1SZXZ9KWA7XG4gIH1cbiAgbG9nZ2VyLmluZm8od2VsY29tZSk7XG5cbiAgbGV0IHNob3dBcmdzID0gZ2V0Tm9uRGVmYXVsdFNlcnZlckFyZ3MoYXJncyk7XG4gIGlmIChfLnNpemUoc2hvd0FyZ3MpKSB7XG4gICAgbG9nTm9uRGVmYXVsdEFyZ3NXYXJuaW5nKHNob3dBcmdzKTtcbiAgfVxuICBpZiAoIV8uaXNFbXB0eShhcmdzLmRlZmF1bHRDYXBhYmlsaXRpZXMpKSB7XG4gICAgbG9nRGVmYXVsdENhcGFiaWxpdGllc1dhcm5pbmcoYXJncy5kZWZhdWx0Q2FwYWJpbGl0aWVzKTtcbiAgfVxuICAvLyBUT0RPOiBicmluZyBiYWNrIGxvZ2xldmVsIHJlcG9ydGluZyBiZWxvdyBvbmNlIGxvZ2dlciBpcyBmbHVzaGVkIG91dFxuICAvLyBsb2dnZXIuaW5mbygnQ29uc29sZSBMb2dMZXZlbDogJyArIGxvZ2dlci50cmFuc3BvcnRzLmNvbnNvbGUubGV2ZWwpO1xuICAvLyBpZiAobG9nZ2VyLnRyYW5zcG9ydHMuZmlsZSkge1xuICAvLyAgIGxvZ2dlci5pbmZvKCdGaWxlIExvZ0xldmVsOiAnICsgbG9nZ2VyLnRyYW5zcG9ydHMuZmlsZS5sZXZlbCk7XG4gIC8vIH1cbn1cblxuLyoqXG4gKiBMb2dzIHRoZSBhZGRyZXNzIGFuZCBwb3J0IHRoZSBzZXJ2ZXIgaXMgbGlzdGVuaW5nIG9uXG4gKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIEFkZHJlc3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3J0IC0gUG9ydFxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGxvZ1NlcnZlclBvcnQgKGFkZHJlc3MsIHBvcnQpIHtcbiAgbGV0IGxvZ01lc3NhZ2UgPSBgQXBwaXVtIFJFU1QgaHR0cCBpbnRlcmZhY2UgbGlzdGVuZXIgc3RhcnRlZCBvbiBgICtcbiAgICAgICAgICAgICAgICAgICBgJHthZGRyZXNzfToke3BvcnR9YDtcbiAgbG9nZ2VyLmluZm8obG9nTWVzc2FnZSk7XG59XG5cbi8qKlxuICogRmluZCBhbnkgcGx1Z2luIG5hbWUgd2hpY2ggaGFzIGJlZW4gaW5zdGFsbGVkLCBhbmQgd2hpY2ggaGFzIGJlZW4gcmVxdWVzdGVkIGZvciBhY3RpdmF0aW9uIGJ5XG4gKiB1c2luZyB0aGUgLS11c2UtcGx1Z2lucyBmbGFnLCBhbmQgdHVybiBlYWNoIG9uZSBpbnRvIGl0cyBjbGFzcywgc28gd2UgY2FuIHNlbmQgdGhlbSBhcyBvYmplY3RzXG4gKiB0byB0aGUgc2VydmVyIGluaXQuIFdlIGFsc28gd2FudCB0byBzZW5kL2Fzc2lnbiB0aGVtIHRvIHRoZSB1bWJyZWxsYSBkcml2ZXIgc28gaXQgY2FuIHVzZSB0aGVtXG4gKiB0byB3cmFwIGNvbW1hbmQgZXhlY3V0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGFyZ3MgLSBhcmdwYXJzZXIgcGFyc2VkIGRpY3RcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3BsdWdpbi1jb25maWcnKS5kZWZhdWx0fSBwbHVnaW5Db25maWcgLSBhIHBsdWdpbiBleHRlbnNpb24gY29uZmlnXG4gKiBAcmV0dXJucyB7UGx1Z2luRXh0ZW5zaW9uQ2xhc3NbXX1cbiAqL1xuZnVuY3Rpb24gZ2V0QWN0aXZlUGx1Z2lucyAoYXJncywgcGx1Z2luQ29uZmlnKSB7XG4gIHJldHVybiBfLmNvbXBhY3QoT2JqZWN0LmtleXMocGx1Z2luQ29uZmlnLmluc3RhbGxlZEV4dGVuc2lvbnMpLmZpbHRlcigocGx1Z2luTmFtZSkgPT5cbiAgICBfLmluY2x1ZGVzKGFyZ3MudXNlUGx1Z2lucywgcGx1Z2luTmFtZSkgfHxcbiAgICAoYXJncy51c2VQbHVnaW5zLmxlbmd0aCA9PT0gMSAmJiBhcmdzLnVzZVBsdWdpbnNbMF0gPT09IFVTRV9BTExfUExVR0lOUylcbiAgKS5tYXAoKHBsdWdpbk5hbWUpID0+IHtcbiAgICB0cnkge1xuICAgICAgbG9nZ2VyLmluZm8oYEF0dGVtcHRpbmcgdG8gbG9hZCBwbHVnaW4gJHtwbHVnaW5OYW1lfS4uLmApO1xuICAgICAgY29uc3QgUGx1Z2luQ2xhc3MgPSAvKiogQHR5cGUge1BsdWdpbkV4dGVuc2lvbkNsYXNzfSAqLyhwbHVnaW5Db25maWcucmVxdWlyZShwbHVnaW5OYW1lKSk7XG5cbiAgICAgIFBsdWdpbkNsYXNzLnBsdWdpbk5hbWUgPSBwbHVnaW5OYW1lOyAvLyBzdG9yZSB0aGUgcGx1Z2luIG5hbWUgb24gdGhlIGNsYXNzIHNvIGl0IGNhbiBiZSB1c2VkIGxhdGVyXG4gICAgICByZXR1cm4gUGx1Z2luQ2xhc3M7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoYENvdWxkIG5vdCBsb2FkIHBsdWdpbiAnJHtwbHVnaW5OYW1lfScsIHNvIGl0IHdpbGwgbm90IGJlIGF2YWlsYWJsZS4gRXJyb3IgYCArXG4gICAgICAgICAgICAgICAgICAgYGluIGxvYWRpbmcgdGhlIHBsdWdpbiB3YXM6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICBsb2dnZXIuZGVidWcoZXJyLnN0YWNrKTtcbiAgICB9XG4gIH0pKTtcbn1cblxuLyoqXG4gKiBGaW5kIGFueSBkcml2ZXIgbmFtZSB3aGljaCBoYXMgYmVlbiBpbnN0YWxsZWQsIGFuZCB0dXJuIGVhY2ggb25lIGludG8gaXRzIGNsYXNzLCBzbyB3ZSBjYW4gc2VuZFxuICogdGhlbSBhcyBvYmplY3RzIHRvIHRoZSBzZXJ2ZXIgaW5pdCBpbiBjYXNlIHRoZXkgbmVlZCB0byBhZGQgbWV0aG9kcy9yb3V0ZXMgb3IgdXBkYXRlIHRoZSBzZXJ2ZXIuXG4gKiBJZiB0aGUgLS1kcml2ZXJzIGZsYWcgd2FzIGdpdmVuLCB0aGlzIG1ldGhvZCBvbmx5IGxvYWRzIHRoZSBnaXZlbiBkcml2ZXJzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzIC0gYXJncGFyc2VyIHBhcnNlZCBkaWN0XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9kcml2ZXItY29uZmlnJykuZGVmYXVsdH0gZHJpdmVyQ29uZmlnIC0gYSBkcml2ZXIgZXh0ZW5zaW9uIGNvbmZpZ1xuICovXG5mdW5jdGlvbiBnZXRBY3RpdmVEcml2ZXJzIChhcmdzLCBkcml2ZXJDb25maWcpIHtcbiAgcmV0dXJuIF8uY29tcGFjdChPYmplY3Qua2V5cyhkcml2ZXJDb25maWcuaW5zdGFsbGVkRXh0ZW5zaW9ucykuZmlsdGVyKChkcml2ZXJOYW1lKSA9PlxuICAgIF8uaW5jbHVkZXMoYXJncy51c2VEcml2ZXJzLCBkcml2ZXJOYW1lKSB8fCBhcmdzLnVzZURyaXZlcnMubGVuZ3RoID09PSAwXG4gICkubWFwKChkcml2ZXJOYW1lKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGxvZ2dlci5pbmZvKGBBdHRlbXB0aW5nIHRvIGxvYWQgZHJpdmVyICR7ZHJpdmVyTmFtZX0uLi5gKTtcbiAgICAgIHJldHVybiBkcml2ZXJDb25maWcucmVxdWlyZShkcml2ZXJOYW1lKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGxvYWQgZHJpdmVyICcke2RyaXZlck5hbWV9Jywgc28gaXQgd2lsbCBub3QgYmUgYXZhaWxhYmxlLiBFcnJvciBgICtcbiAgICAgICAgICAgICAgICAgICBgaW4gbG9hZGluZyB0aGUgZHJpdmVyIHdhczogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhlcnIuc3RhY2spO1xuICAgIH1cbiAgfSkpO1xufVxuXG4vKipcbiAqIEdldHMgYSBsaXN0IG9mIGB1cGRhdGVTZXJ2ZXJgIGZ1bmN0aW9ucyBmcm9tIGFsbCBleHRlbnNpb25zXG4gKiBAcGFyYW0ge0RyaXZlckV4dGVuc2lvbkNsYXNzW119IGRyaXZlckNsYXNzZXNcbiAqIEBwYXJhbSB7UGx1Z2luRXh0ZW5zaW9uQ2xhc3NbXX0gcGx1Z2luQ2xhc3Nlc1xuICogQHJldHVybnMge1N0YXRpY0V4dE1lbWJlcnNbJ3VwZGF0ZVNlcnZlciddW119XG4gKi9cbmZ1bmN0aW9uIGdldFNlcnZlclVwZGF0ZXJzIChkcml2ZXJDbGFzc2VzLCBwbHVnaW5DbGFzc2VzKSB7XG4gIHJldHVybiBfLmNvbXBhY3QoXy5tYXAoWy4uLmRyaXZlckNsYXNzZXMsIC4uLnBsdWdpbkNsYXNzZXNdLCAndXBkYXRlU2VydmVyJykpO1xufVxuXG4vKipcbiAqIE1ha2VzIGEgYmlnIGBNZXRob2RNYXBgIGZyb20gYWxsIHRoZSBsaXR0bGUgYE1ldGhvZE1hcGBzIGluIHRoZSBleHRlbnNpb25zXG4gKiBAcGFyYW0ge0RyaXZlckV4dGVuc2lvbkNsYXNzW119IGRyaXZlckNsYXNzZXNcbiAqIEBwYXJhbSB7UGx1Z2luRXh0ZW5zaW9uQ2xhc3NbXX0gcGx1Z2luQ2xhc3Nlc1xuICogQHJldHVybnMge2ltcG9ydCgnQGFwcGl1bS9iYXNlLWRyaXZlcicpLk1ldGhvZE1hcH1cbiAqL1xuZnVuY3Rpb24gZ2V0RXh0cmFNZXRob2RNYXAgKGRyaXZlckNsYXNzZXMsIHBsdWdpbkNsYXNzZXMpIHtcbiAgcmV0dXJuIFsuLi5kcml2ZXJDbGFzc2VzLCAuLi5wbHVnaW5DbGFzc2VzXS5yZWR1Y2UoXG4gICAgKG1hcCwga2xhc3MpID0+ICh7Li4ubWFwLCAuLi5rbGFzcy5uZXdNZXRob2RNYXB9KSxcbiAgICB7fVxuICApO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIEFwcGl1bSwgYnV0IGRvZXMgbm90IHN0YXJ0IHRoZSBzZXJ2ZXIuXG4gKlxuICogVXNlIHRoaXMgdG8gZ2V0IGF0IHRoZSBjb25maWd1cmF0aW9uIHNjaGVtYS5cbiAqXG4gKiBJZiBgYXJnc2AgY29udGFpbnMgYSBub24tZW1wdHkgYHN1YmNvbW1hbmRgIHdoaWNoIGlzIG5vdCBgc2VydmVyYCwgdGhpcyBmdW5jdGlvblxuICogd2lsbCByZXNvbHZlIHdpdGggYW4gZW1wdHkgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB7UGFyc2VkQXJnc30gW2FyZ3NdIC0gUGFyc2VkIGFyZ3NcbiAqIEByZXR1cm5zIHtQcm9taXNlPFBhcnRpYWw8e2FwcGl1bURyaXZlcjogQXBwaXVtRHJpdmVyLCBwYXJzZWRBcmdzOiBQYXJzZWRBcmdzfT4+fVxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7aW5pdCwgZ2V0U2NoZW1hfSBmcm9tICdhcHBpdW0nO1xuICogY29uc3Qgb3B0aW9ucyA9IHt9OyAvLyBjb25maWcgb2JqZWN0XG4gKiBhd2FpdCBpbml0KG9wdGlvbnMpO1xuICogY29uc3Qgc2NoZW1hID0gZ2V0U2NoZW1hKCk7IC8vIGVudGlyZSBjb25maWcgc2NoZW1hIGluY2x1ZGluZyBwbHVnaW5zIGFuZCBkcml2ZXJzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGluaXQgKGFyZ3MpIHtcbiAgY29uc3QgcGFyc2VyID0gYXdhaXQgZ2V0UGFyc2VyKCk7XG4gIGxldCB0aHJvd0luc3RlYWRPZkV4aXQgPSBmYWxzZTtcbiAgLyoqIEB0eXBlIHtQYXJzZWRBcmdzfSAqL1xuICBsZXQgcHJlQ29uZmlnUGFyc2VkQXJncztcbiAgLyoqIEB0eXBlIHt0eXBlb2YgcHJlQ29uZmlnUGFyc2VkQXJncyAmIGltcG9ydCgndHlwZS1mZXN0JykuQXN5bmNSZXR1cm5UeXBlPHJlYWRDb25maWdGaWxlPlsnY29uZmlnJ119ICovXG4gIGxldCBwYXJzZWRBcmdzO1xuICAvKipcbiAgICogVGhpcyBpcyBhIGRlZmluaXRpb24gKGluc3RlYWQgb2YgZGVjbGFyYXRpb24pIGJlY2F1c2UgVFMgY2FuJ3QgZmlndXJlIG91dFxuICAgKiB0aGUgdmFsdWUgd2lsbCBiZSBkZWZpbmVkIHdoZW4gaXQncyB1c2VkLlxuICAgKiBAdHlwZSB7UmV0dXJuVHlwZTxnZXREZWZhdWx0c0ZvclNjaGVtYT59XG4gICAqL1xuICBsZXQgZGVmYXVsdHMgPSB7fTtcbiAgaWYgKGFyZ3MpIHtcbiAgICAvLyBpZiB3ZSBoYXZlIGEgY29udGFpbmluZyBwYWNrYWdlIGluc3RlYWQgb2YgcnVubmluZyBhcyBhIENMSSBwcm9jZXNzLFxuICAgIC8vIHRoYXQgcGFja2FnZSBtaWdodCBub3QgYXBwcmVjaWF0ZSB1cyBjYWxsaW5nICdwcm9jZXNzLmV4aXQnIHdpbGx5LVxuICAgIC8vIG5pbGx5LCBzbyBnaXZlIGl0IHRoZSBvcHRpb24gdG8gaGF2ZSB1cyB0aHJvdyBpbnN0ZWFkIG9mIGV4aXRcbiAgICBpZiAoYXJncy50aHJvd0luc3RlYWRPZkV4aXQpIHtcbiAgICAgIHRocm93SW5zdGVhZE9mRXhpdCA9IHRydWU7XG4gICAgICAvLyBidXQgcmVtb3ZlIGl0IHNpbmNlIGl0J3Mgbm90IGEgcmVhbCBzZXJ2ZXIgYXJnIHBlciBzZVxuICAgICAgZGVsZXRlIGFyZ3MudGhyb3dJbnN0ZWFkT2ZFeGl0O1xuICAgIH1cbiAgICBwcmVDb25maWdQYXJzZWRBcmdzID0gey4uLmFyZ3MsIHN1YmNvbW1hbmQ6IGFyZ3Muc3ViY29tbWFuZCA/PyBTRVJWRVJfU1VCQ09NTUFORH07XG4gIH0gZWxzZSB7XG4gICAgLy8gb3RoZXJ3aXNlIHBhcnNlIGZyb20gQ0xJXG4gICAgcHJlQ29uZmlnUGFyc2VkQXJncyA9IHBhcnNlci5wYXJzZUFyZ3MoKTtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ1Jlc3VsdCA9IGF3YWl0IHJlYWRDb25maWdGaWxlKHByZUNvbmZpZ1BhcnNlZEFyZ3MuY29uZmlnRmlsZSk7XG5cbiAgaWYgKCFfLmlzRW1wdHkoY29uZmlnUmVzdWx0LmVycm9ycykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9ycyBpbiBjb25maWcgZmlsZSAke2NvbmZpZ1Jlc3VsdC5maWxlcGF0aH06XFxuICR7Y29uZmlnUmVzdWx0LnJlYXNvbiA/PyBjb25maWdSZXN1bHQuZXJyb3JzfWApO1xuICB9XG5cblxuICAvLyBtZXJnZSBjb25maWcgYW5kIGFwcGx5IGRlZmF1bHRzLlxuICAvLyB0aGUgb3JkZXIgb2YgcHJlY2VuZGVjZSBpczpcbiAgLy8gMS4gY29tbWFuZCBsaW5lIGFyZ3NcbiAgLy8gMi4gY29uZmlnIGZpbGVcbiAgLy8gMy4gZGVmYXVsdHMgZnJvbSBjb25maWcgZmlsZS5cbiAgaWYgKHByZUNvbmZpZ1BhcnNlZEFyZ3Muc3ViY29tbWFuZCA9PT0gU0VSVkVSX1NVQkNPTU1BTkQpIHtcbiAgICBkZWZhdWx0cyA9IGdldERlZmF1bHRzRm9yU2NoZW1hKGZhbHNlKTtcblxuICAgIHBhcnNlZEFyZ3MgPSBfLmRlZmF1bHRzRGVlcChcbiAgICAgIHByZUNvbmZpZ1BhcnNlZEFyZ3MsXG4gICAgICBjb25maWdSZXN1bHQuY29uZmlnPy5zZXJ2ZXIsXG4gICAgICBkZWZhdWx0c1xuICAgICk7XG5cbiAgICBpZiAocHJlQ29uZmlnUGFyc2VkQXJncy5zaG93Q29uZmlnKSB7XG4gICAgICBzaG93Q29uZmlnKGdldE5vbkRlZmF1bHRTZXJ2ZXJBcmdzKHByZUNvbmZpZ1BhcnNlZEFyZ3MpLCBjb25maWdSZXN1bHQsIGRlZmF1bHRzLCBwYXJzZWRBcmdzKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRBcmdzID0gcHJlQ29uZmlnUGFyc2VkQXJncztcbiAgfVxuXG4gIGF3YWl0IGxvZ3NpbmtJbml0KHBhcnNlZEFyZ3MpO1xuXG4gIC8vIGlmIHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQgdGhlICdkcml2ZXInIENMSSwgZG9uJ3QgcnVuIHRoZSBub3JtYWwgc2VydmVyLFxuICAvLyBidXQgaW5zdGVhZCBwYXNzIGNvbnRyb2wgdG8gdGhlIGRyaXZlciBDTElcbiAgaWYgKHBhcnNlZEFyZ3Muc3ViY29tbWFuZCA9PT0gRFJJVkVSX1RZUEUpIHtcbiAgICBhd2FpdCBydW5FeHRlbnNpb25Db21tYW5kKHBhcnNlZEFyZ3MsIHBhcnNlZEFyZ3Muc3ViY29tbWFuZCwgZHJpdmVyQ29uZmlnKTtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgaWYgKHBhcnNlZEFyZ3Muc3ViY29tbWFuZCA9PT0gUExVR0lOX1RZUEUpIHtcbiAgICBhd2FpdCBydW5FeHRlbnNpb25Db21tYW5kKHBhcnNlZEFyZ3MsIHBhcnNlZEFyZ3Muc3ViY29tbWFuZCwgcGx1Z2luQ29uZmlnKTtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAocGFyc2VkQXJncy5sb2dGaWx0ZXJzKSB7XG4gICAgY29uc3Qge2lzc3VlcywgcnVsZXN9ID0gYXdhaXQgbG9nRmFjdG9yeS5sb2FkU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc2luZ1J1bGVzKHBhcnNlZEFyZ3MubG9nRmlsdGVycyk7XG4gICAgaWYgKCFfLmlzRW1wdHkoaXNzdWVzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgbG9nIGZpbHRlcmluZyBydWxlcyBjb25maWcgJyR7cGFyc2VkQXJncy5sb2dGaWx0ZXJzfScgaGFzIGlzc3VlczogYCArXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGlzc3VlcywgbnVsbCwgMikpO1xuICAgIH1cbiAgICBpZiAoXy5pc0VtcHR5KHJ1bGVzKSkge1xuICAgICAgbG9nZ2VyLndhcm4oYEZvdW5kIG5vIGxvZyBmaWx0ZXJpbmcgcnVsZXMgaW4gJyR7cGFyc2VkQXJncy5sb2dGaWx0ZXJzfScuIElzIHRoYXQgZXhwZWN0ZWQ/YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5pbmZvKGBMb2FkZWQgJHt1dGlsLnBsdXJhbGl6ZSgnZmlsdGVyaW5nIHJ1bGUnLCBydWxlcy5sZW5ndGgsIHRydWUpfSBmcm9tICcke3BhcnNlZEFyZ3MubG9nRmlsdGVyc30nYCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgYXBwaXVtRHJpdmVyID0gbmV3IEFwcGl1bURyaXZlcihwYXJzZWRBcmdzKTtcbiAgLy8gc2V0IHRoZSBjb25maWcgb24gdGhlIHVtYnJlbGxhIGRyaXZlciBzbyBpdCBjYW4gbWF0Y2ggZHJpdmVycyB0byBjYXBzXG4gIGFwcGl1bURyaXZlci5kcml2ZXJDb25maWcgPSBkcml2ZXJDb25maWc7XG4gIGF3YWl0IHByZWZsaWdodENoZWNrcyhwYXJzZWRBcmdzLCB0aHJvd0luc3RlYWRPZkV4aXQpO1xuXG4gIHJldHVybiB7YXBwaXVtRHJpdmVyLCBwYXJzZWRBcmdzfTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyBBcHBpdW0ncyBjb25maWcuICBTdGFydHMgc2VydmVyIGlmIGFwcHJvcHJpYXRlIGFuZCByZXNvbHZlcyB0aGVcbiAqIHNlcnZlciBpbnN0YW5jZSBpZiBzbzsgb3RoZXJ3aXNlIHJlc29sdmVzIHcvIGB1bmRlZmluZWRgLlxuICogQHBhcmFtIHtQYXJzZWRBcmdzfSBbYXJnc10gLSBBcmd1bWVudHMgZnJvbSBDTEkgb3Igb3RoZXJ3aXNlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoJ2V4cHJlc3MnKS5FeHByZXNzfHVuZGVmaW5lZD59XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIG1haW4gKGFyZ3MpIHtcbiAgY29uc3Qge2FwcGl1bURyaXZlciwgcGFyc2VkQXJnc30gPSBhd2FpdCBpbml0KGFyZ3MpO1xuXG4gIGlmICghYXBwaXVtRHJpdmVyIHx8ICFwYXJzZWRBcmdzKSB7XG4gICAgLy8gaWYgdGhpcyBicmFuY2ggaXMgdGFrZW4sIHdlJ3ZlIHJ1biBhIGRpZmZlcmVudCBzdWJjb21tYW5kLCBzbyB0aGVyZSdzIG5vdGhpbmdcbiAgICAvLyBsZWZ0IHRvIGRvIGhlcmUuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGx1Z2luQ2xhc3NlcyA9IGdldEFjdGl2ZVBsdWdpbnMocGFyc2VkQXJncywgcGx1Z2luQ29uZmlnKTtcbiAgLy8gc2V0IHRoZSBhY3RpdmUgcGx1Z2lucyBvbiB0aGUgdW1icmVsbGEgZHJpdmVyIHNvIGl0IGNhbiB1c2UgdGhlbSBmb3IgY29tbWFuZHNcbiAgYXBwaXVtRHJpdmVyLnBsdWdpbkNsYXNzZXMgPSBwbHVnaW5DbGFzc2VzO1xuXG4gIGF3YWl0IGxvZ1N0YXJ0dXBJbmZvKHBhcnNlZEFyZ3MpO1xuICBsZXQgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uID0gbWFrZVJvdXRlcihhcHBpdW1Ecml2ZXIpO1xuXG4gIGNvbnN0IGRyaXZlckNsYXNzZXMgPSBnZXRBY3RpdmVEcml2ZXJzKHBhcnNlZEFyZ3MsIGRyaXZlckNvbmZpZyk7XG4gIGNvbnN0IHNlcnZlclVwZGF0ZXJzID0gZ2V0U2VydmVyVXBkYXRlcnMoZHJpdmVyQ2xhc3NlcywgcGx1Z2luQ2xhc3Nlcyk7XG4gIGNvbnN0IGV4dHJhTWV0aG9kTWFwID0gZ2V0RXh0cmFNZXRob2RNYXAoZHJpdmVyQ2xhc3NlcywgcGx1Z2luQ2xhc3Nlcyk7XG5cbiAgY29uc3Qgc2VydmVyT3B0cyA9IHtcbiAgICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sXG4gICAgcG9ydDogcGFyc2VkQXJncy5wb3J0LFxuICAgIGhvc3RuYW1lOiBwYXJzZWRBcmdzLmFkZHJlc3MsXG4gICAgYWxsb3dDb3JzOiBwYXJzZWRBcmdzLmFsbG93Q29ycyxcbiAgICBiYXNlUGF0aDogcGFyc2VkQXJncy5iYXNlUGF0aCxcbiAgICBzZXJ2ZXJVcGRhdGVycyxcbiAgICBleHRyYU1ldGhvZE1hcCxcbiAgfTtcbiAgaWYgKHBhcnNlZEFyZ3Mua2VlcEFsaXZlVGltZW91dCkge1xuICAgIHNlcnZlck9wdHMua2VlcEFsaXZlVGltZW91dCA9IHBhcnNlZEFyZ3Mua2VlcEFsaXZlVGltZW91dCAqIDEwMDA7XG4gIH1cbiAgbGV0IHNlcnZlcjtcbiAgdHJ5IHtcbiAgICBzZXJ2ZXIgPSBhd2FpdCBiYXNlU2VydmVyKHNlcnZlck9wdHMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZXJyb3IoYENvdWxkIG5vdCBjb25maWd1cmUgQXBwaXVtIHNlcnZlci4gSXQncyBwb3NzaWJsZSB0aGF0IGEgZHJpdmVyIG9yIHBsdWdpbiB0cmllZCBgICtcbiAgICAgICAgICAgICAgICAgYHRvIHVwZGF0ZSB0aGUgc2VydmVyIGFuZCBmYWlsZWQuIE9yaWdpbmFsIGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuICAgIGxvZ2dlci5kZWJ1ZyhlcnIuc3RhY2spO1xuICAgIHJldHVybiBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICBpZiAocGFyc2VkQXJncy5hbGxvd0NvcnMpIHtcbiAgICBsb2dnZXIud2FybignWW91IGhhdmUgZW5hYmxlZCBDT1JTIHJlcXVlc3RzIGZyb20gYW55IGhvc3QuIEJlIGNhcmVmdWwgbm90ICcgK1xuICAgICAgICAgICAgICAgICd0byB2aXNpdCBzaXRlcyB3aGljaCBjb3VsZCBtYWxpY2lvdXNseSB0cnkgdG8gc3RhcnQgQXBwaXVtICcgK1xuICAgICAgICAgICAgICAgICdzZXNzaW9ucyBvbiB5b3VyIG1hY2hpbmUnKTtcbiAgfVxuICBhcHBpdW1Ecml2ZXIuc2VydmVyID0gc2VydmVyO1xuICB0cnkge1xuICAgIC8vIGNvbmZpZ3VyZSBhcyBub2RlIG9uIGdyaWQsIGlmIG5lY2Vzc2FyeVxuICAgIC8vIGZhbHN5IHZhbHVlcyBzaG91bGQgbm90IGNhdXNlIHRoaXMgdG8gcnVuXG4gICAgaWYgKHBhcnNlZEFyZ3Mubm9kZWNvbmZpZykge1xuICAgICAgYXdhaXQgcmVnaXN0ZXJOb2RlKHBhcnNlZEFyZ3Mubm9kZWNvbmZpZywgcGFyc2VkQXJncy5hZGRyZXNzLCBwYXJzZWRBcmdzLnBvcnQsIHBhcnNlZEFyZ3MuYmFzZVBhdGgpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gICAgdGhyb3cgZXJyO1xuICB9XG5cbiAgZm9yIChjb25zdCBzaWduYWwgb2YgWydTSUdJTlQnLCAnU0lHVEVSTSddKSB7XG4gICAgcHJvY2Vzcy5vbmNlKHNpZ25hbCwgYXN5bmMgZnVuY3Rpb24gb25TaWduYWwgKCkge1xuICAgICAgbG9nZ2VyLmluZm8oYFJlY2VpdmVkICR7c2lnbmFsfSAtIHNodXR0aW5nIGRvd25gKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGFwcGl1bURyaXZlci5kZWxldGVBbGxTZXNzaW9ucyh7XG4gICAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICAgICAgcmVhc29uOiBgVGhlIHByb2Nlc3MgaGFzIHJlY2VpdmVkICR7c2lnbmFsfSBzaWduYWxgLFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nZ2VyLndhcm4oZSk7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGxvZ1NlcnZlclBvcnQocGFyc2VkQXJncy5hZGRyZXNzLCBwYXJzZWRBcmdzLnBvcnQpO1xuICBkcml2ZXJDb25maWcucHJpbnQoKTtcbiAgcGx1Z2luQ29uZmlnLnByaW50KHBsdWdpbkNsYXNzZXMubWFwKChwKSA9PiBwLnBsdWdpbk5hbWUpKTtcblxuICByZXR1cm4gc2VydmVyO1xufVxuXG4vLyBOT1RFOiB0aGlzIGlzIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXQgZm9yIGFueSBzY3JpcHRzIHJlZmVyZW5jaW5nIGBtYWluLmpzYCBkaXJlY3RseVxuLy8gKG1vcmUgc3BlY2lmaWNhbGx5LCBgYnVpbGQvbGliL21haW4uanNgKVxuLy8gdGhlIGV4ZWN1dGFibGUgaXMgbm93IGAuLi9pbmRleC5qc2AsIHNvIHRoYXQgbW9kdWxlIHdpbGwgdHlwaWNhbGx5IGJlIGByZXF1aXJlLm1haW5gLlxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGFzeW5jaWZ5KG1haW4pO1xufVxuXG4vLyBldmVyeXRoaW5nIGJlbG93IGhlcmUgaXMgaW50ZW5kZWQgdG8gYmUgYSBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgbWFpbiwgaW5pdCB9O1xuZXhwb3J0IHsgQVBQSVVNX0hPTUUgfSBmcm9tICcuL2V4dGVuc2lvbi1jb25maWcnO1xuZXhwb3J0IHsgZ2V0U2NoZW1hLCB2YWxpZGF0ZSwgZmluYWxpemVTY2hlbWEgfSBmcm9tICcuL3NjaGVtYS9zY2hlbWEnO1xuZXhwb3J0IHsgcmVhZENvbmZpZ0ZpbGUgfSBmcm9tICcuL2NvbmZpZy1maWxlJztcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi90eXBlcy90eXBlcycpLlBhcnNlZEFyZ3N9IFBhcnNlZEFyZ3NcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vYXBwaXVtJykuUGx1Z2luRXh0ZW5zaW9uQ2xhc3N9IFBsdWdpbkV4dGVuc2lvbkNsYXNzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2FwcGl1bScpLkRyaXZlckV4dGVuc2lvbkNsYXNzfSBEcml2ZXJFeHRlbnNpb25DbGFzc1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9hcHBpdW0nKS5TdGF0aWNFeHRNZW1iZXJzfSBTdGF0aWNFeHRNZW1iZXJzXG4gKi9cbiJdLCJmaWxlIjoibGliL21haW4uanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9tYWluLmpzIl0sIm5hbWVzIjpbInJlc29sdmVBcHBpdW1Ib21lIiwiZW52IiwicHJlZmxpZ2h0Q2hlY2tzIiwiYXJncyIsInRocm93SW5zdGVhZE9mRXhpdCIsImxvbmdTdGFja3RyYWNlIiwicmVxdWlyZSIsImFzeW5jX3RyYWNlX2xpbWl0Iiwic2hvd0J1aWxkSW5mbyIsInByb2Nlc3MiLCJleGl0IiwidG1wRGlyIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJtZXNzYWdlIiwicmVkIiwibG9nTm9uRGVmYXVsdEFyZ3NXYXJuaW5nIiwiaW5mbyIsImxvZ0RlZmF1bHRDYXBhYmlsaXRpZXNXYXJuaW5nIiwiY2FwcyIsImxvZ1N0YXJ0dXBJbmZvIiwid2VsY29tZSIsIkFQUElVTV9WRVIiLCJhcHBpdW1SZXYiLCJzaG93QXJncyIsIl8iLCJzaXplIiwiaXNFbXB0eSIsImRlZmF1bHRDYXBhYmlsaXRpZXMiLCJsb2dTZXJ2ZXJQb3J0IiwiYWRkcmVzcyIsInBvcnQiLCJsb2dNZXNzYWdlIiwiZ2V0U2VydmVyVXBkYXRlcnMiLCJkcml2ZXJDbGFzc2VzIiwicGx1Z2luQ2xhc3NlcyIsImNvbXBhY3QiLCJtYXAiLCJnZXRFeHRyYU1ldGhvZE1hcCIsInJlZHVjZSIsImtsYXNzIiwibmV3TWV0aG9kTWFwIiwiaW5pdCIsImFwcGl1bUhvbWUiLCJkcml2ZXJDb25maWciLCJwbHVnaW5Db25maWciLCJwYXJzZXIiLCJwcmVDb25maWdQYXJzZWRBcmdzIiwicGFyc2VkQXJncyIsImRlZmF1bHRzIiwic3ViY29tbWFuZCIsIlNFUlZFUl9TVUJDT01NQU5EIiwicGFyc2VBcmdzIiwiY29uZmlnUmVzdWx0IiwiY29uZmlnRmlsZSIsImVycm9ycyIsIkVycm9yIiwiZmlsZXBhdGgiLCJyZWFzb24iLCJkZWZhdWx0c0RlZXAiLCJjb25maWciLCJzZXJ2ZXIiLCJzaG93Q29uZmlnIiwiRFJJVkVSX1RZUEUiLCJQTFVHSU5fVFlQRSIsImxvZ0ZpbHRlcnMiLCJpc3N1ZXMiLCJydWxlcyIsImxvZ0ZhY3RvcnkiLCJsb2FkU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc2luZ1J1bGVzIiwiSlNPTiIsInN0cmluZ2lmeSIsIndhcm4iLCJ1dGlsIiwicGx1cmFsaXplIiwibGVuZ3RoIiwiYXBwaXVtRHJpdmVyIiwiQXBwaXVtRHJpdmVyIiwibWFpbiIsInVzZVBsdWdpbnMiLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJ1c2VEcml2ZXJzIiwic2VydmVyVXBkYXRlcnMiLCJleHRyYU1ldGhvZE1hcCIsInNlcnZlck9wdHMiLCJob3N0bmFtZSIsImFsbG93Q29ycyIsImJhc2VQYXRoIiwia2VlcEFsaXZlVGltZW91dCIsImRlYnVnIiwic3RhY2siLCJub2RlY29uZmlnIiwiY2xvc2UiLCJzaWduYWwiLCJvbmNlIiwib25TaWduYWwiLCJkZWxldGVBbGxTZXNzaW9ucyIsImZvcmNlIiwiZSIsInByaW50IiwicCIsInBsdWdpbk5hbWUiLCJtb2R1bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU07QUFBQ0EsRUFBQUE7QUFBRCxJQUFzQkMsWUFBNUI7OztBQU9BLGVBQWVDLGVBQWYsQ0FBZ0NDLElBQWhDLEVBQXNDQyxrQkFBa0IsR0FBRyxLQUEzRCxFQUFrRTtBQUNoRSxNQUFJO0FBQ0Y7O0FBQ0EsUUFBSUQsSUFBSSxDQUFDRSxjQUFULEVBQXlCO0FBQ3ZCQyxNQUFBQSxPQUFPLENBQUMsVUFBRCxDQUFQLENBQW9CQyxpQkFBcEIsR0FBd0MsQ0FBQyxDQUF6QztBQUNEOztBQUNELFFBQUlKLElBQUksQ0FBQ0ssYUFBVCxFQUF3QjtBQUN0QixZQUFNLDRCQUFOO0FBQ0FDLE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLENB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bi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgeyBpbml0IGFzIGxvZ3NpbmtJbml0IH0gZnJvbSAnLi9sb2dzaW5rJzsgLy8gdGhpcyBpbXBvcnQgbmVlZHMgdG8gY29tZSBmaXJzdCBzaW5jZSBpdCBzZXRzIHVwIGdsb2JhbCBucG1sb2dcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9sb2dnZXInOyAvLyBsb2dnZXIgbmVlZHMgdG8gcmVtYWluIHNlY29uZFxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIGFzIG1ha2VSb3V0ZXIsIHNlcnZlciBhcyBiYXNlU2VydmVyIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlcic7XG5pbXBvcnQgeyBsb2dnZXIgYXMgbG9nRmFjdG9yeSwgdXRpbCwgZW52IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IGFzeW5jaWZ5IH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFwcGl1bURyaXZlciB9IGZyb20gJy4vYXBwaXVtJztcbmltcG9ydCB7IHJ1bkV4dGVuc2lvbkNvbW1hbmQgfSBmcm9tICcuL2NsaS9leHRlbnNpb24nO1xuaW1wb3J0IHsgZ2V0UGFyc2VyIH0gZnJvbSAnLi9jbGkvcGFyc2VyJztcbmltcG9ydCB7IEFQUElVTV9WRVIsIGNoZWNrTm9kZU9rLCBnZXRHaXRSZXYsIGdldE5vbkRlZmF1bHRTZXJ2ZXJBcmdzLCBzaG93Q29uZmlnLCBzaG93QnVpbGRJbmZvLCB2YWxpZGF0ZVRtcERpciwgd2Fybk5vZGVEZXByZWNhdGlvbnMgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnRmlsZSB9IGZyb20gJy4vY29uZmlnLWZpbGUnO1xuaW1wb3J0IHsgbG9hZEV4dGVuc2lvbnMsIGdldEFjdGl2ZVBsdWdpbnMsIGdldEFjdGl2ZURyaXZlcnMgfSBmcm9tICcuL2V4dGVuc2lvbic7XG5pbXBvcnQgeyBEUklWRVJfVFlQRSwgUExVR0lOX1RZUEUsIFNFUlZFUl9TVUJDT01NQU5EIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHJlZ2lzdGVyTm9kZSBmcm9tICcuL2dyaWQtcmVnaXN0ZXInO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdHNGb3JTY2hlbWEsIHZhbGlkYXRlIH0gZnJvbSAnLi9zY2hlbWEvc2NoZW1hJztcbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3Qge3Jlc29sdmVBcHBpdW1Ib21lfSA9IGVudjtcblxuLyoqXG4gKlxuICogQHBhcmFtIHtQYXJzZWRBcmdzfSBhcmdzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFt0aHJvd0luc3RlYWRPZkV4aXRdXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHByZWZsaWdodENoZWNrcyAoYXJncywgdGhyb3dJbnN0ZWFkT2ZFeGl0ID0gZmFsc2UpIHtcbiAgdHJ5IHtcbiAgICBjaGVja05vZGVPaygpO1xuICAgIGlmIChhcmdzLmxvbmdTdGFja3RyYWNlKSB7XG4gICAgICByZXF1aXJlKCdsb25nam9obicpLmFzeW5jX3RyYWNlX2xpbWl0ID0gLTE7XG4gICAgfVxuICAgIGlmIChhcmdzLnNob3dCdWlsZEluZm8pIHtcbiAgICAgIGF3YWl0IHNob3dCdWlsZEluZm8oKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICB9XG4gICAgd2Fybk5vZGVEZXByZWNhdGlvbnMoKTtcblxuICAgIHZhbGlkYXRlKGFyZ3MpO1xuXG4gICAgaWYgKGFyZ3MudG1wRGlyKSB7XG4gICAgICBhd2FpdCB2YWxpZGF0ZVRtcERpcihhcmdzLnRtcERpcik7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZXJyb3IoZXJyLm1lc3NhZ2UucmVkKTtcbiAgICBpZiAodGhyb3dJbnN0ZWFkT2ZFeGl0KSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtQYXJ0aWFsPFBhcnNlZEFyZ3M+fSBhcmdzXG4gKi9cbmZ1bmN0aW9uIGxvZ05vbkRlZmF1bHRBcmdzV2FybmluZyAoYXJncykge1xuICBsb2dnZXIuaW5mbygnTm9uLWRlZmF1bHQgc2VydmVyIGFyZ3M6Jyk7XG4gIGluc3BlY3QoYXJncyk7XG59XG5cbmZ1bmN0aW9uIGxvZ0RlZmF1bHRDYXBhYmlsaXRpZXNXYXJuaW5nIChjYXBzKSB7XG4gIGxvZ2dlci5pbmZvKCdEZWZhdWx0IGNhcGFiaWxpdGllcywgd2hpY2ggd2lsbCBiZSBhZGRlZCB0byBlYWNoIHJlcXVlc3QgJyArXG4gICAgICAgICAgICAgICd1bmxlc3Mgb3ZlcnJpZGRlbiBieSBkZXNpcmVkIGNhcGFiaWxpdGllczonKTtcbiAgaW5zcGVjdChjYXBzKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1BhcnNlZEFyZ3N9IGFyZ3NcbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9nU3RhcnR1cEluZm8gKGFyZ3MpIHtcbiAgbGV0IHdlbGNvbWUgPSBgV2VsY29tZSB0byBBcHBpdW0gdiR7QVBQSVVNX1ZFUn1gO1xuICBsZXQgYXBwaXVtUmV2ID0gYXdhaXQgZ2V0R2l0UmV2KCk7XG4gIGlmIChhcHBpdW1SZXYpIHtcbiAgICB3ZWxjb21lICs9IGAgKFJFViAke2FwcGl1bVJldn0pYDtcbiAgfVxuICBsb2dnZXIuaW5mbyh3ZWxjb21lKTtcblxuICBsZXQgc2hvd0FyZ3MgPSBnZXROb25EZWZhdWx0U2VydmVyQXJncyhhcmdzKTtcbiAgaWYgKF8uc2l6ZShzaG93QXJncykpIHtcbiAgICBsb2dOb25EZWZhdWx0QXJnc1dhcm5pbmcoc2hvd0FyZ3MpO1xuICB9XG4gIGlmICghXy5pc0VtcHR5KGFyZ3MuZGVmYXVsdENhcGFiaWxpdGllcykpIHtcbiAgICBsb2dEZWZhdWx0Q2FwYWJpbGl0aWVzV2FybmluZyhhcmdzLmRlZmF1bHRDYXBhYmlsaXRpZXMpO1xuICB9XG4gIC8vIFRPRE86IGJyaW5nIGJhY2sgbG9nbGV2ZWwgcmVwb3J0aW5nIGJlbG93IG9uY2UgbG9nZ2VyIGlzIGZsdXNoZWQgb3V0XG4gIC8vIGxvZ2dlci5pbmZvKCdDb25zb2xlIExvZ0xldmVsOiAnICsgbG9nZ2VyLnRyYW5zcG9ydHMuY29uc29sZS5sZXZlbCk7XG4gIC8vIGlmIChsb2dnZXIudHJhbnNwb3J0cy5maWxlKSB7XG4gIC8vICAgbG9nZ2VyLmluZm8oJ0ZpbGUgTG9nTGV2ZWw6ICcgKyBsb2dnZXIudHJhbnNwb3J0cy5maWxlLmxldmVsKTtcbiAgLy8gfVxufVxuXG4vKipcbiAqIExvZ3MgdGhlIGFkZHJlc3MgYW5kIHBvcnQgdGhlIHNlcnZlciBpcyBsaXN0ZW5pbmcgb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gQWRkcmVzc1xuICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgLSBQb3J0XG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gbG9nU2VydmVyUG9ydCAoYWRkcmVzcywgcG9ydCkge1xuICBsZXQgbG9nTWVzc2FnZSA9IGBBcHBpdW0gUkVTVCBodHRwIGludGVyZmFjZSBsaXN0ZW5lciBzdGFydGVkIG9uIGAgK1xuICAgICAgICAgICAgICAgICAgIGAke2FkZHJlc3N9OiR7cG9ydH1gO1xuICBsb2dnZXIuaW5mbyhsb2dNZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBHZXRzIGEgbGlzdCBvZiBgdXBkYXRlU2VydmVyYCBmdW5jdGlvbnMgZnJvbSBhbGwgZXh0ZW5zaW9uc1xuICogQHBhcmFtIHtEcml2ZXJDbGFzc1tdfSBkcml2ZXJDbGFzc2VzXG4gKiBAcGFyYW0ge1BsdWdpbkNsYXNzW119IHBsdWdpbkNsYXNzZXNcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vZXh0ZW5zaW9uL21hbmlmZXN0JykuVXBkYXRlU2VydmVyRm5bXX1cbiAqL1xuZnVuY3Rpb24gZ2V0U2VydmVyVXBkYXRlcnMgKGRyaXZlckNsYXNzZXMsIHBsdWdpbkNsYXNzZXMpIHtcbiAgcmV0dXJuIF8uY29tcGFjdChfLm1hcChbLi4uZHJpdmVyQ2xhc3NlcywgLi4ucGx1Z2luQ2xhc3Nlc10sICd1cGRhdGVTZXJ2ZXInKSk7XG59XG5cbi8qKlxuICogTWFrZXMgYSBiaWcgYE1ldGhvZE1hcGAgZnJvbSBhbGwgdGhlIGxpdHRsZSBgTWV0aG9kTWFwYHMgaW4gdGhlIGV4dGVuc2lvbnNcbiAqIEBwYXJhbSB7RHJpdmVyQ2xhc3NbXX0gZHJpdmVyQ2xhc3Nlc1xuICogQHBhcmFtIHtQbHVnaW5DbGFzc1tdfSBwbHVnaW5DbGFzc2VzXG4gKiBAcmV0dXJucyB7aW1wb3J0KCdAYXBwaXVtL2Jhc2UtZHJpdmVyJykuTWV0aG9kTWFwfVxuICovXG5mdW5jdGlvbiBnZXRFeHRyYU1ldGhvZE1hcCAoZHJpdmVyQ2xhc3NlcywgcGx1Z2luQ2xhc3Nlcykge1xuICByZXR1cm4gWy4uLmRyaXZlckNsYXNzZXMsIC4uLnBsdWdpbkNsYXNzZXNdLnJlZHVjZShcbiAgICAobWFwLCBrbGFzcykgPT4gKHsuLi5tYXAsIC4uLmtsYXNzLm5ld01ldGhvZE1hcH0pLFxuICAgIHt9XG4gICk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgQXBwaXVtLCBidXQgZG9lcyBub3Qgc3RhcnQgdGhlIHNlcnZlci5cbiAqXG4gKiBVc2UgdGhpcyB0byBnZXQgYXQgdGhlIGNvbmZpZ3VyYXRpb24gc2NoZW1hLlxuICpcbiAqIElmIGBhcmdzYCBjb250YWlucyBhIG5vbi1lbXB0eSBgc3ViY29tbWFuZGAgd2hpY2ggaXMgbm90IGBzZXJ2ZXJgLCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVtcHR5IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge1BhcnRpYWxBcmdzfSBbYXJnc10gLSBQYXJ0aWFsIGFyZ3MgKHByb2dhbW1hdGljIHVzYWdlIG9ubHkpXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTZXJ2ZXJJbml0UmVzdWx0IHwgRXh0Q29tbWFuZEluaXRSZXN1bHQ+fVxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7aW5pdCwgZ2V0U2NoZW1hfSBmcm9tICdhcHBpdW0nO1xuICogY29uc3Qgb3B0aW9ucyA9IHt9OyAvLyBjb25maWcgb2JqZWN0XG4gKiBhd2FpdCBpbml0KG9wdGlvbnMpO1xuICogY29uc3Qgc2NoZW1hID0gZ2V0U2NoZW1hKCk7IC8vIGVudGlyZSBjb25maWcgc2NoZW1hIGluY2x1ZGluZyBwbHVnaW5zIGFuZCBkcml2ZXJzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGluaXQgKGFyZ3MpIHtcbiAgY29uc3QgYXBwaXVtSG9tZSA9IGFyZ3M/LmFwcGl1bUhvbWUgPz8gYXdhaXQgcmVzb2x2ZUFwcGl1bUhvbWUoKTtcblxuICBjb25zdCB7ZHJpdmVyQ29uZmlnLCBwbHVnaW5Db25maWd9ID0gYXdhaXQgbG9hZEV4dGVuc2lvbnMoYXBwaXVtSG9tZSk7XG5cbiAgY29uc3QgcGFyc2VyID0gZ2V0UGFyc2VyKCk7XG4gIGxldCB0aHJvd0luc3RlYWRPZkV4aXQgPSBmYWxzZTtcbiAgLyoqIEB0eXBlIHtQYXJzZWRBcmdzfSAqL1xuICBsZXQgcHJlQ29uZmlnUGFyc2VkQXJncztcbiAgLyoqIEB0eXBlIHtQYXJzZWRBcmdzfSAqL1xuICBsZXQgcGFyc2VkQXJncztcbiAgLyoqXG4gICAqIFRoaXMgaXMgYSBkZWZpbml0aW9uIChpbnN0ZWFkIG9mIGRlY2xhcmF0aW9uKSBiZWNhdXNlIFRTIGNhbid0IGZpZ3VyZSBvdXRcbiAgICogdGhlIHZhbHVlIHdpbGwgYmUgZGVmaW5lZCB3aGVuIGl0J3MgdXNlZC5cbiAgICogQHR5cGUge1JldHVyblR5cGU8Z2V0RGVmYXVsdHNGb3JTY2hlbWE+fVxuICAgKi9cbiAgbGV0IGRlZmF1bHRzID0ge307XG4gIGlmIChhcmdzKSB7XG4gICAgLy8gaWYgd2UgaGF2ZSBhIGNvbnRhaW5pbmcgcGFja2FnZSBpbnN0ZWFkIG9mIHJ1bm5pbmcgYXMgYSBDTEkgcHJvY2VzcyxcbiAgICAvLyB0aGF0IHBhY2thZ2UgbWlnaHQgbm90IGFwcHJlY2lhdGUgdXMgY2FsbGluZyAncHJvY2Vzcy5leGl0JyB3aWxseS1cbiAgICAvLyBuaWxseSwgc28gZ2l2ZSBpdCB0aGUgb3B0aW9uIHRvIGhhdmUgdXMgdGhyb3cgaW5zdGVhZCBvZiBleGl0XG4gICAgaWYgKGFyZ3MudGhyb3dJbnN0ZWFkT2ZFeGl0KSB7XG4gICAgICB0aHJvd0luc3RlYWRPZkV4aXQgPSB0cnVlO1xuICAgICAgLy8gYnV0IHJlbW92ZSBpdCBzaW5jZSBpdCdzIG5vdCBhIHJlYWwgc2VydmVyIGFyZyBwZXIgc2VcbiAgICAgIGRlbGV0ZSBhcmdzLnRocm93SW5zdGVhZE9mRXhpdDtcbiAgICB9XG4gICAgcHJlQ29uZmlnUGFyc2VkQXJncyA9IC8qKiBAdHlwZSB7UGFyc2VkQXJnc30gKi8oey4uLmFyZ3MsIHN1YmNvbW1hbmQ6IGFyZ3Muc3ViY29tbWFuZCA/PyBTRVJWRVJfU1VCQ09NTUFORH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIG90aGVyd2lzZSBwYXJzZSBmcm9tIENMSVxuICAgIHByZUNvbmZpZ1BhcnNlZEFyZ3MgPSBwYXJzZXIucGFyc2VBcmdzKCk7XG4gIH1cblxuICBjb25zdCBjb25maWdSZXN1bHQgPSBhd2FpdCByZWFkQ29uZmlnRmlsZShwcmVDb25maWdQYXJzZWRBcmdzLmNvbmZpZ0ZpbGUpO1xuXG4gIGlmICghXy5pc0VtcHR5KGNvbmZpZ1Jlc3VsdC5lcnJvcnMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvcnMgaW4gY29uZmlnIGZpbGUgJHtjb25maWdSZXN1bHQuZmlsZXBhdGh9OlxcbiAke2NvbmZpZ1Jlc3VsdC5yZWFzb24gPz8gY29uZmlnUmVzdWx0LmVycm9yc31gKTtcbiAgfVxuXG4gIC8vIG1lcmdlIGNvbmZpZyBhbmQgYXBwbHkgZGVmYXVsdHMuXG4gIC8vIHRoZSBvcmRlciBvZiBwcmVjZW5kZWNlIGlzOlxuICAvLyAxLiBjb21tYW5kIGxpbmUgYXJnc1xuICAvLyAyLiBjb25maWcgZmlsZVxuICAvLyAzLiBkZWZhdWx0cyBmcm9tIGNvbmZpZyBmaWxlLlxuICBpZiAocHJlQ29uZmlnUGFyc2VkQXJncy5zdWJjb21tYW5kID09PSBTRVJWRVJfU1VCQ09NTUFORCkge1xuICAgIGRlZmF1bHRzID0gZ2V0RGVmYXVsdHNGb3JTY2hlbWEoZmFsc2UpO1xuXG4gICAgcGFyc2VkQXJncyA9IF8uZGVmYXVsdHNEZWVwKFxuICAgICAgcHJlQ29uZmlnUGFyc2VkQXJncyxcbiAgICAgIGNvbmZpZ1Jlc3VsdC5jb25maWc/LnNlcnZlcixcbiAgICAgIGRlZmF1bHRzXG4gICAgKTtcblxuICAgIGlmIChwcmVDb25maWdQYXJzZWRBcmdzLnNob3dDb25maWcpIHtcbiAgICAgIHNob3dDb25maWcoZ2V0Tm9uRGVmYXVsdFNlcnZlckFyZ3MocHJlQ29uZmlnUGFyc2VkQXJncyksIGNvbmZpZ1Jlc3VsdCwgZGVmYXVsdHMsIHBhcnNlZEFyZ3MpO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIHBhcnNlZEFyZ3MgPSBwcmVDb25maWdQYXJzZWRBcmdzO1xuICB9XG5cbiAgYXdhaXQgbG9nc2lua0luaXQocGFyc2VkQXJncyk7XG5cbiAgLy8gaWYgdGhlIHVzZXIgaGFzIHJlcXVlc3RlZCB0aGUgJ2RyaXZlcicgQ0xJLCBkb24ndCBydW4gdGhlIG5vcm1hbCBzZXJ2ZXIsXG4gIC8vIGJ1dCBpbnN0ZWFkIHBhc3MgY29udHJvbCB0byB0aGUgZHJpdmVyIENMSVxuICBpZiAocGFyc2VkQXJncy5zdWJjb21tYW5kID09PSBEUklWRVJfVFlQRSkge1xuICAgIGF3YWl0IHJ1bkV4dGVuc2lvbkNvbW1hbmQocGFyc2VkQXJncywgZHJpdmVyQ29uZmlnKTtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgaWYgKHBhcnNlZEFyZ3Muc3ViY29tbWFuZCA9PT0gUExVR0lOX1RZUEUpIHtcbiAgICBhd2FpdCBydW5FeHRlbnNpb25Db21tYW5kKHBhcnNlZEFyZ3MsIHBsdWdpbkNvbmZpZyk7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgaWYgKHBhcnNlZEFyZ3MubG9nRmlsdGVycykge1xuICAgIGNvbnN0IHtpc3N1ZXMsIHJ1bGVzfSA9IGF3YWl0IGxvZ0ZhY3RvcnkubG9hZFNlY3VyZVZhbHVlc1ByZXByb2Nlc3NpbmdSdWxlcyhwYXJzZWRBcmdzLmxvZ0ZpbHRlcnMpO1xuICAgIGlmICghXy5pc0VtcHR5KGlzc3VlcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGxvZyBmaWx0ZXJpbmcgcnVsZXMgY29uZmlnICcke3BhcnNlZEFyZ3MubG9nRmlsdGVyc30nIGhhcyBpc3N1ZXM6IGAgK1xuICAgICAgICBKU09OLnN0cmluZ2lmeShpc3N1ZXMsIG51bGwsIDIpKTtcbiAgICB9XG4gICAgaWYgKF8uaXNFbXB0eShydWxlcykpIHtcbiAgICAgIGxvZ2dlci53YXJuKGBGb3VuZCBubyBsb2cgZmlsdGVyaW5nIHJ1bGVzIGluICcke3BhcnNlZEFyZ3MubG9nRmlsdGVyc30nLiBJcyB0aGF0IGV4cGVjdGVkP2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuaW5mbyhgTG9hZGVkICR7dXRpbC5wbHVyYWxpemUoJ2ZpbHRlcmluZyBydWxlJywgcnVsZXMubGVuZ3RoLCB0cnVlKX0gZnJvbSAnJHtwYXJzZWRBcmdzLmxvZ0ZpbHRlcnN9J2ApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFwcGl1bURyaXZlciA9IG5ldyBBcHBpdW1Ecml2ZXIocGFyc2VkQXJncyk7XG4gIC8vIHNldCB0aGUgY29uZmlnIG9uIHRoZSB1bWJyZWxsYSBkcml2ZXIgc28gaXQgY2FuIG1hdGNoIGRyaXZlcnMgdG8gY2Fwc1xuICBhcHBpdW1Ecml2ZXIuZHJpdmVyQ29uZmlnID0gZHJpdmVyQ29uZmlnO1xuICBhd2FpdCBwcmVmbGlnaHRDaGVja3MocGFyc2VkQXJncywgdGhyb3dJbnN0ZWFkT2ZFeGl0KTtcblxuICByZXR1cm4gLyoqIEB0eXBlIHtTZXJ2ZXJJbml0UmVzdWx0fSAqLyh7YXBwaXVtRHJpdmVyLCBwYXJzZWRBcmdzLCBkcml2ZXJDb25maWcsIHBsdWdpbkNvbmZpZ30pO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIEFwcGl1bSdzIGNvbmZpZy4gIFN0YXJ0cyBzZXJ2ZXIgaWYgYXBwcm9wcmlhdGUgYW5kIHJlc29sdmVzIHRoZVxuICogc2VydmVyIGluc3RhbmNlIGlmIHNvOyBvdGhlcndpc2UgcmVzb2x2ZXMgdy8gYHVuZGVmaW5lZGAuXG4gKiBAcGFyYW0ge1BhcnRpYWxBcmdzfSBbYXJnc10gLSBBcmd1bWVudHMgZnJvbSBDTEkgb3Igb3RoZXJ3aXNlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoJ2h0dHAnKS5TZXJ2ZXJ8dW5kZWZpbmVkPn1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbWFpbiAoYXJncykge1xuICBjb25zdCB7YXBwaXVtRHJpdmVyLCBwYXJzZWRBcmdzLCBwbHVnaW5Db25maWcsIGRyaXZlckNvbmZpZ30gPSAvKiogQHR5cGUge1NlcnZlckluaXRSZXN1bHR9ICovKGF3YWl0IGluaXQoYXJncykpO1xuXG4gIGlmICghYXBwaXVtRHJpdmVyIHx8ICFwYXJzZWRBcmdzIHx8ICFwbHVnaW5Db25maWcgfHwgIWRyaXZlckNvbmZpZykge1xuICAgIC8vIGlmIHRoaXMgYnJhbmNoIGlzIHRha2VuLCB3ZSd2ZSBydW4gYSBkaWZmZXJlbnQgc3ViY29tbWFuZCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgLy8gbGVmdCB0byBkbyBoZXJlLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbkNsYXNzZXMgPSBnZXRBY3RpdmVQbHVnaW5zKHBsdWdpbkNvbmZpZywgcGFyc2VkQXJncy51c2VQbHVnaW5zKTtcbiAgLy8gc2V0IHRoZSBhY3RpdmUgcGx1Z2lucyBvbiB0aGUgdW1icmVsbGEgZHJpdmVyIHNvIGl0IGNhbiB1c2UgdGhlbSBmb3IgY29tbWFuZHNcbiAgYXBwaXVtRHJpdmVyLnBsdWdpbkNsYXNzZXMgPSBwbHVnaW5DbGFzc2VzO1xuXG4gIGF3YWl0IGxvZ1N0YXJ0dXBJbmZvKHBhcnNlZEFyZ3MpO1xuICBsZXQgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uID0gbWFrZVJvdXRlcihhcHBpdW1Ecml2ZXIpO1xuXG4gIGNvbnN0IGRyaXZlckNsYXNzZXMgPSBnZXRBY3RpdmVEcml2ZXJzKGRyaXZlckNvbmZpZywgcGFyc2VkQXJncy51c2VEcml2ZXJzKTtcbiAgY29uc3Qgc2VydmVyVXBkYXRlcnMgPSBnZXRTZXJ2ZXJVcGRhdGVycyhkcml2ZXJDbGFzc2VzLCBwbHVnaW5DbGFzc2VzKTtcbiAgY29uc3QgZXh0cmFNZXRob2RNYXAgPSBnZXRFeHRyYU1ldGhvZE1hcChkcml2ZXJDbGFzc2VzLCBwbHVnaW5DbGFzc2VzKTtcblxuICBjb25zdCBzZXJ2ZXJPcHRzID0ge1xuICAgIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgICBwb3J0OiBwYXJzZWRBcmdzLnBvcnQsXG4gICAgaG9zdG5hbWU6IHBhcnNlZEFyZ3MuYWRkcmVzcyxcbiAgICBhbGxvd0NvcnM6IHBhcnNlZEFyZ3MuYWxsb3dDb3JzLFxuICAgIGJhc2VQYXRoOiBwYXJzZWRBcmdzLmJhc2VQYXRoLFxuICAgIHNlcnZlclVwZGF0ZXJzLFxuICAgIGV4dHJhTWV0aG9kTWFwLFxuICB9O1xuICBpZiAocGFyc2VkQXJncy5rZWVwQWxpdmVUaW1lb3V0KSB7XG4gICAgc2VydmVyT3B0cy5rZWVwQWxpdmVUaW1lb3V0ID0gcGFyc2VkQXJncy5rZWVwQWxpdmVUaW1lb3V0ICogMTAwMDtcbiAgfVxuICBsZXQgc2VydmVyO1xuICB0cnkge1xuICAgIHNlcnZlciA9IGF3YWl0IGJhc2VTZXJ2ZXIoc2VydmVyT3B0cyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGNvbmZpZ3VyZSBBcHBpdW0gc2VydmVyLiBJdCdzIHBvc3NpYmxlIHRoYXQgYSBkcml2ZXIgb3IgcGx1Z2luIHRyaWVkIGAgK1xuICAgICAgICAgICAgICAgICBgdG8gdXBkYXRlIHRoZSBzZXJ2ZXIgYW5kIGZhaWxlZC4gT3JpZ2luYWwgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgbG9nZ2VyLmRlYnVnKGVyci5zdGFjayk7XG4gICAgcmV0dXJuIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIGlmIChwYXJzZWRBcmdzLmFsbG93Q29ycykge1xuICAgIGxvZ2dlci53YXJuKCdZb3UgaGF2ZSBlbmFibGVkIENPUlMgcmVxdWVzdHMgZnJvbSBhbnkgaG9zdC4gQmUgY2FyZWZ1bCBub3QgJyArXG4gICAgICAgICAgICAgICAgJ3RvIHZpc2l0IHNpdGVzIHdoaWNoIGNvdWxkIG1hbGljaW91c2x5IHRyeSB0byBzdGFydCBBcHBpdW0gJyArXG4gICAgICAgICAgICAgICAgJ3Nlc3Npb25zIG9uIHlvdXIgbWFjaGluZScpO1xuICB9XG4gIGFwcGl1bURyaXZlci5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gIHRyeSB7XG4gICAgLy8gY29uZmlndXJlIGFzIG5vZGUgb24gZ3JpZCwgaWYgbmVjZXNzYXJ5XG4gICAgLy8gZmFsc3kgdmFsdWVzIHNob3VsZCBub3QgY2F1c2UgdGhpcyB0byBydW5cbiAgICBpZiAocGFyc2VkQXJncy5ub2RlY29uZmlnKSB7XG4gICAgICBhd2FpdCByZWdpc3Rlck5vZGUocGFyc2VkQXJncy5ub2RlY29uZmlnLCBwYXJzZWRBcmdzLmFkZHJlc3MsIHBhcnNlZEFyZ3MucG9ydCwgcGFyc2VkQXJncy5iYXNlUGF0aCk7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKTtcbiAgICB0aHJvdyBlcnI7XG4gIH1cblxuICBmb3IgKGNvbnN0IHNpZ25hbCBvZiBbJ1NJR0lOVCcsICdTSUdURVJNJ10pIHtcbiAgICBwcm9jZXNzLm9uY2Uoc2lnbmFsLCBhc3luYyBmdW5jdGlvbiBvblNpZ25hbCAoKSB7XG4gICAgICBsb2dnZXIuaW5mbyhgUmVjZWl2ZWQgJHtzaWduYWx9IC0gc2h1dHRpbmcgZG93bmApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXBwaXVtRHJpdmVyLmRlbGV0ZUFsbFNlc3Npb25zKHtcbiAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgICByZWFzb246IGBUaGUgcHJvY2VzcyBoYXMgcmVjZWl2ZWQgJHtzaWduYWx9IHNpZ25hbGAsXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2dnZXIud2FybihlKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbG9nU2VydmVyUG9ydChwYXJzZWRBcmdzLmFkZHJlc3MsIHBhcnNlZEFyZ3MucG9ydCk7XG4gIGRyaXZlckNvbmZpZy5wcmludCgpO1xuICBwbHVnaW5Db25maWcucHJpbnQocGx1Z2luQ2xhc3Nlcy5tYXAoKHApID0+IHAucGx1Z2luTmFtZSkpO1xuXG4gIHJldHVybiBzZXJ2ZXI7XG59XG5cbi8vIE5PVEU6IHRoaXMgaXMgaGVyZSBmb3IgYmFja3dhcmRzIGNvbXBhdCBmb3IgYW55IHNjcmlwdHMgcmVmZXJlbmNpbmcgYG1haW4uanNgIGRpcmVjdGx5XG4vLyAobW9yZSBzcGVjaWZpY2FsbHksIGBidWlsZC9saWIvbWFpbi5qc2ApXG4vLyB0aGUgZXhlY3V0YWJsZSBpcyBub3cgYC4uL2luZGV4LmpzYCwgc28gdGhhdCBtb2R1bGUgd2lsbCB0eXBpY2FsbHkgYmUgYHJlcXVpcmUubWFpbmAuXG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgYXN5bmNpZnkobWFpbik7XG59XG5cbi8vIGV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBpbnRlbmRlZCB0byBiZSBhIHB1YmxpYyBBUEkuXG5leHBvcnQgeyByZWFkQ29uZmlnRmlsZSB9IGZyb20gJy4vY29uZmlnLWZpbGUnO1xuZXhwb3J0IHsgZmluYWxpemVTY2hlbWEsIGdldFNjaGVtYSwgdmFsaWRhdGUgfSBmcm9tICcuL3NjaGVtYS9zY2hlbWEnO1xuZXhwb3J0IHsgbWFpbiwgaW5pdCwgcmVzb2x2ZUFwcGl1bUhvbWUgfTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi90eXBlcy90eXBlcycpLlBhcnNlZEFyZ3N9IFBhcnNlZEFyZ3NcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL3R5cGVzL3R5cGVzJykuUGFydGlhbEFyZ3N9IFBhcnRpYWxBcmdzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2V4dGVuc2lvbi9tYW5pZmVzdCcpLkRyaXZlclR5cGV9IERyaXZlclR5cGVcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vZXh0ZW5zaW9uL21hbmlmZXN0JykuUGx1Z2luVHlwZX0gUGx1Z2luVHlwZVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9leHRlbnNpb24vbWFuaWZlc3QnKS5Ecml2ZXJDbGFzc30gRHJpdmVyQ2xhc3NcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vZXh0ZW5zaW9uL21hbmlmZXN0JykuUGx1Z2luQ2xhc3N9IFBsdWdpbkNsYXNzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7IHt9IH0gRXh0Q29tbWFuZEluaXRSZXN1bHRcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIFNlcnZlckluaXREYXRhXG4gKiBAcHJvcGVydHkge0FwcGl1bURyaXZlcn0gYXBwaXVtRHJpdmVyIC0gVGhlIEFwcGl1bSBkcml2ZXJcbiAqIEBwcm9wZXJ0eSB7UGFyc2VkQXJnc30gcGFyc2VkQXJncyAtIFRoZSBwYXJzZWQgYXJndW1lbnRzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7U2VydmVySW5pdERhdGEgJiBpbXBvcnQoJy4vZXh0ZW5zaW9uJykuRXh0ZW5zaW9uQ29uZmlnc30gU2VydmVySW5pdFJlc3VsdFxuICovXG4iXX0=
|
|
@@ -247,7 +247,5 @@ const schema = {
|
|
|
247
247
|
type: 'object'
|
|
248
248
|
};
|
|
249
249
|
var _default = schema;
|
|
250
|
-
exports.default = _default;
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEvYXBwaXVtLWNvbmZpZy1zY2hlbWEuanMiXSwibmFtZXMiOlsic2NoZW1hIiwiJHNjaGVtYSIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiZGVzY3JpcHRpb24iLCJwcm9wZXJ0aWVzIiwic2VydmVyIiwiYWRkcmVzcyIsIiRjb21tZW50IiwiYXBwaXVtQ2xpQWxpYXNlcyIsImRlZmF1bHQiLCJmb3JtYXQiLCJ0aXRsZSIsInR5cGUiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsIml0ZW1zIiwidW5pcXVlSXRlbXMiLCJtYXhpbXVtIiwibWluaW11bSIsImRyaXZlciIsImxvZyIsImFwcGl1bUNsaURlc3QiLCJlbnVtIiwibm9kZWNvbmZpZyIsInBsdWdpbiIsInBvcnQiLCJ0bXAiLCJhcHBpdW1DbGlEZXNjcmlwdGlvbiIsIndlYmhvb2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE1BQU1BLE1BQU0sR0FBeUI7QUFDbkNDLEVBQUFBLE9BQU8sRUFBRSx3Q0FEMEI7QUFFbkNDLEVBQUFBLG9CQUFvQixFQUFFLEtBRmE7QUFHbkNDLEVBQUFBLFdBQVcsRUFBRSx5Q0FIc0I7QUFJbkNDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkgsTUFBQUEsb0JBQW9CLEVBQUUsS0FEaEI7QUFFTkMsTUFBQUEsV0FBVyxFQUFFLCtDQUZQO0FBR05DLE1BQUFBLFVBQVUsRUFBRTtBQUNWRSxRQUFBQSxPQUFPLEVBQUU7QUFDUEMsVUFBQUEsUUFBUSxFQUNOLDREQUZLO0FBR1BDLFVBQUFBLGdCQUFnQixFQUFFLENBQUMsR0FBRCxDQUhYO0FBSVBDLFVBQUFBLE9BQU8sRUFBRSxTQUpGO0FBS1BOLFVBQUFBLFdBQVcsRUFBRSx5QkFMTjtBQU1QTyxVQUFBQSxNQUFNLEVBQUUsVUFORDtBQU9QQyxVQUFBQSxLQUFLLEVBQUUsZ0JBUEE7QUFRUEMsVUFBQUEsSUFBSSxFQUFFO0FBUkMsU0FEQztBQVdWLHNCQUFjO0FBQ1pU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QUFBQSxLQUFLLEVBQUU7QUFDTEYsWUFBQUEsSUFBSSxFQUFFO0FBREQsV0FOTTtBQVNiRCxVQUFBQSxLQUFLLEVBQUUsb0JBVE07QUFVYkMsVUFBQUEsSUFBSSxFQUFFLE9BVk87QUFXYkcsVUFBQUEsV0FBVyxFQUFFO0FBWEEsU0F4T0w7QUFxUFYsdUJBQWU7QUFDYlcsVUFBQUEsb0JBQW9CLEVBQ2xCLHFJQUZXO0FBR2JqQixVQUFBQSxPQUFPLEVBQUUsRUFISTtBQUliTixVQUFBQSxXQUFXLEVBQ1QsZ0hBTFc7QUFNYlcsVUFBQUEsS0FBSyxFQUFFO0FBQ0xGLFlBQUFBLElBQUksRUFBRTtBQURELFdBTk07QUFTYkQsVUFBQUEsS0FBSyxFQUFFLG9CQVRNO0FBVWJDLFVBQUFBLElBQUksRUFBRSxPQVZPO0FBV2JHLFVBQUFBLFdBQVcsRUFBRTtBQVhBLFNBclBMO0FBa1FWWSxRQUFBQSxPQUFPLEVBQUU7QUFDUHBCLFVBQUFBLFFBQVEsRUFDTix1RkFGSztBQUdQQyxVQUFBQSxnQkFBZ0IsRUFBRSxDQUFDLEdBQUQsQ0FIWDtBQUlQTCxVQUFBQSxXQUFXLEVBQUUsNENBSk47QUFLUE8sVUFBQUEsTUFBTSxFQUFFLEtBTEQ7QUFNUEMsVUFBQUEsS0FBSyxFQUFFLGdCQU5BO0FBT1BDLFVBQUFBLElBQUksRUFBRTtBQVBDO0FBbFFDLE9BSE47QUErUU5ELE1BQUFBLEtBQUssRUFBRSxlQS9RRDtBQWdSTkMsTUFBQUEsSUFBSSxFQUFFO0FBaFJBO0FBREUsR0FKdUI7QUF3Um5DRCxFQUFBQSxLQUFLLEVBQUUsc0JBeFI0QjtBQXlSbkNDLEVBQUFBLElBQUksRUFBRTtBQXpSNkIsQ0FBckM7ZUE0UmVaLE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuY29uc3Qgc2NoZW1hID0gLyoqIEB0eXBlIHtjb25zdH0gKi8gKHtcbiAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hJyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBkZXNjcmlwdGlvbjogJ0Egc2NoZW1hIGZvciBBcHBpdW0gY29uZmlndXJhdGlvbiBmaWxlcycsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBzZXJ2ZXI6IHtcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgQXBwaXVtIGFzIGEgc2VydmVyJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYWRkcmVzczoge1xuICAgICAgICAgICRjb21tZW50OlxuICAgICAgICAgICAgJ0kgdGhpbmsgaG9zdG5hbWUgY292ZXJzIGJvdGggRE5TIGFuZCBJUHY0Li4uY291bGQgYmUgd3JvbmcnLFxuICAgICAgICAgIGFwcGl1bUNsaUFsaWFzZXM6IFsnYSddLFxuICAgICAgICAgIGRlZmF1bHQ6ICcwLjAuMC4wJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lQIGFkZHJlc3MgdG8gbGlzdGVuIG9uJyxcbiAgICAgICAgICBmb3JtYXQ6ICdob3N0bmFtZScsXG4gICAgICAgICAgdGl0bGU6ICdhZGRyZXNzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdhbGxvdy1jb3JzJzoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ1doZXRoZXIgdGhlIEFwcGl1bSBzZXJ2ZXIgc2hvdWxkIGFsbG93IHdlYiBicm93c2VyIGNvbm5lY3Rpb25zIGZyb20gYW55IGhvc3QnLFxuICAgICAgICAgIHRpdGxlOiAnYWxsb3ctY29ycyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2FsbG93LWluc2VjdXJlJzoge1xuICAgICAgICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiAnY3N2JyxcbiAgICAgICAgICBkZWZhdWx0OiBbXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdTZXQgd2hpY2ggaW5zZWN1cmUgZmVhdHVyZXMgYXJlIGFsbG93ZWQgdG8gcnVuIGluIHRoaXMgc2VydmVyXFwncyBzZXNzaW9ucy4gRmVhdHVyZXMgYXJlIGRlZmluZWQgb24gYSBkcml2ZXIgbGV2ZWw7IHNlZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuIE5vdGUgdGhhdCBmZWF0dXJlcyBkZWZpbmVkIHZpYSBcImRlbnktaW5zZWN1cmVcIiB3aWxsIGJlIGRpc2FibGVkLCBldmVuIGlmIGFsc28gbGlzdGVkIGhlcmUuIElmIHN0cmluZywgYSBwYXRoIHRvIGEgdGV4dCBmaWxlIGNvbnRhaW5pbmcgcG9saWN5IG9yIGEgY29tbWEtZGVsaW1pdGVkIGxpc3QuJyxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogJ2FsbG93LWluc2VjdXJlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2Jhc2UtcGF0aCc6IHtcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ3BhJ10sXG4gICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQmFzZSBwYXRoIHRvIHVzZSBhcyB0aGUgcHJlZml4IGZvciBhbGwgd2ViZHJpdmVyIHJvdXRlcyBydW5uaW5nIG9uIHRoZSBzZXJ2ZXInLFxuICAgICAgICAgIHRpdGxlOiAnYmFzZS1wYXRoIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdjYWxsYmFjay1hZGRyZXNzJzoge1xuICAgICAgICAgIGFwcGl1bUNsaUFsaWFzZXM6IFsnY2EnXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0NhbGxiYWNrIElQIGFkZHJlc3MgKGRlZmF1bHQ6IHNhbWUgYXMgXCJhZGRyZXNzXCIpJyxcbiAgICAgICAgICB0aXRsZTogJ2NhbGxiYWNrLWFkZHJlc3MgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2NhbGxiYWNrLXBvcnQnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydjcCddLFxuICAgICAgICAgIGRlZmF1bHQ6IDQ3MjMsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdDYWxsYmFjayBwb3J0IChkZWZhdWx0OiBzYW1lIGFzIFwicG9ydFwiKScsXG4gICAgICAgICAgbWF4aW11bTogNjU1MzUsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICB0aXRsZTogJ2NhbGxiYWNrLXBvcnQgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgIH0sXG4gICAgICAgICdkZWJ1Zy1sb2ctc3BhY2luZyc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBZGQgZXhhZ2dlcmF0ZWQgc3BhY2luZyBpbiBsb2dzIHRvIGhlbHAgd2l0aCB2aXN1YWwgaW5zcGVjdGlvbicsXG4gICAgICAgICAgdGl0bGU6ICdkZWJ1Zy1sb2ctc3BhY2luZyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2RlZmF1bHQtY2FwYWJpbGl0aWVzJzoge1xuICAgICAgICAgICRjb21tZW50OiAnVE9ETycsXG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydkYyddLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ1NldCB0aGUgZGVmYXVsdCBkZXNpcmVkIGNhcGFiaWxpdGllcywgd2hpY2ggd2lsbCBiZSBzZXQgb24gZWFjaCBzZXNzaW9uIHVubGVzcyBvdmVycmlkZGVuIGJ5IHJlY2VpdmVkIGNhcGFiaWxpdGllcy4gSWYgYSBzdHJpbmcsIGEgcGF0aCB0byBhIEpTT04gZmlsZSBjb250YWluaW5nIHRoZSBjYXBhYmlsaXRpZXMsIG9yIHJhdyBKU09OLicsXG4gICAgICAgICAgdGl0bGU6ICdkZWZhdWx0LWNhcGFiaWxpdGllcyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICB9LFxuICAgICAgICAnZGVueS1pbnNlY3VyZSc6IHtcbiAgICAgICAgICAkY29tbWVudDogJ0FsbG93ZWQgdmFsdWVzIGFyZSBkZWZpbmVkIGJ5IGRyaXZlcnMnLFxuICAgICAgICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiAnY3N2JyxcbiAgICAgICAgICBkZWZhdWx0OiBbXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdTZXQgd2hpY2ggaW5zZWN1cmUgZmVhdHVyZXMgYXJlIG5vdCBhbGxvd2VkIHRvIHJ1biBpbiB0aGlzIHNlcnZlclxcJ3Mgc2Vzc2lvbnMuIEZlYXR1cmVzIGFyZSBkZWZpbmVkIG9uIGEgZHJpdmVyIGxldmVsOyBzZWUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLiBGZWF0dXJlcyBsaXN0ZWQgaGVyZSB3aWxsIG5vdCBiZSBlbmFibGVkIGV2ZW4gaWYgYWxzbyBsaXN0ZWQgaW4gXCJhbGxvdy1pbnNlY3VyZVwiLCBhbmQgZXZlbiBpZiBcInJlbGF4ZWQtc2VjdXJpdHlcIiBpcyBlbmFibGVkLiBJZiBzdHJpbmcsIGEgcGF0aCB0byBhIHRleHQgZmlsZSBjb250YWluaW5nIHBvbGljeSBvciBhIGNvbW1hLWRlbGltaXRlZCBsaXN0LicsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdkZW55LWluc2VjdXJlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZHJpdmVyOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnRHJpdmVyLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24uIEtleXMgc2hvdWxkIGNvcnJlc3BvbmQgdG8gZHJpdmVyIHBhY2thZ2UgbmFtZXMnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHRpdGxlOiAnZHJpdmVyIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIH0sXG4gICAgICAgICdrZWVwLWFsaXZlLXRpbWVvdXQnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydrYSddLFxuICAgICAgICAgIGRlZmF1bHQ6IDYwMCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdOdW1iZXIgb2Ygc2Vjb25kcyB0aGUgQXBwaXVtIHNlcnZlciBzaG91bGQgYXBwbHkgYXMgYm90aCB0aGUga2VlcC1hbGl2ZSB0aW1lb3V0IGFuZCB0aGUgY29ubmVjdGlvbiB0aW1lb3V0IGZvciBhbGwgcmVxdWVzdHMuIEEgdmFsdWUgb2YgMCBkaXNhYmxlcyB0aGUgdGltZW91dC4nLFxuICAgICAgICAgIG1pbmltdW06IDAsXG4gICAgICAgICAgdGl0bGU6ICdrZWVwLWFsaXZlLXRpbWVvdXQgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgIH0sXG4gICAgICAgICdsb2NhbC10aW1lem9uZSc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZSBsb2NhbCB0aW1lem9uZSBmb3IgdGltZXN0YW1wcycsXG4gICAgICAgICAgdGl0bGU6ICdsb2NhbC10aW1lem9uZSBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgbG9nOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydnJ10sXG4gICAgICAgICAgYXBwaXVtQ2xpRGVzdDogJ2xvZ0ZpbGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQWxzbyBzZW5kIGxvZyBvdXRwdXQgdG8gdGhpcyBmaWxlJyxcbiAgICAgICAgICB0aXRsZTogJ2xvZyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLWZpbHRlcnMnOiB7XG4gICAgICAgICAgJGNvbW1lbnQ6ICdUT0RPJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ09uZSBvciBtb3JlIGxvZyBmaWx0ZXJpbmcgcnVsZXMnLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiAnbG9nLWZpbHRlcnMgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLWxldmVsJzoge1xuICAgICAgICAgIGFwcGl1bUNsaURlc3Q6ICdsb2dsZXZlbCcsXG4gICAgICAgICAgZGVmYXVsdDogJ2RlYnVnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0xvZyBsZXZlbCAoY29uc29sZVs6ZmlsZV0pJyxcbiAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAnaW5mbycsXG4gICAgICAgICAgICAnaW5mbzpkZWJ1ZycsXG4gICAgICAgICAgICAnaW5mbzppbmZvJyxcbiAgICAgICAgICAgICdpbmZvOndhcm4nLFxuICAgICAgICAgICAgJ2luZm86ZXJyb3InLFxuICAgICAgICAgICAgJ3dhcm4nLFxuICAgICAgICAgICAgJ3dhcm46ZGVidWcnLFxuICAgICAgICAgICAgJ3dhcm46aW5mbycsXG4gICAgICAgICAgICAnd2Fybjp3YXJuJyxcbiAgICAgICAgICAgICd3YXJuOmVycm9yJyxcbiAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAnZXJyb3I6ZGVidWcnLFxuICAgICAgICAgICAgJ2Vycm9yOmluZm8nLFxuICAgICAgICAgICAgJ2Vycm9yOndhcm4nLFxuICAgICAgICAgICAgJ2Vycm9yOmVycm9yJyxcbiAgICAgICAgICAgICdkZWJ1ZycsXG4gICAgICAgICAgICAnZGVidWc6ZGVidWcnLFxuICAgICAgICAgICAgJ2RlYnVnOmluZm8nLFxuICAgICAgICAgICAgJ2RlYnVnOndhcm4nLFxuICAgICAgICAgICAgJ2RlYnVnOmVycm9yJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRpdGxlOiAnbG9nLWxldmVsIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdsb2ctbm8tY29sb3JzJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRG8gbm90IHVzZSBjb2xvciBpbiBjb25zb2xlIG91dHB1dCcsXG4gICAgICAgICAgdGl0bGU6ICdsb2ctbm8tY29sb3JzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLXRpbWVzdGFtcCc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Nob3cgdGltZXN0YW1wcyBpbiBjb25zb2xlIG91dHB1dCcsXG4gICAgICAgICAgdGl0bGU6ICdsb2ctdGltZXN0YW1wIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnbG9uZy1zdGFja3RyYWNlJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ0FkZCBsb25nIHN0YWNrIHRyYWNlcyB0byBsb2cgZW50cmllcy4gUmVjb21tZW5kZWQgZm9yIGRlYnVnZ2luZyBvbmx5LicsXG4gICAgICAgICAgdGl0bGU6ICdsb25nLXN0YWNrdHJhY2UgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgICduby1wZXJtcy1jaGVjayc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdEbyBub3QgY2hlY2sgdGhhdCBuZWVkZWQgZmlsZXMgYXJlIHJlYWRhYmxlIGFuZC9vciB3cml0YWJsZScsXG4gICAgICAgICAgdGl0bGU6ICduby1wZXJtcy1jaGVjayBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZWNvbmZpZzoge1xuICAgICAgICAgICRjb21tZW50OlxuICAgICAgICAgICAgJ1NlbGVuaXVtIEdyaWQgMyBpcyB1bm1haW50YWluZWQgYW5kIFNlbGVuaXVtIEdyaWQgNCBubyBsb25nZXIgc3VwcG9ydHMgdGhpcyBmaWxlLicsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnUGF0aCB0byBjb25maWd1cmF0aW9uIEpTT04gZmlsZSB0byByZWdpc3RlciBBcHBpdW0gYXMgYSBub2RlIHdpdGggU2VsZW5pdW0gR3JpZCAzOyBvdGhlcndpc2UgdGhlIGNvbmZpZ3VyYXRpb24gaXRzZWxmJyxcbiAgICAgICAgICB0aXRsZTogJ25vZGVjb25maWcgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnUGx1Z2luLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24uIEtleXMgc2hvdWxkIGNvcnJlc3BvbmQgdG8gcGx1Z2luIHBhY2thZ2UgbmFtZXMnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHRpdGxlOiAncGx1Z2luIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHBvcnQ6IHtcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ3AnXSxcbiAgICAgICAgICBkZWZhdWx0OiA0NzIzLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUG9ydCB0byBsaXN0ZW4gb24nLFxuICAgICAgICAgIG1heGltdW06IDY1NTM1LFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgdGl0bGU6ICdwb3J0IGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICB9LFxuICAgICAgICAncmVsYXhlZC1zZWN1cml0eSc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdEaXNhYmxlIGFkZGl0aW9uYWwgc2VjdXJpdHkgY2hlY2tzLCBzbyBpdCBpcyBwb3NzaWJsZSB0byB1c2Ugc29tZSBhZHZhbmNlZCBmZWF0dXJlcywgcHJvdmlkZWQgYnkgZHJpdmVycyBzdXBwb3J0aW5nIHRoaXMgb3B0aW9uLiBPbmx5IGVuYWJsZSBpdCBpZiBhbGwgdGhlIGNsaWVudHMgYXJlIGluIHRoZSB0cnVzdGVkIG5ldHdvcmsgYW5kIGl0XFwncyBub3QgdGhlIGNhc2UgaWYgYSBjbGllbnQgY291bGQgcG90ZW50aWFsbHkgYnJlYWsgb3V0IG9mIHRoZSBzZXNzaW9uIHNhbmRib3guIFNwZWNpZmljIGZlYXR1cmVzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHVzaW5nIFwiZGVueS1pbnNlY3VyZVwiJyxcbiAgICAgICAgICB0aXRsZTogJ3JlbGF4ZWQtc2VjdXJpdHkgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgYXBwaXVtQ2xpRGVzdDogJ3JlbGF4ZWRTZWN1cml0eUVuYWJsZWQnXG4gICAgICAgIH0sXG4gICAgICAgICdzZXNzaW9uLW92ZXJyaWRlJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW5hYmxlcyBzZXNzaW9uIG92ZXJyaWRlIChjbG9iYmVyaW5nKScsXG4gICAgICAgICAgdGl0bGU6ICdzZXNzaW9uLW92ZXJyaWRlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnc3RyaWN0LWNhcHMnOiB7XG4gICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQ2F1c2Ugc2Vzc2lvbnMgdG8gZmFpbCBpZiBkZXNpcmVkIGNhcHMgYXJlIHNlbnQgaW4gdGhhdCBBcHBpdW0gZG9lcyBub3QgcmVjb2duaXplIGFzIHZhbGlkIGZvciB0aGUgc2VsZWN0ZWQgZGV2aWNlJyxcbiAgICAgICAgICB0aXRsZTogJ3N0cmljdC1jYXBzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICB0bXA6IHtcbiAgICAgICAgICBhcHBpdW1DbGlEZXN0OiAndG1wRGlyJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBYnNvbHV0ZSBwYXRoIHRvIGRpcmVjdG9yeSBBcHBpdW0gY2FuIHVzZSB0byBtYW5hZ2UgdGVtcCBmaWxlcy4gRGVmYXVsdHMgdG8gQzpcXFxcV2luZG93c1xcXFxUZW1wIG9uIFdpbmRvd3MgYW5kIC90bXAgb3RoZXJ3aXNlLicsXG4gICAgICAgICAgdGl0bGU6ICd0bXAgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3RyYWNlLWRpcic6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBYnNvbHV0ZSBwYXRoIHRvIGRpcmVjdG9yeSBBcHBpdW0gY2FuIHVzZSB0byBzYXZlIGlPUyBpbnN0cnVtZW50IHRyYWNlczsgZGVmYXVsdHMgdG8gPHRtcD4vYXBwaXVtLWluc3RydW1lbnRzJyxcbiAgICAgICAgICB0aXRsZTogJ3RyYWNlLWRpciBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICAndXNlLWRyaXZlcnMnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpRGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIGRyaXZlcnMgdG8gYWN0aXZhdGUuIENhbiBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcgb3IgcGF0aCB0byBDU1YgZmlsZS4gQnkgZGVmYXVsdCwgYWxsIGluc3RhbGxlZCBkcml2ZXJzIHdpbGwgYmUgYWN0aXZhdGVkLicsXG4gICAgICAgICAgZGVmYXVsdDogW10sXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIGRyaXZlcnMgdG8gYWN0aXZhdGUuIEJ5IGRlZmF1bHQsIGFsbCBpbnN0YWxsZWQgZHJpdmVycyB3aWxsIGJlIGFjdGl2YXRlZC4nLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiAndXNlLWRyaXZlcnMgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAndXNlLXBsdWdpbnMnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpRGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIHBsdWdpbnMgdG8gYWN0aXZhdGUuIENhbiBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcsIHBhdGggdG8gQ1NWIGZpbGUsIG9yIHRoZSBzdHJpbmcgXCJhbGxcIiB0byB1c2UgYWxsIGluc3RhbGxlZCBwbHVnaW5zLicsXG4gICAgICAgICAgZGVmYXVsdDogW10sXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIHBsdWdpbnMgdG8gYWN0aXZhdGUuIFRvIGFjdGl2YXRlIGFsbCBwbHVnaW5zLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGFuIGFycmF5IHdpdGggYSBzaW5nbGUgaXRlbSBcImFsbFwiLicsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICd1c2UtcGx1Z2lucyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHdlYmhvb2s6IHtcbiAgICAgICAgICAkY29tbWVudDpcbiAgICAgICAgICAgICdUaGlzIHNob3VsZCBwcm9iYWJseSB1c2UgYSB1cmktdGVtcGxhdGUgZm9ybWF0IHRvIHJlc3RyaWN0IHRoZSBwcm90b2NvbCB0byBodHRwL2h0dHBzJyxcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ0cnXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Fsc28gc2VuZCBsb2cgb3V0cHV0IHRvIHRoaXMgaHR0cCBsaXN0ZW5lcicsXG4gICAgICAgICAgZm9ybWF0OiAndXJpJyxcbiAgICAgICAgICB0aXRsZTogJ3dlYmhvb2sgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJ3NlcnZlciBjb25maWcnLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgfSxcbiAgfSxcbiAgdGl0bGU6ICdBcHBpdW0gQ29uZmlndXJhdGlvbicsXG4gIHR5cGU6ICdvYmplY3QnLFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHNjaGVtYTtcbiJdLCJmaWxlIjoibGliL3NjaGVtYS9hcHBpdW0tY29uZmlnLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
250
|
+
exports.default = _default;
|
|
251
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvYXBwaXVtLWNvbmZpZy1zY2hlbWEuanMiXSwibmFtZXMiOlsic2NoZW1hIiwiJHNjaGVtYSIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiZGVzY3JpcHRpb24iLCJwcm9wZXJ0aWVzIiwic2VydmVyIiwiYWRkcmVzcyIsIiRjb21tZW50IiwiYXBwaXVtQ2xpQWxpYXNlcyIsImRlZmF1bHQiLCJmb3JtYXQiLCJ0aXRsZSIsInR5cGUiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsIml0ZW1zIiwidW5pcXVlSXRlbXMiLCJtYXhpbXVtIiwibWluaW11bSIsImRyaXZlciIsImxvZyIsImFwcGl1bUNsaURlc3QiLCJlbnVtIiwibm9kZWNvbmZpZyIsInBsdWdpbiIsInBvcnQiLCJ0bXAiLCJhcHBpdW1DbGlEZXNjcmlwdGlvbiIsIndlYmhvb2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE1BQU1BLE1BQU0sR0FBeUI7QUFDbkNDLEVBQUFBLE9BQU8sRUFBRSx3Q0FEMEI7QUFFbkNDLEVBQUFBLG9CQUFvQixFQUFFLEtBRmE7QUFHbkNDLEVBQUFBLFdBQVcsRUFBRSx5Q0FIc0I7QUFJbkNDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkgsTUFBQUEsb0JBQW9CLEVBQUUsS0FEaEI7QUFFTkMsTUFBQUEsV0FBVyxFQUFFLCtDQUZQO0FBR05DLE1BQUFBLFVBQVUsRUFBRTtBQUNWRSxRQUFBQSxPQUFPLEVBQUU7QUFDUEMsVUFBQUEsUUFBUSxFQUNOLDREQUZLO0FBR1BDLFVBQUFBLGdCQUFnQixFQUFFLENBQUMsR0FBRCxDQUhYO0FBSVBDLFVBQUFBLE9BQU8sRUFBRSxTQUpGO0FBS1BOLFVBQUFBLFdBQVcsRUFBRSx5QkFMTjtBQU1QTyxVQUFBQSxNQUFNLEVBQUUsVUFORDtBQU9QQyxVQUFBQSxLQUFLLEVBQUUsZ0JBUEE7QUFRUEMsVUFBQUEsSUFBSSxFQUFFO0FBUkMsU0FEQztBQVdWLHNC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VztBQU1iVyxVQUFBQSxLQUFLLEVBQUU7QUFDTEYsWUFBQUEsSUFBSSxFQUFFO0FBREQsV0FOTTtBQVNiRCxVQUFBQSxLQUFLLEVBQUUsb0JBVE07QUFVYkMsVUFBQUEsSUFBSSxFQUFFLE9BVk87QUFXYkcsVUFBQUEsV0FBVyxFQUFFO0FBWEEsU0F4T0w7QUFxUFYsdUJBQWU7QUFDYlcsVUFBQUEsb0JBQW9CLEVBQ2xCLHFJQUZXO0FBR2JqQixVQUFBQSxPQUFPLEVBQUUsRUFISTtBQUliTixVQUFBQSxXQUFXLEVBQ1QsZ0hBTFc7QUFNYlcsVUFBQUEsS0FBSyxFQUFFO0FBQ0xGLFlBQUFBLElBQUksRUFBRTtBQURELFdBTk07QUFTYkQsVUFBQUEsS0FBSyxFQUFFLG9CQVRNO0FBVWJDLFVBQUFBLElBQUksRUFBRSxPQVZPO0FBV2JHLFVBQUFBLFdBQVcsRUFBRTtBQVhBLFNBclBMO0FBa1FWWSxRQUFBQSxPQUFPLEVBQUU7QUFDUHBCLFVBQUFBLFFBQVEsRUFDTix1RkFGSztBQUdQQyxVQUFBQSxnQkFBZ0IsRUFBRSxDQUFDLEdBQUQsQ0FIWDtBQUlQTCxVQUFBQSxXQUFXLEVBQUUsNENBSk47QUFLUE8sVUFBQUEsTUFBTSxFQUFFLEtBTEQ7QUFNUEMsVUFBQUEsS0FBSyxFQUFFLGdCQU5BO0FBT1BDLFVBQUFBLElBQUksRUFBRTtBQVBDO0FBbFFDLE9BSE47QUErUU5ELE1BQUFBLEtBQUssRUFBRSxlQS9RRDtBQWdSTkMsTUFBQUEsSUFBSSxFQUFFO0FBaFJBO0FBREUsR0FKdUI7QUF3Um5DRCxFQUFBQSxLQUFLLEVBQUUsc0JBeFI0QjtBQXlSbkNDLEVBQUFBLElBQUksRUFBRTtBQXpSNkIsQ0FBckM7ZUE0UmVaLE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuY29uc3Qgc2NoZW1hID0gLyoqIEB0eXBlIHtjb25zdH0gKi8gKHtcbiAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hJyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBkZXNjcmlwdGlvbjogJ0Egc2NoZW1hIGZvciBBcHBpdW0gY29uZmlndXJhdGlvbiBmaWxlcycsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBzZXJ2ZXI6IHtcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgQXBwaXVtIGFzIGEgc2VydmVyJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYWRkcmVzczoge1xuICAgICAgICAgICRjb21tZW50OlxuICAgICAgICAgICAgJ0kgdGhpbmsgaG9zdG5hbWUgY292ZXJzIGJvdGggRE5TIGFuZCBJUHY0Li4uY291bGQgYmUgd3JvbmcnLFxuICAgICAgICAgIGFwcGl1bUNsaUFsaWFzZXM6IFsnYSddLFxuICAgICAgICAgIGRlZmF1bHQ6ICcwLjAuMC4wJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lQIGFkZHJlc3MgdG8gbGlzdGVuIG9uJyxcbiAgICAgICAgICBmb3JtYXQ6ICdob3N0bmFtZScsXG4gICAgICAgICAgdGl0bGU6ICdhZGRyZXNzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdhbGxvdy1jb3JzJzoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ1doZXRoZXIgdGhlIEFwcGl1bSBzZXJ2ZXIgc2hvdWxkIGFsbG93IHdlYiBicm93c2VyIGNvbm5lY3Rpb25zIGZyb20gYW55IGhvc3QnLFxuICAgICAgICAgIHRpdGxlOiAnYWxsb3ctY29ycyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2FsbG93LWluc2VjdXJlJzoge1xuICAgICAgICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiAnY3N2JyxcbiAgICAgICAgICBkZWZhdWx0OiBbXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdTZXQgd2hpY2ggaW5zZWN1cmUgZmVhdHVyZXMgYXJlIGFsbG93ZWQgdG8gcnVuIGluIHRoaXMgc2VydmVyXFwncyBzZXNzaW9ucy4gRmVhdHVyZXMgYXJlIGRlZmluZWQgb24gYSBkcml2ZXIgbGV2ZWw7IHNlZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuIE5vdGUgdGhhdCBmZWF0dXJlcyBkZWZpbmVkIHZpYSBcImRlbnktaW5zZWN1cmVcIiB3aWxsIGJlIGRpc2FibGVkLCBldmVuIGlmIGFsc28gbGlzdGVkIGhlcmUuIElmIHN0cmluZywgYSBwYXRoIHRvIGEgdGV4dCBmaWxlIGNvbnRhaW5pbmcgcG9saWN5IG9yIGEgY29tbWEtZGVsaW1pdGVkIGxpc3QuJyxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogJ2FsbG93LWluc2VjdXJlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2Jhc2UtcGF0aCc6IHtcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ3BhJ10sXG4gICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQmFzZSBwYXRoIHRvIHVzZSBhcyB0aGUgcHJlZml4IGZvciBhbGwgd2ViZHJpdmVyIHJvdXRlcyBydW5uaW5nIG9uIHRoZSBzZXJ2ZXInLFxuICAgICAgICAgIHRpdGxlOiAnYmFzZS1wYXRoIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdjYWxsYmFjay1hZGRyZXNzJzoge1xuICAgICAgICAgIGFwcGl1bUNsaUFsaWFzZXM6IFsnY2EnXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0NhbGxiYWNrIElQIGFkZHJlc3MgKGRlZmF1bHQ6IHNhbWUgYXMgXCJhZGRyZXNzXCIpJyxcbiAgICAgICAgICB0aXRsZTogJ2NhbGxiYWNrLWFkZHJlc3MgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2NhbGxiYWNrLXBvcnQnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydjcCddLFxuICAgICAgICAgIGRlZmF1bHQ6IDQ3MjMsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdDYWxsYmFjayBwb3J0IChkZWZhdWx0OiBzYW1lIGFzIFwicG9ydFwiKScsXG4gICAgICAgICAgbWF4aW11bTogNjU1MzUsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICB0aXRsZTogJ2NhbGxiYWNrLXBvcnQgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgIH0sXG4gICAgICAgICdkZWJ1Zy1sb2ctc3BhY2luZyc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBZGQgZXhhZ2dlcmF0ZWQgc3BhY2luZyBpbiBsb2dzIHRvIGhlbHAgd2l0aCB2aXN1YWwgaW5zcGVjdGlvbicsXG4gICAgICAgICAgdGl0bGU6ICdkZWJ1Zy1sb2ctc3BhY2luZyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2RlZmF1bHQtY2FwYWJpbGl0aWVzJzoge1xuICAgICAgICAgICRjb21tZW50OiAnVE9ETycsXG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydkYyddLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ1NldCB0aGUgZGVmYXVsdCBkZXNpcmVkIGNhcGFiaWxpdGllcywgd2hpY2ggd2lsbCBiZSBzZXQgb24gZWFjaCBzZXNzaW9uIHVubGVzcyBvdmVycmlkZGVuIGJ5IHJlY2VpdmVkIGNhcGFiaWxpdGllcy4gSWYgYSBzdHJpbmcsIGEgcGF0aCB0byBhIEpTT04gZmlsZSBjb250YWluaW5nIHRoZSBjYXBhYmlsaXRpZXMsIG9yIHJhdyBKU09OLicsXG4gICAgICAgICAgdGl0bGU6ICdkZWZhdWx0LWNhcGFiaWxpdGllcyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICB9LFxuICAgICAgICAnZGVueS1pbnNlY3VyZSc6IHtcbiAgICAgICAgICAkY29tbWVudDogJ0FsbG93ZWQgdmFsdWVzIGFyZSBkZWZpbmVkIGJ5IGRyaXZlcnMnLFxuICAgICAgICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiAnY3N2JyxcbiAgICAgICAgICBkZWZhdWx0OiBbXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdTZXQgd2hpY2ggaW5zZWN1cmUgZmVhdHVyZXMgYXJlIG5vdCBhbGxvd2VkIHRvIHJ1biBpbiB0aGlzIHNlcnZlclxcJ3Mgc2Vzc2lvbnMuIEZlYXR1cmVzIGFyZSBkZWZpbmVkIG9uIGEgZHJpdmVyIGxldmVsOyBzZWUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLiBGZWF0dXJlcyBsaXN0ZWQgaGVyZSB3aWxsIG5vdCBiZSBlbmFibGVkIGV2ZW4gaWYgYWxzbyBsaXN0ZWQgaW4gXCJhbGxvdy1pbnNlY3VyZVwiLCBhbmQgZXZlbiBpZiBcInJlbGF4ZWQtc2VjdXJpdHlcIiBpcyBlbmFibGVkLiBJZiBzdHJpbmcsIGEgcGF0aCB0byBhIHRleHQgZmlsZSBjb250YWluaW5nIHBvbGljeSBvciBhIGNvbW1hLWRlbGltaXRlZCBsaXN0LicsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdkZW55LWluc2VjdXJlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZHJpdmVyOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnRHJpdmVyLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24uIEtleXMgc2hvdWxkIGNvcnJlc3BvbmQgdG8gZHJpdmVyIHBhY2thZ2UgbmFtZXMnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHRpdGxlOiAnZHJpdmVyIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIH0sXG4gICAgICAgICdrZWVwLWFsaXZlLXRpbWVvdXQnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydrYSddLFxuICAgICAgICAgIGRlZmF1bHQ6IDYwMCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdOdW1iZXIgb2Ygc2Vjb25kcyB0aGUgQXBwaXVtIHNlcnZlciBzaG91bGQgYXBwbHkgYXMgYm90aCB0aGUga2VlcC1hbGl2ZSB0aW1lb3V0IGFuZCB0aGUgY29ubmVjdGlvbiB0aW1lb3V0IGZvciBhbGwgcmVxdWVzdHMuIEEgdmFsdWUgb2YgMCBkaXNhYmxlcyB0aGUgdGltZW91dC4nLFxuICAgICAgICAgIG1pbmltdW06IDAsXG4gICAgICAgICAgdGl0bGU6ICdrZWVwLWFsaXZlLXRpbWVvdXQgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgIH0sXG4gICAgICAgICdsb2NhbC10aW1lem9uZSc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZSBsb2NhbCB0aW1lem9uZSBmb3IgdGltZXN0YW1wcycsXG4gICAgICAgICAgdGl0bGU6ICdsb2NhbC10aW1lem9uZSBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgbG9nOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpQWxpYXNlczogWydnJ10sXG4gICAgICAgICAgYXBwaXVtQ2xpRGVzdDogJ2xvZ0ZpbGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQWxzbyBzZW5kIGxvZyBvdXRwdXQgdG8gdGhpcyBmaWxlJyxcbiAgICAgICAgICB0aXRsZTogJ2xvZyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLWZpbHRlcnMnOiB7XG4gICAgICAgICAgJGNvbW1lbnQ6ICdUT0RPJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ09uZSBvciBtb3JlIGxvZyBmaWx0ZXJpbmcgcnVsZXMnLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiAnbG9nLWZpbHRlcnMgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLWxldmVsJzoge1xuICAgICAgICAgIGFwcGl1bUNsaURlc3Q6ICdsb2dsZXZlbCcsXG4gICAgICAgICAgZGVmYXVsdDogJ2RlYnVnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0xvZyBsZXZlbCAoY29uc29sZVs6ZmlsZV0pJyxcbiAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAnaW5mbycsXG4gICAgICAgICAgICAnaW5mbzpkZWJ1ZycsXG4gICAgICAgICAgICAnaW5mbzppbmZvJyxcbiAgICAgICAgICAgICdpbmZvOndhcm4nLFxuICAgICAgICAgICAgJ2luZm86ZXJyb3InLFxuICAgICAgICAgICAgJ3dhcm4nLFxuICAgICAgICAgICAgJ3dhcm46ZGVidWcnLFxuICAgICAgICAgICAgJ3dhcm46aW5mbycsXG4gICAgICAgICAgICAnd2Fybjp3YXJuJyxcbiAgICAgICAgICAgICd3YXJuOmVycm9yJyxcbiAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAnZXJyb3I6ZGVidWcnLFxuICAgICAgICAgICAgJ2Vycm9yOmluZm8nLFxuICAgICAgICAgICAgJ2Vycm9yOndhcm4nLFxuICAgICAgICAgICAgJ2Vycm9yOmVycm9yJyxcbiAgICAgICAgICAgICdkZWJ1ZycsXG4gICAgICAgICAgICAnZGVidWc6ZGVidWcnLFxuICAgICAgICAgICAgJ2RlYnVnOmluZm8nLFxuICAgICAgICAgICAgJ2RlYnVnOndhcm4nLFxuICAgICAgICAgICAgJ2RlYnVnOmVycm9yJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRpdGxlOiAnbG9nLWxldmVsIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgICdsb2ctbm8tY29sb3JzJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRG8gbm90IHVzZSBjb2xvciBpbiBjb25zb2xlIG91dHB1dCcsXG4gICAgICAgICAgdGl0bGU6ICdsb2ctbm8tY29sb3JzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnbG9nLXRpbWVzdGFtcCc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Nob3cgdGltZXN0YW1wcyBpbiBjb25zb2xlIG91dHB1dCcsXG4gICAgICAgICAgdGl0bGU6ICdsb2ctdGltZXN0YW1wIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnbG9uZy1zdGFja3RyYWNlJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ0FkZCBsb25nIHN0YWNrIHRyYWNlcyB0byBsb2cgZW50cmllcy4gUmVjb21tZW5kZWQgZm9yIGRlYnVnZ2luZyBvbmx5LicsXG4gICAgICAgICAgdGl0bGU6ICdsb25nLXN0YWNrdHJhY2UgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgICduby1wZXJtcy1jaGVjayc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdEbyBub3QgY2hlY2sgdGhhdCBuZWVkZWQgZmlsZXMgYXJlIHJlYWRhYmxlIGFuZC9vciB3cml0YWJsZScsXG4gICAgICAgICAgdGl0bGU6ICduby1wZXJtcy1jaGVjayBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZWNvbmZpZzoge1xuICAgICAgICAgICRjb21tZW50OlxuICAgICAgICAgICAgJ1NlbGVuaXVtIEdyaWQgMyBpcyB1bm1haW50YWluZWQgYW5kIFNlbGVuaXVtIEdyaWQgNCBubyBsb25nZXIgc3VwcG9ydHMgdGhpcyBmaWxlLicsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnUGF0aCB0byBjb25maWd1cmF0aW9uIEpTT04gZmlsZSB0byByZWdpc3RlciBBcHBpdW0gYXMgYSBub2RlIHdpdGggU2VsZW5pdW0gR3JpZCAzOyBvdGhlcndpc2UgdGhlIGNvbmZpZ3VyYXRpb24gaXRzZWxmJyxcbiAgICAgICAgICB0aXRsZTogJ25vZGVjb25maWcgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnUGx1Z2luLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24uIEtleXMgc2hvdWxkIGNvcnJlc3BvbmQgdG8gcGx1Z2luIHBhY2thZ2UgbmFtZXMnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHRpdGxlOiAncGx1Z2luIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHBvcnQ6IHtcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ3AnXSxcbiAgICAgICAgICBkZWZhdWx0OiA0NzIzLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUG9ydCB0byBsaXN0ZW4gb24nLFxuICAgICAgICAgIG1heGltdW06IDY1NTM1LFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgdGl0bGU6ICdwb3J0IGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICB9LFxuICAgICAgICAncmVsYXhlZC1zZWN1cml0eSc6IHtcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdEaXNhYmxlIGFkZGl0aW9uYWwgc2VjdXJpdHkgY2hlY2tzLCBzbyBpdCBpcyBwb3NzaWJsZSB0byB1c2Ugc29tZSBhZHZhbmNlZCBmZWF0dXJlcywgcHJvdmlkZWQgYnkgZHJpdmVycyBzdXBwb3J0aW5nIHRoaXMgb3B0aW9uLiBPbmx5IGVuYWJsZSBpdCBpZiBhbGwgdGhlIGNsaWVudHMgYXJlIGluIHRoZSB0cnVzdGVkIG5ldHdvcmsgYW5kIGl0XFwncyBub3QgdGhlIGNhc2UgaWYgYSBjbGllbnQgY291bGQgcG90ZW50aWFsbHkgYnJlYWsgb3V0IG9mIHRoZSBzZXNzaW9uIHNhbmRib3guIFNwZWNpZmljIGZlYXR1cmVzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHVzaW5nIFwiZGVueS1pbnNlY3VyZVwiJyxcbiAgICAgICAgICB0aXRsZTogJ3JlbGF4ZWQtc2VjdXJpdHkgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgYXBwaXVtQ2xpRGVzdDogJ3JlbGF4ZWRTZWN1cml0eUVuYWJsZWQnXG4gICAgICAgIH0sXG4gICAgICAgICdzZXNzaW9uLW92ZXJyaWRlJzoge1xuICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW5hYmxlcyBzZXNzaW9uIG92ZXJyaWRlIChjbG9iYmVyaW5nKScsXG4gICAgICAgICAgdGl0bGU6ICdzZXNzaW9uLW92ZXJyaWRlIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICAnc3RyaWN0LWNhcHMnOiB7XG4gICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQ2F1c2Ugc2Vzc2lvbnMgdG8gZmFpbCBpZiBkZXNpcmVkIGNhcHMgYXJlIHNlbnQgaW4gdGhhdCBBcHBpdW0gZG9lcyBub3QgcmVjb2duaXplIGFzIHZhbGlkIGZvciB0aGUgc2VsZWN0ZWQgZGV2aWNlJyxcbiAgICAgICAgICB0aXRsZTogJ3N0cmljdC1jYXBzIGNvbmZpZycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICB0bXA6IHtcbiAgICAgICAgICBhcHBpdW1DbGlEZXN0OiAndG1wRGlyJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBYnNvbHV0ZSBwYXRoIHRvIGRpcmVjdG9yeSBBcHBpdW0gY2FuIHVzZSB0byBtYW5hZ2UgdGVtcCBmaWxlcy4gRGVmYXVsdHMgdG8gQzpcXFxcV2luZG93c1xcXFxUZW1wIG9uIFdpbmRvd3MgYW5kIC90bXAgb3RoZXJ3aXNlLicsXG4gICAgICAgICAgdGl0bGU6ICd0bXAgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3RyYWNlLWRpcic6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdBYnNvbHV0ZSBwYXRoIHRvIGRpcmVjdG9yeSBBcHBpdW0gY2FuIHVzZSB0byBzYXZlIGlPUyBpbnN0cnVtZW50IHRyYWNlczsgZGVmYXVsdHMgdG8gPHRtcD4vYXBwaXVtLWluc3RydW1lbnRzJyxcbiAgICAgICAgICB0aXRsZTogJ3RyYWNlLWRpciBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICAndXNlLWRyaXZlcnMnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpRGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIGRyaXZlcnMgdG8gYWN0aXZhdGUuIENhbiBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcgb3IgcGF0aCB0byBDU1YgZmlsZS4gQnkgZGVmYXVsdCwgYWxsIGluc3RhbGxlZCBkcml2ZXJzIHdpbGwgYmUgYWN0aXZhdGVkLicsXG4gICAgICAgICAgZGVmYXVsdDogW10sXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIGRyaXZlcnMgdG8gYWN0aXZhdGUuIEJ5IGRlZmF1bHQsIGFsbCBpbnN0YWxsZWQgZHJpdmVycyB3aWxsIGJlIGFjdGl2YXRlZC4nLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiAndXNlLWRyaXZlcnMgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAndXNlLXBsdWdpbnMnOiB7XG4gICAgICAgICAgYXBwaXVtQ2xpRGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIHBsdWdpbnMgdG8gYWN0aXZhdGUuIENhbiBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcsIHBhdGggdG8gQ1NWIGZpbGUsIG9yIHRoZSBzdHJpbmcgXCJhbGxcIiB0byB1c2UgYWxsIGluc3RhbGxlZCBwbHVnaW5zLicsXG4gICAgICAgICAgZGVmYXVsdDogW10sXG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnQSBsaXN0IG9mIHBsdWdpbnMgdG8gYWN0aXZhdGUuIFRvIGFjdGl2YXRlIGFsbCBwbHVnaW5zLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGFuIGFycmF5IHdpdGggYSBzaW5nbGUgaXRlbSBcImFsbFwiLicsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICd1c2UtcGx1Z2lucyBjb25maWcnLFxuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHdlYmhvb2s6IHtcbiAgICAgICAgICAkY29tbWVudDpcbiAgICAgICAgICAgICdUaGlzIHNob3VsZCBwcm9iYWJseSB1c2UgYSB1cmktdGVtcGxhdGUgZm9ybWF0IHRvIHJlc3RyaWN0IHRoZSBwcm90b2NvbCB0byBodHRwL2h0dHBzJyxcbiAgICAgICAgICBhcHBpdW1DbGlBbGlhc2VzOiBbJ0cnXSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Fsc28gc2VuZCBsb2cgb3V0cHV0IHRvIHRoaXMgaHR0cCBsaXN0ZW5lcicsXG4gICAgICAgICAgZm9ybWF0OiAndXJpJyxcbiAgICAgICAgICB0aXRsZTogJ3dlYmhvb2sgY29uZmlnJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJ3NlcnZlciBjb25maWcnLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgfSxcbiAgfSxcbiAgdGl0bGU6ICdBcHBpdW0gQ29uZmlndXJhdGlvbicsXG4gIHR5cGU6ICdvYmplY3QnLFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHNjaGVtYTtcbiJdfQ==
|